Metadata-Version: 2.4
Name: pydust_utils
Version: 0.1.2
Summary: Python utilities for DUST pre- and postprocessing
Author-email: Alessandro Cocco <alessandro.cocco@polimi.it>
License: MIT
Project-URL: Homepage, https://www.dust.polimi.it/
Project-URL: Repository, https://public.gitlab.polimi.it/DAER/dust
Project-URL: Issues, https://public.gitlab.polimi.it/DAER/dust/-/issues
Keywords: aerodynamics,cfd,dust,mesh-generation,post-processing
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
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: Topic :: Scientific/Engineering
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: numpy>=1.20.0
Requires-Dist: pandas>=2.0.0
Requires-Dist: AeroSandbox>=4.2.0
Requires-Dist: pyvista>=0.43.0
Requires-Dist: pyvistaqt>=0.11.0
Requires-Dist: matplotlib>=3.5.0
Requires-Dist: seaborn>=0.12.0
Requires-Dist: jupyter>=1.0.0
Requires-Dist: ipywidgets>=8.0.0
Requires-Dist: ipympl>=0.9.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: black>=23.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=5.0; extra == "docs"
Requires-Dist: sphinx-book-theme>=1.0; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints>=1.23; extra == "docs"
Requires-Dist: numpydoc>=1.5; extra == "docs"

# PyDUST

Python library for parsing and analyzing DUST post-processing output files.

## Installation

**Requirements:** SSH key configured with GitLab

Install directly from the GitLab repository:

```bash
# Install latest from pydust branch
pip install git+ssh://git@gitlab.com/Alecocco.1994/dust-private.git@pydust#subdirectory=pydust

# Or install specific commit
pip install git+ssh://git@gitlab.com/Alecocco.1994/dust-private.git@abc1234#subdirectory=pydust
```

## Development Installation

For development with editable mode:

```bash
git clone git@gitlab.com:Alecocco.1994/dust-private.git
git checkout pydust
cd dust-private/pydust
pip install -e ".[dev,docs]"
```

## Quick Start

```python
from pydust import read_sectional, read_probes, read_integral

# Read sectional loads
sectional_data = read_sectional('sectional_loads.dat')
print(sectional_data.sec.shape)  # (n_time, n_sec)

# Read probe velocities
probe_data = read_probes('probes_velocity.dat')
print(probe_data.velocities.shape)  # (n_time, n_probes, 3)

# Read integral loads
integral_data = read_integral('integral_loads.dat')
lift = integral_data.forces[:, 2]  # Extract lift force
```

## Available Parsers

- `read_sectional` - Sectional aerodynamic loads
- `read_probes` - Velocity probe data
- `read_chordwise` - Chordwise distributions
- `read_integral` - Integral loads
- `read_hinge` - Hinge loads

## Documentation

Build documentation locally:

```bash
cd pydust_utils
source .venv-docs/bin/activate
sphinx-build -b html docs/source docs/build/html
```

## Running Tests

```bash
cd pydust_utils
pip install -e ".[dev]"
pytest tests/
```

## Build 
```bash
pip install build 
python -m build 
```

## Upload in PyPI 
```bash
pip install twine 
twine upload dist/* 
```

## License

MIT License

---

**Note:** This is a private package for DUST team members. Ensure you have SSH access configured with GitLab before installation.
