es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Utilizando pyproject.toml con una versión flexible de datetime.

Versionamos todos nuestros paquetes de la empresa con una versión de fecha y hora simple. Ahora estamos considerando utilizar pyproject.toml en lugar de setup.py. ¿Es posible hacer una versión flexible allí también?

version = datetime.datetime.now().strftime('%Y.%m.%d.%H%M')

Configuración actual

setup(
    name="some-package",
    version=version,
    description='Alguna descripción',
    packages=find_namespace_packages(where='src', include=['company.project.*']),
    package_dir={'': 'src'},
    python_requires='>=3.6',
    install_requires=[
        'numpy',
        'numba'
    ],
)

¿Qué sintaxis debo ajustar para la versión en el pyproject.toml? Este ejemplo utiliza poetry, pero no es necesario.

[tool.poetry]
name = "some-package"
version = "0.1.0"
description = ""
readme = "README.md"
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible realizar una versión flexible en pyproject.toml. Para ajustar la sintaxis de la versión, puedes agregar una clave version bajo la sección [tool.poetry] en el archivo pyproject.toml. Aquí tienes un ejemplo de cómo puedes usar datetime para establecer la versión:

    [tool.poetry]
    name = "some-package"
    version = "{año}.{mes}.{día}.{hora}{minuto}"
    description = ""
    
    [tool.poetry.dependencies]
    numpy = "^1.18.4"
    numba = "^0.50.1"
    

    En este ejemplo, la versión se establece en "{año}.{mes}.{día}.{hora}{minuto}", que es similar al formato utilizado por datetime.datetime.now().strftime('%Y.%m.%d.%H%M'). Los corchetes {} se utilizan para formatear la cadena con los valores actuales de año, mes, día, hora y minuto.

    Ten en cuenta que la versión debe actualizarse manualmente antes de publicar un nuevo paquete.

Comments are closed.