Metadata-Version: 2.4
Name: flow-inviscid
Version: 0.1.1
Summary: Inviscid supersonic and hypersonic surface solutions: Taylor-Maccoll, Newtonian, tangent-cone, shock-expansion
Author-email: Christoph Hader <chader@arizona.edu>
License: BSD-3-Clause
Project-URL: Homepage, https://github.com/uahypersonics/flow-inviscid
Project-URL: Repository, https://github.com/uahypersonics/flow-inviscid
Keywords: aerodynamics,hypersonics,inviscid,taylor-maccoll,newtonian
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.24.0
Requires-Dist: scipy>=1.10.0
Requires-Dist: typer>=0.9.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: zensical; extra == "dev"
Dynamic: license-file

# flow-inviscid

Computes inviscid surface Mach number, pressure, and temperature along a body
contour using classical methods such as tangent-cone, tangent-wedge, Modified
Newtonian, shock-expansion, method of characteristics, and linearized supersonic.     

[![PyPI](https://img.shields.io/pypi/v/flow-inviscid)](https://pypi.org/project/flow-inviscid/)
[![Docs](https://img.shields.io/badge/docs-zensical-blue)](https://uahypersonics.github.io/flow-inviscid/)
[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](LICENSE)
[![Python](https://img.shields.io/badge/python-%E2%89%A53.11-blue.svg)](https://www.python.org/downloads/)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

## Install

```bash
pip install flow-inviscid
```

## Quick Start

under construction

## Documentation

## Validation and Verification

under construction

## Code Style

This project follows established Python community conventions so that
contributors can focus on the physics rather than inventing formatting rules.

| Convention | What it covers | Reference |
|---|---|---|
| [PEP 8](https://peps.python.org/pep-0008/) | Code formatting, naming, whitespace | Python standard style guide |
| [PEP 257](https://peps.python.org/pep-0257/) | Docstring structure | Python standard docstring conventions |
| [numpydoc](https://numpydoc.readthedocs.io/en/latest/format.html) | Docstring sections (`Parameters`, `Returns`, `Attributes`) | NumPy/SciPy docstring standard |
| [Ruff](https://docs.astral.sh/ruff/) | Automated linting and formatting | Enforces PEP 8 compliance automatically |

## Releasing

This project uses [Semantic Versioning](https://semver.org/) (`vMAJOR.MINOR.PATCH`):

- **MAJOR** (`v1.0.0`): Breaking API changes
- **MINOR** (`v0.3.0`): New features, backward-compatible
- **PATCH** (`v0.3.1`): Bug fixes

To publish a new version:

1. Verify locally:
   ```bash
   ruff check .
   pytest
   ```
2. Commit and push to `main`
3. Tag and push:
   ```bash
   git tag -a vMAJOR.MINOR.PATCH -m "Release vMAJOR.MINOR.PATCH"
   git push origin vMAJOR.MINOR.PATCH
   ```

## Citation

