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
  LINK_LIBS bsk::plugin
)

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

Basilisk utility libraries

Plugins that link against bsk::plugin can include Basilisk utility headers with their normal Basilisk-relative paths, for example:

#include "architecture/utilities/orbitalMotion.h"

The SDK builds the self-contained C/C++ sources from architecture/utilities into bsk::arch_utilities, so calls such as elem2rv() and rv2elem() are available to plugin modules. Utilities that depend on external libraries not shipped by the SDK are excluded; currently this excludes the cfitsio-backed Haslam background radiation utility.

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.1.tar.gz (253.9 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.1-py3-none-any.whl (3.1 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bsk_sdk-2.10.1.tar.gz
  • Upload date:
  • Size: 253.9 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.1.tar.gz
Algorithm Hash digest
SHA256 c5ac12d6815c4425a70b84b24b232dbf568df98e361b651f8676a25131901abe
MD5 e495b0df93386e6fbb1e4a99219d7311
BLAKE2b-256 0505e299d25b005d8b2931e0678bb505a16c624271c74a09d4c27a6728abd281

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: bsk_sdk-2.10.1-py3-none-any.whl
  • Upload date:
  • Size: 3.1 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 15e93f20f61778f0f6ee4b664e8eef8231cb23ee661f68464967d6896ee45fa7
MD5 de46524add4516e33bd10fc7d80a3781
BLAKE2b-256 5a1e5f05042b86767c9c38821a299345ba9a32888b8ad472ab4f3e5933581858

See more details on using hashes here.

Provenance

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