Skip to main content

TruSat satellite observation processing utilities

Project description

TruSat banner

trusat-orbit

Convert satellite observations to orbit predictions

This repo supports the analyses of IOD/RDE/UK positional formatting formats and generation of TLEs at TruSat.org.

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/TruSat/trusat-backend@dev.chris.package#egg=trusat_backend-1.1.0
pip3 install trusat
python -m trusat.satfit

Contents

  • 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

  • tests_iod.py
  • tests_satfit.py
  • tests_TLE.py
  • tests_profile.py

Run with python -m unittest discover tests/

Dependencies

Coding Style

Follow PEP 8 for any Python code and the style guide recommended for any other language.

Additionally see Best of the Best Practices

Maintaining Repo

Style Guide With the addition of commits to the master branch are done through PRs (Pull Request).

Releasing Versions

  1. Checkout master
  2. pull from repo
  3. run the unittests
  4. create a tag with the new version number, starting with a 'v'. eg:

git tag v0.1.1 -m "Version 0.1.1 Version Numbering 5. push changes to github git push --follow-tags 7. check verification tools

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

trusat-0.9.0.tar.gz (275.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trusat-0.9.0-cp37-cp37m-macosx_10_15_x86_64.whl (832.3 kB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

File details

Details for the file trusat-0.9.0.tar.gz.

File metadata

  • Download URL: trusat-0.9.0.tar.gz
  • Upload date:
  • Size: 275.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for trusat-0.9.0.tar.gz
Algorithm Hash digest
SHA256 57da176efbc16dc3b83c9bfadac8eefe6d8ac31a4ccd87acd87ba37ce8897b5f
MD5 5c5bea2df1291496da45e9cc2f1881a2
BLAKE2b-256 7a31d84ba0421d945cdd1efc4a222146dae24408583883726e09ec298cf7f4d9

See more details on using hashes here.

File details

Details for the file trusat-0.9.0-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: trusat-0.9.0-cp37-cp37m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 832.3 kB
  • Tags: CPython 3.7m, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for trusat-0.9.0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 72bafd03eefd89e6f3a1f38104f116a9a6cb168f43a13ec190843c2a13c5547f
MD5 591100fac7905a7b7f9635cda707eb27
BLAKE2b-256 3186c6f0a9ec259c5aac5888763d4bae864abc597a1c8e0eb73a27086c134b37

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