/
setup.py
126 lines (103 loc) · 3.67 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# -*- coding: utf-8 -*-
"""Setup file for the skelethon."""
from os.path import dirname, exists, join, realpath
from setuptools import setup, find_packages
########################################################################
# Contact Information
########################################################################
URL = 'https://www.github.com/mplanchard/skelethon'
AUTHOR = 'Matthew Planchard'
EMAIL = 'msplanchard@gmail.com'
########################################################################
# Package Description
########################################################################
NAME = 'skelethon'
SHORT_DESC = 'Make a SKELEton for pyTHON projects :)'
LONG_DESC = SHORT_DESC
KEYWORDS = [
'python',
'setup',
'project',
'packaging',
'versioning',
'skeleton',
]
CLASSIFIERS = [
# See https://pypi.python.org/pypi?%3Aaction=list_classifiers for all
# available setup classifiers
'Development Status :: 1 - Planning',
# 'Development Status :: 2 - Pre-Alpha',
# 'Development Status :: 3 - Alpha',
# 'Development Status :: 4 - Beta',
# 'Development Status :: 5 - Production/Stable',
# 'Development Status :: 6 - Mature',
# 'Framework :: AsyncIO',
# 'Framework :: Flask',
# 'Framework :: Sphinx',
# 'Environment :: Web Environment',
'Intended Audience :: Developers',
# 'Intended Audience :: End Users/Desktop',
# 'Intended Audience :: Science/Research',
# 'Intended Audience :: System Administrators',
# 'License :: Other/Proprietary License',
# 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',
'License :: OSI Approved :: MIT License',
'Natural Language :: English',
# 'Operating System :: MacOS :: MacOS X
'Operating System :: POSIX :: Linux',
'Programming Language :: Python',
# 'Programming Language :: Python :: 3 :: Only',
# 'Programming Language :: Python :: Implementation :: PyPy',
]
########################################################################
# Dependency Specification
########################################################################
PACKAGE_DEPENDENCIES = [
'click',
'jinja2',
]
SETUP_DEPENDENCIES = []
TEST_DEPENDENCIES = [
'pytest',
]
EXTRAS_DEPENDENCIES = {}
########################################################################
# Package Extras
########################################################################
ENTRY_POINTS = {}
PACKAGE_DATA = {}
########################################################################
# Setup Logic
########################################################################
PACKAGE_DIR = realpath(dirname(__file__))
REQ_FILE = join(PACKAGE_DIR, 'requirements_unfrozen.txt')
if exists(REQ_FILE):
with open(join(PACKAGE_DIR, 'requirements.txt')) as reqfile:
for ln in (l.strip() for l in reqfile):
if ln and not ln.startswith('#'):
PACKAGE_DEPENDENCIES.append(ln)
__version__ = '0.0.0'
cwd = dirname(realpath(__file__))
with open(join(cwd, '{}/version.py'.format(NAME))) as version_file:
for line in version_file:
# This will __version__ and __version_info__ variables locally
if line.startswith('__'):
exec(line)
setup(
name=NAME,
version=__version__,
description=SHORT_DESC,
long_description=LONG_DESC,
url=URL,
author=AUTHOR,
author_email=EMAIL,
classifiers=CLASSIFIERS,
keywords=KEYWORDS,
package_data=PACKAGE_DATA,
packages=find_packages(exclude=['*.tests', '*.tests.*']),
install_requires=PACKAGE_DEPENDENCIES,
setup_requires=SETUP_DEPENDENCIES,
tests_require=TEST_DEPENDENCIES,
extras_require=EXTRAS_DEPENDENCIES,
entry_points=ENTRY_POINTS,
)