Metadata-Version: 2.5
Name: lepidoptera
Version: 0.1.0
Summary: Domain-agnostic causal simulation engine with mixed variable types, vine copula dependence, and individual-level counterfactual propagation.
Project-URL: Homepage, https://github.com/daniloasarti/lepidoptera
Project-URL: Documentation, https://github.com/daniloasarti/lepidoptera
Project-URL: Repository, https://github.com/daniloasarti/lepidoptera
Project-URL: Bug Tracker, https://github.com/daniloasarti/lepidoptera/issues
Author-email: "Danilo A. Sarti" <danilosarti@rcsi.ie>
License: MIT
Keywords: DAG,causal inference,counterfactual,simulation,structural causal model,synthetic data,vine copula
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Requires-Python: >=3.10
Requires-Dist: numpy>=1.24
Requires-Dist: pandas>=2.0
Provides-Extra: all
Requires-Dist: matplotlib>=3.7; extra == 'all'
Requires-Dist: networkx>=3.0; extra == 'all'
Requires-Dist: pyvinecopulib>=0.6; extra == 'all'
Provides-Extra: copula
Requires-Dist: pyvinecopulib>=0.6; extra == 'copula'
Provides-Extra: dev
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Provides-Extra: graph
Requires-Dist: networkx>=3.0; extra == 'graph'
Provides-Extra: plot
Requires-Dist: matplotlib>=3.7; extra == 'plot'
Requires-Dist: networkx>=3.0; extra == 'plot'
Description-Content-Type: text/markdown

# lepidoptera (Python)

Implementação Python do `lepidoptera`, em paralelo com a versão R na raiz
do repositório. Especificação completa do design (modelo de dados,
combinações de tipos, mecanismo de cópula via `vinecopulib`, motor de
propagação, arquitetura e API espelhada R/Python): ver
[`../SPEC.md`](../SPEC.md).

Status: esqueleto do pacote — funções e classes declaradas e documentadas,
ainda sem implementação (`raise NotImplementedError(...)` em cada uma).

## Instalação (modo desenvolvimento)

```bash
pip install -e ".[copula,graph,plot,test]"
```

`pyvinecopulib` (extra `copula`) é opcional: só é necessário para usar
`copula_mechanism()` (SPEC.md seção 4.1).

## Estrutura

- `src/lepidoptera/type_system.py` — tipos de feature e validação de domínio
- `src/lepidoptera/graph.py` — grafo de dependência, ordenação topológica, fecho transitivo
- `src/lepidoptera/mechanism.py` — biblioteca de mecanismos e registro de customizados
- `src/lepidoptera/copula.py` — mecanismo de cópula (vine copulas via `pyvinecopulib`)
- `src/lepidoptera/system.py` — construção e validação de um `System`
- `src/lepidoptera/simulate.py` — geração de população a partir de um `System`
- `src/lepidoptera/intervention.py` — intervenções e propagação de efeitos
- `src/lepidoptera/io.py` — serialização (contrato de paridade com a versão R)
- `src/lepidoptera/plot.py` — visualização do grafo (utilitário secundário)

## Testes

```bash
pytest
```
