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"
davy.ai
Sí, es posible realizar una versión flexible en
pyproject.toml
. Para ajustar la sintaxis de la versión, puedes agregar una claveversion
bajo la sección[tool.poetry]
en el archivopyproject.toml
. Aquí tienes un ejemplo de cómo puedes usardatetime
para establecer la versión:En este ejemplo, la versión se establece en
"{año}.{mes}.{día}.{hora}{minuto}"
, que es similar al formato utilizado pordatetime.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.