trovesuite 1.0.5__py3-none-any.whl → 1.0.7__py3-none-any.whl
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.
- trovesuite/__init__.py +7 -4
- trovesuite/auth/auth_controller.py +5 -5
- trovesuite/configs/database.py +104 -22
- trovesuite/entities/health.py +4 -4
- trovesuite/notification/notification_controller.py +5 -5
- trovesuite/notification/notification_read_dto.py +1 -1
- trovesuite/notification/notification_service.py +3 -3
- trovesuite/notification/notification_write_dto.py +1 -1
- trovesuite/storage/__init__.py +42 -0
- trovesuite/storage/storage_base.py +63 -0
- trovesuite/storage/storage_controller.py +198 -0
- trovesuite/storage/storage_read_dto.py +74 -0
- trovesuite/storage/storage_service.py +529 -0
- trovesuite/storage/storage_write_dto.py +70 -0
- {trovesuite-1.0.5.dist-info → trovesuite-1.0.7.dist-info}/METADATA +57 -3
- trovesuite-1.0.7.dist-info/RECORD +33 -0
- trovesuite-1.0.5.dist-info/RECORD +0 -27
- {trovesuite-1.0.5.dist-info → trovesuite-1.0.7.dist-info}/WHEEL +0 -0
- {trovesuite-1.0.5.dist-info → trovesuite-1.0.7.dist-info}/licenses/LICENSE +0 -0
- {trovesuite-1.0.5.dist-info → trovesuite-1.0.7.dist-info}/top_level.txt +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: trovesuite
|
|
3
|
-
Version: 1.0.
|
|
4
|
-
Summary: TroveSuite services package providing authentication, authorization, notifications, and other enterprise services for TroveSuite applications
|
|
3
|
+
Version: 1.0.7
|
|
4
|
+
Summary: TroveSuite services package providing authentication, authorization, notifications, Azure Storage, and other enterprise services for TroveSuite applications
|
|
5
5
|
Home-page: https://dev.azure.com/brightgclt/trovesuite/_git/packages
|
|
6
6
|
Author: Bright Debrah Owusu
|
|
7
7
|
Author-email: Bright Debrah Owusu <owusu.debrah@deladetech.com>
|
|
@@ -11,7 +11,7 @@ Project-URL: Homepage, https://dev.azure.com/brightgclt/trovesuite/_git/packages
|
|
|
11
11
|
Project-URL: Repository, https://dev.azure.com/brightgclt/trovesuite/_git/packages
|
|
12
12
|
Project-URL: Documentation, https://dev.azure.com/brightgclt/trovesuite/_git/packages
|
|
13
13
|
Project-URL: Bug Tracker, https://dev.azure.com/brightgclt/trovesuite/_workitems/create
|
|
14
|
-
Keywords: authentication,authorization,notifications,jwt,trovesuite,fastapi,security,tenant,permissions,enterprise,services
|
|
14
|
+
Keywords: authentication,authorization,notifications,jwt,trovesuite,fastapi,security,tenant,permissions,enterprise,services,azure,storage,blob,cloud-storage
|
|
15
15
|
Classifier: Development Status :: 5 - Production/Stable
|
|
16
16
|
Classifier: Intended Audience :: Developers
|
|
17
17
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -36,6 +36,8 @@ Requires-Dist: passlib[bcrypt]>=1.7.4
|
|
|
36
36
|
Requires-Dist: passlib[argon2]<2.0.0,>=1.7.4
|
|
37
37
|
Requires-Dist: uvicorn<0.39.0,>=0.38.0
|
|
38
38
|
Requires-Dist: pyjwt<3.0.0,>=2.10.1
|
|
39
|
+
Requires-Dist: azure-storage-blob>=12.19.0
|
|
40
|
+
Requires-Dist: azure-identity>=1.15.0
|
|
39
41
|
Provides-Extra: dev
|
|
40
42
|
Requires-Dist: pytest>=8.4.2; extra == "dev"
|
|
41
43
|
Requires-Dist: pytest-asyncio>=0.21.1; extra == "dev"
|
|
@@ -119,6 +121,8 @@ poetry install --with dev
|
|
|
119
121
|
|
|
120
122
|
## Quick Start
|
|
121
123
|
|
|
124
|
+
> **✅ Package Status**: All import issues have been resolved in version 1.0.5. The package now works correctly when installed from PyPI or wheel files.
|
|
125
|
+
|
|
122
126
|
### Import Patterns
|
|
123
127
|
|
|
124
128
|
The package provides clean, simplified import patterns:
|
|
@@ -673,12 +677,62 @@ poetry install
|
|
|
673
677
|
|
|
674
678
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
675
679
|
|
|
680
|
+
## Troubleshooting
|
|
681
|
+
|
|
682
|
+
### Import Issues
|
|
683
|
+
|
|
684
|
+
If you encounter import errors, make sure you're using the correct import patterns:
|
|
685
|
+
|
|
686
|
+
```python
|
|
687
|
+
# ✅ Correct imports
|
|
688
|
+
from trovesuite import AuthService, NotificationService
|
|
689
|
+
from trovesuite.auth import AuthServiceWriteDto
|
|
690
|
+
from trovesuite.notification import NotificationEmailServiceWriteDto
|
|
691
|
+
|
|
692
|
+
# ❌ Incorrect imports (will fail)
|
|
693
|
+
from trovesuite.auth.auth_write_dto import AuthServiceWriteDto # Too specific
|
|
694
|
+
from trovesuite.notification.notification_write_dto import NotificationEmailServiceWriteDto # Too specific
|
|
695
|
+
```
|
|
696
|
+
|
|
697
|
+
### Package Installation
|
|
698
|
+
|
|
699
|
+
If you're having issues with the package installation:
|
|
700
|
+
|
|
701
|
+
1. **Make sure you have the latest version**:
|
|
702
|
+
```bash
|
|
703
|
+
pip install --upgrade trovesuite
|
|
704
|
+
```
|
|
705
|
+
|
|
706
|
+
2. **Force reinstall if needed**:
|
|
707
|
+
```bash
|
|
708
|
+
pip install --force-reinstall trovesuite
|
|
709
|
+
```
|
|
710
|
+
|
|
711
|
+
3. **Check your Python environment**:
|
|
712
|
+
```bash
|
|
713
|
+
python -c "import trovesuite; print('Package installed successfully')"
|
|
714
|
+
```
|
|
715
|
+
|
|
716
|
+
### Common Issues
|
|
717
|
+
|
|
718
|
+
- **ImportError: No module named 'src'**: This was fixed in version 1.0.5. Update to the latest version.
|
|
719
|
+
- **AttributeError: module has no attribute 'AuthServiceWriteDto'**: Use `from trovesuite.auth import AuthServiceWriteDto` instead of importing from the main package.
|
|
720
|
+
|
|
676
721
|
## Support
|
|
677
722
|
|
|
678
723
|
For support, email brightgclt@gmail.com or create a work item in the [Azure DevOps repository](https://dev.azure.com/brightgclt/trovesuite/_workitems/create).
|
|
679
724
|
|
|
680
725
|
## Changelog
|
|
681
726
|
|
|
727
|
+
### 1.0.5
|
|
728
|
+
- Fixed all import issues across auth, notification, and entities modules
|
|
729
|
+
- Changed absolute imports (`from src.trovesuite.`) to relative imports (`from .` and `from ..`)
|
|
730
|
+
- Ensured package works correctly when installed from PyPI or wheel
|
|
731
|
+
- Added service write DTOs to module exports for easier usage
|
|
732
|
+
- Updated documentation with simplified import patterns
|
|
733
|
+
- All services and DTOs now import correctly in clean environments
|
|
734
|
+
- Package builds and installs without import errors
|
|
735
|
+
|
|
682
736
|
### 1.0.8
|
|
683
737
|
- Restructured package for direct service imports
|
|
684
738
|
- Added comprehensive notification services with email support
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
trovesuite/__init__.py,sha256=QIY7iN7TVyJKjCoB6CBA4pSqm_mL41frcFgFS4maO8k,555
|
|
2
|
+
trovesuite/auth/__init__.py,sha256=OjZllVvjul1glDazJ-d5TrNjgHFigFlQQi1G99DYshk,239
|
|
3
|
+
trovesuite/auth/auth_base.py,sha256=rZHQVLeJRBQ8GClgF5UwG-er4_HXVX5-nt8o6_Z29uY,75
|
|
4
|
+
trovesuite/auth/auth_controller.py,sha256=PAgaVlf5TYEfkSfK4vGGsvO84i8zEmeVVXyUF2YBppI,420
|
|
5
|
+
trovesuite/auth/auth_read_dto.py,sha256=pQT1ouRVZMAiJn4wAG7NQOKQKTquTMWUe-dYcpLTmEo,533
|
|
6
|
+
trovesuite/auth/auth_service.py,sha256=if2RFI6F1DpbNEuCTSpPbhHVBdYQEg4hVkoxTCnvC4k,14298
|
|
7
|
+
trovesuite/auth/auth_write_dto.py,sha256=rdwI7w6-9QZGv1H0PAGrjkLBCzaMHjgPIXeLb9RmNec,234
|
|
8
|
+
trovesuite/configs/__init__.py,sha256=h1mSZOaZ3kUy1ZMO_m9O9KklsxywM0RfMVZLh9h9WvQ,328
|
|
9
|
+
trovesuite/configs/database.py,sha256=gyQwn5phToZ95fvEvuGJ6F0IT-1C-TQYJfEw26XanXc,11732
|
|
10
|
+
trovesuite/configs/logging.py,sha256=mGjR2d4urVNry9l5_aXycMMtcY2RAFIpEL35hw33KZg,9308
|
|
11
|
+
trovesuite/configs/settings.py,sha256=yUbkiFi4QdO9JZG1RRFbP4tYurT47HmN-ohgYcs2SHM,2561
|
|
12
|
+
trovesuite/entities/__init__.py,sha256=Dbl_03Bueyh2vOP2hykd40MmNMrl5nNHSRGP-kqwwNo,160
|
|
13
|
+
trovesuite/entities/health.py,sha256=KaW7yxTQdymIPlnkJJkDqEebBXkD0a7A66i5GgNZLoE,2700
|
|
14
|
+
trovesuite/entities/sh_response.py,sha256=1_sw3PpVaDxWsNiBU0W9YLHZgTFxEj4JJBLBfSY63Ho,1579
|
|
15
|
+
trovesuite/notification/__init__.py,sha256=mjglzmlk29SREP6LfvBYGmCSc-K1SKKAEx_OJdJ2Vrs,394
|
|
16
|
+
trovesuite/notification/notification_base.py,sha256=6Xo0Gnnpg3RgN1_SRkAcH-K4l7DwNDZvn1gRm3oMWyk,320
|
|
17
|
+
trovesuite/notification/notification_controller.py,sha256=VVy1xj4GL8_Wj7wMMTwozXXX8i_2WSJqC_NyNse35TI,847
|
|
18
|
+
trovesuite/notification/notification_read_dto.py,sha256=K0DFLyAArvtqOGS7q1VzmqO28StTMbcNCgpmhzhad8E,423
|
|
19
|
+
trovesuite/notification/notification_service.py,sha256=sf_lJWcrmRIUeEabdEYLaSdRz2H1D3RBEwKMOA1h2pY,2433
|
|
20
|
+
trovesuite/notification/notification_write_dto.py,sha256=PGpww3PomrmJgXTgpwGhXasv_fC8mgUQvTloaTqaSTA,452
|
|
21
|
+
trovesuite/storage/__init__.py,sha256=lO9E2QvzNFOfUocfITnIBuSR6-eg1zVYLrEVIEq3SXc,1334
|
|
22
|
+
trovesuite/storage/storage_base.py,sha256=nOdnjlwP4xiGdbpdeh5rLDAzkWHZd9M_7lznvNlqsV4,1899
|
|
23
|
+
trovesuite/storage/storage_controller.py,sha256=Yzki0L-jmSPbiw8spFm6Z84Bq-WZfih_0GsfbNRHssM,6569
|
|
24
|
+
trovesuite/storage/storage_read_dto.py,sha256=o7EVJdwrwVZAaeyGU9O01WMECGVaytkvLRwruA256hQ,1471
|
|
25
|
+
trovesuite/storage/storage_service.py,sha256=V7LIePIV6b_iuhm-9x8r4zwpZHgeRPL1YIe5IBnxhco,19768
|
|
26
|
+
trovesuite/storage/storage_write_dto.py,sha256=vl1iCZ93bpFmpvkCrn587QtMtOA_TPDseXSoTuj9RTQ,1355
|
|
27
|
+
trovesuite/utils/__init__.py,sha256=3UPKTz9cluTgAM-ldNsJxsnoPTZiqacXlAmzUEHy6q8,143
|
|
28
|
+
trovesuite/utils/helper.py,sha256=lvZ1mvaqY84dkIPB5Ov0uwYDOWBziAS8twobEJZh2Ik,1002
|
|
29
|
+
trovesuite-1.0.7.dist-info/licenses/LICENSE,sha256=EJT35ct-Q794JYPdAQy3XNczQGKkU1HzToLeK1YVw2s,1070
|
|
30
|
+
trovesuite-1.0.7.dist-info/METADATA,sha256=z8DYMEuYE9WxlXpfvCp2BG5gRGtMOpS9bXGOsDjadEY,21736
|
|
31
|
+
trovesuite-1.0.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
32
|
+
trovesuite-1.0.7.dist-info/top_level.txt,sha256=GzKhG_-MTaxeHrIgkGkBH_nof2vroGFBrjeHKWUIwNc,11
|
|
33
|
+
trovesuite-1.0.7.dist-info/RECORD,,
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
trovesuite/__init__.py,sha256=c7z8TrIWz156VyDw2qEclTdJxKqAdbhQyCjDLY4s0uM,457
|
|
2
|
-
trovesuite/auth/__init__.py,sha256=OjZllVvjul1glDazJ-d5TrNjgHFigFlQQi1G99DYshk,239
|
|
3
|
-
trovesuite/auth/auth_base.py,sha256=rZHQVLeJRBQ8GClgF5UwG-er4_HXVX5-nt8o6_Z29uY,75
|
|
4
|
-
trovesuite/auth/auth_controller.py,sha256=mMAyTV_0rFeArpcIDu9Pr_IATvFZU6wfIo6ViQoUv0U,477
|
|
5
|
-
trovesuite/auth/auth_read_dto.py,sha256=pQT1ouRVZMAiJn4wAG7NQOKQKTquTMWUe-dYcpLTmEo,533
|
|
6
|
-
trovesuite/auth/auth_service.py,sha256=if2RFI6F1DpbNEuCTSpPbhHVBdYQEg4hVkoxTCnvC4k,14298
|
|
7
|
-
trovesuite/auth/auth_write_dto.py,sha256=rdwI7w6-9QZGv1H0PAGrjkLBCzaMHjgPIXeLb9RmNec,234
|
|
8
|
-
trovesuite/configs/__init__.py,sha256=h1mSZOaZ3kUy1ZMO_m9O9KklsxywM0RfMVZLh9h9WvQ,328
|
|
9
|
-
trovesuite/configs/database.py,sha256=TYPlwydfWirOvCdA1N2gdqJWeesnxLBmRcxqVInZzEA,8320
|
|
10
|
-
trovesuite/configs/logging.py,sha256=mGjR2d4urVNry9l5_aXycMMtcY2RAFIpEL35hw33KZg,9308
|
|
11
|
-
trovesuite/configs/settings.py,sha256=yUbkiFi4QdO9JZG1RRFbP4tYurT47HmN-ohgYcs2SHM,2561
|
|
12
|
-
trovesuite/entities/__init__.py,sha256=Dbl_03Bueyh2vOP2hykd40MmNMrl5nNHSRGP-kqwwNo,160
|
|
13
|
-
trovesuite/entities/health.py,sha256=H8-XUywzvMfZy2dZwDyJGAUbmuULuZYvYIUWhiaVGdY,2729
|
|
14
|
-
trovesuite/entities/sh_response.py,sha256=1_sw3PpVaDxWsNiBU0W9YLHZgTFxEj4JJBLBfSY63Ho,1579
|
|
15
|
-
trovesuite/notification/__init__.py,sha256=mjglzmlk29SREP6LfvBYGmCSc-K1SKKAEx_OJdJ2Vrs,394
|
|
16
|
-
trovesuite/notification/notification_base.py,sha256=6Xo0Gnnpg3RgN1_SRkAcH-K4l7DwNDZvn1gRm3oMWyk,320
|
|
17
|
-
trovesuite/notification/notification_controller.py,sha256=w-SpRTjeInrgsUX0sAzFVjXiBo395ge6v-dn1Cc8ogU,920
|
|
18
|
-
trovesuite/notification/notification_read_dto.py,sha256=pZg3KHZJA4c5MoXqTHCgUiGnd8mRrQjVOaCtWXtuT7U,450
|
|
19
|
-
trovesuite/notification/notification_service.py,sha256=u3-rHnTr3dgLX_RGjkG6c9mYVPspRCSEDBtDrGN-Rj0,2500
|
|
20
|
-
trovesuite/notification/notification_write_dto.py,sha256=WrdFWIa9sK5rrwgp1bUOOikwE7xL8O9z110EGnXedzw,479
|
|
21
|
-
trovesuite/utils/__init__.py,sha256=3UPKTz9cluTgAM-ldNsJxsnoPTZiqacXlAmzUEHy6q8,143
|
|
22
|
-
trovesuite/utils/helper.py,sha256=lvZ1mvaqY84dkIPB5Ov0uwYDOWBziAS8twobEJZh2Ik,1002
|
|
23
|
-
trovesuite-1.0.5.dist-info/licenses/LICENSE,sha256=EJT35ct-Q794JYPdAQy3XNczQGKkU1HzToLeK1YVw2s,1070
|
|
24
|
-
trovesuite-1.0.5.dist-info/METADATA,sha256=JD98gu0c53MANB7pMF73Eg6axkfk_RW3HpmSU5KFVOA,19704
|
|
25
|
-
trovesuite-1.0.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
26
|
-
trovesuite-1.0.5.dist-info/top_level.txt,sha256=GzKhG_-MTaxeHrIgkGkBH_nof2vroGFBrjeHKWUIwNc,11
|
|
27
|
-
trovesuite-1.0.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|