data-sourcerer 0.2.0__tar.gz → 0.2.1__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.
- {data_sourcerer-0.2.0 → data_sourcerer-0.2.1}/PKG-INFO +20 -21
- {data_sourcerer-0.2.0 → data_sourcerer-0.2.1}/README.md +2 -2
- {data_sourcerer-0.2.0 → data_sourcerer-0.2.1}/pyproject.toml +7 -3
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/__init__.py +1 -1
- data_sourcerer-0.2.0/.coderabbit.yaml +0 -49
- data_sourcerer-0.2.0/.github/workflows/bandit.yml +0 -27
- data_sourcerer-0.2.0/.github/workflows/deploy_docs.yml +0 -28
- data_sourcerer-0.2.0/.github/workflows/pylint.yml +0 -28
- data_sourcerer-0.2.0/.github/workflows/pyright.yml +0 -26
- data_sourcerer-0.2.0/.github/workflows/ruff.yml +0 -25
- data_sourcerer-0.2.0/.github/workflows/run_tests.yml +0 -23
- data_sourcerer-0.2.0/.pre-commit-config.yaml +0 -10
- data_sourcerer-0.2.0/.pylintrc +0 -644
- data_sourcerer-0.2.0/docs/assets/billie-holiday.png +0 -0
- data_sourcerer-0.2.0/docs/assets/creds_registration.gif +0 -0
- data_sourcerer-0.2.0/docs/assets/keys_operations.gif +0 -0
- data_sourcerer-0.2.0/docs/assets/layer-1.png +0 -0
- data_sourcerer-0.2.0/docs/assets/layer-2.png +0 -0
- data_sourcerer-0.2.0/docs/assets/layer-3.png +0 -0
- data_sourcerer-0.2.0/docs/assets/layer-4.png +0 -0
- data_sourcerer-0.2.0/docs/assets/layer-5.png +0 -0
- data_sourcerer-0.2.0/docs/guides/register_credentials.md +0 -1
- data_sourcerer-0.2.0/docs/index.md +0 -4
- data_sourcerer-0.2.0/docs/js/parallax.js +0 -33
- data_sourcerer-0.2.0/docs/overrides/home.html +0 -312
- data_sourcerer-0.2.0/docs/roadmap.md +0 -49
- data_sourcerer-0.2.0/docs/styles/styles.css +0 -0
- data_sourcerer-0.2.0/media/creds_registration.gif +0 -0
- data_sourcerer-0.2.0/media/keys_operations.gif +0 -0
- data_sourcerer-0.2.0/mkdocs.yml +0 -63
- data_sourcerer-0.2.0/setup.cfg +0 -4
- data_sourcerer-0.2.0/src/data_sourcerer.egg-info/PKG-INFO +0 -73
- data_sourcerer-0.2.0/src/data_sourcerer.egg-info/SOURCES.txt +0 -143
- data_sourcerer-0.2.0/src/data_sourcerer.egg-info/dependency_links.txt +0 -1
- data_sourcerer-0.2.0/src/data_sourcerer.egg-info/entry_points.txt +0 -2
- data_sourcerer-0.2.0/src/data_sourcerer.egg-info/requires.txt +0 -25
- data_sourcerer-0.2.0/src/data_sourcerer.egg-info/top_level.txt +0 -1
- data_sourcerer-0.2.0/tests/README.md +0 -57
- data_sourcerer-0.2.0/tests/__init__.py +0 -0
- data_sourcerer-0.2.0/tests/sourcerer/__init__.py +0 -0
- data_sourcerer-0.2.0/tests/sourcerer/access_credentials/__init__.py +0 -0
- data_sourcerer-0.2.0/tests/sourcerer/access_credentials/test_registry.py +0 -119
- data_sourcerer-0.2.0/tests/sourcerer/access_credentials/test_repositories.py +0 -131
- data_sourcerer-0.2.0/tests/sourcerer/access_credentials/test_services.py +0 -461
- data_sourcerer-0.2.0/tests/sourcerer/db/__init__.py +0 -0
- data_sourcerer-0.2.0/tests/sourcerer/db/test_models.py +0 -66
- data_sourcerer-0.2.0/tests/sourcerer/file_system/__init__.py +0 -0
- data_sourcerer-0.2.0/tests/sourcerer/file_system/test_services.py +0 -99
- data_sourcerer-0.2.0/tests/sourcerer/storage_provider/__init__.py +0 -0
- data_sourcerer-0.2.0/tests/sourcerer/storage_provider/test_registry.py +0 -82
- data_sourcerer-0.2.0/tests/sourcerer/storage_provider/test_services.py +0 -919
- data_sourcerer-0.2.0/uv.lock +0 -2885
- {data_sourcerer-0.2.0 → data_sourcerer-0.2.1}/.gitignore +0 -0
- {data_sourcerer-0.2.0 → data_sourcerer-0.2.1}/LICENSE +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/access_credentials/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/access_credentials/entities.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/access_credentials/exceptions.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/access_credentials/repositories.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/access_credentials/services.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/file_system/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/file_system/entities.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/file_system/exceptions.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/file_system/services.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/shared/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/shared/entities.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/storage_provider/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/storage_provider/entities.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/storage_provider/exceptions.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/storage_provider/services.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/access_credentials/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/access_credentials/exceptions.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/access_credentials/registry.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/access_credentials/repositories.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/access_credentials/services.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/db/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/db/config.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/db/models.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/file_system/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/file_system/exceptions.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/file_system/services.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/storage_provider/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/storage_provider/exceptions.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/storage_provider/registry.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/storage_provider/services/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/storage_provider/services/azure.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/storage_provider/services/gcp.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/storage_provider/services/s3.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/utils.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/app.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/di_container.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/critical_error/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/critical_error/main.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/critical_error/styles.tcss +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/file_system_finder/main.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/file_system_finder/styles.tcss +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/file_system_finder/widgets/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/file_system_finder/widgets/file_system_navigator.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/main.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/messages/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/messages/delete_request.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/messages/download_request.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/messages/preview_request.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/messages/resizing_rule.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/messages/select_storage_item.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/messages/uncheck_files_request.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/messages/upload_request.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/mixins/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/mixins/resize_containers_watcher_mixin.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/styles.tcss +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/widgets/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/widgets/gradient.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/widgets/resizing_rule.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/widgets/storage_content.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/widgets/storage_list_sidebar.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/preview_content/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/preview_content/main.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/preview_content/styles.tcss +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/provider_creds_list/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/provider_creds_list/main.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/provider_creds_list/styles.tcss +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/provider_creds_registration/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/provider_creds_registration/main.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/provider_creds_registration/styles.tcss +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/question/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/question/main.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/question/styles.tcss +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/shared/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/shared/containers.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/shared/widgets/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/shared/widgets/button.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/shared/widgets/labeled_input.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/storage_action_progress/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/storage_action_progress/main.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/storage_action_progress/styles.tcss +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/settings.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/themes/__init__.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/themes/github_dark.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/utils.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/settings.py +0 -0
- {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/utils.py +0 -0
@@ -1,42 +1,41 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: data-sourcerer
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.1
|
4
4
|
Summary: Sourcerer is a terminal cloud storage navigator.
|
5
5
|
Author-email: Bohdana Kuzmenko <bohdana.kuzmenko.dev@gmail.com>
|
6
6
|
License: MIT
|
7
|
-
Keywords: cloud,s3,gcp,cli,terminal,storage,textual,ui
|
8
|
-
Requires-Python: >=3.9
|
9
|
-
Description-Content-Type: text/markdown
|
10
7
|
License-File: LICENSE
|
8
|
+
Keywords: cli,cloud,gcp,s3,storage,terminal,textual,ui
|
9
|
+
Requires-Python: >=3.9
|
10
|
+
Requires-Dist: azure-identity<2.0.0,>=1.22.0
|
11
|
+
Requires-Dist: azure-mgmt-storage<23.0.0,>=22.2.0
|
12
|
+
Requires-Dist: azure-storage-blob<13.0.0,>=12.25.1
|
11
13
|
Requires-Dist: boto3<2.0.0,>=1.26.0
|
12
14
|
Requires-Dist: cryptography<45.0.0,>=44.0.2
|
13
15
|
Requires-Dist: dependency-injector<5.0.0,>=4.43.0
|
14
16
|
Requires-Dist: google-cloud-storage<4.0.0,>=3.1.0
|
15
17
|
Requires-Dist: humanize<5.0.0,>=4.12.1
|
16
|
-
Requires-Dist:
|
18
|
+
Requires-Dist: pyopenssl>=22.1.0; sys_platform == 'linux'
|
17
19
|
Requires-Dist: sqlalchemy-utils<1.0.0,>=0.41.2
|
20
|
+
Requires-Dist: sqlalchemy<3.0.0,>=2.0.38
|
18
21
|
Requires-Dist: textual[syntax]<4.0.0,>=2.0.0
|
19
|
-
Requires-Dist: pyOpenSSL>=22.1.0; sys_platform == "linux"
|
20
|
-
Requires-Dist: azure-storage-blob<13.0.0,>=12.25.1
|
21
|
-
Requires-Dist: azure-identity<2.0.0,>=1.22.0
|
22
|
-
Requires-Dist: azure-mgmt-storage<23.0.0,>=22.2.0
|
23
22
|
Provides-Extra: dev
|
24
|
-
Requires-Dist: bandit>=1.8.3; extra ==
|
25
|
-
Requires-Dist: black>=25.1.0; extra ==
|
26
|
-
Requires-Dist: coverage>=7.8.0; extra ==
|
27
|
-
Requires-Dist: mkdocs-material>=9.6.12; extra ==
|
28
|
-
Requires-Dist: pre-commit>=4.2.0; extra ==
|
29
|
-
Requires-Dist: pylint>=3.3.6; extra ==
|
30
|
-
Requires-Dist: pyright>=1.1.400; extra ==
|
31
|
-
Requires-Dist: ruff>=0.11.7; extra ==
|
32
|
-
Requires-Dist: textual-dev>=1.7.0; extra ==
|
33
|
-
|
23
|
+
Requires-Dist: bandit>=1.8.3; extra == 'dev'
|
24
|
+
Requires-Dist: black>=25.1.0; extra == 'dev'
|
25
|
+
Requires-Dist: coverage>=7.8.0; extra == 'dev'
|
26
|
+
Requires-Dist: mkdocs-material>=9.6.12; extra == 'dev'
|
27
|
+
Requires-Dist: pre-commit>=4.2.0; extra == 'dev'
|
28
|
+
Requires-Dist: pylint>=3.3.6; extra == 'dev'
|
29
|
+
Requires-Dist: pyright>=1.1.400; extra == 'dev'
|
30
|
+
Requires-Dist: ruff>=0.11.7; extra == 'dev'
|
31
|
+
Requires-Dist: textual-dev>=1.7.0; extra == 'dev'
|
32
|
+
Description-Content-Type: text/markdown
|
34
33
|
|
35
34
|
# 🧙♂️ Sourcerer
|
36
35
|
|
37
36
|
**Sourcerer** is a CLI-based cloud storage explorer that provides a unified interface for developers and DevOps
|
38
37
|
engineers to view and manage files across multiple cloud providers like
|
39
|
-
**GCP**, **AWS S3**, and **S3-compatible services**.
|
38
|
+
**GCP Storage**, **Azure Storage**, **AWS S3**, and **S3-compatible services**.
|
40
39
|
|
41
40
|
> Your terminal. Your storages. Your control.
|
42
41
|
|
@@ -44,7 +43,7 @@ engineers to view and manage files across multiple cloud providers like
|
|
44
43
|
|
45
44
|
## ✨ Features
|
46
45
|
|
47
|
-
- 🔍 Unified file browser for GCP, AWS S3, and S3-compatible services
|
46
|
+
- 🔍 Unified file browser for GCP Storage, Azure Storage, AWS S3, and S3-compatible services
|
48
47
|
- 🧭 Terminal UI (TUI) built with [Textual](https://github.com/Textualize/textual)
|
49
48
|
- 🗂️ Explore buckets and objects seamlessly
|
50
49
|
- 🔄 Upload, download, and delete files
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
**Sourcerer** is a CLI-based cloud storage explorer that provides a unified interface for developers and DevOps
|
4
4
|
engineers to view and manage files across multiple cloud providers like
|
5
|
-
**GCP**, **AWS S3**, and **S3-compatible services**.
|
5
|
+
**GCP Storage**, **Azure Storage**, **AWS S3**, and **S3-compatible services**.
|
6
6
|
|
7
7
|
> Your terminal. Your storages. Your control.
|
8
8
|
|
@@ -10,7 +10,7 @@ engineers to view and manage files across multiple cloud providers like
|
|
10
10
|
|
11
11
|
## ✨ Features
|
12
12
|
|
13
|
-
- 🔍 Unified file browser for GCP, AWS S3, and S3-compatible services
|
13
|
+
- 🔍 Unified file browser for GCP Storage, Azure Storage, AWS S3, and S3-compatible services
|
14
14
|
- 🧭 Terminal UI (TUI) built with [Textual](https://github.com/Textualize/textual)
|
15
15
|
- 🗂️ Explore buckets and objects seamlessly
|
16
16
|
- 🔄 Upload, download, and delete files
|
@@ -1,7 +1,7 @@
|
|
1
1
|
[project]
|
2
2
|
|
3
3
|
name = "data-sourcerer"
|
4
|
-
version = "0.2.
|
4
|
+
version = "0.2.1"
|
5
5
|
description = "Sourcerer is a terminal cloud storage navigator."
|
6
6
|
requires-python = ">=3.9"
|
7
7
|
|
@@ -33,8 +33,8 @@ dependencies = [
|
|
33
33
|
sourcerer = "sourcerer.presentation.app:main"
|
34
34
|
|
35
35
|
[build-system]
|
36
|
-
requires = ["
|
37
|
-
build-backend = "
|
36
|
+
requires = ["hatchling"]
|
37
|
+
build-backend = "hatchling.build"
|
38
38
|
|
39
39
|
[dependency-groups]
|
40
40
|
dev = [
|
@@ -96,3 +96,7 @@ unfixable = ["F401"] # unused imports - maybe you want to catch it manually
|
|
96
96
|
|
97
97
|
[tool.ruff.mccabe]
|
98
98
|
max-complexity = 10
|
99
|
+
|
100
|
+
[tool.hatch.build]
|
101
|
+
include = ["src"]
|
102
|
+
sources = ["src"]
|
@@ -1,49 +0,0 @@
|
|
1
|
-
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
|
2
|
-
language: "en"
|
3
|
-
early_access: true
|
4
|
-
reviews:
|
5
|
-
profile: "chill"
|
6
|
-
request_changes_workflow: false
|
7
|
-
high_level_summary: true
|
8
|
-
poem: false
|
9
|
-
review_status: true
|
10
|
-
collapse_walkthrough: false
|
11
|
-
path_instructions:
|
12
|
-
- path: "src/sourcerer/domain/**/*.py"
|
13
|
-
instructions: |
|
14
|
-
- Ensure domain models are immutable and follow DDD principles
|
15
|
-
- Verify that domain services are interface-driven
|
16
|
-
- Check for proper exception handling and domain-specific exceptions
|
17
|
-
- Validate that domain logic is independent of infrastructure
|
18
|
-
- Ensure pythonic codestyle and best practices are followed
|
19
|
-
- path: "src/sourcerer/infrastructure/**/*.py"
|
20
|
-
instructions: |
|
21
|
-
- Verify proper implementation of domain interfaces
|
22
|
-
- Check for appropriate error handling and mapping to domain exceptions
|
23
|
-
- Ensure infrastructure concerns are properly isolated
|
24
|
-
- Validate dependency injection usage
|
25
|
-
- Ensure pythonic codestyle and best practices are followed
|
26
|
-
- path: "src/sourcerer/presentation/**/*.py"
|
27
|
-
instructions: |
|
28
|
-
- Review UI component separation and responsibility
|
29
|
-
- Check proper use of dependency injection
|
30
|
-
- Verify error handling and user feedback
|
31
|
-
- Ensure presentation logic doesn't contain business rules
|
32
|
-
- Ensure pythonic codestyle and best practices are followed
|
33
|
-
- path: "tests/**/*"
|
34
|
-
instructions: |
|
35
|
-
- Assess the integration and e2e test code assessing sufficient code coverage for the changes associated in the pull request
|
36
|
-
- Ensure pythonic codestyle and best practices are followed
|
37
|
-
- path: "**/*.md"
|
38
|
-
instructions: |
|
39
|
-
"Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
|
40
|
-
auto_review:
|
41
|
-
enabled: false
|
42
|
-
ignore_title_keywords:
|
43
|
-
- "WIP"
|
44
|
-
- "DO NOT MERGE"
|
45
|
-
drafts: false
|
46
|
-
base_branches:
|
47
|
-
- "main"
|
48
|
-
chat:
|
49
|
-
auto_reply: true
|
@@ -1,27 +0,0 @@
|
|
1
|
-
name: Bandit
|
2
|
-
|
3
|
-
permissions:
|
4
|
-
contents: read
|
5
|
-
|
6
|
-
on: [ push ]
|
7
|
-
|
8
|
-
jobs:
|
9
|
-
build:
|
10
|
-
runs-on: ubuntu-latest
|
11
|
-
strategy:
|
12
|
-
matrix:
|
13
|
-
python-version: [ "3.12" ]
|
14
|
-
steps:
|
15
|
-
- uses: actions/checkout@v4
|
16
|
-
- name: Set up Python ${{ matrix.python-version }}
|
17
|
-
uses: actions/setup-python@v3
|
18
|
-
with:
|
19
|
-
python-version: ${{ matrix.python-version }}
|
20
|
-
- name: Install dependencies
|
21
|
-
run: |
|
22
|
-
python -m pip install --upgrade pip
|
23
|
-
pip install bandit
|
24
|
-
- name: Analysing the code with bandit
|
25
|
-
run: |
|
26
|
-
echo $PWD
|
27
|
-
bandit -a file $(git ls-files 'src/*.py')
|
@@ -1,28 +0,0 @@
|
|
1
|
-
name: deploy_docs
|
2
|
-
on:
|
3
|
-
push:
|
4
|
-
branches:
|
5
|
-
- main
|
6
|
-
permissions:
|
7
|
-
contents: write
|
8
|
-
jobs:
|
9
|
-
deploy:
|
10
|
-
runs-on: ubuntu-latest
|
11
|
-
steps:
|
12
|
-
- uses: actions/checkout@v4
|
13
|
-
- name: Configure Git Credentials
|
14
|
-
run: |
|
15
|
-
git config user.name github-actions[bot]
|
16
|
-
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
17
|
-
- uses: actions/setup-python@v5
|
18
|
-
with:
|
19
|
-
python-version: 3.x
|
20
|
-
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
|
21
|
-
- uses: actions/cache@v4
|
22
|
-
with:
|
23
|
-
key: mkdocs-material-${{ env.cache_id }}
|
24
|
-
path: .cache
|
25
|
-
restore-keys: |
|
26
|
-
mkdocs-material-
|
27
|
-
- run: pip install mkdocs-material
|
28
|
-
- run: mkdocs gh-deploy --force
|
@@ -1,28 +0,0 @@
|
|
1
|
-
name: Pylint
|
2
|
-
|
3
|
-
on: [ push ]
|
4
|
-
|
5
|
-
permissions:
|
6
|
-
contents: read
|
7
|
-
|
8
|
-
jobs:
|
9
|
-
build:
|
10
|
-
runs-on: ubuntu-latest
|
11
|
-
strategy:
|
12
|
-
matrix:
|
13
|
-
python-version: [ "3.12" ]
|
14
|
-
steps:
|
15
|
-
- uses: actions/checkout@v4
|
16
|
-
- name: Set up Python ${{ matrix.python-version }}
|
17
|
-
uses: actions/setup-python@v3
|
18
|
-
with:
|
19
|
-
python-version: ${{ matrix.python-version }}
|
20
|
-
- name: Install dependencies
|
21
|
-
run: |
|
22
|
-
python -m pip install --upgrade pip
|
23
|
-
pip install pylint
|
24
|
-
pip install .
|
25
|
-
- name: Analysing the code with pylint
|
26
|
-
run: |
|
27
|
-
echo $PWD
|
28
|
-
export PYTHONPATH="$PYTHONPATH:$PWD/src" && pylint $(git ls-files '*.py') --fail-under=7.5;
|
@@ -1,26 +0,0 @@
|
|
1
|
-
name: PyRight
|
2
|
-
|
3
|
-
on: [ push ]
|
4
|
-
|
5
|
-
permissions:
|
6
|
-
contents: read
|
7
|
-
|
8
|
-
jobs:
|
9
|
-
build:
|
10
|
-
|
11
|
-
runs-on: ubuntu-latest
|
12
|
-
|
13
|
-
steps:
|
14
|
-
- uses: actions/checkout@v4
|
15
|
-
- name: Set up Python 3.12
|
16
|
-
uses: actions/setup-python@v3
|
17
|
-
with:
|
18
|
-
python-version: "3.12"
|
19
|
-
- name: Install dependencies
|
20
|
-
run: |
|
21
|
-
python -m pip install --upgrade pip
|
22
|
-
pip install .
|
23
|
-
pip install pyright
|
24
|
-
- name: Lint with PyRight
|
25
|
-
run: |
|
26
|
-
pyright src
|
@@ -1,25 +0,0 @@
|
|
1
|
-
name: Ruff
|
2
|
-
|
3
|
-
on: [ push ]
|
4
|
-
|
5
|
-
permissions:
|
6
|
-
contents: read
|
7
|
-
|
8
|
-
jobs:
|
9
|
-
build:
|
10
|
-
|
11
|
-
runs-on: ubuntu-latest
|
12
|
-
|
13
|
-
steps:
|
14
|
-
- uses: actions/checkout@v4
|
15
|
-
- name: Set up Python 3.12
|
16
|
-
uses: actions/setup-python@v3
|
17
|
-
with:
|
18
|
-
python-version: "3.12"
|
19
|
-
- name: Install dependencies
|
20
|
-
run: |
|
21
|
-
python -m pip install --upgrade pip
|
22
|
-
pip install ruff
|
23
|
-
- name: Lint with Ruff
|
24
|
-
run: |
|
25
|
-
ruff check src
|
@@ -1,23 +0,0 @@
|
|
1
|
-
name: Unit tests
|
2
|
-
|
3
|
-
on: [push]
|
4
|
-
|
5
|
-
permissions:
|
6
|
-
contents: read
|
7
|
-
|
8
|
-
jobs:
|
9
|
-
build:
|
10
|
-
runs-on: ubuntu-latest
|
11
|
-
steps:
|
12
|
-
- uses: actions/checkout@v4
|
13
|
-
- name: Set up Python 3.12
|
14
|
-
uses: actions/setup-python@v5
|
15
|
-
with:
|
16
|
-
python-version: "3.12"
|
17
|
-
- name: Install dependencies
|
18
|
-
run: |
|
19
|
-
python -m pip install --upgrade pip
|
20
|
-
pip install .[dev]
|
21
|
-
- name: Run tests
|
22
|
-
run: |
|
23
|
-
export PYTHONPATH="$PYTHONPATH:$PWD/src" && coverage run -m unittest && coverage report -m
|