forked from samuelduchesne/archetypal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
63 lines (52 loc) · 1.95 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# To use a consistent encoding
import codecs
import re
import sys
from os import path
# Always prefer setuptools over distutils
from setuptools import setup
here = path.abspath(path.dirname(__file__))
# This check is here if the user does not have a new enough pip to recognize
# the minimum Python requirement in the metadata.
if sys.version_info < (3, 6):
error = """
archetypal 1.1+ does not support Python 2.x, 3.0, 3.1, 3.2, or 3.3.
Python 3.6 and above is required. This may be due to an out of date pip.
Make sure you have pip >= 9.0.1.
"""
sys.exit(error)
def read(*parts):
with codecs.open(path.join(here, *parts), 'r') as fp:
return fp.read()
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.")
# Get the long description from the README file
with codecs.open(path.join(here, 'README.md'), encoding='utf-8') as f:
long_description = f.read()
with open(path.join(here, 'requirements.txt')) as f:
requirements_lines = f.readlines()
install_requires = [r.strip() for r in requirements_lines]
setup(
name='archetypal',
version=find_version('archetypal', '__init__.py'),
packages=['archetypal'],
url='https://github.com/samuelduchesne/archetypal',
license='MIT License',
author='Samuel Letellier-Duchesne',
author_email='samuel.letellier-duchesne@polymtl.ca',
description='',
long_description=long_description,
keywords='Building archetypes',
python_requires='>=3.6',
install_requires=install_requires,
extras_require={'dev': [],
'tests': ['coverage', 'coveralls', 'pytest', 'matplotlib'],
'docs': ['sphinx', 'nbsphinx', 'jupyter_client',
'ipykernel']},
test_suite='tests'
)