A wrapper for the launchlibrary.net API
Project description
python-launch-library
A simple python wrapper for the Launch Library web API. Can also be used asynchronously too.
Available models: Agency, AgencyType, Launch, Launch Status, Pad, Location, Rocket, RocketFamily
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
# Import the launchlibrary lib
import launchlibrary as ll
# Create an instance of the API
api = ll.Api() # You can also specify api url, api version...
# And request the next 5 launches, for example.
launches = ll.Launch.fetch(api, next=5) # Any argument after "api" is not constrained (w/ kwargs).
# ^ Returns a list of launch objects.
# You can fetch the pythonic property names by using launch.param_names
properties = launches[0].param_names
# It's now possible to also use the regular API names as well as pythonic names.
vid_urls = launches[0].vid_urls
vid_urls_2 = launches[0].vidURLs
Changelog
Since version 1.0.1
, the library is versioned according to Semver.
-
1.0.3, 1.0.4 - 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for python-launch-library-1.0.6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcb423b1abafce79edf491ebcd2762422b39bcee450b988fc4a73c73de72cce2 |
|
MD5 | 8f8e67fed849be952ea9b21ac2f3f008 |
|
BLAKE2b-256 | 4deaf300f2618a9186cd07244fb8eb6ebeb0b8385214fb3e72a95b2ec41e1546 |