Repository navigation
Expand file tree
/
Copy pathsetup.py
More file actions
55 lines (48 loc) · 2.13 KB
/
Copy pathsetup.py
File metadata and controls
55 lines (48 loc) · 2.13 KB
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
import os
import importlib.util
from setuptools import setup, find_packages # pyright: ignore[reportMissingModuleSource]
def _load_module_from_path(module_name, *path_parts):
module_path = os.path.join(os.path.dirname(__file__), *path_parts)
spec = importlib.util.spec_from_file_location(module_name, module_path)
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
return module
# READING README.MD FOR LONG DESCRIPTION
with open("README.md", "r", encoding="utf-8") as fh: long_description = fh.read()
# LOADING REQUIREMENTS
requirements_module = _load_module_from_path("requirements", "autotools", "utils", "requirements.py")
read_requirements = requirements_module.read_requirements
tool_registry_module = _load_module_from_path("tool_registry", "autotools", "tool_registry.py")
required = read_requirements("requirements.txt")
dev_required = read_requirements("requirements-dev.txt")
# SETUP CONFIGURATION FOR PACKAGE DISTRIBUTION
setup(
name='Open-AutoTools',
version='0.0.7',
packages=find_packages(exclude=["tests", "tests.*"]),
include_package_data=True,
install_requires=required,
extras_require={"dev": dev_required, "test": dev_required},
# ENTRY POINTS FOR CLI COMMANDS
entry_points={
"console_scripts": list(tool_registry_module.CONSOLE_SCRIPT_ENTRY_POINTS),
},
# METADATA FOR PYPI
author="BabylooPro",
author_email="maxremy.dev@gmail.com",
description="A suite of automated tools accessible via CLI with a simple `autotools` command",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/BabylooPro/Open-AutoTools",
project_urls={ "Bug Tracker": "https://github.com/BabylooPro/Open-AutoTools/issues" },
license="MIT",
classifiers=[
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Operating System :: OS Independent",
],
python_requires=">=3.10",
)