Metadata-Version: 2.4
Name: idecomp
Version: 1.10.0
Summary: Pacote para manipulacao dos arquivos do DECOMP
Project-URL: Documentation, https://rjmalves.github.io/idecomp/
Project-URL: Repository, https://github.com/rjmalves/idecomp/
Author-email: Rogerio Alves <rogerioalves.ee@gmail.com>, Mariana Noel <marianasimoesnoel@gmail.com>
License: MIT License
        
        Copyright (c) 2022 Rogerio Alves
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
License-File: LICENSE.md
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
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: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: cfinterface>=1.10.0
Requires-Dist: numpy>=2.2.1
Requires-Dist: pandas>=3.0.0
Provides-Extra: dev
Requires-Dist: furo; extra == 'dev'
Requires-Dist: matplotlib; extra == 'dev'
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: numpydoc; extra == 'dev'
Requires-Dist: plotly; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pytest-xdist; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: sphinx; extra == 'dev'
Requires-Dist: sphinx-gallery; extra == 'dev'
Provides-Extra: docs
Requires-Dist: furo; extra == 'docs'
Requires-Dist: matplotlib; extra == 'docs'
Requires-Dist: numpydoc; extra == 'docs'
Requires-Dist: plotly; extra == 'docs'
Requires-Dist: sphinx; extra == 'docs'
Requires-Dist: sphinx-gallery; extra == 'docs'
Provides-Extra: lint
Requires-Dist: mypy; extra == 'lint'
Requires-Dist: pre-commit; extra == 'lint'
Requires-Dist: ruff; extra == 'lint'
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: pytest-xdist; extra == 'test'
Description-Content-Type: text/markdown

# idecomp

[![tests](https://github.com/rjmalves/idecomp/actions/workflows/main.yml/badge.svg)](https://github.com/rjmalves/idecomp/actions/workflows/main.yml) [![codecov](https://codecov.io/gh/rjmalves/idecomp/branch/main/graph/badge.svg?token=ZSJBGO81JP)](https://codecov.io/gh/rjmalves/idecomp) [![PyPI](https://img.shields.io/pypi/v/idecomp)](https://pypi.org/project/idecomp/) [![Python](https://img.shields.io/pypi/pyversions/idecomp)](https://pypi.org/project/idecomp/) [![Licenca](https://img.shields.io/pypi/l/idecomp)](https://github.com/rjmalves/idecomp/blob/main/LICENSE.md) [![docs](https://img.shields.io/badge/docs-online-blue)](https://rjmalves.github.io/idecomp/)

O `idecomp` é um pacote Python para manipulação dos arquivos
de entrada e saída do programa [DECOMP](http://www.cepel.br/pt_br/produtos/decomp-modelo-de-planejamento-da-operacao-de-sistemas-hidrotermicos-interligados-de-curto-prazo.htm). O DECOMP é desenvolvido pelo [CEPEL](http://www.cepel.br/) e utilizado para os estudos de planejamento e operação do Sistema Interligado Nacional (SIN).

O idecomp oferece:

- Leitura e escrita de arquivos de entrada e saída do DECOMP
- Dados tabulares com pandas DataFrame para análise e pós-processamento
- Mapeamento classe-por-arquivo, com uma classe dedicada para cada arquivo do DECOMP
- Base sólida no framework [cfinterface](https://github.com/rjmalves/cfinterface) para leitura de formatos de colunas fixas
- Tipagem estática completa, compatível com mypy e verificadores de tipo
- Suporte a Python >= 3.11 com API moderna orientada a objetos

## Exemplo Rápido

```python
from idecomp.decomp import Dadger

# Leitura do arquivo dadger.rv0
dadger = Dadger.read("dadger.rv0")

# Acesso aos registros de usinas termelétricas no estágio 1
termicas = dadger.ct(estagio=1)
print(f"Usinas termelétricas no estágio 1: {len(termicas)}")
```

## Instalação

O idecomp é compatível com versões de Python >= 3.11.

Instalação com pip (recomendado):

```
pip install idecomp
```

Instalação alternativa com uv:

```
uv add idecomp
```

## Documentação

Guias, tutoriais e referências de API estão disponíveis no site oficial do pacote:
https://rjmalves.github.io/idecomp/

## Projetos Relacionados

- [inewave](https://github.com/rjmalves/inewave) — pacote equivalente para manipulação dos arquivos do NEWAVE
- [cfinterface](https://github.com/rjmalves/cfinterface) — framework base para leitura e escrita de formatos de colunas fixas

## Contribuindo

Contribuições são bem-vindas! Consulte o [CONTRIBUTING.md](CONTRIBUTING.md) para instruções sobre como configurar o ambiente de desenvolvimento e enviar contribuições.

## Licenca

Distribuído sob a licença MIT. Consulte o arquivo [LICENSE.md](LICENSE.md) para mais detalhes.
