boinor

boinor - :rocket: Astrodynamics in Python

https://github.com/boinor/boinor

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

boinor - :rocket: Astrodynamics in Python

Basic Info
  • Host: GitHub
  • Owner: boinor
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage: https://docs.boinor.space
  • Size: 44.1 MB
Statistics
  • Stars: 8
  • Watchers: 1
  • Forks: 2
  • Open Issues: 7
  • Releases: 4
Created over 1 year ago · Last pushed 6 months ago
Metadata Files
Readme Contributing Funding License Code of conduct Citation Authors Codemeta

README.md

boinor Logo

| Name | Website | Authors | Maintainers | Version | |:---------:|:----------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------:|:----------------------------------------------------:| | boinor | https://www.boinor.space | Thorsten Alteholz orcid_badge | boinor development team | 0.19.0 |

boinor_badge CircleCI_badge license_badge python_badge pre_commit_badge code_badge pypi_badge mailing_badge docs_badge coverage_badge doi_badge FAIR checklist badge astropy_badge

boinor is an open source (MIT) pure Python library for interactive Astrodynamics and Orbital Mechanics, with a focus on ease of use, speed, and quick visualization. It provides a simple and intuitive API, and handles physical quantities with units.

Some features include orbit propagation, solution of the Lambert\'s problem, conversion between position and velocity vectors and classical orbital elements and orbit plotting, among others. It focuses on interplanetary applications, but can also be used to analyze artificial satellites in Low-Earth Orbit (LEO).

If you use boinor on your project, please let us know. Use the DOI to cite boinor in your publications:

Thorsten Alteholz, et al.. (2025). boinor: boinor 0.19.0. Zenodo. 10.5281/zenodo.12809724

Multiple examples image

Requirements

boinor requires the following Python packages:

  • numpy for basic numerical routines
  • astropy for physical units and time handling
  • numba for accelerating the code
  • jplephem for the planetary ephemerides using SPICE kernels
  • matplotlib for orbit plotting
  • plotly for 2D and 3D interactive orbit plotting
  • scipy for root finding and numerical propagation

boinor is supported on Linux, macOS and Windows on Python 3.10 to 3.13.

Installation

Multiple installation methods are supported by boinor, including:

| Logo | Platform | Command | |:-----------------------------------------------------------------:|:------------:|:---------------------------------------------------------------------------------:| | PyPI logo | PyPI | python -m pip install boinor | | Conda Forge logo | Conda Forge | conda install boinor --channel conda-forge | | GitHub logo | GitHub | python -m pip install https://github.com/boinor/boinor/archive/main.zip |

For other installation methods, see the alternative installation methods.

Documentation

Complete documentation, including a quickstart guide and an API reference, can be read on the wonderful Read the Docs. Multi-version documentation includes:

Examples, background and talks

There is a great variety of examples demostrating the capabilities of boinor. Examples can be accessed in various ways:

License

boinor is released under the MIT license, hence allowing commercial use of the library. Please refer to the COPYING file.

The MIT License (MIT)

Copyright (c) 2012-2023 Juan Luis Cano Rodríguez, Jorge Martínez Garrido, and the poliastro development team
Copyright (c) 2024-2025 Thorsten Alteholz, and the boinor development team

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

If you are planning to use boinor with commercial purposes consider sponsoring the project.

Problems and suggestions

If for any reason you get an unexpected error message or an incorrect result, or you want to let the developers know about your use case, please open a new issue in the issue tracker and we will try to answer promptly.

Contributing and community support

This project exists thanks to all the people who contribute! boinor is a community project, hence all contributions are more than welcome! For more information, head to the CONTRIBUTING.md file.

Release announcements and general discussion take place on our mailing list.

Backers and sponsors

boinor requires finnacial support to mantain its high quality standars. The money is used to renew the web domain and updating the documentation hosting subscription among others. Please let us know if you would like to support boinor. Thanks to all our sponsors!

Frequently asked questions

  • What's up with the name?

boinor comes from BOdies IN ORbit.

  • Is boinor validated?

Yes! boinor is a community project that strives to be easy to use, while at the same time producing correct results that are validated against other commonly used Astrodynamics software such as GMAT and Orekit.

  • Can I suggest new features for boinor?

Sure, we encourage you to open an issue so we can discuss future feature additions!

  • What's the future of the project?

boinor is actively maintained <!--
and receiving an influx of new contributors thanks to the generous sponsorship of Google, the European Space Agency, and NumFOCUS. The best way to get an idea of the roadmap is to see the milestones of the project. -->

Owner

  • Login: boinor
  • Kind: user

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: boinor
message: Please cite this software using these metadata.
type: software
authors:
  - given-names: Thorsten
    family-names: Alteholz
    email: boinor@alteholz.dev
    orcid: 'https://orcid.org/0000-0002-9570-7046'
identifiers:
  - type: doi
    value: 10.5281/zenodo.6817189
    description: boinor v0.17.0
repository-code: 'https://github.com/boinor/boinor/'
url: 'https://www.boinor.space/'
abstract: >-
  boinor is a pure Python library for interactive
  astrodynamics.
keywords:
  - astrodynamics
  - orbital mechanics
  - physics
  - celestial mechanics
license: MIT
version: v0.17.0
date-released: '2022-07-10'

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "license": "https://spdx.org/licenses/MIT",
  "codeRepository": "https://github.com/boinor/boinor",
  "datePublished": "2013-07-07",
  "dateModified": "2020-05-08",
  "downloadUrl": "https://github.com/boinor/boinor.git",
  "issueTracker": "https://github.com/boinor/boinor/issues",
  "name": "boinor",
  "version": "0.14.0",
  "description": "boinor is an open-source pure Python package dedicated to problems arising in Astrodynamics and Orbital Mechanics, such as orbit propagation, solution of Lambert's problem, conversion between position and velocity vectors, and classical orbital elements and orbit plotting, focusing on interplanetary applications.",
  "releaseNotes": "https://docs.boinor.space/en/v0.14.0/changelog.html#boinor-0-14-0-2020-05-08",
  "programmingLanguage": [
    "Python3"
  ],
  "softwareRequirements": [
    "NumPy",
    "Astropy",
    "numba",
    "jplephem",
    "matplotlib",
    "plotly",
    "SciPy"
  ],
  "author": [
    {
      "@type": "Person",
      "givenName": "Juan Luis",
      "familyName": "Cano Rodr\\u00edguez",
      "affiliation": {
        "@type": "Organization",
        "name": "Satellogic"
      }
    },
    {
      "@type": "Person",
      "givenName": "Antonio",
      "familyName": "Hidalgo"
    },
    {
      "@type": "Person",
      "givenName": "Shreyas",
      "familyName": "Bapat",
      "affiliation": {
        "@type": "Organization",
        "name": "IIT Mandi"
      }
    },
    {
      "@type": "Person",
      "givenName": "Jorge",
      "affiliation": {
        "@type": "Organization",
        "name": "boinor"
      }
    },
    {
      "@type": "Person",
      "givenName": "Nikita",
      "familyName": "Astrakhantsev",
      "affiliation": {
        "@type": "Organization",
        "name": "University of Zurich"
      }
    },
    {
      "@type": "Person",
      "givenName": "Chatziargyriou",
      "familyName": "Eleftheria"
    },
    {
      "@type": "Person",
      "givenName": "Daniel",
      "familyName": "Lubi\\u00e1n"
    },
    {
      "@type": "Person",
      "givenName": "Alberto Lorenzo ",
      "familyName": "M\\u00e1rquez",
      "affiliation": {
        "@type": "Organization",
        "name": "Dassault Syst\\u00e8mes"
      }
    },
    {
      "@type": "Person",
      "givenName": "Abhishek ",
      "familyName": "Chaurasia"
    },
    {
      "@type": "Person",
      "givenName": "Emily",
      "familyName": "Selwood"
    },
    {
      "@type": "Person",
      "givenName": "Meu"
    },
    {
      "@type": "Person",
      "givenName": "Pablo Rodr\\u00edguez ",
      "familyName": "Robles",
      "affiliation": {
        "@type": "Organization",
        "name": "Technical University of Munich (TUM)"
      }
    },
    {
      "@type": "Person",
      "givenName": "Tomek",
      "familyName": "Mrugalski",
      "affiliation": {
        "@type": "Organization",
        "name": "Internet Systems Consortium"
      }
    },
    {
      "@type": "Person",
      "givenName": "Helge",
      "familyName": "Eichhorn"
    },
    {
      "@type": "Person",
      "givenName": "Greg",
      "familyName": "Lindahl"
    },
    {
      "@type": "Person",
      "givenName": "Andrej",
      "familyName": "Rode"
    },
    {
      "@type": "Person",
      "givenName": "Himanshu ",
      "familyName": "Garg"
    },
    {
      "@type": "Person",
      "givenName": "aOrionis"
    },
    {
      "@type": "Person",
      "givenName": "Ian",
      "familyName": "DesJardin"
    },
    {
      "@type": "Person",
      "givenName": "Hrishikesh",
      "familyName": "Goyal"
    },
    {
      "@type": "Person",
      "givenName": "priyanshu",
      "familyName": "rohilla"
    },
    {
      "@type": "Person",
      "givenName": "AntoniiaK"
    },
    {
      "@type": "Person",
      "givenName": "Angala"
    },
    {
      "@type": "Person",
      "givenName": "Ahmada",
      "familyName": "Yusril"
    },
    {
      "@type": "Person",
      "givenName": "Sarthak",
      "familyName": "Jain",
      "affiliation": {
        "@type": "Organization",
        "name": "IIT Indore"
      }
    },
    {
      "@type": "Person",
      "givenName": "Syed Osama Hussain"
    },
    {
      "@type": "Person",
      "givenName": "Ole Streicher",
      "affiliation": {
        "@type": "Organization",
        "name": "Leibniz Institute for Astrophysics"
      }
    },
    {
      "@type": "Person",
      "givenName": "Iv\\u00e1n Castro Fern\\u00e1ndez"
    },
    {
      "@type": "Person",
      "givenName": "Fabian P. Schmidt"
    },
    {
      "@type": "Person",
      "givenName": "Divyansh",
      "familyName": "Raina"
    }
  ]
}

GitHub Events

Total
  • Create event: 11
  • Release event: 3
  • Issues event: 45
  • Watch event: 7
  • Issue comment event: 69
  • Push event: 192
  • Pull request event: 9
  • Fork event: 1
Last Year
  • Create event: 11
  • Release event: 3
  • Issues event: 45
  • Watch event: 7
  • Issue comment event: 69
  • Push event: 192
  • Pull request event: 9
  • Fork event: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 25
  • Total pull requests: 4
  • Average time to close issues: 18 days
  • Average time to close pull requests: 1 day
  • Total issue authors: 3
  • Total pull request authors: 2
  • Average comments per issue: 0.4
  • Average comments per pull request: 1.25
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 25
  • Pull requests: 4
  • Average time to close issues: 18 days
  • Average time to close pull requests: 1 day
  • Issue authors: 3
  • Pull request authors: 2
  • Average comments per issue: 0.4
  • Average comments per pull request: 1.25
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • boinor (15)
  • MLopez-Ibanez (9)
  • alteholz (1)
Pull Request Authors
  • MLopez-Ibanez (3)
  • alteholz (1)
Top Labels
Issue Labels
enhancement (7)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 23 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 4
  • Total maintainers: 1
pypi.org: boinor

Utilities and Python wrappers for Orbital Mechanics.

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 23 Last month
Rankings
Dependent packages count: 9.7%
Average: 32.2%
Dependent repos count: 54.7%
Maintainers (1)
Funding
  • https://opencollective.com/boinor
Last synced: 6 months ago