Files
tryton/proteus/setup.py
T
Cédric Krier 98cbb23f58 Improve setup.py
get_required_version does not need to use .dev0 suffix anymore.
The download URL must be empty for development version.
Source Code must point to Heptapod repository.
Foundation email is used as author email.
2022-12-24 13:45:10 +01:00

98 lines
2.9 KiB
Python
Executable File

#!/usr/bin/env python3
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import io
import os
import re
from setuptools import find_packages, setup
def read(fname):
return io.open(
os.path.join(os.path.dirname(__file__), fname),
'r', encoding='utf-8').read()
def readme():
content = read('README.rst')
content = re.sub(
r'(?m)^\.\. toctree::\r?\n((^$|^\s.*$)\r?\n)*', '', content)
return content
def get_version():
init = read(os.path.join('proteus', '__init__.py'))
return re.search('__version__ = "([0-9.]*)"', init).group(1)
def get_require_version(name):
require = '%s >= %s.%s, < %s.%s'
require %= (name, major_version, minor_version,
major_version, minor_version + 1)
return require
name = 'proteus'
version = get_version()
major_version, minor_version, _ = version.split('.', 2)
major_version = int(major_version)
minor_version = int(minor_version)
if minor_version % 2:
download_url = ''
else:
download_url = 'http://downloads.tryton.org/%s.%s/' % (
major_version, minor_version)
setup(name=name,
version=version,
description='Library to access Tryton server as a client',
long_description=readme(),
author='Tryton',
author_email='foundation@tryton.org',
url='http://www.tryton.org/',
download_url=download_url,
project_urls={
"Bug Tracker": 'https://bugs.tryton.org/',
"Documentation": 'https://docs.tryton.org/',
"Forum": 'https://www.tryton.org/forum',
"Source Code": 'https://code.tryton.org/tryton',
},
keywords='tryton library cli',
packages=find_packages(),
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Plugins',
'Framework :: Tryton',
'Intended Audience :: Developers',
'Intended Audience :: Financial and Insurance Industry',
'Intended Audience :: Legal Industry',
'License :: OSI Approved :: '
'GNU Library or Lesser General Public License (LGPL)',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: Implementation :: CPython',
'Topic :: Office/Business',
],
platforms='any',
license='LGPL-3',
python_requires='>=3.7',
install_requires=[
'defusedxml',
"python-dateutil",
],
extras_require={
'trytond': [get_require_version('trytond')],
'test': [
get_require_version('trytond'),
get_require_version('trytond_party'),
],
},
zip_safe=True,
)