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.
Files changed (27) hide show
  1. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/PKG-INFO +7 -5
  2. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/README.md +2 -2
  3. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/auth/oauth.py +9 -14
  4. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli.egg-info/PKG-INFO +7 -5
  5. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli.egg-info/requires.txt +1 -0
  6. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/pyproject.toml +6 -4
  7. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/LICENSE +0 -0
  8. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/__init__.py +0 -0
  9. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/api/__init__.py +0 -0
  10. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/api/client.py +0 -0
  11. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/auth/__init__.py +0 -0
  12. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/auth/credentials.py +0 -0
  13. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/main.py +0 -0
  14. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/utils/__init__.py +0 -0
  15. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/utils/data_export.py +0 -0
  16. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/utils/field_discovery.py +0 -0
  17. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli/utils/report_generator.py +0 -0
  18. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli.egg-info/SOURCES.txt +0 -0
  19. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli.egg-info/dependency_links.txt +0 -0
  20. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli.egg-info/entry_points.txt +0 -0
  21. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/hpde_analytics_cli.egg-info/top_level.txt +0 -0
  22. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/setup.cfg +0 -0
  23. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/tests/test_client.py +0 -0
  24. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/tests/test_credentials.py +0 -0
  25. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/tests/test_data_export.py +0 -0
  26. {hpde_analytics_cli-1.0.0 → hpde_analytics_cli-2.0.0}/tests/test_main.py +0 -0
  27. {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: 1.0.0
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.8
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:** 1.0.0
283
+ **Current Version:** 2.0.0
282
284
 
283
285
  ## Authors
284
286
 
285
- * **Kevin Homan** - *Initial work and project lead* - WDCR Time Trials Chief Competition Director
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:** 1.0.0
239
+ **Current Version:** 2.0.0
240
240
 
241
241
  ## Authors
242
242
 
243
- * **Kevin Homan** - *Initial work and project lead* - WDCR Time Trials Chief Competition Director
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 what we received for debugging
39
- print(f"\n [Callback] Received request: {self.path}")
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(f" [Callback] OAuth parameters: {params}")
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(f" Request token obtained: {self.request_token[:20]}...")
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("Please visit this URL to authorize the application:")
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(f" Access token obtained: {self.access_token[:20]}...")
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 wrong page opens, manually navigate to the URL above.")
458
+ print("\nIf the browser does not open, check your default browser settings.")
464
459
  else:
465
- print("\nPlease open the URL above in your browser.")
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(f"\n Received verifier: {verifier[:20]}...")
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: 1.0.0
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.8
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:** 1.0.0
283
+ **Current Version:** 2.0.0
282
284
 
283
285
  ## Authors
284
286
 
285
- * **Kevin Homan** - *Initial work and project lead* - WDCR Time Trials Chief Competition Director
287
+ * **Kevin Homan**
286
288
 
287
289
  ## License
288
290
 
@@ -13,3 +13,4 @@ mypy>=1.0.0
13
13
  isort>=5.12.0
14
14
  bandit>=1.7.0
15
15
  safety>=2.3.0
16
+ pre-commit>=3.5.0
@@ -4,11 +4,11 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "hpde-analytics-cli"
7
- version = "1.0.0"
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.8"
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 = ["py38", "py39", "py310", "py311", "py312"]
74
+ target-version = ["py39", "py310", "py311", "py312", "py313"]
73
75
 
74
76
  [tool.pytest.ini_options]
75
77
  testpaths = ["tests"]