Skip to main content

Modern, type-safe python library for TLE, OMM et al. handling and orbit propagation to accurately locate your satellites in the sky.

Project description

pypi versions License: MIT satelles/test

Satelles

Modern, type-safe, zero-dependency python library for TLE, OMM et al. handling and orbit propagation to accurately locate your satellites in the sky.

Installation

We recommend using uv to manage your Python environments.

To install satelles into your uv environment, run:

uv add satelles

Alternatively, you can install satelles using your preferred environment or package manager of choice, e.g., poetry, conda, or pip:

pip install satelles
poetry add satelles
conda install satelles

Usage

from datetime import datetime, timezone

from satelles import TLE

issTLE: str = """        
  1 25544U 98067A   20062.59097222  .00016717  00000-0  10270-3 0  9006
  2 25544  51.6442 147.1064 0004607  95.6506 329.8285 15.49249062  2423
"""

satellite = TLE(tle_string=issTLE).as_satellite()

satellite.at(when=datetime(2021, 5, 15, 0, 0, 0, tzinfo=timezone.utc))

# Get the Earth Centric Inertial (ECI) coordinate of the satellite at the given time:
eci = satellite.eci_coordinate

# Get the Equatorial Coordinate of the satellite at the given time:
equatorial = satellite.equatorial_coordinate
...

As the API is fully typed, you can use your IDE's autocompletion to see all the available methods and properties.

We have also provided further usage examples in the examples directory.

Milestones

  • Type-safe modern 3.6+ Python
  • Fully unit tested
  • Simpler API using Pydantic base models for validation
  • Zero-external dependencies (pure Python 3.6+ with no external C/C++ dependencies)
  • Example API usage
  • Fully supported Two-Line Element (TLE) parsing and operations
  • Fully supported Orbital Mean Elements Message (OMM) parsing and operations
  • Fully supported TLE to OMM conversion
  • Fully supported laser ranging formats (e.g., CPF and CRD).
  • Fully supported Earth Centred-Earth Fixed (ECEF) to East-North-Up (ENU) conversion
  • Fully supported Earth Centric Inertial (ECI) to Equatorial Coordinate System (ECS) conversion
  • Fully supported Earth Centric Inertial (ECI) to Topocentric Coordinate System (TCS) conversion
  • Fully supported SPG4-XP propagation from TLE or OMM
  • Fully supported symplectic Verlet numerical propagation
  • Fully supported Runge-Kutta 4th order numerical propagation
  • Modified Julian Date utilities

License

This project is licensed under the terms of the MIT license. See the LICENSE file for details.

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

satelles-0.22.1.tar.gz (103.3 kB view details)

Uploaded Source

Built Distribution

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

satelles-0.22.1-py3-none-any.whl (48.5 kB view details)

Uploaded Python 3

File details

Details for the file satelles-0.22.1.tar.gz.

File metadata

  • Download URL: satelles-0.22.1.tar.gz
  • Upload date:
  • Size: 103.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for satelles-0.22.1.tar.gz
Algorithm Hash digest
SHA256 4c1a5b38f56d550593b1191c5bb9162cd92054c5bbcf30ebbaac3d33fc0dd559
MD5 db5a4a74274588caf5be51a27bef8f1d
BLAKE2b-256 e4e7c4df7adf936003721ed89063d47d3902b2bf3d3efd9a106833c403d20d59

See more details on using hashes here.

Provenance

The following attestation bundles were made for satelles-0.22.1.tar.gz:

Publisher: publish.yml on michealroberts/satelles

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file satelles-0.22.1-py3-none-any.whl.

File metadata

  • Download URL: satelles-0.22.1-py3-none-any.whl
  • Upload date:
  • Size: 48.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for satelles-0.22.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3f621ea844eac788237a215f8ea5753de5e895a3668980a218ec3f71af4cfeab
MD5 67ff0a92f647cf48684bd754f4a46723
BLAKE2b-256 23f4bc71870e25d5e393213842c0bc70d73dc50894d7271e5e36c9b83e4e68f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for satelles-0.22.1-py3-none-any.whl:

Publisher: publish.yml on michealroberts/satelles

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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