Metadata-Version: 2.4
Name: huira
Version: 0.9.10
Summary: A library for space rendering, LiDAR simulation, and solar radiation pressure modeling.
License-Expression: MIT
Project-URL: Homepage, https://huira.space
Project-URL: Documentation, https://docs.huira.space
Project-URL: Source, https://github.com/huira-render/huira
Project-URL: Issues, https://github.com/huira-render/huira/issues
Requires-Python: >=3.9
Description-Content-Type: text/markdown

![Huira](https://raw.githubusercontent.com/huira-render/huira/main/docs/_static/logo/full/blue_on_transparent.svg)

*Huira* is a library for space rendering, LiDAR simulation, and solar radiation pressure modeling.

[![Linux Build](https://github.com/huira-render/huira/actions/workflows/linux-ci-cd.yml/badge.svg?branch=main)](https://github.com/huira-render/huira/actions/workflows/linux-ci-cd.yml?query=branch%3Amain)
[![Windows Build](https://github.com/huira-render/huira/actions/workflows/windows-ci-cd.yml/badge.svg?branch=main)](https://github.com/huira-render/huira/actions/workflows/windows-ci-cd.yml?query=branch%3Amain)
[![macOS Build](https://github.com/huira-render/huira/actions/workflows/macos-ci-cd.yml/badge.svg?branch=main)](https://github.com/huira-render/huira/actions/workflows/macos-ci-cd.yml?query=branch%3Amain)

[![Conda Build](https://github.com/huira-render/huira/actions/workflows/conda-build.yml/badge.svg?branch=main)](https://github.com/huira-render/huira/actions/workflows/conda-build.yml?query=branch%3Amain)
[![vcpkg Build](https://github.com/huira-render/huira/actions/workflows/vcpkg-build.yml/badge.svg?branch=main)](https://github.com/huira-render/huira/actions/workflows/vcpkg-build.yml?query=branch%3Amain)
[![Python (PyPI)](https://github.com/huira-render/huira/actions/workflows/python.yml/badge.svg?branch=main)](https://github.com/huira-render/huira/actions/workflows/python.yml?query=branch%3Amain)

[![Coverage](https://codecov.io/gh/huira-render/huira/branch/main/graph/badge.svg)](https://app.codecov.io/gh/huira-render/huira/tree/main)

![Example Render](https://www.huira.space/assets/examples/gateway_render.png)

## Quickstart Examples
Example code can be found in [`examples/`](https://github.com/huira-render/huira/tree/main/examples).  Several scenarios intended to demonstrate various features are provided, along with instructions for fetching the required data.

## Features
Initial work on Huira has been on the basic architecture as well as distribution/cross-platform compatibility.  As much of that work is now completed, new features are expected to be released in relatively short order.

If there are features you wish to see, that you don't see listed here, please feel free to submit a [Feature Request](https://github.com/huira-render/huira/issues/new?template=feature_request.md)

### Currently Stable Features (as of v0.9.10)
- Radiometrically accurate rendering
- Planetary BRDFs including Lambertian, Oren-Nayar, Cook-Torrance, McEwen, Lommel-Seeliger
- Basic volumetric rendering of planetary atmospheres
- Calibrated camera distortion models and common camera controls
- Modeling of Point Spread Functions (diffraction and optical scattering)
- Motion blur
- Depth-of-Field
- SPICE toolkit integration for spacecraft ephemeris and reference frames
- Star field and unresolved rendering
- Spherical light sources with Next Event Estimation and Multiple Importance Sampling
- Python Bindings
- Logging and crash report generation
- API Reference Documentation (NOTE: Some docs may appear incomplete or poorly formatted)

### Features Coming Soon (Order of Priority)
| Feature | Status |
| --- | --- |
| SRP and Unresolved 3d Models | In-Progress |
| Digital Elevation Maps | In-Progress |
| Level-of-Detail | Designed |
| LIDAR simulation | Planned |
| Comprehensive Tutorials | In-Progress |
| TLE support | Licensing\* |

\* There are licensing concerns with SGP4 that need to be understood before TLE support can be added.

### Long Term Plans
- Vulkan based GPU Acceleration
- Desktop application (GUI)

## Background
Huira is a complete rewrite providing similar functionality to the [vira](https://github.com/nasa/vira) project originally developed by the same author while at NASA's Goddard Space Flight Center. While inspired by vira, huira is built from scratch with new code and is released under the MIT license.

Vira is also available on a [personal fork by the original author](https://github.com/crgnam/vira).  However it is no longer maintained, and it is recommended to use this project moving forward.

## Citing Huira
If you use Huira in published work, please cite it. On the [Huira GitHub page](https://github.com/huira-render/huira), click **Cite this repository** in the sidebar for APA and BibTeX, or use:

```bibtex
@software{gnam_huira,
  author    = {Gnam, Christopher},
  title     = {Huira},
  year      = {2026},
  url       = {https://github.com/huira-render/huira}
}
```

Please also note which version of Huira you used.

## Use of AI Tools

As the physical correctness of this library is critical, I feel it's important to acknowledge that AI coding assistants have been used during Huira's development. This has primarily been for:
- Boilerplate
- CI configuration and packaging
- Documentation

AI has also been involved in the development of several algorithms, and used as a "sounding board" during architectural brainstorming.

With that said, every architecture and design decision in Huira is my own (and the core architecture was established before any AI usage). Every line of AI-generated code has been reviewed by me before being merged.

## License
Huira is licensed under the [MIT License](https://github.com/huira-render/huira/blob/main/LICENSE)
