annotate setup.py @ 139:73e8116484f2

Exclude Python 3.0, 3.1, 3.2 and 3.3
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 03 Jan 2025 00:35:27 +0100
parents 3bd3f32b5e60
children bf77784ee288
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
1 #!/usr/bin/env python
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
2 # -*- coding: utf-8 -*-
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
3
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
4 import re
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
5 import os
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
6 import sys
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
7 try:
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
8 from setuptools import setup
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
9 except ImportError:
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
10 from distutils.core import setup
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
11
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
12
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
13 if (sys.version_info[0] < 2) or \
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
14 ((sys.version_info[0] == 2) and (sys.version_info[1] < 7)):
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
15 raise ValueError("Need at least Python 2.7")
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
16
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
17 pkg_root = os.path.dirname(__file__)
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
18
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
19 _version_re = re.compile(br"^\s*__version__\s*=\s*(\"|')(.*)\1\s*(#.*)?$",
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
20 re.MULTILINE)
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
21
72
ae2df602beb4 Make shasum.py and dos2unix sub-modules to the new "cutils" package
Franz Glasner <fzglas.hg@dom66.de>
parents: 46
diff changeset
22 with open(os.path.join(pkg_root, "cutils", "__init__.py"), "rb") as vf:
29
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
23 version = _version_re.search(vf.read()).group(2).decode("utf-8")
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
24
31
7af20e752600 Add a README.txt
Franz Glasner <fzglas.hg@dom66.de>
parents: 30
diff changeset
25 with open(os.path.join(pkg_root, "README.txt"), "rt") as rf:
46
dc198b661149 Style (setup.py)
Franz Glasner <fzglas.hg@dom66.de>
parents: 36
diff changeset
26 long_description = rf.read()
29
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
27
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
28 setup(
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
29 name="py-cutils",
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
30 version=version,
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
31 author="Franz Glasner",
73
c3268f4e752f Adjust all license notes to (a) more literally comply with the BSD3 templates and to the style guide
Franz Glasner <fzglas.hg@dom66.de>
parents: 72
diff changeset
32 license="""BSD 3-Clause "New" or "Revised" License""",
29
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
33 url="https://pypi.dom66.de/simple/py-cutils/",
115
e15b3d1ff0d9 New subpackage with a "contextlib.nullcontext" for older Python versions
Franz Glasner <fzglas.hg@dom66.de>
parents: 112
diff changeset
34 description="Pure Python implementation of some coreutils with some extensions",
31
7af20e752600 Add a README.txt
Franz Glasner <fzglas.hg@dom66.de>
parents: 30
diff changeset
35 long_description=long_description,
115
e15b3d1ff0d9 New subpackage with a "contextlib.nullcontext" for older Python versions
Franz Glasner <fzglas.hg@dom66.de>
parents: 112
diff changeset
36 packages=["cutils", "cutils.util"],
29
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
37 include_package_data=False,
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
38 zip_safe=True,
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
39 platforms="any",
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
40 classifiers=[
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
41 "Development Status :: 5 - Production/Stable",
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
42 "Environment :: Console",
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
43 "Intended Audience :: Developers",
111
0c778a183e38 Add "End Users/Desktop" to the intended audience
Franz Glasner <fzglas.hg@dom66.de>
parents: 73
diff changeset
44 "Intended Audience :: End Users/Desktop",
29
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
45 "Intended Audience :: System Administrators",
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
46 "License :: OSI Approved :: BSD License",
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
47 "Operating System :: OS Independent",
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
48 "Programming Language :: Python :: 2.7",
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
49 "Programming Language :: Python :: 3",
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
50 "Topic :: System",
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
51 "Topic :: Utilities",
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
52 ],
139
73e8116484f2 Exclude Python 3.0, 3.1, 3.2 and 3.3
Franz Glasner <fzglas.hg@dom66.de>
parents: 124
diff changeset
53 python_requires=">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*",
46
dc198b661149 Style (setup.py)
Franz Glasner <fzglas.hg@dom66.de>
parents: 36
diff changeset
54 entry_points={
29
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
55 "console_scripts": [
72
ae2df602beb4 Make shasum.py and dos2unix sub-modules to the new "cutils" package
Franz Glasner <fzglas.hg@dom66.de>
parents: 46
diff changeset
56 "py-dos2unix=cutils.dos2unix:main",
ae2df602beb4 Make shasum.py and dos2unix sub-modules to the new "cutils" package
Franz Glasner <fzglas.hg@dom66.de>
parents: 46
diff changeset
57 "py-shasum=cutils.shasum:main",
124
3bd3f32b5e60 A first version of "treesum" is working
Franz Glasner <fzglas.hg@dom66.de>
parents: 115
diff changeset
58 "py-treesum=cutils.treesum:main",
29
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
59 ]
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
60 }
c06e438f68b2 Build a real Python package
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
61 )