icalendar/setup.py

67 wiersze
2.2 KiB
Python

import codecs
import setuptools
import re
import ast
_version_re = re.compile(r'__version__\s+=\s+(.*)')
with open('src/icalendar/__init__.py', 'rb') as f:
version = str(ast.literal_eval(_version_re.search(
f.read().decode('utf-8')).group(1)))
shortdesc = 'iCalendar parser/generator'
longdesc = ''
for fname in ['README.rst', 'CONTRIBUTING.rst', 'CHANGES.rst', 'LICENSE.rst']:
with codecs.open(fname, encoding='utf-8') as f:
longdesc += f.read()
longdesc += '\n'
tests_require = []
install_requires = [
'python-dateutil',
'pytz',
# install requirements depending on python version
# see https://www.python.org/dev/peps/pep-0508/#environment-markers
'backports.zoneinfo; python_version == "3.7" or python_version == "3.8"',
]
setuptools.setup(
name='icalendar',
version=version,
description=shortdesc,
long_description=longdesc,
classifiers=[
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
],
keywords='calendar calendaring ical icalendar event todo journal '
'recurring',
author='Plone Foundation',
author_email='plone-developers@lists.sourceforge.net',
url='https://github.com/collective/icalendar',
license='BSD-2-Clause',
packages=setuptools.find_namespace_packages('src', exclude=["icalendar.fuzzing"]),
package_dir={'': 'src'},
include_package_data=True,
zip_safe=False,
python_requires=">=3.7",
install_requires=install_requires,
entry_points = {'console_scripts': ['icalendar = icalendar.cli:main']},
extras_require={
'test': tests_require
},
test_suite='icalendar.tests'
)