TruSat satellite observation processing utilities
Convert satellite observations to orbit predictions
TruSat is a citizen-powered open-source tool for space sustainability, crowdsourcing satellite observations to form an independent record of objects orbiting Earth.
- Visit TruSat.org to see the live app
- View the docs to learn more about the project
- Join the Discord to follow the development discussion
Currently, this orbit propagation code is based on a Python port of Scott Campbell's C++ satfit code base. After initial prototyping, it is an aim of this repo to include OREKit and related tools for more advanced processing of orbit-related calculations.
Getting started with TruSat-orbit
First, we recommend setting up a python virtual environment
We're still working on a clean environment setup following conversion of the project to a pip-installable packages. A quick start looks something like:
pip3 install git+https://github.com/TruSatfirstname.lastname@example.org#egg=trusat_backend-1.1.0 pip3 install trusat python -m trusat.satfit
- iod.py - Utilities for importing, validating, and operating on IOD/RDE/UK positional formatting formats
- tle_util.py - Utilities to import, export, validate and operate on Two-Line Element sets
- satfit.py - Suite of utilities based on and extending Scott Campbell's C++ satfit code base for reading visual observations and updating TLEs
- satid.py - Search TLE catalog for possible match to an UNIDentified satellite TLE
- elfind.py - Generate a provisional TLE from 2-3 IOD records
Tests - Unit tests for the above
Run with python -m unittest discover tests/
- Uses Brandon Rhodes python-sgp4 with C++ accelerations
- (Currently) requires Cython for the c-accelerated analyses module
- (Currently) assumes a connection to a database, see [this PR] (https://github.com/TruSat/trusat-backend/pull/111) for setting up your own local copy
- (Currently) requires pulling trusat-backend into the same parent directory as trusat-orbit
Follow PEP 8 for any Python code and the style guide recommended for any other language.
Additionally see Best of the Best Practices
Style Guide With the addition of commits to the master branch are done through PRs (Pull Request).
- Checkout master
- pull from repo
- run the unittests
- create a tag with the new version number, starting with a 'v'. eg:
git tag v0.1.1 -m "Version 0.1.1
5. push changes to github
git push --follow-tags
7. check verification tools
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size trusat-0.9.0-cp37-cp37m-macosx_10_15_x86_64.whl (832.3 kB)||File type Wheel||Python version cp37||Upload date||Hashes View|
|Filename, size trusat-0.9.0.tar.gz (275.1 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for trusat-0.9.0-cp37-cp37m-macosx_10_15_x86_64.whl