forked from flying-sheep/unicodemoticon
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathsetup.py
148 lines (105 loc) · 3.98 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
138
139
140
141
142
143
144
145
146
147
148
#!/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 a zipapp:
# python3 setup.py zipapp
#
#
# To try it locally:
# python3 setup.py install .
#
#
# To Upload to PyPI by executing:
# sudo pip install --upgrade pip setuptools wheel virtualenv
# python3 setup.py register
# python3 setup.py bdist_egg bdist_wheel --universal sdist --formats=bztar,gztar,zip upload --sign
"""Setup.py for Python, as Generic as possible."""
import os
import re
from setuptools import setup, Command
from tempfile import TemporaryDirectory
from shutil import copytree
from zipapp import create_archive
from unicodemoticon import (__author__, __url__, __email__, __license__,
__version__)
##############################################################################
# EDIT HERE
DESCRIPTION = ("Emoji App. Like a Color Picker but for Unicode Emoticons. "
"Trayicon with Unicode Emoticons using Python3 Qt5.")
print("Starting build of setuptools.setup().")
class ZipApp(Command):
description, user_options = "Creates a zipapp.", []
def initialize_options(self): pass # Dont needed, but required.
def finalize_options(self): pass # Dont needed, but required.
def run(self):
with TemporaryDirectory() as tmpdir:
copytree('unicodemoticon', os.path.join(tmpdir, 'unicodemoticon'))
fyle = os.path.join(tmpdir, '__main__.py')
with open(fyle, 'w', encoding='utf-8') as entry:
entry.write("import runpy\nrunpy.run_module('unicodemoticon')")
create_archive(tmpdir, 'unicodemoticon.pyz', '/usr/bin/env python3')
##############################################################################
# EDIT HERE
setup(
name="unicodemoticon",
version=__version__,
description=DESCRIPTION,
long_description=DESCRIPTION,
url=__url__,
license=__license__,
author=__author__,
author_email=__email__,
maintainer=__author__,
maintainer_email=__email__,
include_package_data=True,
zip_safe=True,
install_requires=['anglerfish'],
setup_requires=['anglerfish'],
tests_require=['anglerfish'],
requires=['anglerfish'],
packages=["unicodemoticon"],
package_data={"unicodemoticon": ['unicodemoticon.desktop']},
entry_points={
"console_scripts": ['unicodemoticon=unicodemoticon.__main__:main'],
},
cmdclass={
"zipapp": ZipApp,
},
keywords=['Unicode', 'Emoticon', 'Smilies', 'Qt', 'HTML5', 'HTML Entity'],
classifiers=[
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'Intended Audience :: End Users/Desktop',
'Intended Audience :: System Administrators',
'Intended Audience :: Information Technology',
'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 :: POSIX :: Linux',
'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().")