11#!/usr/bin/env python
22"""chaostoolkit core library builder and installer"""
3-
4- import sys
53import os .path
6- import io
74
8- import setuptools
5+ from setuptools import setup
96
107
118def get_version_from_package () -> str :
@@ -21,91 +18,9 @@ def get_version_from_package() -> str:
2118 version = version .replace ("'" , "" ).strip ()
2219 return version
2320
24- name = 'chaostoolkit-lib'
25- desc = 'Chaos engineering toolkit core library'
26-
27- with io .open ('README.md' , encoding = 'utf-8' ) as strm :
28- long_desc = strm .read ()
29-
30- classifiers = [
31- 'Development Status :: 4 - Beta' ,
32- 'Intended Audience :: Developers' ,
33- 'License :: Freely Distributable' ,
34- 'Operating System :: OS Independent' ,
35- 'License :: OSI Approved :: Apache Software License' ,
36- 'Programming Language :: Python' ,
37- 'Programming Language :: Python :: 3' ,
38- 'Programming Language :: Python :: 3.5' ,
39- 'Programming Language :: Python :: 3.6' ,
40- 'Programming Language :: Python :: 3.7' ,
41- 'Programming Language :: Python :: 3.8' ,
42- 'Programming Language :: Python :: Implementation' ,
43- 'Programming Language :: Python :: Implementation :: CPython' ,
44- 'Topic :: System :: Distributed Computing'
45- ]
46- author = 'chaostoolkit Team'
47- author_email = 'contact@chaostoolkit.org'
48- url = 'http://chaostoolkit.org'
49- license = 'Apache License 2.0'
50- packages = [
51- 'chaoslib' ,
52- 'chaoslib.discovery' ,
53- 'chaoslib.provider' ,
54- 'chaoslib.control'
55- ]
56-
57- needs_pytest = set (['pytest' , 'test' ]).intersection (sys .argv )
58- pytest_runner = ['pytest_runner' ] if needs_pytest else []
59- test_require = []
60- with io .open ('requirements-dev.txt' ) as f :
61- test_require = [l .strip () for l in f if not l .startswith ('#' )]
62-
63- install_require = []
64- with io .open ('requirements.txt' ) as f :
65- install_require = [l .strip () for l in f if not l .startswith ('#' )]
66-
67- install_require .append (
68- 'contextvars;python_version<"3.7"'
69- )
70-
71- extras_require = {
72- "vault" : [
73- "hvac>=0.7.2"
74- ],
75- "jsonpath" : [
76- "jsonpath2>=0.2.1"
77- ],
78- "decoders" : [
79- "cchardet>=2.1.4" ,
80- "chardet>=3.0.4"
81- ]
82- }
83-
84- setup_params = dict (
85- name = name ,
86- version = get_version_from_package (),
87- description = desc ,
88- long_description = long_desc ,
89- long_description_content_type = 'text/markdown' ,
90- classifiers = classifiers ,
91- author = author ,
92- author_email = author_email ,
93- url = url ,
94- license = license ,
95- packages = packages ,
96- include_package_data = True ,
97- install_requires = install_require ,
98- tests_require = test_require ,
99- setup_requires = pytest_runner ,
100- extras_require = extras_require ,
101- python_requires = '>=3.5.*'
102- )
103-
104-
105- def main ():
106- """Package installation entry point."""
107- setuptools .setup (** setup_params )
108-
10921
11022if __name__ == '__main__' :
111- main ()
23+ setup (
24+ name = "chaostoolkit-lib" ,
25+ version = get_version_from_package ()
26+ )
0 commit comments