Skip to main content

Brahe is a modern satellite dynamics library for research and engineering applications designed to be easy-to-learn, high-performance, and quick-to-deploy. The north-star of the development is enabling users to solve meaningful problems and answer questions quickly, easily, and correctly.

Project description

Brahe

Brahe - Practical Astrodynamics

Docs Tests Crate PyPi License


Documentation: https://duncaneddy.github.io/brahe/latest

Rust Library Reference: https://docs.rs/crate/brahe/latest

Source Code: https://github.com/duncaneddy/brahe


Brahe

Brahe is a modern satellite dynamics library for research and engineering applications. It is designed to be quick-to-deploy, composable, extensible, and easy-to-learn. The north-star of the development is enabling users to solve meaningful problems quickly and correctly.

Brahe is permissively licensed under an MIT License to enable people to use and build on the work without worrying about licensing restrictions. We want people to be able to stop reinventing the astrodynamics "wheel" because commercial licenses are expensive and open-source options are hard to use.

We try to prioritize making the software library easy to understand and extend. Many astrodynamics libraries are written in a way that makes them hard to read, understand, or modify. Brahe is written in a modern style with an emphasis on code clarity and modularity to make it easier to understand how algorithms are implemented and to make it easier to extend the library to support new use-cases. This approach has the added benefit of making it easier to verify and validate the correctness of the implementation.

If you do find this useful, please consider starring the repository on GitHub to help increase its visibility. If you're using Brahe for school, research, a commercial endeavour, or flying a mission. I'd love to know about it.

We hope you find Brahe useful for your work!

Going Further

If you want to learn more about how to use the package the documentation is structured in the following way:

  • Learn: Provides short-form documentation of major concepts of the package.
  • Examples: Provides longer-form examples of how-to examples of accomplish common tasks.
  • Python API Reference: Provides detailed reference documentation of the Python API.
  • Rust API Reference: Provides detailed reference documentation of the Rust API.

Quick Start

Python

To install the latest release of brahe for Python, simply run:

pip install brahe

You can then import the package in your Python code with:

import brahe as bh

And do something fun like calculate the orbital-period of a satellite in low Earth orbit:

import brahe as bh

# Define the semi-major axis of a low Earth orbit (in meters)
a = bh.constants.R_EARTH + 400e3  # 400 km altitude

# Calculate the orbital period
T = bh.orbital_period(a)

print(f"Orbital Period: {T / 60:.2f} minutes")
# Outputs:
# Orbital Period: 92.56 minutes

or find the when the ISS will next pass overhead:

import brahe as bh

bh.initialize_eop()

# Compute upcoming passes of the ISS over San Francisco
passes = bh.location_accesses(
    bh.PointLocation(-122.4194, 37.7749, 0.0),  # San Francisco
    bh.celestrak.get_tle_by_id_as_propagator(25544, 60.0, "active"),  # ISS
    bh.Epoch.now(),
    bh.Epoch.now() + 24 * 3600.0,  # Next 24 hours
    bh.ElevationConstraint(min_elevation_deg=10.0),
)
print(f"Number of passes in next 24 hours: {len(passes)}")
# Example Output: Number of passes in next 24 hours: 5

If you want to see more examples of how to use brahe, you can find even more with full source code in the Examples section of the documentation.

License

The project is licensed under the MIT License - see the LICENSE file for details.

We want to make it easy for people to use and build on the work without worrying about licensing restrictions!

Contributing

If you find a bug, have a feature request, want to contribute, please open an issue or a pull request on the GitHub repository. Contributions are welcome and encouraged! If you see something missing, but don't know how to start contributing, please open an issue and we can discuss it. We are building software to help everyone on this planet explore the universe. We encourage you to bring your unique perspective to help make us stronger. We appreciate contributions from everyone, no prior space experience is needed to participate.

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

brahe-1.0.1.tar.gz (7.6 MB view details)

Uploaded Source

Built Distributions

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

brahe-1.0.1-cp314-cp314-win_amd64.whl (9.2 MB view details)

Uploaded CPython 3.14Windows x86-64

brahe-1.0.1-cp314-cp314-manylinux_2_34_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

brahe-1.0.1-cp314-cp314-macosx_11_0_arm64.whl (9.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

brahe-1.0.1-cp313-cp313-win_amd64.whl (9.2 MB view details)

Uploaded CPython 3.13Windows x86-64

brahe-1.0.1-cp313-cp313-manylinux_2_34_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

brahe-1.0.1-cp313-cp313-macosx_11_0_arm64.whl (9.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

brahe-1.0.1-cp312-cp312-win_amd64.whl (9.2 MB view details)

Uploaded CPython 3.12Windows x86-64

brahe-1.0.1-cp312-cp312-manylinux_2_34_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

brahe-1.0.1-cp312-cp312-macosx_11_0_arm64.whl (9.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

brahe-1.0.1-cp311-cp311-win_amd64.whl (9.2 MB view details)

Uploaded CPython 3.11Windows x86-64

brahe-1.0.1-cp311-cp311-manylinux_2_34_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

brahe-1.0.1-cp311-cp311-macosx_11_0_arm64.whl (9.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

brahe-1.0.1-cp310-cp310-win_amd64.whl (9.2 MB view details)

Uploaded CPython 3.10Windows x86-64

brahe-1.0.1-cp310-cp310-manylinux_2_34_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

brahe-1.0.1-cp310-cp310-macosx_11_0_arm64.whl (9.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file brahe-1.0.1.tar.gz.

File metadata

  • Download URL: brahe-1.0.1.tar.gz
  • Upload date:
  • Size: 7.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for brahe-1.0.1.tar.gz
Algorithm Hash digest
SHA256 c8060f0ed718a820e1e0f33c3af5e1fe9455081e38b78cbc43d7cfcf2df54d92
MD5 192f233138ce5b8f6a2614eb42c32bbb
BLAKE2b-256 46807dac57f76d94df52a2dc1d72365e57969faeff93e6e95a615fc21ad28b51

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe-1.0.1.tar.gz:

Publisher: release.yml on duncaneddy/brahe

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

File details

Details for the file brahe-1.0.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: brahe-1.0.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 9.2 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for brahe-1.0.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3c65439933fb0bbef7a45664090c0b27f8435f2b9b7ac1b48c753a486b3cdccf
MD5 64c51708bb60aa86a96bb4a40656c523
BLAKE2b-256 e71a8ec9f67b93c68a3da475f8f53b8f07c3088811a20e8ff8d4a5746d9bedce

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe-1.0.1-cp314-cp314-win_amd64.whl:

Publisher: release.yml on duncaneddy/brahe

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

File details

Details for the file brahe-1.0.1-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for brahe-1.0.1-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f52449239cc40a32e004ed5c3d3372b7cb5a0957e4e0d45e5ba85327263715e6
MD5 5e0b6f462d8244d7b8e32f6bf7cec9bc
BLAKE2b-256 5afaf758f1c13ddc5a0778608324f3e75f7ebc24c14c4f56016074c76ce81a9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe-1.0.1-cp314-cp314-manylinux_2_34_x86_64.whl:

Publisher: release.yml on duncaneddy/brahe

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

File details

Details for the file brahe-1.0.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for brahe-1.0.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 33fe0da1de3ed7a111c5b6f2993c354f1edae13c634431354ca505b5b9065c46
MD5 1e6de3233f63a571e52afe842e5c112a
BLAKE2b-256 cf06056457bab74b8e69d63f42fe3107a797a365dccd7d15bf5a7b6f37345bf9

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe-1.0.1-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on duncaneddy/brahe

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

File details

Details for the file brahe-1.0.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: brahe-1.0.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 9.2 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for brahe-1.0.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9154f6e254d3745d7a5ae15110882d5c7849ee9649edc30c79d49deee0945125
MD5 2d8d291dfd35fb47bb4935fc72b19858
BLAKE2b-256 808e7cd6e11ec6f5a2bdb66cb31c7a1ff24d570d659ada94e45586dd7c1340ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe-1.0.1-cp313-cp313-win_amd64.whl:

Publisher: release.yml on duncaneddy/brahe

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

File details

Details for the file brahe-1.0.1-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for brahe-1.0.1-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 6e7507d9b0560f600c54246b3ba99ab7bbe50d597dbf094c2c9feda7690ad9fb
MD5 7a9e85cd79c21cbb92635c0c3d801980
BLAKE2b-256 8c40eddf41f68c00c2276a3091e35cbe94dbd7fb6e268662f7c3df77a0df8d1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe-1.0.1-cp313-cp313-manylinux_2_34_x86_64.whl:

Publisher: release.yml on duncaneddy/brahe

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

File details

Details for the file brahe-1.0.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for brahe-1.0.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0b53dd1f72fed7d3dba1906b4071d6d661c1d72a89e233896f845f0390ba1673
MD5 244a25a2cd089a83f6a1b4119f4f4a94
BLAKE2b-256 b557ff067d65e9be128f477670784ace351b95c72ed4d0344de9985688e89280

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe-1.0.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on duncaneddy/brahe

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

File details

Details for the file brahe-1.0.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: brahe-1.0.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 9.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for brahe-1.0.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f90881b24f2baa2d3f6457ef103673c707e4cac8e0f1094974c5f64e8d3eda95
MD5 45b96c70325fc9e51211b72c59e2c6e5
BLAKE2b-256 90de3c3b6289338d9defc1224ca32f20807bdb9ef8e78d7d0cf034600574c9f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe-1.0.1-cp312-cp312-win_amd64.whl:

Publisher: release.yml on duncaneddy/brahe

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

File details

Details for the file brahe-1.0.1-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for brahe-1.0.1-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e7d110483e0c21f4fb7dfef17898c47f09a651d1e97f4fee55cd1d2fae1f3170
MD5 8864bf7c533918891a975ebe104cb45c
BLAKE2b-256 6156ea868cd20e069c644d4c979c171f5b8a76c1f2f378ce11a36ee2945ad699

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe-1.0.1-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: release.yml on duncaneddy/brahe

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

File details

Details for the file brahe-1.0.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for brahe-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 82966f8cce7016c9bd8cb9e2b9c0a248cf04e0bc4f35e83d3a9fe387eae298b4
MD5 b5cab30e9dee6939a6ce5cd720ddc0db
BLAKE2b-256 c48c207f849323870ce8a56740ca3fea5ffd70a5e40bd670268c0256393b1e6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe-1.0.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on duncaneddy/brahe

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

File details

Details for the file brahe-1.0.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: brahe-1.0.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 9.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for brahe-1.0.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c9226d3a75d51803b988561d284ddb49c078e8b45a2ec5cee1fd1d2561983cd0
MD5 d653dc4e40f9ac1cc5ce4103623b44c2
BLAKE2b-256 1e6750d6717ea783ee4a893e4262cb61145cec2fe73252f33aba38d7cae12be0

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe-1.0.1-cp311-cp311-win_amd64.whl:

Publisher: release.yml on duncaneddy/brahe

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

File details

Details for the file brahe-1.0.1-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for brahe-1.0.1-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 31e25744b85cc4e7e73099c3bda115dd9105eb3c016d61384350c27535b320ef
MD5 669a85c6e4f7001ac38c075911d7b302
BLAKE2b-256 cf5c1699a88c4cadbed4608223cb04f5438230deda360f2eb74756682067b757

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe-1.0.1-cp311-cp311-manylinux_2_34_x86_64.whl:

Publisher: release.yml on duncaneddy/brahe

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

File details

Details for the file brahe-1.0.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for brahe-1.0.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 074a6279c2d9be880b1f3b909ae7756d187b51c9c07b113517b4c961713b2047
MD5 f52bd17bba9893c17e0baac31917d556
BLAKE2b-256 b57ef2863b9694c41df022d04c71e93e668458d0d696dfa08d60a6ffb8f012f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe-1.0.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on duncaneddy/brahe

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

File details

Details for the file brahe-1.0.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: brahe-1.0.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 9.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for brahe-1.0.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3ee501c03ca94156ae05fbf3c46ba535359340716b641305977f9f7871327394
MD5 872d913b8953b1ab0a5187fd73879836
BLAKE2b-256 0e0d41b091698d8120d237b830ee5be678054924da02db475ec97c78621de89f

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe-1.0.1-cp310-cp310-win_amd64.whl:

Publisher: release.yml on duncaneddy/brahe

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

File details

Details for the file brahe-1.0.1-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for brahe-1.0.1-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f4665bc2b3bf123dabf3149db2844b31c40da2a084de162285064f88c60e4fba
MD5 f60ac0823a711cdca3fdc842bbd9ed6e
BLAKE2b-256 6f981abbee825904ce12e44940cf86e2b02a1933926ede4386fcd0b1916de3d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe-1.0.1-cp310-cp310-manylinux_2_34_x86_64.whl:

Publisher: release.yml on duncaneddy/brahe

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

File details

Details for the file brahe-1.0.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for brahe-1.0.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2569f12e827174b7f510884c30a473eb7177bf1c3ffee2851cddd52d39dd7fd3
MD5 d730cc8e1759ec35c62d3044d80327db
BLAKE2b-256 40ad76034ab7b13bc298dd211b8d56c33e82da16eeb1b2919916ebd246851940

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe-1.0.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on duncaneddy/brahe

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