-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
67 lines (61 loc) · 2.12 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
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import setuptools
import re
import os
import sys
# In this way, we are sure we are getting
# the installer's version of the library
# not the system's one
setup_dir = os.path.dirname(__file__)
sys.path.insert(0, setup_dir)
from RWFileLock import (
__version__ as RWFileLock_version,
__official_name__ as RWFileLock_official_name,
__author__ as RWFileLock_author,
__url__ as RWFileLock_url,
)
# Populating the long description
with open(os.path.join(setup_dir, "README.md"), mode="r", encoding="utf-8") as fh:
long_description = fh.read()
# Populating the install requirements
requirements = []
requirements_file = os.path.join(setup_dir, "requirements.txt")
if os.path.exists(requirements_file):
with open(requirements_file, mode="r", encoding="iso-8859-1") as f:
egg = re.compile(r"#[^#]*egg=([^=&]+)")
for line in f.read().splitlines():
m = egg.search(line)
requirements.append(line if m is None else m.group(1))
repo_url = RWFileLock_url
setuptools.setup(
name=RWFileLock_official_name,
version=RWFileLock_version,
author=RWFileLock_author,
author_email="[email protected]",
description="Readers / writers file lock helper class",
license="LGPLv2",
long_description=long_description,
long_description_content_type="text/markdown",
url=repo_url,
project_urls={"Source": repo_url, "Bug Tracker": f"{repo_url}/issues"},
packages=setuptools.find_packages(),
package_data={
"RWFileLock": [
"py.typed",
]
},
install_requires=requirements,
classifiers=[
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)",
"Operating System :: OS Independent",
],
python_requires=">=3.7",
)