hpde-analytics-cli 1.0.0__tar.gz → 2.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/PKG-INFO +7 -5
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/README.md +2 -2
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/auth/oauth.py +9 -14
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli.egg-info/PKG-INFO +7 -5
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli.egg-info/requires.txt +1 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/pyproject.toml +6 -4
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/LICENSE +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/__init__.py +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/api/__init__.py +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/api/client.py +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/auth/__init__.py +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/auth/credentials.py +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/main.py +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/utils/__init__.py +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/utils/data_export.py +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/utils/field_discovery.py +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/utils/report_generator.py +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli.egg-info/SOURCES.txt +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli.egg-info/dependency_links.txt +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli.egg-info/entry_points.txt +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli.egg-info/top_level.txt +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/setup.cfg +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/tests/test_client.py +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/tests/test_credentials.py +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/tests/test_data_export.py +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/tests/test_main.py +0 -0
- {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/tests/test_report_generator.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hpde-analytics-cli
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.0
|
|
4
4
|
Summary: Data analysis and reporting tool for HPDE and Time Trials programs
|
|
5
5
|
Author-email: Kevin Homan <homan13@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -15,13 +15,14 @@ Classifier: Intended Audience :: End Users/Desktop
|
|
|
15
15
|
Classifier: License :: OSI Approved :: MIT License
|
|
16
16
|
Classifier: Operating System :: OS Independent
|
|
17
17
|
Classifier: Programming Language :: Python :: 3
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.9
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
23
24
|
Classifier: Topic :: Utilities
|
|
24
|
-
Requires-Python: >=3.
|
|
25
|
+
Requires-Python: >=3.9
|
|
25
26
|
Description-Content-Type: text/markdown
|
|
26
27
|
License-File: LICENSE
|
|
27
28
|
Requires-Dist: requests>=2.28.0
|
|
@@ -38,6 +39,7 @@ Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
|
38
39
|
Requires-Dist: isort>=5.12.0; extra == "dev"
|
|
39
40
|
Requires-Dist: bandit>=1.7.0; extra == "dev"
|
|
40
41
|
Requires-Dist: safety>=2.3.0; extra == "dev"
|
|
42
|
+
Requires-Dist: pre-commit>=3.5.0; extra == "dev"
|
|
41
43
|
Dynamic: license-file
|
|
42
44
|
|
|
43
45
|
# HPDE Analytics CLI
|
|
@@ -278,11 +280,11 @@ This project uses [Semantic Versioning (SemVer)](https://semver.org/):
|
|
|
278
280
|
- **MINOR** version for new functionality in a backward compatible manner
|
|
279
281
|
- **PATCH** version for backward compatible bug fixes
|
|
280
282
|
|
|
281
|
-
**Current Version:**
|
|
283
|
+
**Current Version:** 2.0.0
|
|
282
284
|
|
|
283
285
|
## Authors
|
|
284
286
|
|
|
285
|
-
* **Kevin Homan**
|
|
287
|
+
* **Kevin Homan**
|
|
286
288
|
|
|
287
289
|
## License
|
|
288
290
|
|
|
@@ -236,11 +236,11 @@ This project uses [Semantic Versioning (SemVer)](https://semver.org/):
|
|
|
236
236
|
- **MINOR** version for new functionality in a backward compatible manner
|
|
237
237
|
- **PATCH** version for backward compatible bug fixes
|
|
238
238
|
|
|
239
|
-
**Current Version:**
|
|
239
|
+
**Current Version:** 2.0.0
|
|
240
240
|
|
|
241
241
|
## Authors
|
|
242
242
|
|
|
243
|
-
* **Kevin Homan**
|
|
243
|
+
* **Kevin Homan**
|
|
244
244
|
|
|
245
245
|
## License
|
|
246
246
|
|
|
@@ -35,8 +35,8 @@ class OAuthCallbackHandler(BaseHTTPRequestHandler):
|
|
|
35
35
|
parsed = urlparse(self.path)
|
|
36
36
|
params = parse_qs(parsed.query)
|
|
37
37
|
|
|
38
|
-
# Log
|
|
39
|
-
print(
|
|
38
|
+
# Log callback received (without sensitive path details)
|
|
39
|
+
print("\n [Callback] Received OAuth callback request")
|
|
40
40
|
|
|
41
41
|
# Ignore non-callback requests (favicon, root path, etc.)
|
|
42
42
|
if not parsed.path.startswith("/callback"):
|
|
@@ -55,7 +55,7 @@ class OAuthCallbackHandler(BaseHTTPRequestHandler):
|
|
|
55
55
|
self.wfile.write(response.encode())
|
|
56
56
|
return
|
|
57
57
|
|
|
58
|
-
print(
|
|
58
|
+
print(" [Callback] OAuth parameters received")
|
|
59
59
|
|
|
60
60
|
# Extract OAuth parameters
|
|
61
61
|
OAuthCallbackHandler.oauth_verifier = params.get("oauth_verifier", [None])[0]
|
|
@@ -236,7 +236,7 @@ class MSROAuth:
|
|
|
236
236
|
if not self.request_token:
|
|
237
237
|
raise Exception("Failed to obtain request token")
|
|
238
238
|
|
|
239
|
-
print(
|
|
239
|
+
print(" Request token obtained: [REDACTED]")
|
|
240
240
|
return self.request_token, self.request_token_secret
|
|
241
241
|
|
|
242
242
|
def get_authorization_url(self) -> str:
|
|
@@ -255,8 +255,7 @@ class MSROAuth:
|
|
|
255
255
|
|
|
256
256
|
print("\n[Step 2/3] User authorization required")
|
|
257
257
|
print("-" * 60)
|
|
258
|
-
print("
|
|
259
|
-
print(f"\n {auth_url}\n")
|
|
258
|
+
print("Opening authorization URL in browser...")
|
|
260
259
|
print("-" * 60)
|
|
261
260
|
|
|
262
261
|
return auth_url
|
|
@@ -294,7 +293,7 @@ class MSROAuth:
|
|
|
294
293
|
if not self.access_token:
|
|
295
294
|
raise Exception("Failed to obtain access token")
|
|
296
295
|
|
|
297
|
-
print(
|
|
296
|
+
print(" Access token obtained: [REDACTED]")
|
|
298
297
|
if self.profile_id:
|
|
299
298
|
print(f" Profile ID: {self.profile_id}")
|
|
300
299
|
|
|
@@ -451,22 +450,18 @@ class MSROAuth:
|
|
|
451
450
|
|
|
452
451
|
# Open browser automatically if requested
|
|
453
452
|
if auto_open_browser:
|
|
454
|
-
print("\n" + "!" * 60)
|
|
455
|
-
print("IMPORTANT: Copy and paste this URL into your browser:")
|
|
456
|
-
print(f"\n {auth_url}\n")
|
|
457
|
-
print("!" * 60)
|
|
458
453
|
print("\nAttempting to open browser automatically...")
|
|
459
454
|
try:
|
|
460
455
|
webbrowser.open(auth_url)
|
|
461
456
|
except Exception as e:
|
|
462
457
|
print(f" Could not open browser automatically: {e}")
|
|
463
|
-
print("\nIf the
|
|
458
|
+
print("\nIf the browser does not open, check your default browser settings.")
|
|
464
459
|
else:
|
|
465
|
-
print("\nPlease
|
|
460
|
+
print("\nPlease complete authorization in your browser.")
|
|
466
461
|
|
|
467
462
|
# Step 3: Wait for callback with verifier
|
|
468
463
|
verifier = self._wait_for_callback(server)
|
|
469
|
-
print(
|
|
464
|
+
print("\n Received verifier: [REDACTED]")
|
|
470
465
|
|
|
471
466
|
# Step 4: Exchange for access token
|
|
472
467
|
self.get_access_token(verifier)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hpde-analytics-cli
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.0
|
|
4
4
|
Summary: Data analysis and reporting tool for HPDE and Time Trials programs
|
|
5
5
|
Author-email: Kevin Homan <homan13@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -15,13 +15,14 @@ Classifier: Intended Audience :: End Users/Desktop
|
|
|
15
15
|
Classifier: License :: OSI Approved :: MIT License
|
|
16
16
|
Classifier: Operating System :: OS Independent
|
|
17
17
|
Classifier: Programming Language :: Python :: 3
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.9
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
23
24
|
Classifier: Topic :: Utilities
|
|
24
|
-
Requires-Python: >=3.
|
|
25
|
+
Requires-Python: >=3.9
|
|
25
26
|
Description-Content-Type: text/markdown
|
|
26
27
|
License-File: LICENSE
|
|
27
28
|
Requires-Dist: requests>=2.28.0
|
|
@@ -38,6 +39,7 @@ Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
|
38
39
|
Requires-Dist: isort>=5.12.0; extra == "dev"
|
|
39
40
|
Requires-Dist: bandit>=1.7.0; extra == "dev"
|
|
40
41
|
Requires-Dist: safety>=2.3.0; extra == "dev"
|
|
42
|
+
Requires-Dist: pre-commit>=3.5.0; extra == "dev"
|
|
41
43
|
Dynamic: license-file
|
|
42
44
|
|
|
43
45
|
# HPDE Analytics CLI
|
|
@@ -278,11 +280,11 @@ This project uses [Semantic Versioning (SemVer)](https://semver.org/):
|
|
|
278
280
|
- **MINOR** version for new functionality in a backward compatible manner
|
|
279
281
|
- **PATCH** version for backward compatible bug fixes
|
|
280
282
|
|
|
281
|
-
**Current Version:**
|
|
283
|
+
**Current Version:** 2.0.0
|
|
282
284
|
|
|
283
285
|
## Authors
|
|
284
286
|
|
|
285
|
-
* **Kevin Homan**
|
|
287
|
+
* **Kevin Homan**
|
|
286
288
|
|
|
287
289
|
## License
|
|
288
290
|
|
|
@@ -4,11 +4,11 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "hpde-analytics-cli"
|
|
7
|
-
version = "
|
|
7
|
+
version = "2.0.0"
|
|
8
8
|
description = "Data analysis and reporting tool for HPDE and Time Trials programs"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "MIT"}
|
|
11
|
-
requires-python = ">=3.
|
|
11
|
+
requires-python = ">=3.9"
|
|
12
12
|
authors = [
|
|
13
13
|
{name = "Kevin Homan", email = "homan13@gmail.com"}
|
|
14
14
|
]
|
|
@@ -27,11 +27,12 @@ classifiers = [
|
|
|
27
27
|
"License :: OSI Approved :: MIT License",
|
|
28
28
|
"Operating System :: OS Independent",
|
|
29
29
|
"Programming Language :: Python :: 3",
|
|
30
|
-
"Programming Language :: Python :: 3.8",
|
|
31
30
|
"Programming Language :: Python :: 3.9",
|
|
32
31
|
"Programming Language :: Python :: 3.10",
|
|
33
32
|
"Programming Language :: Python :: 3.11",
|
|
34
33
|
"Programming Language :: Python :: 3.12",
|
|
34
|
+
"Programming Language :: Python :: 3.13",
|
|
35
|
+
"Programming Language :: Python :: 3.14",
|
|
35
36
|
"Topic :: Utilities",
|
|
36
37
|
]
|
|
37
38
|
dependencies = [
|
|
@@ -52,6 +53,7 @@ dev = [
|
|
|
52
53
|
"isort>=5.12.0",
|
|
53
54
|
"bandit>=1.7.0",
|
|
54
55
|
"safety>=2.3.0",
|
|
56
|
+
"pre-commit>=3.5.0",
|
|
55
57
|
]
|
|
56
58
|
|
|
57
59
|
[project.urls]
|
|
@@ -69,7 +71,7 @@ include = ["hpde_analytics_cli*"]
|
|
|
69
71
|
|
|
70
72
|
[tool.black]
|
|
71
73
|
line-length = 100
|
|
72
|
-
target-version = ["
|
|
74
|
+
target-version = ["py39", "py310", "py311", "py312", "py313"]
|
|
73
75
|
|
|
74
76
|
[tool.pytest.ini_options]
|
|
75
77
|
testpaths = ["tests"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/auth/credentials.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/utils/data_export.py
RENAMED
|
File without changes
|
{hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/utils/field_discovery.py
RENAMED
|
File without changes
|
{hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/utils/report_generator.py
RENAMED
|
File without changes
|
{hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|