crypticorn-utils 0.1.1rc2__tar.gz → 0.1.2__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.
- {crypticorn_utils-0.1.1rc2/crypticorn_utils.egg-info → crypticorn_utils-0.1.2}/PKG-INFO +12 -1
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/README.md +11 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/auth.py +11 -2
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2/crypticorn_utils.egg-info}/PKG-INFO +12 -1
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/pyproject.toml +1 -1
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/LICENSE +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/MANIFEST.in +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/__init__.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/_migration.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/ansi_colors.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/decorators.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/enums.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/errors.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/exceptions.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/logging.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/metrics.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/middleware.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/mixins.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/openapi.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/pagination.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/router/admin_router.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/router/status_router.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/utils.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/warnings.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils.egg-info/SOURCES.txt +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils.egg-info/dependency_links.txt +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils.egg-info/entry_points.txt +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils.egg-info/requires.txt +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils.egg-info/top_level.txt +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/requirements/dev.txt +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/requirements/main.txt +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/requirements/test.txt +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/setup.cfg +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/tests/test_auth_client.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/tests/test_common_routers.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/tests/test_config.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/tests/test_enums.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/tests/test_errors.py +0 -0
- {crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/tests/test_pagination.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: crypticorn_utils
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.2
|
4
4
|
Summary: Shared utilities for the Crypticorn APIs
|
5
5
|
Author-email: Crypticorn <timon@crypticorn.com>
|
6
6
|
License-Expression: MIT
|
@@ -68,6 +68,17 @@ This module serves as a central place for providing utilities for our python bac
|
|
68
68
|
|
69
69
|
<!-- changelog-insertion -->
|
70
70
|
|
71
|
+
## v0.1.2 (2025-07-22)
|
72
|
+
|
73
|
+
### Bug Fixes
|
74
|
+
|
75
|
+
- Failing scope comparison in some environments
|
76
|
+
([`004495d`](https://github.com/crypticorn-ai/util-libraries/commit/004495da87b973f43b3e32abe96493dac1b6204a))
|
77
|
+
|
78
|
+
|
79
|
+
## v0.1.1 (2025-07-20)
|
80
|
+
|
81
|
+
|
71
82
|
## v0.1.1-rc.2 (2025-07-18)
|
72
83
|
|
73
84
|
### Bug Fixes
|
@@ -21,6 +21,17 @@ This module serves as a central place for providing utilities for our python bac
|
|
21
21
|
|
22
22
|
<!-- changelog-insertion -->
|
23
23
|
|
24
|
+
## v0.1.2 (2025-07-22)
|
25
|
+
|
26
|
+
### Bug Fixes
|
27
|
+
|
28
|
+
- Failing scope comparison in some environments
|
29
|
+
([`004495d`](https://github.com/crypticorn-ai/util-libraries/commit/004495da87b973f43b3e32abe96493dac1b6204a))
|
30
|
+
|
31
|
+
|
32
|
+
## v0.1.1 (2025-07-20)
|
33
|
+
|
34
|
+
|
24
35
|
## v0.1.1-rc.2 (2025-07-18)
|
25
36
|
|
26
37
|
### Bug Fixes
|
@@ -80,7 +80,7 @@ class AuthHandler:
|
|
80
80
|
return await self.client.login.verify_basic_auth(basic.username, basic.password)
|
81
81
|
|
82
82
|
async def _validate_scopes(
|
83
|
-
self, api_scopes: list[
|
83
|
+
self, api_scopes: list[str], user_scopes: list[str]
|
84
84
|
) -> bool:
|
85
85
|
"""
|
86
86
|
Checks if the required scopes are a subset of the user scopes.
|
@@ -92,6 +92,10 @@ class AuthHandler:
|
|
92
92
|
message="Insufficient scopes to access this resource (required: "
|
93
93
|
+ ", ".join(api_scopes)
|
94
94
|
+ ")",
|
95
|
+
details={
|
96
|
+
"required_scopes": api_scopes,
|
97
|
+
"granted_scopes": user_scopes,
|
98
|
+
},
|
95
99
|
),
|
96
100
|
)
|
97
101
|
|
@@ -277,7 +281,12 @@ class AuthHandler:
|
|
277
281
|
if res is None:
|
278
282
|
continue
|
279
283
|
if sec:
|
280
|
-
|
284
|
+
required = [
|
285
|
+
s.value if isinstance(s, Scope) else str(s)
|
286
|
+
for s in sec.scopes
|
287
|
+
]
|
288
|
+
granted = [str(s) for s in res.scopes]
|
289
|
+
await self._validate_scopes(required, granted)
|
281
290
|
return res
|
282
291
|
|
283
292
|
except Exception as e:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: crypticorn_utils
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.2
|
4
4
|
Summary: Shared utilities for the Crypticorn APIs
|
5
5
|
Author-email: Crypticorn <timon@crypticorn.com>
|
6
6
|
License-Expression: MIT
|
@@ -68,6 +68,17 @@ This module serves as a central place for providing utilities for our python bac
|
|
68
68
|
|
69
69
|
<!-- changelog-insertion -->
|
70
70
|
|
71
|
+
## v0.1.2 (2025-07-22)
|
72
|
+
|
73
|
+
### Bug Fixes
|
74
|
+
|
75
|
+
- Failing scope comparison in some environments
|
76
|
+
([`004495d`](https://github.com/crypticorn-ai/util-libraries/commit/004495da87b973f43b3e32abe96493dac1b6204a))
|
77
|
+
|
78
|
+
|
79
|
+
## v0.1.1 (2025-07-20)
|
80
|
+
|
81
|
+
|
71
82
|
## v0.1.1-rc.2 (2025-07-18)
|
72
83
|
|
73
84
|
### Bug Fixes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/router/admin_router.py
RENAMED
File without changes
|
{crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils/router/status_router.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils.egg-info/dependency_links.txt
RENAMED
File without changes
|
{crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils.egg-info/entry_points.txt
RENAMED
File without changes
|
File without changes
|
{crypticorn_utils-0.1.1rc2 → crypticorn_utils-0.1.2}/crypticorn_utils.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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|