2017-07-30 09:27:49 +00:00
|
|
|
import codecs
|
2015-08-10 17:11:25 +00:00
|
|
|
import os
|
|
|
|
import re
|
2020-12-12 21:48:29 +00:00
|
|
|
from pathlib import Path
|
2015-08-10 17:11:25 +00:00
|
|
|
|
2017-07-30 09:27:49 +00:00
|
|
|
from setuptools import find_packages, setup
|
2017-07-30 09:04:51 +00:00
|
|
|
|
|
|
|
_HERE = os.path.abspath(os.path.dirname(__file__))
|
2015-08-10 17:11:25 +00:00
|
|
|
|
|
|
|
|
|
|
|
def read(*parts):
|
|
|
|
# intentionally *not* adding an encoding option to open
|
2017-07-30 09:04:51 +00:00
|
|
|
return codecs.open(os.path.join(_HERE, *parts), 'r').read()
|
2015-08-10 17:11:25 +00:00
|
|
|
|
|
|
|
|
|
|
|
def find_version(*file_paths):
|
|
|
|
version_file = read(*file_paths)
|
|
|
|
version_match = re.search(r"^VERSION = ['\"]([^'\"]*)['\"]",
|
|
|
|
version_file, re.M)
|
|
|
|
if version_match:
|
|
|
|
return version_match.group(1)
|
|
|
|
raise RuntimeError("Unable to find version string.")
|
|
|
|
|
2020-12-12 21:48:29 +00:00
|
|
|
def long_description():
|
|
|
|
path = Path(__file__).parent / "README.md"
|
|
|
|
return path.read_text()
|
|
|
|
|
2016-11-17 13:44:37 +00:00
|
|
|
WATCHDOG = 'watchdog >= 0.8.3'
|
2017-01-24 19:47:00 +00:00
|
|
|
ICALENDAR = 'icalendar'
|
2016-11-17 13:44:37 +00:00
|
|
|
|
2014-10-29 20:58:13 +00:00
|
|
|
setup(
|
2017-07-30 09:04:51 +00:00
|
|
|
name="topydo",
|
|
|
|
packages=find_packages(exclude=["test"]),
|
|
|
|
version=find_version('topydo', 'lib', 'Version.py'),
|
|
|
|
description="A powerful todo.txt application for the console",
|
|
|
|
author="Bram Schoenmakers",
|
|
|
|
author_email="bram@topydo.org",
|
2020-12-03 22:40:40 +00:00
|
|
|
url="https://github.com/topydo/topydo",
|
2017-07-30 09:04:51 +00:00
|
|
|
install_requires=[
|
2015-11-01 18:29:53 +00:00
|
|
|
'arrow >= 0.7.0',
|
2015-10-12 04:14:23 +00:00
|
|
|
],
|
2019-01-07 14:37:40 +00:00
|
|
|
tests_require=[
|
|
|
|
'freezegun',
|
|
|
|
],
|
2017-07-30 09:04:51 +00:00
|
|
|
extras_require={
|
2015-11-16 07:07:14 +00:00
|
|
|
':sys_platform=="win32"': ['colorama>=0.2.5'],
|
2016-11-17 13:44:37 +00:00
|
|
|
'columns': ['urwid >= 1.3.0', WATCHDOG],
|
2017-01-24 19:47:00 +00:00
|
|
|
'ical': [ICALENDAR],
|
2016-11-17 13:44:37 +00:00
|
|
|
'prompt': ['prompt_toolkit >= 0.53', WATCHDOG],
|
2017-06-09 08:38:05 +00:00
|
|
|
'test': ['coverage>=4.3', 'freezegun', 'green', ICALENDAR, 'pylint>=1.7.1'],
|
2015-02-04 15:25:56 +00:00
|
|
|
},
|
2017-07-30 09:04:51 +00:00
|
|
|
entry_points={
|
|
|
|
'console_scripts': ['topydo=topydo.ui.UILoader:main'],
|
2014-12-06 19:18:01 +00:00
|
|
|
},
|
2017-07-30 09:04:51 +00:00
|
|
|
classifiers=[
|
2015-06-20 18:29:18 +00:00
|
|
|
"Development Status :: 5 - Production/Stable",
|
2014-11-08 19:47:53 +00:00
|
|
|
"Environment :: Console",
|
|
|
|
"Intended Audience :: End Users/Desktop",
|
2014-11-29 10:15:34 +00:00
|
|
|
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
|
2014-11-08 19:47:53 +00:00
|
|
|
"Natural Language :: English",
|
2015-05-16 19:52:27 +00:00
|
|
|
"Programming Language :: Python :: 3.3",
|
|
|
|
"Programming Language :: Python :: 3.4",
|
2015-11-16 10:16:10 +00:00
|
|
|
"Programming Language :: Python :: 3.5",
|
|
|
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
|
|
"Programming Language :: Python :: Implementation :: PyPy",
|
2014-11-08 19:47:53 +00:00
|
|
|
"Topic :: Utilities",
|
|
|
|
],
|
2020-12-12 21:48:29 +00:00
|
|
|
long_description=long_description(),
|
|
|
|
long_description_content_type="text/markdown",
|
2017-07-30 09:04:51 +00:00
|
|
|
test_suite="test",
|
2014-10-29 20:58:13 +00:00
|
|
|
)
|