-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathsetup.py
93 lines (81 loc) · 2.83 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
import sys
import os
try:
from setuptools import setup, find_packages
except ImportError:
from distutils.core import setup
from distutils.util import convert_path
def _find_packages(where='.', exclude=()):
"""Return a list all Python packages found within directory 'where'
'where' should be supplied as a "cross-platform" (i.e. URL-style) path; it
will be converted to the appropriate local path syntax. 'exclude' is a
sequence of package names to exclude; '*' can be used as a wildcard in the
names, such that 'foo.*' will exclude all subpackages of 'foo' (but not
'foo' itself).
"""
out = []
stack = [(convert_path(where), '')]
while stack:
where, prefix = stack.pop(0)
for name in os.listdir(where):
fn = os.path.join(where, name)
if ('.' not in name and os.path.isdir(fn) and
os.path.isfile(os.path.join(fn, '__init__.py'))):
out.append(prefix+name)
stack.append((fn, prefix + name + '.'))
for pat in list(exclude)+['ez_setup', 'distribute_setup']:
from fnmatch import fnmatchcase
out = [item for item in out if not fnmatchcase(item, pat)]
return out
find_packages = _find_packages
PUBLISH_CMD = "python setup.py register sdist upload"
TEST_CMD = 'nosetests'
if 'test' in sys.argv:
try:
__import__('nose')
except ImportError:
print('nose required.')
sys.exit(1)
os.system(TEST_CMD)
sys.exit()
if 'publish' in sys.argv:
os.system(PUBLISH_CMD)
sys.exit()
def cheeseshopify(rst):
'''Since PyPI doesn't support the RST `code-block` directive or the
:code: role, replace all `code-block` directives with `::` and
`:code:` with "".
'''
ret = rst.replace(".. code-block:: python", "::").replace(":code:", "")
return ret
# with open('README.rst') as fp:
# long_desc = cheeseshopify(fp.read())
#
with open('README.md') as fp:
long_desc = fp.read()
with open('LICENSE') as fp:
license = fp.read()
setup(
name='pyKairosDB',
version='0.1.0',
description='Python library to interface with KairosDB',
long_description=long_desc,
license=license,
author='Peter C. Norton',
author_email='null@void.com',
url='https://github.com/pcn/pyKairosDB',
install_requires=['PyYAML', 'requests'],
packages=find_packages(exclude=('test',)),
package_data={
"text": ["*.txt", "*.xml"],
},
classifiers=(
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
'Natural Language :: English',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python',
'Programming Language :: Python :: 2.7',
),
tests_require=['nose'],
)