Addressing, networking, database connectors.
Want to get started? This is the simplest and quickest way:
Nothing to download or install! This will automatically start a JupyterLab environment in your browser with Open Space Toolkit libraries and example notebooks ready to use.
Docker must be installed on your system.
The following command will start an iPython shell within a container where the OSTk components are already installed:
docker run -it openspacecollective/open-space-toolkit-io-development python3.11 -m IPythonOnce the shell is up and running, playing with it is easy:
from ostk.io import URL # URL class
from ostk.io.ip.tcp.http import Client # HTTP client class
url = URL.parse("https://www.google.com") # Construct a URL
response = Client.get(url) # Send an HTTP GET request (over HTTPS)
response.get_status_code() # Display the status code of the HTTP responseTip: Use tab for auto-completion!
The following command will start a JupyterLab server within a container where the OSTk components are already installed:
docker run --publish=8888:8888 openspacecollective/open-space-toolkit-io-jupyterOnce the container is running, access http://localhost:8888/lab and create a Python 3 Notebook.
The binary packages are hosted using GitHub Releases:
- Runtime libraries:
open-space-toolkit-io-X.Y.Z-1.x86_64-runtime - C++ headers:
open-space-toolkit-io-X.Y.Z-1.x86_64-devel - Python bindings:
open-space-toolkit-io-X.Y.Z-1.x86_64-python
After downloading the relevant .deb binary packages, install:
apt install open-space-toolkit-io-*.debInstall from PyPI:
pip install open-space-toolkit-ioDocumentation is available here:
Structure
The library exhibits the following structure:
├── IP
│ ├── Address
│ └── TCP
│ ├── Client
│ ├── Server
│ └── HTTP
│ ├── Client
│ └── Server
└── URL
└── QueryTutorials are available here:
Using Docker for development is recommended, to simplify the installation of the necessary build tools and dependencies. Instructions on how to install Docker are available here.
To start the development environment:
make start-developmentThis will:
- Build the
openspacecollective/open-space-toolkit-io-developmentDocker image. - Create a development environment container with local source files and helper scripts mounted.
- Start a
bashshell from the./buildworking directory.
If 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.
From the ./build directory:
cmake ..
makeTip: ostk-build simplifies building from within the development environment.
To start a container to build and run the tests:
make testOr to run them manually:
./bin/open-space-toolkit-io.testTip: ostk-test simplifies running tests from within the development environment.
| Name | Version | License | Link |
|---|---|---|---|
| Pybind11 | 2.12.0 |
BSD-3-Clause | github.com/pybind/pybind11 |
| {fmt} | 5.2.0 |
BSD-2-Clause | github.com/fmtlib/fmt |
| Core | main |
Apache License 2.0 | github.com/open-space-collective/open-space-toolkit-core |
Contributions are more than welcome!
Please read our contributing guide to learn about our development process, how to propose fixes and improvements, and how to build and test the code.
Apache License 2.0
