pilot-platform-common 2.12.2__tar.gz → 2.12.3__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.
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/PKG-INFO +20 -25
- pilot_platform_common-2.12.3/common/project/README.md +157 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/pyproject.toml +20 -7
- pilot_platform_common-2.12.2/pilot_platform_common.egg-info/PKG-INFO +0 -71
- pilot_platform_common-2.12.2/pilot_platform_common.egg-info/SOURCES.txt +0 -55
- pilot_platform_common-2.12.2/pilot_platform_common.egg-info/dependency_links.txt +0 -1
- pilot_platform_common-2.12.2/pilot_platform_common.egg-info/requires.txt +0 -12
- pilot_platform_common-2.12.2/pilot_platform_common.egg-info/top_level.txt +0 -2
- pilot_platform_common-2.12.2/setup.cfg +0 -4
- pilot_platform_common-2.12.2/setup.py +0 -47
- pilot_platform_common-2.12.2/tests/__init__.py +0 -3
- pilot_platform_common-2.12.2/tests/conftest.py +0 -274
- pilot_platform_common-2.12.2/tests/fixtures/__init__.py +0 -3
- pilot_platform_common-2.12.2/tests/fixtures/fake.py +0 -21
- pilot_platform_common-2.12.2/tests/fixtures/metadata.py +0 -21
- pilot_platform_common-2.12.2/tests/permissions/__init__.py +0 -3
- pilot_platform_common-2.12.2/tests/permissions/test_auth_client.py +0 -53
- pilot_platform_common-2.12.2/tests/permissions/test_permissions.py +0 -554
- pilot_platform_common-2.12.2/tests/permissions/test_permissions_manager.py +0 -93
- pilot_platform_common-2.12.2/tests/test_formatter.py +0 -68
- pilot_platform_common-2.12.2/tests/test_geid_client.py +0 -19
- pilot_platform_common-2.12.2/tests/test_jwt_handler.py +0 -147
- pilot_platform_common-2.12.2/tests/test_logging.py +0 -107
- pilot_platform_common-2.12.2/tests/test_project_client.py +0 -191
- pilot_platform_common-2.12.2/tests/test_vault_client.py +0 -38
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/README.md +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/__init__.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/geid/__init__.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/geid/geid_client.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/jwt_handler/JWTHandler.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/jwt_handler/__init__.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/jwt_handler/jwt_handler_exception.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/jwt_handler/models.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/logging/__init__.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/logging/formatter.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/logging/logger.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/logging/logging.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/models/__init__.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/models/config_center_policy.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/models/service_id_generator.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/object_storage_adaptor/__init__.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/object_storage_adaptor/base_client.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/object_storage_adaptor/boto3_admin_client.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/object_storage_adaptor/boto3_client.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/object_storage_adaptor/minio_policy_client.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/permissions/__init__.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/permissions/exceptions.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/permissions/permissions.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/permissions/permissions_manager.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/permissions/schemas.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/project/__init__.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/project/project_client.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/project/project_exceptions.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/services/__init__.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/services/auth_client.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/vault/__init__.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/vault/vault_client.py +0 -0
- {pilot_platform_common-2.12.2 → pilot_platform_common-2.12.3}/common/vault/vault_exception.py +0 -0
|
@@ -1,36 +1,30 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: pilot-platform-common
|
|
3
|
-
Version: 2.12.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 2.12.3
|
|
4
|
+
Summary: Common package used by various Pilot microservices.
|
|
5
5
|
Author: Indoc Systems
|
|
6
6
|
Author-email: support@indocsystems.com
|
|
7
|
+
Requires-Python: >=3.10,<3.13
|
|
8
|
+
Classifier: Operating System :: OS Independent
|
|
7
9
|
Classifier: Programming Language :: Python :: 3
|
|
8
10
|
Classifier: Programming Language :: Python :: 3.10
|
|
9
11
|
Classifier: Programming Language :: Python :: 3.11
|
|
10
12
|
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
-
|
|
12
|
-
Requires-
|
|
13
|
+
Requires-Dist: aioboto3 (>=14.3.0,<15.0.0)
|
|
14
|
+
Requires-Dist: cryptography (>=44.0.2,<45.0.0)
|
|
15
|
+
Requires-Dist: dicttoxml (>=1.7.16,<2.0.0)
|
|
16
|
+
Requires-Dist: httpx (>=0.28.1,<0.29.0)
|
|
17
|
+
Requires-Dist: minio (>=7.2.15,<8.0.0)
|
|
18
|
+
Requires-Dist: opentelemetry-instrumentation-fastapi (>=0.53b1,<0.54)
|
|
19
|
+
Requires-Dist: opentelemetry-sdk (>=1.32.1,<2.0.0)
|
|
20
|
+
Requires-Dist: pydantic (>=2.7.1,<3.0.0)
|
|
21
|
+
Requires-Dist: pyjwt (>=2.10.1,<3.0.0)
|
|
22
|
+
Requires-Dist: python-dotenv (>=0.19.1)
|
|
23
|
+
Requires-Dist: python-json-logger (>=0.1.11,<=2.02)
|
|
24
|
+
Requires-Dist: redis (>=4.5.0,<7.0.0)
|
|
25
|
+
Requires-Dist: starlette (>=0.40.0,<0.47.0)
|
|
26
|
+
Requires-Dist: xmltodict (>=0.14.2,<0.15.0)
|
|
13
27
|
Description-Content-Type: text/markdown
|
|
14
|
-
Requires-Dist: python-dotenv>=0.19.1
|
|
15
|
-
Requires-Dist: httpx==0.28.1
|
|
16
|
-
Requires-Dist: redis<7.0.0,>=4.5.0
|
|
17
|
-
Requires-Dist: aioboto3==14.3.0
|
|
18
|
-
Requires-Dist: xmltodict==0.14.2
|
|
19
|
-
Requires-Dist: minio==7.2.15
|
|
20
|
-
Requires-Dist: python-json-logger==2.0.2
|
|
21
|
-
Requires-Dist: pyjwt==2.10.1
|
|
22
|
-
Requires-Dist: starlette<0.47.0,>=0.40.0
|
|
23
|
-
Requires-Dist: requests<2.32.0,>=2.26.0
|
|
24
|
-
Requires-Dist: cryptography==44.0.2
|
|
25
|
-
Requires-Dist: pydantic<3.0.0,>=2.7.1
|
|
26
|
-
Dynamic: author
|
|
27
|
-
Dynamic: author-email
|
|
28
|
-
Dynamic: classifier
|
|
29
|
-
Dynamic: description
|
|
30
|
-
Dynamic: description-content-type
|
|
31
|
-
Dynamic: requires-dist
|
|
32
|
-
Dynamic: requires-python
|
|
33
|
-
Dynamic: summary
|
|
34
28
|
|
|
35
29
|
# common
|
|
36
30
|
|
|
@@ -69,3 +63,4 @@ You can contribute the project in following ways:
|
|
|
69
63
|
* Suggest a feature.
|
|
70
64
|
* Open a pull request for fixing issues or adding functionality. Please consider using [pre-commit](https://pre-commit.com) in this case.
|
|
71
65
|
* For general guidelines on how to contribute to the project, please take a look at the [contribution guide](CONTRIBUTING.md).
|
|
66
|
+
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Project Client
|
|
2
|
+
|
|
3
|
+
A layer to simplify calling project APIs
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
### Handle Exceptions
|
|
8
|
+
|
|
9
|
+
Setup error handles in flask/fastapi to allow for automically handling of the exception. Alternatively, you can catch the exceptions manually in your code.
|
|
10
|
+
|
|
11
|
+
Flask
|
|
12
|
+
```python
|
|
13
|
+
from common import ProjectException
|
|
14
|
+
|
|
15
|
+
@app.errorhandler(ProjectException)
|
|
16
|
+
def http_exception_handler(exc: ProjectException):
|
|
17
|
+
return exc.content, exc.status_code
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
FastAPI
|
|
21
|
+
```python
|
|
22
|
+
from common import ProjectException
|
|
23
|
+
|
|
24
|
+
@app.exception_handler(ProjectException)
|
|
25
|
+
def http_exception_handler(request: Request, exc: ProjectException):
|
|
26
|
+
return JSONResponse(
|
|
27
|
+
status_code=exc.status_code,
|
|
28
|
+
content=exc.content,
|
|
29
|
+
)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Manually
|
|
33
|
+
```python
|
|
34
|
+
from common import ProjectException
|
|
35
|
+
|
|
36
|
+
try:
|
|
37
|
+
<code>
|
|
38
|
+
except ProjectException as e:
|
|
39
|
+
<code>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Initialize client
|
|
43
|
+
|
|
44
|
+
There are two client, ProjectClient and ProjectClientSync. For async support use ProjectClient. Both clients should be identical other then async support.
|
|
45
|
+
|
|
46
|
+
REDIS_URL should be in the format `redis://<REDIS_USER>:<REDIS_PASS>@<REDIS_HOST>:<REDIS_PORT>` (`<REDIS_USER>` is the default user in this case)
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
from common import ProjectClient
|
|
50
|
+
|
|
51
|
+
project_client = ProjectClient(ConfigClass.PROJECT_SERVICE, ConfigClass.REDIS_URL)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Get by code or id
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
from common import ProjectClient
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
project_client = ProjectClient(ConfigClass.PROJECT_SERVICE, ConfigClass.REDIS_URL)
|
|
61
|
+
project = await project_client.get(code='indoctestproject')
|
|
62
|
+
project = await project_client.get(id='6fc2201b-272a-4e1e-8fb8-a21ca84208d7')
|
|
63
|
+
|
|
64
|
+
print(project.name)
|
|
65
|
+
print(project.json()) # converts the project to a dict
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Search for project
|
|
69
|
+
|
|
70
|
+
```python
|
|
71
|
+
from common import ProjectClient
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
project_client = ProjectClient(ConfigClass.PROJECT_SERVICE, ConfigClass.REDIS_URL)
|
|
75
|
+
results = await project_client.search(
|
|
76
|
+
page=1,
|
|
77
|
+
page_size=10,
|
|
78
|
+
description='test'
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
# Sorting
|
|
82
|
+
results = await project_client.search(
|
|
83
|
+
page=1,
|
|
84
|
+
page_size=10,
|
|
85
|
+
order_by='created_at', # name, code also supported
|
|
86
|
+
order_type='asc', # or desc
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
# Create time range
|
|
90
|
+
results = await project_client.search(
|
|
91
|
+
page=1,
|
|
92
|
+
page_size=10,
|
|
93
|
+
created_at_start=1653494559, # or datetime in ISO format
|
|
94
|
+
created_at_start=1653494559,
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
# Tags format
|
|
98
|
+
results = await project_client.search(
|
|
99
|
+
page=1,
|
|
100
|
+
page_size=10,
|
|
101
|
+
tags_all='test1,test2'
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
# Batch search by code
|
|
105
|
+
results = await project_client.search(
|
|
106
|
+
page=1,
|
|
107
|
+
page_size=10,
|
|
108
|
+
code_any='code1,code2'
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
print(results["page"])
|
|
112
|
+
print(results["page_size"])
|
|
113
|
+
for project in results["results"]:
|
|
114
|
+
print(project.name)
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
### Create project
|
|
119
|
+
|
|
120
|
+
```python
|
|
121
|
+
from common import ProjectClient
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
project_client = ProjectClient(ConfigClass.PROJECT_SERVICE, ConfigClass.REDIS_URL)
|
|
125
|
+
project = await project_client.create(
|
|
126
|
+
code="gregtestnewproject3",
|
|
127
|
+
name="Greg Test New Project",
|
|
128
|
+
description="Greg is testing new projects",
|
|
129
|
+
tags=["greg", "test"],
|
|
130
|
+
system_tags=["copied-to-core"],
|
|
131
|
+
image_url="http://example.com/image.jpeg",
|
|
132
|
+
is_discoverable=True,
|
|
133
|
+
)
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Update project
|
|
137
|
+
|
|
138
|
+
```python
|
|
139
|
+
from common import ProjectClient
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
project_client = ProjectClient(ConfigClass.PROJECT_SERVICE, ConfigClass.REDIS_URL)
|
|
143
|
+
project = await project.get('indoctestproject')
|
|
144
|
+
await project.update(description="Changed3")
|
|
145
|
+
print(project.name)
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Upload logo
|
|
149
|
+
|
|
150
|
+
```python
|
|
151
|
+
from common import ProjectClient
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
project_client = ProjectClient(ConfigClass.PROJECT_SERVICE, ConfigClass.REDIS_URL)
|
|
155
|
+
project = await project.get('indoctestproject')
|
|
156
|
+
project.upload_logo("<base64 encoded image data>")
|
|
157
|
+
```
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
|
-
name = "common"
|
|
3
|
-
version = "2.12.
|
|
2
|
+
name = "pilot-platform-common"
|
|
3
|
+
version = "2.12.3"
|
|
4
4
|
description = "Common package used by various Pilot microservices."
|
|
5
|
-
authors = ["Indoc Systems"]
|
|
5
|
+
authors = ["Indoc Systems <support@indocsystems.com>"]
|
|
6
|
+
readme = "README.md"
|
|
7
|
+
classifiers = [
|
|
8
|
+
"Programming Language :: Python :: 3",
|
|
9
|
+
"Programming Language :: Python :: 3.10",
|
|
10
|
+
"Programming Language :: Python :: 3.11",
|
|
11
|
+
"Programming Language :: Python :: 3.12",
|
|
12
|
+
"Operating System :: OS Independent"
|
|
13
|
+
]
|
|
14
|
+
packages = [
|
|
15
|
+
{ include = "common" }
|
|
16
|
+
]
|
|
6
17
|
|
|
7
18
|
[tool.poetry.dependencies]
|
|
8
19
|
python = ">=3.10,<3.13"
|
|
@@ -16,7 +27,7 @@ pyjwt = "^2.10.1"
|
|
|
16
27
|
redis = ">=4.5.0,<7.0.0"
|
|
17
28
|
starlette = ">=0.40.0,<0.47.0"
|
|
18
29
|
cryptography = "^44.0.2"
|
|
19
|
-
pydantic = "
|
|
30
|
+
pydantic = ">=2.7.1,<3.0.0"
|
|
20
31
|
opentelemetry-instrumentation-fastapi = "^0.53b1"
|
|
21
32
|
opentelemetry-sdk = "^1.32.1"
|
|
22
33
|
dicttoxml = "^1.7.16"
|
|
@@ -39,9 +50,11 @@ asyncio_mode = "auto"
|
|
|
39
50
|
plugins = ["pydantic.mypy"]
|
|
40
51
|
ignore_missing_imports = true
|
|
41
52
|
|
|
42
|
-
[tool.coverage.run]
|
|
43
|
-
omit = ["./setup.py"]
|
|
44
|
-
|
|
45
53
|
[build-system]
|
|
46
54
|
requires = ["poetry-core>=1.0.0"]
|
|
47
55
|
build-backend = "poetry.core.masonry.api"
|
|
56
|
+
|
|
57
|
+
include = [
|
|
58
|
+
{ path = "common/**/*.crt", format = "file" },
|
|
59
|
+
{ path = "README.md", format = "text/markdown" }
|
|
60
|
+
]
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: pilot-platform-common
|
|
3
|
-
Version: 2.12.2
|
|
4
|
-
Summary: Generates entity ID and connects with Vault (secret engine) to retrieve credentials
|
|
5
|
-
Author: Indoc Systems
|
|
6
|
-
Author-email: support@indocsystems.com
|
|
7
|
-
Classifier: Programming Language :: Python :: 3
|
|
8
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
9
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
-
Classifier: Operating System :: OS Independent
|
|
12
|
-
Requires-Python: >=3.10,<3.13
|
|
13
|
-
Description-Content-Type: text/markdown
|
|
14
|
-
Requires-Dist: python-dotenv>=0.19.1
|
|
15
|
-
Requires-Dist: httpx==0.28.1
|
|
16
|
-
Requires-Dist: redis<7.0.0,>=4.5.0
|
|
17
|
-
Requires-Dist: aioboto3==14.3.0
|
|
18
|
-
Requires-Dist: xmltodict==0.14.2
|
|
19
|
-
Requires-Dist: minio==7.2.15
|
|
20
|
-
Requires-Dist: python-json-logger==2.0.2
|
|
21
|
-
Requires-Dist: pyjwt==2.10.1
|
|
22
|
-
Requires-Dist: starlette<0.47.0,>=0.40.0
|
|
23
|
-
Requires-Dist: requests<2.32.0,>=2.26.0
|
|
24
|
-
Requires-Dist: cryptography==44.0.2
|
|
25
|
-
Requires-Dist: pydantic<3.0.0,>=2.7.1
|
|
26
|
-
Dynamic: author
|
|
27
|
-
Dynamic: author-email
|
|
28
|
-
Dynamic: classifier
|
|
29
|
-
Dynamic: description
|
|
30
|
-
Dynamic: description-content-type
|
|
31
|
-
Dynamic: requires-dist
|
|
32
|
-
Dynamic: requires-python
|
|
33
|
-
Dynamic: summary
|
|
34
|
-
|
|
35
|
-
# common
|
|
36
|
-
|
|
37
|
-
[](https://github.com/PilotDataPlatform/common/actions/workflows/run-tests.yml)
|
|
38
|
-
[](https://www.python.org/)
|
|
39
|
-
[](https://pypi.org/project/pilot-platform-common/)
|
|
40
|
-
|
|
41
|
-
Importable package responsible for cross-service tasks within the Pilot Platform (e.g. logging, Vault connection, etc.).
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
## Getting Started
|
|
45
|
-
|
|
46
|
-
### Installation & Quick Start
|
|
47
|
-
The latest version of the common package is available on [PyPi](https://pypi.org/project/pilot-platform-common/) and can be installed into another service via Pip.
|
|
48
|
-
|
|
49
|
-
Pip install from PyPi:
|
|
50
|
-
```
|
|
51
|
-
pip install pilot-platform-common
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
In `pyproject.toml`:
|
|
55
|
-
```
|
|
56
|
-
pilot-platform-common = "^<VERSION>"
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Pip install from a local `.whl` file:
|
|
60
|
-
```
|
|
61
|
-
pip install pilot_platform_common-<VERSION>-py3-none-any.whl
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## Contribution
|
|
65
|
-
|
|
66
|
-
You can contribute the project in following ways:
|
|
67
|
-
|
|
68
|
-
* Report a bug.
|
|
69
|
-
* Suggest a feature.
|
|
70
|
-
* Open a pull request for fixing issues or adding functionality. Please consider using [pre-commit](https://pre-commit.com) in this case.
|
|
71
|
-
* For general guidelines on how to contribute to the project, please take a look at the [contribution guide](CONTRIBUTING.md).
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
README.md
|
|
2
|
-
pyproject.toml
|
|
3
|
-
setup.py
|
|
4
|
-
common/__init__.py
|
|
5
|
-
common/geid/__init__.py
|
|
6
|
-
common/geid/geid_client.py
|
|
7
|
-
common/jwt_handler/JWTHandler.py
|
|
8
|
-
common/jwt_handler/__init__.py
|
|
9
|
-
common/jwt_handler/jwt_handler_exception.py
|
|
10
|
-
common/jwt_handler/models.py
|
|
11
|
-
common/logging/__init__.py
|
|
12
|
-
common/logging/formatter.py
|
|
13
|
-
common/logging/logger.py
|
|
14
|
-
common/logging/logging.py
|
|
15
|
-
common/models/__init__.py
|
|
16
|
-
common/models/config_center_policy.py
|
|
17
|
-
common/models/service_id_generator.py
|
|
18
|
-
common/object_storage_adaptor/__init__.py
|
|
19
|
-
common/object_storage_adaptor/base_client.py
|
|
20
|
-
common/object_storage_adaptor/boto3_admin_client.py
|
|
21
|
-
common/object_storage_adaptor/boto3_client.py
|
|
22
|
-
common/object_storage_adaptor/minio_policy_client.py
|
|
23
|
-
common/permissions/__init__.py
|
|
24
|
-
common/permissions/exceptions.py
|
|
25
|
-
common/permissions/permissions.py
|
|
26
|
-
common/permissions/permissions_manager.py
|
|
27
|
-
common/permissions/schemas.py
|
|
28
|
-
common/project/__init__.py
|
|
29
|
-
common/project/project_client.py
|
|
30
|
-
common/project/project_exceptions.py
|
|
31
|
-
common/services/__init__.py
|
|
32
|
-
common/services/auth_client.py
|
|
33
|
-
common/vault/__init__.py
|
|
34
|
-
common/vault/vault_client.py
|
|
35
|
-
common/vault/vault_exception.py
|
|
36
|
-
pilot_platform_common.egg-info/PKG-INFO
|
|
37
|
-
pilot_platform_common.egg-info/SOURCES.txt
|
|
38
|
-
pilot_platform_common.egg-info/dependency_links.txt
|
|
39
|
-
pilot_platform_common.egg-info/requires.txt
|
|
40
|
-
pilot_platform_common.egg-info/top_level.txt
|
|
41
|
-
tests/__init__.py
|
|
42
|
-
tests/conftest.py
|
|
43
|
-
tests/test_formatter.py
|
|
44
|
-
tests/test_geid_client.py
|
|
45
|
-
tests/test_jwt_handler.py
|
|
46
|
-
tests/test_logging.py
|
|
47
|
-
tests/test_project_client.py
|
|
48
|
-
tests/test_vault_client.py
|
|
49
|
-
tests/fixtures/__init__.py
|
|
50
|
-
tests/fixtures/fake.py
|
|
51
|
-
tests/fixtures/metadata.py
|
|
52
|
-
tests/permissions/__init__.py
|
|
53
|
-
tests/permissions/test_auth_client.py
|
|
54
|
-
tests/permissions/test_permissions.py
|
|
55
|
-
tests/permissions/test_permissions_manager.py
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
python-dotenv>=0.19.1
|
|
2
|
-
httpx==0.28.1
|
|
3
|
-
redis<7.0.0,>=4.5.0
|
|
4
|
-
aioboto3==14.3.0
|
|
5
|
-
xmltodict==0.14.2
|
|
6
|
-
minio==7.2.15
|
|
7
|
-
python-json-logger==2.0.2
|
|
8
|
-
pyjwt==2.10.1
|
|
9
|
-
starlette<0.47.0,>=0.40.0
|
|
10
|
-
requests<2.32.0,>=2.26.0
|
|
11
|
-
cryptography==44.0.2
|
|
12
|
-
pydantic<3.0.0,>=2.7.1
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# Copyright (C) 2022-2025 Indoc Systems
|
|
2
|
-
#
|
|
3
|
-
# Contact Indoc Systems for any questions regarding the use of this source code.
|
|
4
|
-
|
|
5
|
-
from pathlib import Path
|
|
6
|
-
|
|
7
|
-
import setuptools
|
|
8
|
-
|
|
9
|
-
this_directory = Path(__file__).parent
|
|
10
|
-
long_description = (this_directory / 'README.md').read_text()
|
|
11
|
-
|
|
12
|
-
setuptools.setup(
|
|
13
|
-
name='pilot-platform-common',
|
|
14
|
-
version='2.12.2',
|
|
15
|
-
author='Indoc Systems',
|
|
16
|
-
author_email='support@indocsystems.com',
|
|
17
|
-
description='Generates entity ID and connects with Vault (secret engine) to retrieve credentials',
|
|
18
|
-
long_description=long_description,
|
|
19
|
-
long_description_content_type='text/markdown',
|
|
20
|
-
packages=setuptools.find_packages(),
|
|
21
|
-
classifiers=[
|
|
22
|
-
'Programming Language :: Python :: 3',
|
|
23
|
-
'Programming Language :: Python :: 3.10',
|
|
24
|
-
'Programming Language :: Python :: 3.11',
|
|
25
|
-
'Programming Language :: Python :: 3.12',
|
|
26
|
-
'Operating System :: OS Independent',
|
|
27
|
-
],
|
|
28
|
-
python_requires='>=3.10,<3.13',
|
|
29
|
-
install_requires=[
|
|
30
|
-
'python-dotenv>=0.19.1',
|
|
31
|
-
'httpx==0.28.1',
|
|
32
|
-
'redis>=4.5.0,<7.0.0',
|
|
33
|
-
'aioboto3==14.3.0',
|
|
34
|
-
'xmltodict==0.14.2',
|
|
35
|
-
'minio==7.2.15',
|
|
36
|
-
'python-json-logger==2.0.2',
|
|
37
|
-
'pyjwt==2.10.1',
|
|
38
|
-
'starlette>=0.40.0,<0.47.0',
|
|
39
|
-
'requests>=2.26.0,<2.32.0',
|
|
40
|
-
'cryptography==44.0.2',
|
|
41
|
-
'pydantic>=2.7.1,<3.0.0',
|
|
42
|
-
],
|
|
43
|
-
include_package_data=True,
|
|
44
|
-
package_data={
|
|
45
|
-
'': ['*.crt'],
|
|
46
|
-
},
|
|
47
|
-
)
|