This repository was archived by the owner on Mar 24, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathsetup.py
More file actions
70 lines (50 loc) · 1.88 KB
/
setup.py
File metadata and controls
70 lines (50 loc) · 1.88 KB
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
import os
import sys
from setuptools import setup, find_packages
def _read(path):
full_path = os.path.join(os.path.dirname(__file__), path)
with open(full_path) as f:
return f.read()
def _recurse_requirements(packages):
for item in packages:
if item.startswith('-r '):
yield list(_get_requirements(item.replace('-r ', '')))
else:
yield item
def _get_requirements(path):
packages = _read(path).splitlines()
packages = (p for p in packages if not p.startswith('#'))
packages = (p.strip() for p in packages)
packages = _recurse_requirements(packages)
flat_packages = []
for item in packages:
if type(item) is list:
flat_packages = flat_packages + item
else:
flat_packages.append(item)
return list(flat_packages)
def _install_requirements():
requirements = _get_requirements('requirements.txt')
if sys.version_info[0] < 3:
requirements += _get_requirements('requirements_for_python2.txt')
return requirements
if __name__ == '__main__':
setup(
name='performanceplatform-client',
version=_read('VERSION').strip(),
packages=find_packages(),
namespace_packages=['performanceplatform'],
author='GDS Developers',
author_email='performance@digital.cabinet-office.gov.uk',
maintainer='Government Digital Service',
url='https://github.com/alphagov/performanceplatform-client',
description='A client library for sending data to the Performance '
'Platform',
long_description=_read('README.rst'),
license='MIT',
keywords='api data performance_platform',
install_requires=_install_requirements(),
tests_require=_get_requirements('requirements_for_tests.txt'),
setup_requires=['nose>=1.0'],
test_suite='nose.collector',
)