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.1.tar.gz (27.7 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.1-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for trytoncommunity_setuptools-0.4.1.tar.gz
Algorithm Hash digest
SHA256 74de6085bfd74602295f5ab1d8439c44f2e5dc7524b19aa223d51af135a4449e
MD5 b62e45cf0c6b24425ac84e76bbbe1bf8
BLAKE2b-256 9ef07d900de453bf9e3d71556d4f883fa8c5c3ea098c92222566668f78776cfb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for trytoncommunity_setuptools-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 862549a2218fecd880c7becd326cdb230d84b322b86785be2444ccd8e39ea305
MD5 ee4fe0a6384206cac6f5880e1615ecbd
BLAKE2b-256 aeca881ed4e2bae6fb3d90b65d998e306fa15fb99d4fc0d8a3ec08afd404a571

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