forked from anexia-it/anexia-monitoring-django
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
94 lines (78 loc) · 2.82 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
# Note: To use the 'upload' functionality of this file, you must:
# $ pip install twine
import os
import io
import sys
from shutil import rmtree
from setuptools import find_packages, setup, Command
# Package meta-data.
NAME = 'django-anexia-monitoring'
PACKAGE_PATH = 'anexia_monitoring'
DESCRIPTION = 'A Django app used to monitor updates for Django and all installed python packages in the running environment. It can be also used to check if the website is alive and working correctly.'
URL = 'https://github.com/anexia-it/anexia-monitoring-django'
AUTHOR = 'Anexia'
LICENSE = 'MIT'
REQUIRED = [
'updatable>=0.7',
]
CLASSIFIERS = [
'License :: OSI Approved :: MIT License',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Intended Audience :: Developers',
'Operating System :: OS Independent',
'Natural Language :: English',
'Topic :: Utilities',
]
# Setup configuration
current_path = os.path.abspath(os.path.dirname(__file__))
# Import the README and use it as the long-description.
# Note: this will only work if 'README.md' is present in your MANIFEST.in file!
with io.open(os.path.join(current_path, 'README.md'), encoding='utf-8') as f:
long_description = '\n' + f.read()
class PublishCommand(Command):
"""Support setup.py publish."""
description = 'Build and publish the package.'
user_options = []
@staticmethod
def status(s):
"""Prints things in bold."""
print('\033[1m{0}\033[0m'.format(s))
def initialize_options(self):
pass
def finalize_options(self):
pass
def run(self):
try:
self.status('Removing previous builds…')
rmtree(os.path.join(current_path, 'dist'))
except OSError:
pass
self.status('Building Source and Wheel (universal) distribution…')
os.system('{0} setup.py sdist bdist_wheel --universal'.format(sys.executable))
self.status('Uploading the package to PyPi via Twine…')
os.system('twine upload dist/*')
sys.exit()
setup(
name=NAME,
version=os.getenv('PACKAGE_VERSION', '0.0.0').replace('refs/tags/', ''),
packages=find_packages(),
include_package_data=True,
license=LICENSE,
description=DESCRIPTION,
long_description=long_description,
long_description_content_type='text/markdown',
url=URL,
author=AUTHOR,
classifiers=CLASSIFIERS,
install_requires=REQUIRED,
# $ setup.py publish support.
cmdclass={
'publish': PublishCommand,
},
)