Metadata-Version: 2.4
Name: pavdata
Version: 0.1.0
Summary: Transportation Infrastructure Data Toolbox
Author-email: Vilmar Faustino do Nascimento <vilmarfaustinok@gmail.com>, Carlos David Rodrigues Melo <cdavidmelo@ufc.br>, Nelson de Oliveira Quesado Filho <nquesado@gmail.com>
License: MIT
Project-URL: Homepage, https://cdavidrmelo.github.io/pavdata/
Project-URL: Repository, https://github.com/cdavidrmelo/pavdata
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: pydantic>=2.0
Requires-Dist: jsonschema>=4.0
Provides-Extra: viz
Requires-Dist: matplotlib>=3.7; extra == "viz"
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Provides-Extra: all
Requires-Dist: matplotlib>=3.7; extra == "all"
Requires-Dist: pytest>=7.0; extra == "all"
Requires-Dist: ruff; extra == "all"

# PavData (Python)

PavData is an open-source library for storing, validating and exploring asphalt
pavement laboratory data. The information is organized in a relational model of eight
entities — samples, binders, aggregates, mixtures and their tests, plus the references
of origin — and stored in the open `.pavdata` format, based on JSON.

This is the Python implementation. There is also an equivalent R package that reads and
writes the same format.

## Installation

```bash
pip install pavdata
```

For the plotting functions, also install matplotlib:

```bash
pip install matplotlib
```

## Usage

```python
import pavdata

# Create an object
b = pavdata.pav_new("binder", name="CAP 50/70", binder_type="CAP 50/70",
                    penetration_mm=52, viscosity_135c_cp=305)

# Validate
pavdata.pav_check(b)

# Write and read
pavdata.pav_write(b, "my_data.pavdata")
objects = pavdata.pav_read("my_data.pavdata")
```

The package includes a dataset of 296 real samples, accessible through the
`SAMPLE_DATA_PATH` constant:

```python
import pavdata
data = pavdata.pav_read(pavdata.SAMPLE_DATA_PATH)
```

## License

The software is distributed under the MIT license. The example data that ships with the
library is distributed under the CC-BY-4.0 license.

## Links

- Project site: https://cdavidrmelo.github.io/pavdata/
- Repository: https://github.com/cdavidrmelo/pavdata
