astrora_core 0.1.1

Astrora - Rust-backed astrodynamics library - core computational components
Documentation
# Astrora Documentation

This directory contains the Sphinx documentation for Astrora.

## Building the Documentation

### Prerequisites

Install documentation dependencies:

```bash
uv pip install -e ".[docs]"
```

### Build HTML Documentation

From the `docs/` directory:

```bash
# Using Makefile
make html

# Or directly with sphinx-build
sphinx-build -b html . _build/html
```

The HTML documentation will be generated in `_build/html/`.

### View Documentation

Open `_build/html/index.html` in your browser:

```bash
open _build/html/index.html  # macOS
xdg-open _build/html/index.html  # Linux
start _build/html/index.html  # Windows
```

### Clean Build Artifacts

```bash
make clean
```

## Documentation Structure

```
docs/
├── api/              # API reference documentation
│   ├── bodies.rst
│   ├── coordinates.rst
│   ├── core.rst
│   ├── maneuver.rst
│   ├── plotting.rst
│   ├── time.rst
│   ├── twobody.rst
│   └── util.rst
├── developer/        # Developer guides
├── examples/         # Example notebooks and scripts
├── user_guide/       # User guides and tutorials
├── conf.py          # Sphinx configuration
├── index.rst        # Documentation home page
└── Makefile         # Build automation

```

## Configuration

The documentation is configured in `conf.py` with:

- **Theme**: Read the Docs (sphinx_rtd_theme)
- **Extensions**:
  - `sphinx.ext.autodoc` - Auto-generate API docs from docstrings
  - `sphinx.ext.napoleon` - NumPy-style docstring support
  - `sphinx.ext.viewcode` - Source code links
  - `sphinx.ext.intersphinx` - Cross-references to other projects
  - `sphinx.ext.mathjax` - Mathematical notation
  - `sphinx_autodoc_typehints` - Type hint documentation
  - `numpydoc` - NumPy docstring processing

## Contributing

When adding new modules or functions:

1. Write comprehensive NumPy-style docstrings
2. Add the module to the appropriate `api/*.rst` file
3. Rebuild the documentation to verify it renders correctly
4. Check for warnings during the build

## Notes

- The documentation includes comprehensive API reference for all Python modules
- Rust documentation can be built separately with `cargo doc`
- All warnings during build are expected for functions not yet implemented
- The documentation is configured to work with Python 3.8+