-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
97 lines (92 loc) · 3.76 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
#!/usr/bin/env python
import setuptools
import sys
import os
# versionedModule = {}
# versionedModule['urllib'] = 'urllib'
# if sys.version_info.major < 3:
# versionedModule['urllib'] = 'urllib2'
install_requires = []
if os.path.isfile("requirements.txt"):
with open("requirements.txt", "r") as ins:
for rawL in ins:
line = rawL.strip()
if len(line) < 1:
continue
install_requires.append(line)
# TODO: install_requires (pip install .) takes a different format for
# git repos than requirements.txt (pip install -r requirements.txt)
# (Issue #9).
print("install_requires={}".format(install_requires), file=sys.stderr)
description = (
"This is the splash screen which ensures Python and any other"
" requirements are installed then updates and runs the launcher."
" From a user perspective, \"Hierosoft\" (hierosoftupdate)"
" is the shortcut for the launcher. From a developer perspective,"
" hierosoft is the module that updates and installs"
" the launcher and then the launcher uses it to install and"
" update any other programs."
)
long_description = description
if os.path.isfile("readme.md"):
with open("readme.md", "r") as fh:
long_description = fh.read()
setuptools.setup(
name='hierosoft',
version='0.5.0',
description=description,
long_description=long_description,
long_description_content_type="text/markdown",
classifiers=[
'Development Status :: 5 - Production/Stable',
'Programming Language :: Python :: 3',
('License :: OSI Approved :: MIT License'), # See also: license=
'Operating System :: POSIX :: Linux',
'Operating System :: Microsoft :: Windows'
'Operating System :: MacOS :: MacOS X'
'Topic :: System :: Systems Administration',
'Topic :: System :: Installation/Setup',
'Topic :: System :: Logging',
'Topic :: System :: Software Distribution',
'Topic :: Text Processing :: General',
],
keywords=('python system management IT tools linux installation'
' package selection preloading preinstall'),
url="https://github.com/Hierosoft/hierosoft",
author="Jake Gustafson",
author_email='7557867+poikilos@users.noreply.github.com',
license='MIT License', # See also: license classifier above.
# packages=setuptools.find_packages(),
packages=['hierosoft'],
include_package_data=True, # look for MANIFEST.in
# scripts=['example'],
# ^ Don't use scripts anymore (according to
# <https://packaging.python.org/en/latest/guides
# /distributing-packages-using-setuptools
# /?highlight=scripts#scripts>).
# See <https://stackoverflow.com/questions/27784271/
# how-can-i-use-setuptools-to-generate-a-console-scripts-entry-
# point-which-calls>
entry_points={
'console_scripts': [
'hierosoft=hierosoft.gui_tk:main',
'g-grep=hierosoft.ggrep:main',
'checkpath=hierosoft.checkpath:main',
'checkversion=hierosoft.checkversion:main',
],
},
# ^ The command must *not* be ggrep, since that is ambiguous with
# usage in pyenv:
# - plugins/python-build/test/test_helper.bash
# - plugins/pyenv-doctor/configure
# - plugins/python-build/bin/pyenv-install
# (even prevents `pyenv install --list` from working properly)
install_requires=install_requires,
# versionedModule['urllib'],
# ^ "ERROR: Could not find a version that satisfies the requirement
# urllib (from nopackage) (from versions: none)
# ERROR: No matching distribution found for urllib"
test_suite='nose.collector',
tests_require=['nose', 'nose-cover3'],
zip_safe=False, # It can't run zipped due to needing data files.
)