Skip to main content

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

Release files for trusat 0.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for trusat 0.9.0
File Size Uploaded
trusat-0.9.0.tar.gz 275.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for trusat 0.9.0
File Interpreter ABI Platform
trusat-0.9.0-cp37-cp37m-macosx_10_15_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64 Details

Total release size: 1.1 MB

Release files / trusat-0.9.0.tar.gz

Download URL trusat-0.9.0.tar.gz
Size 275.1 kB
Tags Source
SHA-256 checksum
How to use checksums
57da176efbc16dc3b83c9bfadac8eefe6d8ac31a4ccd87acd87ba37ce8897b5f
BLAKE2b-256 checksum
How to use checksums
7a31d84ba0421d945cdd1efc4a222146dae24408583883726e09ec298cf7f4d9
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / trusat-0.9.0-cp37-cp37m-macosx_10_15_x86_64.whl

Download URL trusat-0.9.0-cp37-cp37m-macosx_10_15_x86_64.whl
Size 832.3 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
72bafd03eefd89e6f3a1f38104f116a9a6cb168f43a13ec190843c2a13c5547f
BLAKE2b-256 checksum
How to use checksums
3186c6f0a9ec259c5aac5888763d4bae864abc597a1c8e0eb73a27086c134b37
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.9.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page