33
|
1 # -*- coding: utf-8 -*-
|
|
2
|
|
3 # setup.py
|
|
4 # Part of ‘python-daemon’, an implementation of PEP 3143.
|
|
5 #
|
|
6 # Copyright © 2008–2015 Ben Finney <ben+python@benfinney.id.au>
|
|
7 # Copyright © 2008 Robert Niederreiter, Jens Klein
|
|
8 #
|
|
9 # This is free software: you may copy, modify, and/or distribute this work
|
|
10 # under the terms of the GNU General Public License as published by the
|
|
11 # Free Software Foundation; version 3 of that license or any later version.
|
|
12 # No warranty expressed or implied. See the file ‘LICENSE.GPL-3’ for details.
|
|
13
|
|
14 """ Distribution setup for ‘python-daemon’ library. """
|
|
15
|
|
16 from __future__ import (absolute_import, unicode_literals)
|
|
17
|
|
18 import sys
|
|
19 import os
|
|
20 import os.path
|
|
21 import pydoc
|
|
22 import distutils.util
|
|
23
|
|
24 from setuptools import (setup, find_packages)
|
|
25
|
|
26 import version
|
|
27
|
|
28
|
|
29 fromlist_expects_type = str
|
|
30 if sys.version_info < (3, 0):
|
|
31 fromlist_expects_type = bytes
|
|
32
|
|
33
|
|
34 main_module_name = 'daemon'
|
|
35 main_module_fromlist = list(map(fromlist_expects_type, [
|
|
36 '_metadata']))
|
|
37 main_module = __import__(
|
|
38 main_module_name,
|
|
39 level=0, fromlist=main_module_fromlist)
|
|
40 metadata = main_module._metadata
|
|
41
|
|
42 (synopsis, long_description) = pydoc.splitdoc(pydoc.getdoc(main_module))
|
|
43
|
|
44 version_info = metadata.get_distribution_version_info()
|
|
45 version_string = version_info['version']
|
|
46
|
|
47 (maintainer_name, maintainer_email) = metadata.parse_person_field(
|
|
48 version_info['maintainer'])
|
|
49
|
|
50
|
|
51 setup(
|
|
52 name=metadata.distribution_name,
|
|
53 version=version_string,
|
|
54 packages=find_packages(exclude=["test"]),
|
|
55 cmdclass={
|
|
56 "write_version_info": version.WriteVersionInfoCommand,
|
|
57 "egg_info": version.EggInfoCommand,
|
|
58 },
|
|
59
|
|
60 # Setuptools metadata.
|
|
61 maintainer=maintainer_name,
|
|
62 maintainer_email=maintainer_email,
|
|
63 zip_safe=False,
|
|
64 setup_requires=[
|
|
65 "docutils",
|
|
66 ],
|
|
67 test_suite="unittest2.collector",
|
|
68 tests_require=[
|
|
69 "unittest2 >=0.6",
|
|
70 "testtools",
|
|
71 "testscenarios >=0.4",
|
|
72 "mock >=1.0",
|
|
73 "docutils",
|
|
74 ],
|
|
75 install_requires=[
|
|
76 "setuptools",
|
|
77 "docutils",
|
|
78 "lockfile >=0.10",
|
|
79 ],
|
|
80
|
|
81 # PyPI metadata.
|
|
82 author=metadata.author_name,
|
|
83 author_email=metadata.author_email,
|
|
84 description=synopsis,
|
|
85 license=metadata.license,
|
|
86 keywords="daemon fork unix".split(),
|
|
87 url=metadata.url,
|
|
88 long_description=long_description,
|
|
89 classifiers=[
|
|
90 # Reference: http://pypi.python.org/pypi?%3Aaction=list_classifiers
|
|
91 "Development Status :: 4 - Beta",
|
|
92 "License :: OSI Approved :: Apache Software License",
|
|
93 "Operating System :: POSIX",
|
|
94 "Programming Language :: Python :: 2.7",
|
|
95 "Programming Language :: Python :: 3",
|
|
96 "Intended Audience :: Developers",
|
|
97 "Topic :: Software Development :: Libraries :: Python Modules",
|
|
98 ],
|
|
99 )
|
|
100
|
|
101
|
|
102 # Local variables:
|
|
103 # coding: utf-8
|
|
104 # mode: python
|
|
105 # End:
|
|
106 # vim: fileencoding=utf-8 filetype=python :
|