-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathsetup.py
137 lines (95 loc) · 3.88 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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
#
# To generate DEB package from Python Package:
# sudo pip3 install stdeb
# python3 setup.py --verbose --command-packages=stdeb.command bdist_deb
#
#
# To generate RPM package from Python Package:
# sudo apt-get install rpm
# python3 setup.py bdist_rpm --verbose --fix-python --binary-only
#
#
# To generate EXE MS Windows from Python Package (from MS Windows only):
# python3 setup.py bdist_wininst --verbose
#
#
# To generate PKGBUILD ArchLinux from Python Package (from PyPI only):
# sudo pip3 install git+https://github.com/bluepeppers/pip2arch.git
# pip2arch.py PackageNameHere
#
#
# To Upload to PyPI by executing:
# sudo pip install --upgrade pip setuptools wheel virtualenv
# python3 setup.py bdist_egg bdist_wheel --universal sdist --formats=zip upload --sign
"""Setup.py for Python, as Generic as possible."""
import os
import re
from setuptools import setup
##############################################################################
# EDIT HERE
MODULE_PATH = os.path.join(os.path.dirname(__file__),
"anglerfish", "__init__.py")
DESCRIPTION = """Anglerfish is a simple multipurpose K.I.S.S. Python 3 Helper
Library to help Developers create Apps or Scripts faster, better and easily."""
##############################################################################
# Dont touch below
try:
with open(str(MODULE_PATH), "r", encoding="utf-8-sig") as source_code_file:
SOURCE = source_code_file.read()
except:
with open(str(MODULE_PATH), "r") as source_code_file:
SOURCE = source_code_file.read()
def find_this(search, source=SOURCE):
"""Take a string and a filename path string and return the found value."""
print("Searching for {what}.".format(what=search))
if not search or not source:
print("Not found on source: {what}.".format(what=search))
return ""
return str(re.compile(r".*__{what}__ = '(.*?)'".format(
what=search), re.S).match(source).group(1)).strip().replace("'", "")
print("Starting build of setuptools.setup().")
##############################################################################
# EDIT HERE
setup(
name="anglerfish",
version=find_this("version"),
description="Helper Library for Python3 Apps.",
long_description=DESCRIPTION,
url=find_this("url"),
license=find_this("license"),
author=find_this("author"),
author_email=find_this("email"),
maintainer=find_this("author"),
maintainer_email=find_this("email"),
include_package_data=True,
zip_safe=True,
tests_require=['pytest', 'isort', 'pylama'],
packages=["anglerfish"],
keywords=['helper', 'boilerplate', 'utils', 'minimalism', 'utility'],
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Console',
'Intended Audience :: Developers',
'Intended Audience :: System Administrators',
'Intended Audience :: Other Audience',
'Natural Language :: English',
'License :: OSI Approved :: GNU General Public License (GPL)',
'License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)',
'License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)',
'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
'Operating System :: OS Independent',
'Operating System :: POSIX :: Linux',
'Operating System :: Microsoft :: Windows',
'Operating System :: MacOS :: MacOS X',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Topic :: Software Development',
],
)
print("Finished build of setuptools.setup().")