Skip to main content

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.

Metadata

Release files for satelles 0.32.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 satelles 0.32.0
File Size Uploaded
satelles-0.32.0.tar.gz 105.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for satelles 0.32.0
File Interpreter ABI Platform
satelles-0.32.0-py3-none-any.whl Python 3 none any Details

Total release size: 154.9 kB

Release files / satelles-0.32.0.tar.gz

Download URL satelles-0.32.0.tar.gz
Size 105.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6174e15a4c6ecc17c612394b5cd138f75d5764707194bb4cc91b1cbff36fa475
BLAKE2b-256 checksum
How to use checksums
6da179663c0b4243d71a656b143ef239dfe7abcf85f6eb3dbb995df02f4b0e9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.

Transparency log

Release files / satelles-0.32.0-py3-none-any.whl

Download URL satelles-0.32.0-py3-none-any.whl
Size 49.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8985215a086a8a840316a0c9334bf1aa732f297abe7f2173c1c359c5a1e96a64
BLAKE2b-256 checksum
How to use checksums
f8f2dd53e142196548357af7c590e810eef0c68ac021b7b5e82cd297288de4f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.

Transparency log
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