Skip to main content

Vendored Basilisk SDK headers, runtime, and CMake integration for plugin authors

Project description

Basilisk SDK (bsk-sdk)

A self-contained Python wheel that gives external projects everything they need to build Basilisk compatible SWIG plugins without vendoring the full simulation codebase.

Quick start

pip install bsk-sdk

Then in your plugin's CMakeLists.txt:

find_package(bsk-sdk CONFIG REQUIRED)

bsk_add_swig_module(
  TARGET myPlugin
  INTERFACE swig/myPlugin.i
  SOURCES myPlugin.cpp
)

bsk_add_swig_module automatically compiles the vendored Basilisk SDK sources (arch_min, arch_utilities, runtime_min) directly into your plugin, so no separate link targets are needed. Basilisk utility headers are available at their standard paths, for example:

#include "architecture/utilities/orbitalMotion.h"

If your plugin needs additional link targets, pass them via LINK_LIBS and they will be appended after the SDK defaults.

See examples/custom-atm-plugin/ for a complete working example.

Syncing from Basilisk

The SDK vendors a curated subset of Basilisk headers and sources. These are synced from a pinned Basilisk commit via a Git submodule.

git submodule update --init --recursive
python3 tools/sync_all.py
pip install -e .

Or opt into auto-sync during build:

BSK_SDK_AUTO_SYNC=1 pip install -e .

Updating to a newer Basilisk version

cd external/basilisk
git fetch && git checkout <tag-or-commit>
cd ../..
python3 tools/sync_all.py

Versioning

The bsk-sdk package version tracks the Basilisk version it was synced from (e.g. bsk-sdk==2.9.1 contains headers from Basilisk v2.9.1).

At CMake configure time, the SDK checks that the installed Basilisk version matches and errors out on a mismatch. This prevents silent ABI incompatibilities where plugins are compiled against headers from one Basilisk version but linked against a different runtime.

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

bsk_sdk-2.10.2.tar.gz (253.8 kB view details)

Uploaded Source

Built Distribution

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

bsk_sdk-2.10.2-py3-none-any.whl (2.8 MB view details)

Uploaded Python 3

File details

Details for the file bsk_sdk-2.10.2.tar.gz.

File metadata

  • Download URL: bsk_sdk-2.10.2.tar.gz
  • Upload date:
  • Size: 253.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bsk_sdk-2.10.2.tar.gz
Algorithm Hash digest
SHA256 c8f10fdc376dc7f1f87f58344db2cfc783f95625698553693d1f6f2d70320d76
MD5 5c6b856c0bc9b8cb4498f317fa7d0194
BLAKE2b-256 672daab15368799e418ead98b5dc70cb95ee0be2875acc0c47e3f3e259d72789

See more details on using hashes here.

Provenance

The following attestation bundles were made for bsk_sdk-2.10.2.tar.gz:

Publisher: publish-wheels.yml on AVSLab/bsk_sdk

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

File details

Details for the file bsk_sdk-2.10.2-py3-none-any.whl.

File metadata

  • Download URL: bsk_sdk-2.10.2-py3-none-any.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bsk_sdk-2.10.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0c610f2af3af778478b7536dc9f8fbccf6750fc5c0359ae95bf2b14b6050f90e
MD5 18aa8d231d67f7794e06a41e32cadea2
BLAKE2b-256 48ad1c58b815e5ddbb8092406f14726e577eb950b21428cf3afcf241167de3cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for bsk_sdk-2.10.2-py3-none-any.whl:

Publisher: publish-wheels.yml on AVSLab/bsk_sdk

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