Metadata-Version: 2.4
Name: bsk
Version: 2.10.2
Summary: Basilisk: an Astrodynamics Simulation Framework
Home-page: https://avslab.github.io/basilisk/
License-Expression: ISC
Project-URL: homepage, https://avslab.github.io/basilisk/
Project-URL: documentation, https://avslab.github.io/basilisk/
Project-URL: source, https://github.com/AVSLab/basilisk
Project-URL: tracker, https://github.com/AVSLab/basilisk/issues
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering
Requires-Python: <3.15,>=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas<=2.3.3,>=2.0.3
Requires-Dist: matplotlib<=3.10.7,>=3.7.5
Requires-Dist: numpy<2.4.0,>=1.24.4; python_version < "3.13"
Requires-Dist: numpy<2.4.0,>=2.0; python_version >= "3.13"
Requires-Dist: colorama==0.4.6
Requires-Dist: tqdm==4.67.1
Requires-Dist: pillow<=12.0.0,>=10.4.0
Requires-Dist: requests<=2.32.5,>=2.32.3
Requires-Dist: bokeh<=3.8.1,>=3.1.1
Requires-Dist: protobuf<=6.33.1,>=5.29.4
Requires-Dist: pooch<1.9,>=1.7.0
Requires-Dist: sgp4==2.23
Provides-Extra: test
Requires-Dist: psutil; extra == "test"
Requires-Dist: pytest-error-for-skips; extra == "test"
Requires-Dist: pytest; extra == "test"
Provides-Extra: examples
Requires-Dist: scipy==1.13.1; python_version < "3.10" and extra == "examples"
Requires-Dist: scipy==1.15.3; (python_version >= "3.10" and python_version < "3.11") and extra == "examples"
Requires-Dist: scipy==1.17.1; python_version >= "3.11" and extra == "examples"
Dynamic: home-page
Dynamic: license-file

# README

## Basilisk

* [Summary of Basilisk](docs/source/index.rst)
* [Release Notes](docs/source/Support/bskReleaseNotes.rst)

### Installation

Basilisk can be installed in two ways, either from PyPI or by building from
source.

For most users, installing from PyPI is the easiest and fastest way to get
started. Building from source is recommended if you need to link to external
C++ modules or want to customize the build configuration.

#### Install from PyPI

The easiest way to get started with Basilisk is to install the prebuilt wheel
from [PyPI](https://pypi.org/project/bsk/):

```bash
pip install bsk
```

This installs the latest stable version with all standard features
(e.g. optical navigation and MuJoCo). See the [install](docs/source/Install.rst)
docs for supported platforms and additional details about the wheels.

If you also want the optional Python dependencies used by example scripts, install:

```bash
pip install "bsk[examples]"
```

#### Build from Source

If you need to use external C++ modules or want to customize the build, follow
the platform-specific setup instructions:

* [Setup a macOS Development Environment](docs/source/Build/installOnMacOS.rst)

* [Setup a Linux Development Environment](docs/source/Build/installOnLinux.rst)

* [Setup a Windows Development Environment](docs/source/Build/installOnWindows.rst)

See the [Build from Source docs](docs/source/Build.rst) for full details.

#### Containers

Basilisk container images are published to:

* [GHCR](https://ghcr.io/avslab/basilisk)

Published tags follow this policy:

* `v*` (for example `v2.9.0`) and `latest` for release tags

Images are multi-architecture (`linux/amd64`, `linux/arm64`).

Quick start:

```bash
docker pull ghcr.io/avslab/basilisk:latest
docker run --rm ghcr.io/avslab/basilisk:latest
```

For more details, see [container docs](docs/source/Build/containers.rst).

### Basilisk Development guidelines

* [Contributing](CONTRIBUTING.md)
* [Coding Guidelines](docs/source/Support/Developer/CodingGuidlines.rst)

### Getting Started

To get started with Basilisk (BSK), several tutorial python files are provided in the installed package.  Within this
web page documentation site, they are listed and discussed in the [integrated example script](docs/source/examples/index.rst) page.

The documentation lists the scenarios in an order that facilitates learning basic BSK features. The python scripts
are stored in the repository under `basilisk/examples`. A good start would be to run `scenarioBasicOrbit.py`.

If you downloaded Basilisk through `pip install bsk`, then you can download all examples to the local folder using the command line `bskExamples`.

To play with the tutorials, it is suggested the user makes a copy of these tutorial files, and use the copies in order
to learn, test and experiment. Copy the folder `basilisk/examples` into a
new folder, and change to that directory.
To run the default scenario of `scenarioBasicOrbit`, in the directory of the
copied tutorials, execute the python script: `python scenarioBasicOrbit.py`

Now, when you want to use a tutorial, navigate inside that folder, and edit and execute the *copied* integrated tests.

Any new BSK module development should not occur within the BSK folder as this will be updated rapidly.  Rather,
new FSW algorithm or simulation code modules should be created in a custom folder outside of the BSK directory.
See the [building custom modules](docs/source/Build/buildExtModules.rst) web page
for more information.

To use the standalone 3D Visualization, download the [Vizard](docs/source/Vizard/VizardDownload.rst).
This is in development, but does provide a 3D view of many of the simulation states.

### Who do I talk to?

Questions and answers are fielded in the project's [Github Discussions](https://github.com/AVSLab/basilisk/discussions).
