O CityLearn e publicado no PyPI como citylearn e importado como citylearn.
Versao inglesa: ../publishing.md.
Responsavel default por releases: @calofonseca.
- Atualizar
citylearn/__init__.py. - Atualizar releases.md.
- Atualizar paginas de referencia afetadas quando mudarem schema, acoes, observacoes, KPIs ou datasets.
- Correr a validacao em developer_guide.md.
- Fazer commit e tag.
Exemplo:
git add citylearn/__init__.py README.md docs
git commit -m "Release v0.4.3"
git tag -a v0.4.3 -m "Release v0.4.3"
git push --follow-tags origin master- Usar o projeto PyPI existente chamado
citylearn. - Confirmar que o environment
pypido GitHub tem secretsPYPI_USERNAMEePYPI_PASSWORDvalidos. - Fazer push do commit e da tag.
- Criar uma GitHub Release ou correr manualmente o workflow
Publish Python Package. - O workflow
.github/workflows/pypi_deploy.ymlcriadist/*e envia para o PyPI.
.venv/bin/python -m pip install --upgrade pip build twine
.venv/bin/python -m build
.venv/bin/python -m twine check dist/*| Tipo de versao | Quando usar |
|---|---|
| Patch | Features aditivas compativeis, fixes, docs e testes. |
| Minor | Nova capacidade grande do simulador ou mudanca de schema/API. |
| Major | Breaking changes amplos. |
Antes de publicar, garantir que docs/releases.md tem:
| Campo | Objetivo |
|---|---|
| Summary | O que mudou e porquê. |
| Release owner | Tag GitHub da pessoa responsavel pela release. |
| Dataset/schema impact | Risco de migracao para datasets e configs existentes. |
| Compatibility | Se algoritmos/wrappers precisam de mudancas. |
| Validation | Comandos ou simulacoes que passaram. |
| Migration notes | Acoes necessarias depois do upgrade. |