Metadata-Version: 2.4
Name: octavian
Version: 0.1.2
Summary: Trajectory optimization and astrodynamics in Python using ASSET, with mission-script APIs.
Project-URL: Homepage, https://github.com/GHevia/octavian
Project-URL: Repository, https://github.com/GHevia/octavian
Project-URL: Issues, https://github.com/GHevia/octavian/issues
Author: Octavian Contributors
License: MIT
License-File: LICENSE
Keywords: astrodynamics,optimization,orbital-mechanics,space,trajectory-optimization
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.10
Requires-Dist: numpy>=1.23
Requires-Dist: plotly>=5.18.0
Provides-Extra: dev
Requires-Dist: black>=24.0; extra == 'dev'
Requires-Dist: build>=1.2; extra == 'dev'
Requires-Dist: pre-commit>=3.6; extra == 'dev'
Requires-Dist: pytest>=7.4; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Description-Content-Type: text/markdown

# Octavian

Octavian is a Python-first astrodynamics / trajectory-optimization toolkit built on **ASSET (asset_asrl)**.

This MVP includes:
- Two-impulse rendezvous with bounded free final time (single coast phase)
- Two-impulse rendezvous with bounded **variable pre-coast** (two phases + link Δv objective)
- Lambert-izzo seed sweeps across TOF / longway / multi-rev (ASSET's `Astro.lambert_izzo`)
- Fast two-body initial guesses via ASSET Kepler propagation (`Astro.propagate_cartesian`)
- Plotly HTML visualization with maneuver markers

`octavian` can be installed from PyPI, but ASSET must still be installed separately for solver-backed workflows.

## Install

```bash
pip install octavian
```

If you plan to run the optimization solvers, install `asset_asrl` separately in the same environment.

## Examples

```bash
python examples/quick/01_two_impulse_free_time.py
python examples/quick/02_two_impulse_precoast_impulsive_link.py
```


## Development

```bash
pip install -e ".[dev]"
pre-commit install
python -m build
pytest
```

## Studies

Use `octavian.study.grid` to run parameter sweeps and optionally save results to disk.

## Releasing

Release versions are published from Git tags such as `v0.1.3` by GitHub Actions. Maintainer steps are documented in [RELEASING.md](RELEASING.md).
