-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathsetup.py
82 lines (68 loc) · 2.17 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
# coding: utf-8
import io
import os
from setuptools import find_packages, setup
# 包元信息
NAME = 'jycm' # 实际包的名字
DESCRIPTION = 'A highly flexible json diff framework for python.' # 项目描述
URL = 'https://github.com/eggachecat/jycm' # 项目仓库 URL
EMAIL = '[email protected]' # 维护者邮箱地址
AUTHOR = 'eggachecat' # 维护者姓名
here = os.path.abspath(os.path.dirname(__file__))
def get_requirements():
with open(os.path.join(here, "requirements.txt"), "r") as reqs_file:
reqs = reqs_file.readlines()
return reqs
def get_requirements_dev():
final_reqs = get_requirements()
with open(os.path.join(here, "requirements-dev.txt"), "r") as reqs_file:
reqs = reqs_file.readlines()
for r in reqs:
if "-r" not in r:
final_reqs.append(r)
return final_reqs
REQUIRES = get_requirements()
DEV_REQUIRES = get_requirements_dev()
try:
with io.open(os.path.join(here, 'README.md'), encoding='utf-8') as f:
long_description = '\n' + f.read()
except IOError:
long_description = DESCRIPTION
about = {}
with io.open(os.path.join(here, NAME, '__version__.py')) as f:
exec(f.read(), about)
setup(
name=NAME,
version=about['__version__'],
description=DESCRIPTION,
long_description=long_description,
long_description_content_type='text/markdown',
author=AUTHOR,
author_email=EMAIL,
url=URL,
classifiers=[
# Trove classifiers
# Full list: https://pypi.python.org/pypi?%3Aaction=list_classifiers
'Intended Audience :: Developers',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.5',
],
keywords='json diff jsondiff operator flexible',
packages=find_packages(exclude=['docs', 'tests']),
install_requires=REQUIRES,
tests_require=[
'pytest>=4.0.0,<5.0.0'
],
python_requires='!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*',
extras_require={
':python_version<"3.5"': [
'typing>=3.6.4',
],
'dev': DEV_REQUIRES,
},
package_data={
# for PEP484 & PEP561
NAME: ['py.typed', '*.pyi'],
},
include_package_data=True
)