Use setuptools packaging for Tryton 7.0
Publish Package / publish (push) Successful in 43s

This commit is contained in:
José Arturo García
2026-09-30 18:46:02 -04:00
parent eba7da95d6
commit e7fee8c297
4 changed files with 71 additions and 65 deletions
+1 -3
View File
@@ -81,7 +81,6 @@ jobs:
import json import json
import os import os
import re import re
import tomllib
OWNER = 'tryton-do' OWNER = 'tryton-do'
PACKAGE_TYPE = 'pypi' PACKAGE_TYPE = 'pypi'
@@ -98,8 +97,7 @@ jobs:
series = os.environ['PACKAGE_SERIES'] series = os.environ['PACKAGE_SERIES']
major, minor = map(int, series.split('.')) major, minor = map(int, series.split('.'))
pyproject = tomllib.loads(Path('pyproject.toml').read_text()) package_name = 'unpaismejor_account_credit_note'
package_name = pyproject['project']['name']
normalized_name = normalize(package_name) normalized_name = normalize(package_name)
username = os.environ['TWINE_USERNAME'] username = os.environ['TWINE_USERNAME']
+1 -5
View File
@@ -8,17 +8,13 @@ trytond_url = 'https://docs.tryton.org/projects/server/en/{series}/'
def get_info(): def get_info():
import configparser import configparser
import os import os
import tomllib
module_dir = os.path.dirname(os.path.dirname(__file__)) module_dir = os.path.dirname(os.path.dirname(__file__))
config = configparser.ConfigParser() config = configparser.ConfigParser()
config.read_file(open(os.path.join(module_dir, 'tryton.cfg'))) config.read_file(open(os.path.join(module_dir, 'tryton.cfg')))
info = dict(config.items('tryton')) info = dict(config.items('tryton'))
info['name'] = 'unpaismejor_account_credit_note'
with open(os.path.join(module_dir, 'pyproject.toml'), 'rb') as stream:
project = tomllib.load(stream)['project']
info['name'] = project['name']
version = info['version'] version = info['version']
if 'dev' in version: if 'dev' in version:
-57
View File
@@ -1,57 +0,0 @@
[build-system]
requires = ['hatchling >= 1', 'hatch-tryton']
build-backend = 'hatchling.build'
[project]
name = 'unpaismejor_account_credit_note'
dynamic = ['version', 'dependencies', 'optional-dependencies', 'authors', 'readme']
requires-python = '>=3.8'
maintainers = [
{name = "Fundación Un País Mejor"},
]
description = "Partial credit notes for Tryton invoices"
license = 'GPL-3.0-or-later'
license-files = ["LICENSE", "COPYRIGHT"]
keywords = ["tryton", "accounting", "invoice", "credit-note"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Plugins",
"Framework :: Tryton",
"Topic :: Office/Business",
"Topic :: Office/Business :: Financial :: Accounting",
"Topic :: Software Development :: Libraries :: Python Modules",
]
[project.entry-points.'trytond.modules']
account_credit_note = 'trytond.modules.account_credit_note'
[project.urls]
homepage = "https://www.unpaismejor.org.do"
repository = "https://code.unpaismejor.org.do/tryton-do/account_credit_note"
[tool.hatch.build]
include = [
'CHANGELOG',
'COPYRIGHT',
'LICENSE',
'README.rst',
'**/tryton.cfg',
'**/*.py',
'**/*.xml',
'view/**/*.xml',
'locale/**/*.po',
'doc/**/*.rst',
'icons/**',
'tests/**/*.rst',
'tests/**/*.json',
]
[tool.hatch.build.targets.wheel.sources]
"" = "trytond/modules/account_credit_note"
[tool.hatch.metadata.hooks.tryton]
copyright = 'COPYRIGHT'
readme = 'README.rst'
[tool.hatch.metadata.hooks.tryton.tryton-optional-dependencies]
test = ['proteus']
+69
View File
@@ -0,0 +1,69 @@
from configparser import ConfigParser
from pathlib import Path
from setuptools import setup
MODULE = 'account_credit_note'
PREFIX = 'trytond.modules'
PACKAGE = f'{PREFIX}.{MODULE}'
def read(path):
return Path(path).read_text(encoding='utf-8')
config = ConfigParser()
config.read('tryton.cfg')
version = config.get('tryton', 'version')
major, minor, _ = version.split('.', 2)
series = f'{major}.{minor}'
next_major = f'{major}.{int(minor) + 1}'
setup(
name='unpaismejor_account_credit_note',
version=version,
description='Partial credit notes for Tryton invoices',
long_description=read('README.rst'),
long_description_content_type='text/x-rst',
author='Solutema SRL, Fundación Un País Mejor',
maintainer='Fundación Un País Mejor',
url='https://code.unpaismejor.org.do/tryton-do/account_credit_note',
keywords='tryton accounting invoice credit-note',
license='GPL-3.0-or-later',
python_requires='>=3.8',
packages=[PACKAGE],
package_dir={PACKAGE: '.'},
package_data={
PACKAGE: [
'tryton.cfg',
'*.xml',
'view/*.xml',
'locale/*.po',
'doc/*.rst',
'icons/*',
],
},
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Plugins',
'Framework :: Tryton',
'Topic :: Office/Business',
'Topic :: Office/Business :: Financial :: Accounting',
'Topic :: Software Development :: Libraries :: Python Modules',
],
install_requires=[
f'trytond >= {series}, < {next_major}',
f'trytond_account_invoice >= {series}, < {next_major}',
],
extras_require={
'test': [f'proteus >= {series}, < {next_major}'],
},
entry_points={
'trytond.modules': [
f'{MODULE} = {PACKAGE}',
],
},
zip_safe=False,
)