Skip to main content

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.

PyPI Version Documentation Status

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-launch-library-1.0.6.tar.gz (10.8 kB view details)

Uploaded Source

File details

Details for the file python-launch-library-1.0.6.tar.gz.

File metadata

  • Download URL: python-launch-library-1.0.6.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for python-launch-library-1.0.6.tar.gz
Algorithm Hash digest
SHA256 fcb423b1abafce79edf491ebcd2762422b39bcee450b988fc4a73c73de72cce2
MD5 8f8e67fed849be952ea9b21ac2f3f008
BLAKE2b-256 4deaf300f2618a9186cd07244fb8eb6ebeb0b8385214fb3e72a95b2ec41e1546

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page