-
Notifications
You must be signed in to change notification settings - Fork 59
/
pyproject.toml
140 lines (125 loc) · 3.35 KB
/
pyproject.toml
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
[build-system]
requires = ["hatchling >= 1.14.0"]
build-backend = "hatchling.build"
[tool.hatch.version]
path = "mstrio/__init__.py"
[tool.hatch.build.targets.sdist]
include = [
"/code_snippets",
"/script-templates",
"/mstrio",
"/workflows",
"/NEWS.md",
"/README.md",
"/USAGE.md",
"/requirements.txt",
"/setup.cfg",
]
[tool.hatch.build.targets.wheel]
packages = ["mstrio"]
[project]
name = "mstrio-py"
description = "Python interface for the MicroStrategy REST API"
authors = [
{ name = "MicroStrategy", email = "[email protected]" }
]
requires-python = ">=3.10,<3.13"
license = {text = "Apache License 2.0"}
readme = "README.md"
dynamic = ["version"]
classifiers = [
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: JavaScript",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3 :: Only",
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"Intended Audience :: End Users/Desktop",
"Intended Audience :: Science/Research",
"Topic :: Software Development :: Libraries",
"Topic :: Scientific/Engineering",
"Topic :: Software Development",
]
dependencies = [
# peer dependency (dep of dep)
# but we need to force version for SEC
"urllib3 >= 2.2.2",
"Jinja2 >= 3.1.4", # Optional dep of pandas, required for testing
"certifi >= 2024.07.04", # SEC safe version
"idna >= 3.7", # SEC safe version
# Direct mstrio dependencies
"numpy >= 1.24.3",
"packaging >= 23",
"pandas >= 1.1.5",
"pyhumps >= 3.8",
"pypika >= 0.48.9",
"requests >= 2.32.3",
"requests_futures >= 1.0.0",
"stringcase >= 1.2",
"tqdm >= 4.66.4",
]
[project.optional-dependencies]
dev = [
"flake8 == 7.0.0",
"mypy == 1.10.0",
"yapf == 0.40.2",
"nose == 1.3.7",
"coverage == 7.3.4",
"pytest == 8.2.0",
"pytest-cov == 4.1.0",
"isort == 5.13.2",
"pre-commit == 3.7.1",
"flaky == 3.8.1",
"python-decouple == 3.8",
"black == 24.4.2",
"flake8-black == 0.3.6",
"pyarrow == 16.0.0", # required for testing, future required pandas' dependency
]
[project.urls]
"Bug Tracker" = "https://github.com/MicroStrategy/mstrio-py/issues"
"Documentation" = "https://www2.microstrategy.com/producthelp/Current/mstrio-py/"
"Source Code" = "https://github.com/MicroStrategy/mstrio-py"
"Quick Manual" = "https://www2.microstrategy.com/producthelp/current/FederatedAnalytics/en-us/Content/mstr_for_jupyter.htm"
[tool.mypy]
python_version = 3.10
warn_unused_configs = true
strict_optional = false
show_error_codes = true
color_output = true
[tool.isort]
profile = "black"
[tool.coverage.run]
omit = [
"mstrio/api/*"
]
relative_files = true
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"def _",
"if TYPE_CHECKING:",
"raise NotImplementedError"
]
omit = [
"mstrio/api/*",
"mstrio/utils/datasources.py"
]
show_missing = true
[tool.black]
target_version = ["py310"]
skip_string_normalization = 1
extend-exclude = '''
/(
| __pycache__
| code_snippets
| script-templates
| workflows
| validation_scripts
| .tox
)/
'''