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.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb1ec06ea99f749d6a10a89913d450ca5e02594f2197e9a95b623cd86dfeb439 |
|
MD5 | cac5b8011c3eb195ee4ac702f2c76fa6 |
|
BLAKE2b-256 | 4cb94c77b0ce074fe9fc2a9788ca4ec044863fe1618bb17d5a39073b0f2f3f9f |