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.
Files changed (145) hide show
  1. {data_sourcerer-0.2.0 → data_sourcerer-0.2.1}/PKG-INFO +20 -21
  2. {data_sourcerer-0.2.0 → data_sourcerer-0.2.1}/README.md +2 -2
  3. {data_sourcerer-0.2.0 → data_sourcerer-0.2.1}/pyproject.toml +7 -3
  4. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/__init__.py +1 -1
  5. data_sourcerer-0.2.0/.coderabbit.yaml +0 -49
  6. data_sourcerer-0.2.0/.github/workflows/bandit.yml +0 -27
  7. data_sourcerer-0.2.0/.github/workflows/deploy_docs.yml +0 -28
  8. data_sourcerer-0.2.0/.github/workflows/pylint.yml +0 -28
  9. data_sourcerer-0.2.0/.github/workflows/pyright.yml +0 -26
  10. data_sourcerer-0.2.0/.github/workflows/ruff.yml +0 -25
  11. data_sourcerer-0.2.0/.github/workflows/run_tests.yml +0 -23
  12. data_sourcerer-0.2.0/.pre-commit-config.yaml +0 -10
  13. data_sourcerer-0.2.0/.pylintrc +0 -644
  14. data_sourcerer-0.2.0/docs/assets/billie-holiday.png +0 -0
  15. data_sourcerer-0.2.0/docs/assets/creds_registration.gif +0 -0
  16. data_sourcerer-0.2.0/docs/assets/keys_operations.gif +0 -0
  17. data_sourcerer-0.2.0/docs/assets/layer-1.png +0 -0
  18. data_sourcerer-0.2.0/docs/assets/layer-2.png +0 -0
  19. data_sourcerer-0.2.0/docs/assets/layer-3.png +0 -0
  20. data_sourcerer-0.2.0/docs/assets/layer-4.png +0 -0
  21. data_sourcerer-0.2.0/docs/assets/layer-5.png +0 -0
  22. data_sourcerer-0.2.0/docs/guides/register_credentials.md +0 -1
  23. data_sourcerer-0.2.0/docs/index.md +0 -4
  24. data_sourcerer-0.2.0/docs/js/parallax.js +0 -33
  25. data_sourcerer-0.2.0/docs/overrides/home.html +0 -312
  26. data_sourcerer-0.2.0/docs/roadmap.md +0 -49
  27. data_sourcerer-0.2.0/docs/styles/styles.css +0 -0
  28. data_sourcerer-0.2.0/media/creds_registration.gif +0 -0
  29. data_sourcerer-0.2.0/media/keys_operations.gif +0 -0
  30. data_sourcerer-0.2.0/mkdocs.yml +0 -63
  31. data_sourcerer-0.2.0/setup.cfg +0 -4
  32. data_sourcerer-0.2.0/src/data_sourcerer.egg-info/PKG-INFO +0 -73
  33. data_sourcerer-0.2.0/src/data_sourcerer.egg-info/SOURCES.txt +0 -143
  34. data_sourcerer-0.2.0/src/data_sourcerer.egg-info/dependency_links.txt +0 -1
  35. data_sourcerer-0.2.0/src/data_sourcerer.egg-info/entry_points.txt +0 -2
  36. data_sourcerer-0.2.0/src/data_sourcerer.egg-info/requires.txt +0 -25
  37. data_sourcerer-0.2.0/src/data_sourcerer.egg-info/top_level.txt +0 -1
  38. data_sourcerer-0.2.0/tests/README.md +0 -57
  39. data_sourcerer-0.2.0/tests/__init__.py +0 -0
  40. data_sourcerer-0.2.0/tests/sourcerer/__init__.py +0 -0
  41. data_sourcerer-0.2.0/tests/sourcerer/access_credentials/__init__.py +0 -0
  42. data_sourcerer-0.2.0/tests/sourcerer/access_credentials/test_registry.py +0 -119
  43. data_sourcerer-0.2.0/tests/sourcerer/access_credentials/test_repositories.py +0 -131
  44. data_sourcerer-0.2.0/tests/sourcerer/access_credentials/test_services.py +0 -461
  45. data_sourcerer-0.2.0/tests/sourcerer/db/__init__.py +0 -0
  46. data_sourcerer-0.2.0/tests/sourcerer/db/test_models.py +0 -66
  47. data_sourcerer-0.2.0/tests/sourcerer/file_system/__init__.py +0 -0
  48. data_sourcerer-0.2.0/tests/sourcerer/file_system/test_services.py +0 -99
  49. data_sourcerer-0.2.0/tests/sourcerer/storage_provider/__init__.py +0 -0
  50. data_sourcerer-0.2.0/tests/sourcerer/storage_provider/test_registry.py +0 -82
  51. data_sourcerer-0.2.0/tests/sourcerer/storage_provider/test_services.py +0 -919
  52. data_sourcerer-0.2.0/uv.lock +0 -2885
  53. {data_sourcerer-0.2.0 → data_sourcerer-0.2.1}/.gitignore +0 -0
  54. {data_sourcerer-0.2.0 → data_sourcerer-0.2.1}/LICENSE +0 -0
  55. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/__init__.py +0 -0
  56. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/access_credentials/__init__.py +0 -0
  57. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/access_credentials/entities.py +0 -0
  58. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/access_credentials/exceptions.py +0 -0
  59. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/access_credentials/repositories.py +0 -0
  60. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/access_credentials/services.py +0 -0
  61. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/file_system/__init__.py +0 -0
  62. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/file_system/entities.py +0 -0
  63. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/file_system/exceptions.py +0 -0
  64. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/file_system/services.py +0 -0
  65. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/shared/__init__.py +0 -0
  66. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/shared/entities.py +0 -0
  67. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/storage_provider/__init__.py +0 -0
  68. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/storage_provider/entities.py +0 -0
  69. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/storage_provider/exceptions.py +0 -0
  70. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/domain/storage_provider/services.py +0 -0
  71. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/__init__.py +0 -0
  72. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/access_credentials/__init__.py +0 -0
  73. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/access_credentials/exceptions.py +0 -0
  74. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/access_credentials/registry.py +0 -0
  75. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/access_credentials/repositories.py +0 -0
  76. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/access_credentials/services.py +0 -0
  77. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/db/__init__.py +0 -0
  78. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/db/config.py +0 -0
  79. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/db/models.py +0 -0
  80. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/file_system/__init__.py +0 -0
  81. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/file_system/exceptions.py +0 -0
  82. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/file_system/services.py +0 -0
  83. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/storage_provider/__init__.py +0 -0
  84. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/storage_provider/exceptions.py +0 -0
  85. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/storage_provider/registry.py +0 -0
  86. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/storage_provider/services/__init__.py +0 -0
  87. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/storage_provider/services/azure.py +0 -0
  88. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/storage_provider/services/gcp.py +0 -0
  89. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/storage_provider/services/s3.py +0 -0
  90. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/infrastructure/utils.py +0 -0
  91. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/__init__.py +0 -0
  92. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/app.py +0 -0
  93. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/di_container.py +0 -0
  94. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/__init__.py +0 -0
  95. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/critical_error/__init__.py +0 -0
  96. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/critical_error/main.py +0 -0
  97. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/critical_error/styles.tcss +0 -0
  98. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/file_system_finder/main.py +0 -0
  99. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/file_system_finder/styles.tcss +0 -0
  100. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/file_system_finder/widgets/__init__.py +0 -0
  101. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/file_system_finder/widgets/file_system_navigator.py +0 -0
  102. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/__init__.py +0 -0
  103. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/main.py +0 -0
  104. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/messages/__init__.py +0 -0
  105. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/messages/delete_request.py +0 -0
  106. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/messages/download_request.py +0 -0
  107. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/messages/preview_request.py +0 -0
  108. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/messages/resizing_rule.py +0 -0
  109. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/messages/select_storage_item.py +0 -0
  110. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/messages/uncheck_files_request.py +0 -0
  111. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/messages/upload_request.py +0 -0
  112. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/mixins/__init__.py +0 -0
  113. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/mixins/resize_containers_watcher_mixin.py +0 -0
  114. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/styles.tcss +0 -0
  115. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/widgets/__init__.py +0 -0
  116. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/widgets/gradient.py +0 -0
  117. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/widgets/resizing_rule.py +0 -0
  118. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/widgets/storage_content.py +0 -0
  119. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/main/widgets/storage_list_sidebar.py +0 -0
  120. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/preview_content/__init__.py +0 -0
  121. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/preview_content/main.py +0 -0
  122. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/preview_content/styles.tcss +0 -0
  123. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/provider_creds_list/__init__.py +0 -0
  124. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/provider_creds_list/main.py +0 -0
  125. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/provider_creds_list/styles.tcss +0 -0
  126. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/provider_creds_registration/__init__.py +0 -0
  127. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/provider_creds_registration/main.py +0 -0
  128. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/provider_creds_registration/styles.tcss +0 -0
  129. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/question/__init__.py +0 -0
  130. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/question/main.py +0 -0
  131. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/question/styles.tcss +0 -0
  132. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/shared/__init__.py +0 -0
  133. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/shared/containers.py +0 -0
  134. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/shared/widgets/__init__.py +0 -0
  135. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/shared/widgets/button.py +0 -0
  136. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/shared/widgets/labeled_input.py +0 -0
  137. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/storage_action_progress/__init__.py +0 -0
  138. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/storage_action_progress/main.py +0 -0
  139. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/screens/storage_action_progress/styles.tcss +0 -0
  140. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/settings.py +0 -0
  141. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/themes/__init__.py +0 -0
  142. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/themes/github_dark.py +0 -0
  143. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/presentation/utils.py +0 -0
  144. {data_sourcerer-0.2.0/src → data_sourcerer-0.2.1}/sourcerer/settings.py +0 -0
  145. {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.0
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: sqlalchemy<3.0.0,>=2.0.38
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 == "dev"
25
- Requires-Dist: black>=25.1.0; extra == "dev"
26
- Requires-Dist: coverage>=7.8.0; extra == "dev"
27
- Requires-Dist: mkdocs-material>=9.6.12; extra == "dev"
28
- Requires-Dist: pre-commit>=4.2.0; extra == "dev"
29
- Requires-Dist: pylint>=3.3.6; extra == "dev"
30
- Requires-Dist: pyright>=1.1.400; extra == "dev"
31
- Requires-Dist: ruff>=0.11.7; extra == "dev"
32
- Requires-Dist: textual-dev>=1.7.0; extra == "dev"
33
- Dynamic: license-file
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.0"
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 = ["setuptools >= 61.0", "setuptools-scm"]
37
- build-backend = "setuptools.build_meta"
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"]
@@ -12,4 +12,4 @@ The application is structured using a clean architecture approach with:
12
12
  - Presentation layer: User interface components
13
13
  """
14
14
 
15
- __version__ = "0.2.0"
15
+ __version__ = "0.2.1"
@@ -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
@@ -1,10 +0,0 @@
1
- repos:
2
- - repo: https://github.com/astral-sh/ruff-pre-commit
3
- # Ruff version.
4
- rev: v0.9.3
5
- hooks:
6
- # Run the linter.
7
- - id: ruff
8
- args: [ --fix ]
9
- # Run the formatter.
10
- - id: ruff-format