Metadata-Version: 2.4
Name: ateco
Version: 0.1.0
Summary: Italian ATECO classification (ISTAT) as a pure-Python data library.
Author-email: DLRSP <dlrsp.dev@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/DLRSP/ateco
Project-URL: Documentation, https://github.com/DLRSP/ateco/
Project-URL: Repository, https://github.com/DLRSP/ateco
Project-URL: Issues, https://github.com/DLRSP/ateco/issues
Project-URL: Changelog, https://github.com/DLRSP/ateco/blob/main/CHANGELOG.rst
Keywords: ateco,istat,italy,classification,nace
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: testing
Requires-Dist: coverage; extra == "testing"
Requires-Dist: pytest; extra == "testing"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.5; extra == "docs"
Requires-Dist: mkdocs-material>=9.0; extra == "docs"
Requires-Dist: pymdown-extensions>=10.0; extra == "docs"
Requires-Dist: mkdocs-git-revision-date-plugin>=2.0; extra == "docs"
Provides-Extra: linting
Requires-Dist: flake8; extra == "linting"
Requires-Dist: flake8-pyproject; extra == "linting"
Requires-Dist: flake8-bugbear; extra == "linting"
Requires-Dist: flake8-comprehensions; extra == "linting"
Requires-Dist: flake8-tidy-imports; extra == "linting"
Requires-Dist: flake8-typing-imports; extra == "linting"
Requires-Dist: pylint; extra == "linting"
Dynamic: license-file

# ateco

Italian **ATECO** economic activity classification (ISTAT) as a pure-Python data library.

[![CI](https://github.com/DLRSP/ateco/actions/workflows/ci.yaml/badge.svg)](https://github.com/DLRSP/ateco/actions/workflows/ci.yaml)

## Features

- Editions **2007**, **2022** (ATECO 2007 aggiornamento 2022), **2025** (default)
- Canonical codes are **dotted** (`55.20.42`); compact input (`552042`) accepted
- Lazy-loaded package data via `importlib.resources` (offline, reproducible)
- Bidirectional **2025↔2022** correspondence (`map_code`)
- Explanatory notes in **Italian**; English notes planned as future `ateco[en]` in **this same repo**

## Install

```shell
pip install ateco
# future: pip install ateco[en]  # English notes (not shipped yet)
```

## Quick start

```python
import ateco

node = ateco.lookup("01.11.00")          # default edition 2025
assert ateco.validate("552042")         # compact → dotted
ed = ateco.as_of("2023-01-15")          # → 2022
mapped = ateco.map_code("01.11", "2025", "2022")
```

## Data provenance

Classification data from **ISTAT** (open data; attribute ISTAT). Package code is MIT.
Sources and checksums: `ateco.provenance()`. Maintainers rebuild datasets with `tools/build_data.py` from official ISTAT publications.

## Versioning

- Package `__version__` ≠ classification edition key
- ISTAT data refreshes → package patch/minor + towncrier `data:` fragment
- API breaks → major

## License

MIT (code) · ISTAT attribution for classification content
