Skip to main content

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, and built-in C message interfaces) 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"

C modules can include built-in message C interfaces at the same paths used by Basilisk modules:

#include "cMsgCInterface/SpicePlanetStateMsg_C.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.

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.11.1.tar.gz (358.5 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.11.1-py3-none-any.whl (3.3 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for bsk_sdk-2.11.1.tar.gz
Algorithm Hash digest
SHA256 a2f6d49ed49aaad418daf2f34022450459d0fa739b025eb2626c540fafa8ceee
MD5 b286f6337e083d1ba81951a1ad28bb70
BLAKE2b-256 63273d1bf7800c3a5d156f82090010724ed76e0d9c746496d6e3bb6387e8f4d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for bsk_sdk-2.11.1.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.11.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for bsk_sdk-2.11.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0c36da76e7e6483a06c7cf1376f44b4401e8b9c611102044451785b4df41447a
MD5 bef11b0e5685239583dc46eb5be648cb
BLAKE2b-256 8faa973f25723fe177d12e701bb97fd6bd24685b519a9e1b307aa297ac071dad

See more details on using hashes here.

Provenance

The following attestation bundles were made for bsk_sdk-2.11.1-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 Sentry Error logging StatusPage Status page