{"id":22402783,"url":"https://github.com/open-space-collective/open-space-toolkit-core","last_synced_at":"2025-04-09T15:09:46.871Z","repository":{"id":45695671,"uuid":"136834700","full_name":"open-space-collective/open-space-toolkit-core","owner":"open-space-collective","description":"Common types, containers and utilities.","archived":false,"fork":false,"pushed_at":"2025-02-22T16:53:32.000Z","size":13303,"stargazers_count":20,"open_issues_count":5,"forks_count":6,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-09T15:09:37.612Z","etag":null,"topics":["core","cpp","engineering","python","space","toolkit"],"latest_commit_sha":null,"homepage":"https://open-space-collective.github.io/open-space-toolkit-core/","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":"2018-06-10T18:32:32.000Z","updated_at":"2025-02-22T16:53:35.000Z","dependencies_parsed_at":"2023-12-18T17:27:36.690Z","dependency_job_id":"a273d0a5-cf43-4768-8e0a-d963fbc23186","html_url":"https://github.com/open-space-collective/open-space-toolkit-core","commit_stats":{"total_commits":343,"total_committers":10,"mean_commits":34.3,"dds":"0.21865889212827994","last_synced_commit":"1d50849f6716be2f7fe31da8f9fd57c195a54819"},"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-space-collective%2Fopen-space-toolkit-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-space-collective%2Fopen-space-toolkit-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-space-collective%2Fopen-space-toolkit-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-space-collective%2Fopen-space-toolkit-core/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-core/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248055282,"owners_count":21040157,"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":["core","cpp","engineering","python","space","toolkit"],"created_at":"2024-12-05T09:14:20.256Z","updated_at":"2025-04-09T15:09:46.842Z","avatar_url":"https://github.com/open-space-collective.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Open Space Toolkit ▸ Core\n\n[![Build and Test](https://github.com/open-space-collective/open-space-toolkit-core/actions/workflows/build-test.yml/badge.svg?branch=main)](https://github.com/open-space-collective/open-space-toolkit-core/actions/workflows/build-test.yml)\n[![Release](https://github.com/open-space-collective/open-space-toolkit-core/actions/workflows/release.yml/badge.svg)](https://github.com/open-space-collective/open-space-toolkit-core/actions/workflows/release.yml)\n[![Code Coverage](https://codecov.io/gh/open-space-collective/open-space-toolkit-core/branch/main/graph/badge.svg)](https://codecov.io/gh/open-space-collective/open-space-toolkit-core)\n[![Documentation](https://img.shields.io/readthedocs/pip/stable.svg)](https://open-space-collective.github.io/open-space-toolkit-core)\n[![GitHub version](https://badge.fury.io/gh/open-space-collective%2Fopen-space-toolkit-core.svg)](https://badge.fury.io/gh/open-space-collective%2Fopen-space-toolkit-core)\n[![PyPI version](https://badge.fury.io/py/open-space-toolkit-core.svg)](https://badge.fury.io/py/open-space-toolkit-core)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\nCommon types, containers and utilities.\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-core-development python3.11 -m IPython\n```\n\nOnce the shell is up and running, playing with it is easy:\n\n```py\nfrom ostk.core.filesystem import Directory # Directory class\n\nDirectory.root().is_empty() # True if the root directory is empty\n```\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-core-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-core/releases):\n\n- Runtime libraries: `open-space-toolkit-core-X.Y.Z-1.x86_64-runtime`\n- C++ headers: `open-space-toolkit-core-X.Y.Z-1.x86_64-devel`\n- Python bindings: `open-space-toolkit-core-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-core-*.deb\n```\n\n### Python\n\nInstall from [PyPI](https://pypi.org/project/open-space-toolkit-core/):\n\n```bash\npip install open-space-toolkit-core\n```\n\n## Documentation\n\nDocumentation is available [here](https://open-space-collective.github.io/open-space-toolkit-core):\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-core-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, by 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: The `ostk-build` command 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-core.test\n```\n\n*Tip: The `ostk-test` command simplifies running tests from within the development environment.*\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-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopen-space-collective%2Fopen-space-toolkit-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-space-collective%2Fopen-space-toolkit-core/lists"}