This repository has been archived by the owner on Jul 8, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathsetup.py
62 lines (48 loc) · 1.79 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
import os
import sys
from setuptools import setup
from setuptools.command.test import test as TestCommand
def get_install_requires():
with open('requirements.txt', 'r') as requirements_file:
res = requirements_file.readlines()
return [req.split(' ', maxsplit=1)[0] for req in res if req]
def get_version():
with open(os.path.join('thoth', 'package_analyzer', '__init__.py')) as f:
content = f.readlines()
for line in content:
if line.startswith('__version__ ='):
# dirty, remove trailing and leading chars
return line.split(' = ')[1][1:-2]
raise ValueError("No version identifier found")
def read(fname):
return open(os.path.join(os.path.dirname(__file__), fname)).read()
class Test(TestCommand):
user_options = [
('pytest-args=', 'a', "Arguments to pass into py.test")
]
def initialize_options(self):
super().initialize_options()
self.pytest_args = ['tests/', '--timeout=2', '--cov=./thoth', '--capture=no', '--verbose', '-l', '-s']
def finalize_options(self):
super().finalize_options()
self.test_args = []
self.test_suite = True
def run_tests(self):
import pytest
sys.exit(pytest.main(self.pytest_args))
setup(
name='thoth-package-analyzer',
version=get_version(),
description='Gather digests for artifacts in Python ecosystem.',
long_description=read('README.rst'),
author='Fridolin Pokorny',
author_email='fridolin@redhat.com',
license='GPLv3+',
packages=['thoth.package_analyzer', 'thoth.package_analyzer.python'],
entry_points={
'console_scripts': ['thoth-package-analyzer=thoth.package_analyzer.cli:cli']
},
zip_safe=False,
install_requires=get_install_requires(),
cmdclass={'test': Test},
)