Skip to main content

Shortening the boilerplate in Tryton modules

Project description

Shortening the boilerplate in Tryton modules

Tryton modules normally contain and require a lot of boilerplate in setup.py. Not only this is a lot of duplicate code, also it is a burden to maintain this between different versions of Tryton.

This package allows moving most all the meta-data and options being somewhat “static” between Tryton modules and Tryton Versions into setup.cfg and using a quite terse setup.py only.

trytoncommunity-setuptools also supports the ‘module prefix mapping` quite some developers and integrators use.

Example setup.py:

from trytoncommunity_setuptools import setup, get_require_version

requires = ['lxml']
tests_require = [
    get_require_version('proteus'),
    'pycountry',
]

setup('trytoncommunity', 'country_order',
      requires=requires, tests_require=tests_require)

Corresponding example setup.cfg:

[metadata]
; name will be filled by trytoncommunity-setuptools
description  = Precedence rating for countries in Tryton
long_description = file: README.rst
long_description_content_type = text/x-rst
url           = https://tryton.community
author        = Hartmut Goebel
author_email  = h.goebel@crazy-compilers.com
license       = GPL-3.0-or-later
license_files = LICENSE-GPL-3.0.txt
keywords      = tryton, country
classifiers =
  Development Status :: 5 - Production/Stable
  License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
  Natural Language :: English
  Natural Language :: German
;; These classifiers will be added by trytoncommunity-setuptools,
;  Environment :: Plugins
;  Framework :: Tryton
;  Intended Audience :: Developers
;  Programming Language :: Python :: … filled according to Tryton version
;  Programming Language :: Python :: Implementation :: CPython
;  Topic :: Office/Business
;  Operating System :: OS Independent

[options]
;python_requires = …          # filled by trytoncommunity-setuptools
;include_package_data = True  # enforced by trytoncommunity-setuptools
;zip_safe = False             # enforced by trytoncommunity-setuptools

When using a PEP 517 compliant build tool e.g. build, you need to also provide a pyproject.toml file:

[build-system]
requires = ["trytoncommunity-setuptools >= 0.3"]
build-backend = "setuptools.build_meta:__legacy__"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trytoncommunity_setuptools-0.4.0.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trytoncommunity_setuptools-0.4.0-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file trytoncommunity_setuptools-0.4.0.tar.gz.

File metadata

File hashes

Hashes for trytoncommunity_setuptools-0.4.0.tar.gz
Algorithm Hash digest
SHA256 be9f16fbb83ef361d0a1f0e85e11f798b941bb8975ab2f0986f3535cdb7d8b31
MD5 9ff17b80a702144702f7060fead14bc3
BLAKE2b-256 ab3c17ed1620d6a2e243aaf30703400f319ce78c26dc494097ca8385e38bc56c

See more details on using hashes here.

File details

Details for the file trytoncommunity_setuptools-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for trytoncommunity_setuptools-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c8fbc5eb5393491962141646db8daa34cd357938c57e9cd31cf6df2898b5686d
MD5 44e6d0c9ef51e1c2b51f007f1ddbab40
BLAKE2b-256 41267681533165c1d5c2f9db2624a15585ada909a865c71c489706310eba68e0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page