All Projects → Plutoberth → python-launch-library

Plutoberth / python-launch-library

Licence: Apache-2.0 License
A simple wrapper for the Launch Library web API

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to python-launch-library

raylib-nelua
Raylib wrapper to nelua language
Stars: ✭ 27 (+35%)
Mutual labels:  wrapper
WireGuard-Wrapper
Simple wrapper that makes WireGuard easier to use with VPN providers.
Stars: ✭ 29 (+45%)
Mutual labels:  wrapper
GoAnimate-Wrapper
GoAPI server wrapper designed to interact with Vyond's Legacy Video Maker (written in Node.JS)
Stars: ✭ 22 (+10%)
Mutual labels:  wrapper
with-wrapper
React HOC for wrapper components.
Stars: ✭ 35 (+75%)
Mutual labels:  wrapper
Mega-index-heroku
Mega nz heroku index, Serves mega.nz to http via heroku web. It Alters downloading speed and stability
Stars: ✭ 165 (+725%)
Mutual labels:  wrapper
readability-extractor
Javascript/Node wrapper around Mozilla's Readability library so that ArchiveBox can call it as a oneshot CLI command to extract each page's article text.
Stars: ✭ 18 (-10%)
Mutual labels:  wrapper
TLightFileStream
Implements a lightweight, high-performance, non-allocating advanced-record-based wrapper around the SysUtils file handling routines as an alternative to Classes.TFileStream.
Stars: ✭ 21 (+5%)
Mutual labels:  wrapper
rgdax
Wrapper for Coinbase pro (erstwhile GDAX) Cryptocurrency exchange
Stars: ✭ 34 (+70%)
Mutual labels:  wrapper
node-api
A JavaScript API Wrapper for NovelCOVID/API
Stars: ✭ 63 (+215%)
Mutual labels:  wrapper
spmf-py
Python SPMF Wrapper 🐍 🎁
Stars: ✭ 35 (+75%)
Mutual labels:  wrapper
RT-Thread-wrapper-of-uCOS-II
RT-Thread操作系统的uCOS-II兼容层:让基于uC/OS-II操作系统开发的应用层无感地迁移到RT-Thread操作系统 | A wrapper which can make codes developed by uCOS-II APIs directly run on RT-Thread
Stars: ✭ 24 (+20%)
Mutual labels:  wrapper
fireREST
Python library for interacting with Cisco Firepower Management Center REST API
Stars: ✭ 47 (+135%)
Mutual labels:  wrapper
Taviloglu.Wrike.ApiClient
.NET Client for Wrike API
Stars: ✭ 24 (+20%)
Mutual labels:  wrapper
SharpPhysFS
Managed wrapper for the PhysFS library
Stars: ✭ 14 (-30%)
Mutual labels:  wrapper
WaxSealCore
Simple, expressive yet comprehensive keychain wrapper in Objective-C.
Stars: ✭ 33 (+65%)
Mutual labels:  wrapper
coinmarketcap-api
CoinMarketCap API wrapper for node
Stars: ✭ 111 (+455%)
Mutual labels:  wrapper
MangaDex.py
An easy to use wrapper for the MangaDexAPIv5 written in Python using Requests.
Stars: ✭ 13 (-35%)
Mutual labels:  wrapper
oxford dictionary
📙 A Ruby wrapper for the Oxford Dictionary API
Stars: ✭ 23 (+15%)
Mutual labels:  wrapper
clyngor
Handy python wrapper around Potassco's Clingo ASP solver.
Stars: ✭ 20 (+0%)
Mutual labels:  wrapper
Ptero4J
A java wrapper for the pterodactyl panel API
Stars: ✭ 26 (+30%)
Mutual labels:  wrapper

python-launch-library

A simple python wrapper for the Launch Library web API. Can also be used asynchronously too.

PyPI Version Documentation Status

Important: New projects should NOT use this library. Instead, generate client stubs from the OpenAPI definitions using openapi-generator.

Available models: Agency, Launch, Pad, Location, Rocket

The usage of the API is simple.

Usage

Proper documentation is available in Read The Docs.

To install, simply use pip: pip install python-launch-library

# First, import the library
import launchlibrary as ll

# Then, initialize an API object
api = ll.Api()

# And fetch whichever models you'd like.

# Either by an explicit API call
next_5_go_launches = api.fetch_launch(next=5, status=1)

# Or by one of the simpler methods available for some models.
next_5_go_launches = api.next_launches(5)

# Now, you can utilize whatever data you'd like. Data from the API is processed recursively, so if a Launch object
# contains a Location object, you'll have models for both.
launch_loc = next_5_go_launches[0].location

# Some properties, like status, are only represented by ID. You can call the appropriate methods to get a proper object from that ID
launch_status = next_5_go_launches[0].get_status()

# It's now possible to also use the regular API names as well as pythonic names.
vid_urls = next_5_go_launches[0].vid_urls
vid_urls_2 = next_5_go_launches[0].vidURLs

Changelog

Since version 1.0.1, the library is versioned according to semantic versioning rules.

Important: New projects should NOT use this library. Instead, use the OpenAPI definitions provided in https://ll.thespacedevs.com/2.0.0/swagger

  • 2.0.0 - Update to LL2, aka https://thespacedevs.com/llapi. There are some data changes, so this is a breaking change.

    This is a quickly hacked together attempt to add some compatibility to LL2 for current users, as there's no point in spending time creating a wrapper when OpenAPI definitions exist.

    Breaking Changes:

    • The AgencyType, LaunchStatus, and RocketFamily models have been eliminated.
    • All instances, except in Launch of info_urls have been changed to info_url (this is compliant with the new API).
    • Many parameters might be unavailable as many names were changed.
    • Modelizations might not work as well as many names were changed.
  • 1.0.3, 1.0.4, 1.0.5, 1.0.6 - Fixed some bugs in the async variant

  • 1.0.2 - Added an exception hierarchy. All exceptions now inherit from LlException

  • 1.0.1 - Improved caching.

  • 1.0 - Changed all fetch calls to be through the Api object. This is a breaking change.

    # Porting guide
    
    import launchlibrary as ll
    api = ll.Api()
    
    # Before
    next_launch = ll.Launch.next(api, 1)
    
    # After
    next_launch = api.next_launches(1)

Todo

  • Tidy up the repository
  • Add exceptions to handle server timeout
  • Handle nested models (i.e. a Pad model inside a Location model inside a Launch model)
  • Handle times with the datetime class
  • Package properly and upload to PyPI
  • Add more abstraction methods for the api calls (open to suggestions)
  • Add magic method comparisons (open to suggestions)
  • Asynchronous operation
  • Add aliases for actual API names with getattr
  • Add tests
  • Your suggestion here

Feel free to open issues and pull requests! I usually check Github daily.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].