Instalación y Release

Instalación

Una vez publicado en PyPI, instalá el paquete con:

Instalación estándar

python -m pip install jano

Para usar inputs de Polars directamente, instalá el extra opcional:

Extra opcional de Polars

python -m pip install "jano[polars]"

Para desarrollo local, instalá el proyecto en modo editable con dependencias de desarrollo:

Setup de desarrollo

python -m pip install -e ".[dev]"

Versionado

Jano expone su versión pública a través de jano.__version__. La versión de distribución sale de jano/_version.py, de modo que la versión de runtime y la metadata del paquete publicado permanezcan alineadas.

Flujo de release

El repositorio incluye un workflow dedicado de GitHub Actions para publicación en PyPI:

  1. Actualizá jano/_version.py a la versión de release.

  2. Verificá localmente:

    Chequeos de release

    python -m pytest -q
    python -m build
    python -m twine check dist/*
    
  3. Commit y push de los cambios de release.

  4. Creá y pusheá un tag Git que coincida con la versión, por ejemplo:

    Tag de release

    git tag v0.4.0
    git push origin v0.4.0
    
  5. El workflow Publish construye los artefactos, los valida con twine check y publica en PyPI vía trusted publishing.

DOI en Zenodo

Jano incluye metadata para Zenodo en .zenodo.json y metadata de citación en CITATION.cff.

Para acuñar un DOI del proyecto:

  1. Iniciá sesión en Zenodo con la cuenta de GitHub que posee o administra este repositorio.

  2. Abrí la página de integración GitHub de Zenodo.

  3. Hacé click en Sync now.

  4. Habilitá el repositorio marmurar/jano.

  5. Creá una nueva GitHub Release para el próximo tag de versión.

  6. Esperá a que Zenodo archive la release y asigne el DOI.

  7. Agregá el badge y la URL del DOI generado al README y a la documentación Sphinx.

DOI actual de Zenodo: https://doi.org/10.5281/zenodo.20301006.

Configuración de PyPI

Para que el workflow publique correctamente, PyPI debe confiar en este repositorio de GitHub como publisher del proyecto jano. Eso se configura una sola vez en las settings del proyecto en PyPI; luego las releases etiquetadas pueden publicarse sin guardar API tokens en GitHub Secrets.