-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsetup.py
More file actions
103 lines (99 loc) · 5.25 KB
/
Copy pathsetup.py
File metadata and controls
103 lines (99 loc) · 5.25 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
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
from setuptools import find_packages, setup
with open("README.md", "r") as fh:
long_description = fh.read()
with open('requirements.txt') as f:
requirements = f.read().splitlines()
# Single source of truth for the version: redfish_ctl/version.py, which the CLI
# also imports for `--version`. Read it here (without importing the package, so
# the build stays dependency-free) to keep the wheel name and CLI version in sync.
_version = {}
with open('redfish_ctl/version.py') as _vf:
exec(_vf.read(), _version)
setup_info = dict(name='redfish_ctl',
version=_version['__version__'],
author='Mustafa Bayramov',
author_email="spyroot@gmail.com",
url="https://github.com/spyroot/redfish_ctl",
description='Standalone command line tool to '
'interact with Dell iDRAC and other BMCs via the Redfish REST API.',
long_description=long_description,
long_description_content_type='text/markdown',
project_urls={
"Homepage": "https://github.com/spyroot/redfish_ctl",
"Source": "https://github.com/spyroot/redfish_ctl",
"Issues": "https://github.com/spyroot/redfish_ctl/issues",
"Releases": "https://github.com/spyroot/redfish_ctl/releases",
},
keywords=[
"redfish", "idrac", "bmc", "ipmi", "dell", "supermicro",
"hpe", "ilo", "dmtf", "server-management", "bios", "raid",
"firmware", "telemetry", "cli",
],
classifiers=[
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: System Administrators",
"Intended Audience :: Information Technology",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: System :: Hardware",
"Topic :: System :: Systems Administration",
"Topic :: Utilities",
],
# redfish_ctl is the real package; idrac_ctl is a backward-compat alias package.
packages=['redfish_ctl', 'idrac_ctl'] + ['redfish_ctl.' + pkg for pkg in find_packages('redfish_ctl')],
license="MIT",
python_requires='>=3.10',
install_requires=requirements,
entry_points={
'console_scripts': [
# redfish_ctl is the going-forward name; idrac_ctl stays as a
# backward-compatible alias (same entry point).
'redfish_ctl = redfish_ctl.redfish_main:redfish_main_ctl',
'idrac_ctl = redfish_ctl.redfish_main:redfish_main_ctl',
'redfish-discover = redfish_ctl.discover.cli:redfish_discover_main',
]
},
extras_require={
# numpy powers the discovery crawl's rest_api_map.npy output
# (imported lazily in discovery/cmd_discovery.py). Optional for
# users; required to run the discovery producer tests.
"discovery": [
"numpy",
],
# Native OTLP output for `exporter --output otlp`. The SDK is
# imported lazily in telemetry/otlp.py, so the core install
# stays dependency-light; this extra pulls the exporter transport.
"otlp": [
"opentelemetry-sdk >= 1.20",
"opentelemetry-exporter-otlp >= 1.20",
],
"dev": [
"pytest >= 7",
"requests-mock >= 1.10",
"ruff",
"mypy",
"numpy",
# opentelemetry-sdk (not the heavy exporter) is enough to
# unit-test the OTLP MetricsData mapping offline.
"opentelemetry-sdk >= 1.20",
# setuptools is a BUILD/DEV tool (not a runtime dep, so it is
# not in requirements.txt). Needed here because the version
# test shells out to `setup.py --version`, and a fresh 3.12
# venv does not bundle setuptools.
"setuptools >= 65",
],
"schema": [
"jsonschema >= 4.18",
"referencing",
],
"tui": [
"rich >= 13",
],
},
)
setup(**setup_info)