{"id":22402765,"url":"https://github.com/open-space-collective/open-space-toolkit-simulation","last_synced_at":"2025-07-31T16:31:16.075Z","repository":{"id":61961696,"uuid":"262868094","full_name":"open-space-collective/open-space-toolkit-simulation","owner":"open-space-collective","description":"Spacecraft simulation.","archived":false,"fork":false,"pushed_at":"2024-12-02T22:05:54.000Z","size":8633,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-12-02T23:19:54.674Z","etag":null,"topics":["cpp","engineering","python","satellite","simulation","space","spacecraft","toolkit"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/open-space-collective.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-10T20:17:41.000Z","updated_at":"2024-12-02T22:05:56.000Z","dependencies_parsed_at":"2024-04-01T06:31:03.222Z","dependency_job_id":"71ace1a2-12c2-43a4-88c0-0d5f5404b757","html_url":"https://github.com/open-space-collective/open-space-toolkit-simulation","commit_stats":{"total_commits":13,"total_committers":5,"mean_commits":2.6,"dds":0.6153846153846154,"last_synced_commit":"5f075755ec13400ed1d1b06e1b611d7cc1726818"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-space-collective%2Fopen-space-toolkit-simulation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-space-collective%2Fopen-space-toolkit-simulation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-space-collective%2Fopen-space-toolkit-simulation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-space-collective%2Fopen-space-toolkit-simulation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/open-space-collective","download_url":"https://codeload.github.com/open-space-collective/open-space-toolkit-simulation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228267835,"owners_count":17893841,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","engineering","python","satellite","simulation","space","spacecraft","toolkit"],"created_at":"2024-12-05T09:14:16.345Z","updated_at":"2024-12-05T09:14:17.014Z","avatar_url":"https://github.com/open-space-collective.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Open Space Toolkit ▸ Simulation\n\n[![Build and Test](https://github.com/open-space-collective/open-space-toolkit-simulation/actions/workflows/build-test.yml/badge.svg?branch=main)](https://github.com/open-space-collective/open-space-toolkit-simulation/actions/workflows/build-test.yml)\n[![Code Coverage](https://codecov.io/gh/open-space-collective/open-space-toolkit-simulation/branch/main/graph/badge.svg)](https://codecov.io/gh/open-space-collective/open-space-toolkit-simulation)\n[![Documentation](https://img.shields.io/readthedocs/pip/stable.svg)](https://open-space-collective.github.io/open-space-toolkit-simulation)\n[![GitHub version](https://badge.fury.io/gh/open-space-collective%2Fopen-space-toolkit-simulation.svg)](https://badge.fury.io/gh/open-space-collective%2Fopen-space-toolkit-simulation)\n[![PyPI version](https://badge.fury.io/py/open-space-toolkit-simulation.svg)](https://badge.fury.io/py/open-space-toolkit-simulation)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\nSpacecraft simulation.\n\n*This library is still in draft state. Do not use!*\n\n## Getting Started\n\nWant to get started? This is the simplest and quickest way:\n\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/open-space-collective/open-space-toolkit/main?urlpath=lab/tree/notebooks)\n\n*Nothing to download or install! This will automatically start a [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/) environment in your browser with Open Space Toolkit libraries and example notebooks ready to use.*\n\n### Alternatives\n\n#### Docker Images\n\n[Docker](https://www.docker.com/) must be installed on your system.\n\n##### iPython\n\nThe following command will start an [iPython](https://ipython.org/) shell within a container where the OSTk components are already installed:\n\n```bash\ndocker run -it openspacecollective/open-space-toolkit-simulation-development python3.11 -m IPython\n```\n\nOnce the shell is up and running, playing with it is easy:\n\n```py\n# TBC...\n```\n\nBy default, OSTk fetches the ephemeris from JPL, Earth Orientation Parameters (EOP) and leap second count from IERS.\n\nAs a result, when running OSTk for the first time, it may take a minute to fetch all the necessary data.\n\n*Tip: Use tab for auto-completion!*\n\n##### JupyterLab\n\nThe following command will start a [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/) server within a container where the OSTk components are already installed:\n\n```bash\ndocker run --publish=8888:8888 openspacecollective/open-space-toolkit-simulation-jupyter\n```\n\nOnce the container is running, access [http://localhost:8888/lab](http://localhost:8888/lab) and create a Python 3 Notebook.\n\n## Installation\n\n### C++\n\nThe binary packages are hosted using [GitHub Releases](https://github.com/open-space-collective/open-space-toolkit-simulation/releases):\n\n- Runtime libraries: `open-space-toolkit-simulation-X.Y.Z-1.x86_64-runtime`\n- C++ headers: `open-space-toolkit-simulation-X.Y.Z-1.x86_64-devel`\n- Python bindings: `open-space-toolkit-simulation-X.Y.Z-1.x86_64-python`\n\n#### Debian / Ubuntu\n\nAfter downloading the relevant `.deb` binary packages, install:\n\n```bash\napt install open-space-toolkit-simulation-*.deb\n```\n\n### Python\n\nInstall from [PyPI](https://pypi.org/project/open-space-toolkit-simulation/):\n\n```bash\npip install open-space-toolkit-simulation\n```\n\n## Documentation\n\nDocumentation is available here:\n\n- [C++](https://open-space-collective.github.io/open-space-toolkit-simulation)\n- [Python](./bindings/python/docs)\n\n\u003cdetails\u003e\n\u003csummary\u003eStructure\u003c/summary\u003e\n\u003cp\u003e\n\nThe library exhibits the following detailed and descriptive structure:\n\n```txt\n└── Satellite\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n## Tutorials\n\nTutorials are available here:\n\n- [C++](./tutorials/cpp)\n- [Python](./tutorials/python)\n\n## Setup\n\n### Development Environment\n\nUsing [Docker](https://www.docker.com) for development is recommended, to simplify the installation of the necessary build tools and dependencies.\nInstructions on how to install Docker are available [here](https://docs.docker.com/install/).\n\nTo start the development environment:\n\n```bash\nmake start-development\n```\n\nThis will:\n\n1. Build the `openspacecollective/open-space-toolkit-simulation-development` Docker image.\n2. Create a development environment container with local source files and helper scripts mounted.\n3. Start a `bash` shell from the `./build` working directory.\n\nIf installing Docker is not an option, you can manually install the development tools (GCC, CMake) and all required dependencies,\nby following a procedure similar to the one described in the [Development Dockerfile](./docker/development/Dockerfile).\n\n### Build\n\nFrom the `./build` directory:\n\n```bash\ncmake ..\nmake\n```\n\n*Tip: `ostk-build` simplifies building from within the development environment.*\n\n### Test\n\nTo start a container to build and run the tests:\n\n```bash\nmake test\n```\n\nOr to run them manually:\n\n```bash\n./bin/open-space-toolkit-simulation.test\n```\n\n*Tip: `ostk-test` simplifies running tests from within the development environment.*\n\n## Dependencies\n\n| Name          | Version | License                | Link                                                                                                                                           |\n| ------------- | ------- | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |\n| Pybind11      | 2.12.0  | BSD-3-Clause           | [github.com/pybind/pybind11](https://github.com/pybind/pybind11)                                                                               |\n| Core          | main    | Apache License 2.0     | [github.com/open-space-collective/open-space-toolkit-core](https://github.com/open-space-collective/open-space-toolkit-core)                   |\n| I/O           | main    | Apache License 2.0     | [github.com/open-space-collective/open-space-toolkit-io](https://github.com/open-space-collective/open-space-toolkit-io)                       |\n| Mathematics   | main    | Apache License 2.0     | [github.com/open-space-collective/open-space-toolkit-mathematics](https://github.com/open-space-collective/open-space-toolkit-mathematics)     |\n| Physics       | main    | Apache License 2.0     | [github.com/open-space-collective/open-space-toolkit-physics](https://github.com/open-space-collective/open-space-toolkit-physics)             |\n| Astrodynamics | main    | Apache License 2.0     | [github.com/open-space-collective/open-space-toolkit-astrodynamics](https://github.com/open-space-collective/open-space-toolkit-astrodynamics) |\n\n## Contribution\n\nContributions are more than welcome!\n\nPlease read our [contributing guide](CONTRIBUTING.md) to learn about our development process, how to propose fixes and improvements, and how to build and test the code.\n\n## Special Thanks\n\n[![Loft Orbital](https://github.com/open-space-collective/open-space-toolkit/blob/main/assets/thanks/loft_orbital.png)](https://www.loftorbital.com/)\n\n## License\n\nApache License 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-space-collective%2Fopen-space-toolkit-simulation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopen-space-collective%2Fopen-space-toolkit-simulation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-space-collective%2Fopen-space-toolkit-simulation/lists"}