saviialib 0.9.1__py3-none-any.whl → 1.6.0__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.
Potentially problematic release.
This version of saviialib might be problematic. Click here for more details.
- saviialib/__init__.py +73 -3
- saviialib/general_types/api/__init__.py +0 -3
- saviialib/general_types/api/{epii_api_types.py → saviia_api_types.py} +4 -38
- saviialib/general_types/api/saviia_backup_api_types.py +24 -0
- saviialib/general_types/api/saviia_netcamera_api_types.py +11 -0
- saviialib/general_types/api/saviia_shakes_api_types.py +21 -0
- saviialib/general_types/api/saviia_thies_api_types.py +31 -0
- saviialib/general_types/error_types/api/{epii_api_error_types.py → saviia_api_error_types.py} +20 -0
- saviialib/general_types/error_types/api/saviia_netcamera_error_types.py +7 -0
- saviialib/general_types/error_types/common/common_types.py +9 -0
- saviialib/libs/directory_client/__init__.py +4 -0
- saviialib/libs/directory_client/client/os_client.py +55 -0
- saviialib/libs/directory_client/directory_client.py +44 -0
- saviialib/libs/directory_client/directory_client_contract.py +40 -0
- saviialib/libs/directory_client/types/directory_client_types.py +6 -0
- saviialib/libs/ffmpeg_client/__init__.py +8 -0
- saviialib/libs/ffmpeg_client/clients/ffmpeg_asyncio_client.py +101 -0
- saviialib/libs/ffmpeg_client/ffmpeg_client.py +25 -0
- saviialib/libs/ffmpeg_client/ffmpeg_client_contract.py +12 -0
- saviialib/libs/ffmpeg_client/types/ffmpeg_client_types.py +28 -0
- saviialib/libs/files_client/__init__.py +2 -2
- saviialib/libs/files_client/clients/aiofiles_client.py +26 -3
- saviialib/libs/files_client/clients/csv_client.py +42 -0
- saviialib/libs/files_client/files_client.py +5 -7
- saviialib/libs/files_client/types/files_client_types.py +5 -4
- saviialib/libs/ftp_client/clients/aioftp_client.py +13 -6
- saviialib/libs/ftp_client/clients/ftplib_client.py +58 -0
- saviialib/libs/ftp_client/ftp_client.py +8 -5
- saviialib/libs/ftp_client/ftp_client_contract.py +2 -2
- saviialib/libs/log_client/__init__.py +19 -0
- saviialib/libs/log_client/log_client.py +46 -0
- saviialib/libs/log_client/log_client_contract.py +28 -0
- saviialib/libs/log_client/logging_client/logging_client.py +58 -0
- saviialib/libs/log_client/types/log_client_types.py +47 -0
- saviialib/libs/log_client/utils/log_client_utils.py +6 -0
- saviialib/libs/sftp_client/__init__.py +8 -0
- saviialib/libs/sftp_client/clients/asyncssh_sftp_client.py +83 -0
- saviialib/libs/sftp_client/sftp_client.py +26 -0
- saviialib/libs/sftp_client/sftp_client_contract.py +13 -0
- saviialib/libs/sftp_client/types/sftp_client_types.py +24 -0
- saviialib/libs/sharepoint_client/__init__.py +2 -0
- saviialib/libs/sharepoint_client/clients/sharepoint_rest_api.py +31 -6
- saviialib/libs/sharepoint_client/sharepoint_client.py +25 -1
- saviialib/libs/sharepoint_client/sharepoint_client_contract.py +5 -0
- saviialib/libs/sharepoint_client/types/sharepoint_client_types.py +5 -0
- saviialib/libs/zero_dependency/utils/booleans_utils.py +2 -0
- saviialib/libs/zero_dependency/utils/datetime_utils.py +1 -1
- saviialib/libs/zero_dependency/utils/strings_utils.py +5 -0
- saviialib/services/backup/api.py +36 -0
- saviialib/services/backup/controllers/__init__.py +0 -0
- saviialib/services/{epii → backup}/controllers/types/__init__.py +1 -1
- saviialib/services/{epii → backup}/controllers/types/upload_backup_to_sharepoint_types.py +4 -2
- saviialib/services/{epii → backup}/controllers/upload_backup_to_sharepoint.py +9 -8
- saviialib/services/backup/use_cases/constants/upload_backup_to_sharepoint_constants.py +5 -0
- saviialib/services/{epii → backup}/use_cases/types/__init__.py +1 -1
- saviialib/services/{epii → backup}/use_cases/types/upload_backup_to_sharepoint_types.py +4 -2
- saviialib/services/backup/use_cases/upload_backup_to_sharepoint.py +474 -0
- saviialib/services/backup/utils/__init__.py +3 -0
- saviialib/services/backup/utils/upload_backup_to_sharepoint_utils.py +100 -0
- saviialib/services/netcamera/api.py +30 -0
- saviialib/services/netcamera/controllers/get_media_files.py +40 -0
- saviialib/services/netcamera/controllers/types/get_media_files_types.py +16 -0
- saviialib/services/netcamera/use_cases/get_media_files.py +76 -0
- saviialib/services/netcamera/use_cases/types/get_media_files_types.py +18 -0
- saviialib/services/shakes/__init__.py +0 -0
- saviialib/services/shakes/api.py +31 -0
- saviialib/services/shakes/controllers/get_miniseed_files.py +48 -0
- saviialib/services/shakes/controllers/types/get_miniseed_files_types.py +16 -0
- saviialib/services/shakes/use_cases/get_miniseed_files.py +79 -0
- saviialib/services/shakes/use_cases/types/get_miniseed_files_types.py +18 -0
- saviialib/services/shakes/use_cases/utils/get_miniseed_files_utils.py +11 -0
- saviialib/services/thies/__init__.py +0 -0
- saviialib/services/thies/api.py +42 -0
- saviialib/services/thies/constants/update_thies_data_constants.py +67 -0
- saviialib/services/{epii → thies}/controllers/types/update_thies_data_types.py +5 -4
- saviialib/services/{epii → thies}/controllers/update_thies_data.py +18 -6
- saviialib/services/thies/use_cases/components/create_thies_statistics_file.py +115 -0
- saviialib/services/thies/use_cases/components/thies_bp.py +442 -0
- saviialib/services/{epii → thies}/use_cases/types/update_thies_data_types.py +10 -2
- saviialib/services/thies/use_cases/update_thies_data.py +391 -0
- saviialib-1.6.0.dist-info/METADATA +126 -0
- saviialib-1.6.0.dist-info/RECORD +96 -0
- {saviialib-0.9.1.dist-info → saviialib-1.6.0.dist-info}/WHEEL +1 -1
- saviialib/services/epii/api.py +0 -80
- saviialib/services/epii/use_cases/constants/update_thies_data_constants.py +0 -5
- saviialib/services/epii/use_cases/constants/upload_backup_to_sharepoint_constants.py +0 -5
- saviialib/services/epii/use_cases/update_thies_data.py +0 -171
- saviialib/services/epii/use_cases/upload_backup_to_sharepoint.py +0 -241
- saviialib/services/epii/utils/__init__.py +0 -3
- saviialib/services/epii/utils/upload_backup_to_sharepoint_utils.py +0 -102
- saviialib-0.9.1.dist-info/METADATA +0 -120
- saviialib-0.9.1.dist-info/RECORD +0 -49
- /saviialib/{services/epii → libs/log_client/types}/__init__.py +0 -0
- /saviialib/services/{epii/controllers → backup}/__init__.py +0 -0
- /saviialib/services/{epii → thies}/utils/update_thies_data_utils.py +0 -0
- {saviialib-0.9.1.dist-info → saviialib-1.6.0.dist-info/licenses}/LICENSE +0 -0
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.3
|
|
2
|
-
Name: saviialib
|
|
3
|
-
Version: 0.9.1
|
|
4
|
-
Summary: A client library for IoT projects in the RCER initiative
|
|
5
|
-
License: MIT
|
|
6
|
-
Author: pedropablozavalat
|
|
7
|
-
Requires-Python: >=3.10,<4.0
|
|
8
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
9
|
-
Classifier: Programming Language :: Python :: 3
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
14
|
-
Requires-Dist: aiofiles (==24.1.0)
|
|
15
|
-
Requires-Dist: aioftp (==0.25.1)
|
|
16
|
-
Requires-Dist: aiohttp (==3.11.16)
|
|
17
|
-
Requires-Dist: build
|
|
18
|
-
Requires-Dist: dotenv (==0.9.9)
|
|
19
|
-
Requires-Dist: pytest-cov (==6.1.1)
|
|
20
|
-
Description-Content-Type: text/markdown
|
|
21
|
-
|
|
22
|
-
# SAVIIA Library
|
|
23
|
-
*Sistema de Administración y Visualización de Información para la Investigación y Análisis*
|
|
24
|
-
|
|
25
|
-
[](https://github.com/pedrozavalat/saviia-lib/releases)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
## Installation
|
|
29
|
-
This library is designed for use with the SAVIIA Home Assistant Integration. It provides an API to retrieve files from a THIES Data Logger via an FTP server and upload them to a Microsoft SharePoint folder using the SharePoint REST API.
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
pip install saviialib
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Usage
|
|
36
|
-
|
|
37
|
-
### Initialize the EPii API Client
|
|
38
|
-
To start using the library, you need to create an `EpiiAPI` client instance with its configuration class:
|
|
39
|
-
|
|
40
|
-
```python
|
|
41
|
-
from saviialib import EpiiAPI, EpiiAPIConfig
|
|
42
|
-
config = EpiiAPIConfig(
|
|
43
|
-
ftp_port=FTP_PORT,
|
|
44
|
-
ftp_host=FTP_HOST,
|
|
45
|
-
ftp_user=FTP_USER,
|
|
46
|
-
ftp_password=FTP_PASSWORD,
|
|
47
|
-
sharepoint_client_id=SHAREPOINT_CLIENT_ID,
|
|
48
|
-
sharepoint_client_secret=SHAREPOINT_CLIENT_SECRET,
|
|
49
|
-
sharepoint_tenant_id=SHAREPOINT_TENANT_ID,
|
|
50
|
-
sharepoint_tenant_name=SHAREPOINT_TENANT_NAME,
|
|
51
|
-
sharepoint_site_name=SHAREPOINT_SITE_NAME
|
|
52
|
-
)
|
|
53
|
-
api_client = EpiiAPI(config)
|
|
54
|
-
```
|
|
55
|
-
**Notes:**
|
|
56
|
-
- Store sensitive data like `FTP_PASSWORD`, `FTP_USER`, and SharePoint credentials securely. Use environment variables or a secrets management tool to avoid hardcoding sensitive information in your codebase.
|
|
57
|
-
|
|
58
|
-
### Update THIES Data Logger Files
|
|
59
|
-
The library provides a method to synchronize THIES Data Logger files with the RCER SharePoint client. This method updates the folder containing binary files with meteorological data:
|
|
60
|
-
|
|
61
|
-
```python
|
|
62
|
-
from saviialib import EpiiUpdateThiesConfig
|
|
63
|
-
import asyncio
|
|
64
|
-
|
|
65
|
-
async def main():
|
|
66
|
-
# Before calling this method, you must have initialised the api class ...
|
|
67
|
-
response = await api_client.update_thies_data()
|
|
68
|
-
return response
|
|
69
|
-
|
|
70
|
-
asyncio.run(main())
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## Development
|
|
74
|
-
|
|
75
|
-
This project includes a `Makefile` to simplify common tasks. Below are the available commands:
|
|
76
|
-
|
|
77
|
-
### Install Basic Dependencies
|
|
78
|
-
To install the basic dependencies required for the project, run the following command:
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
make install-deps
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
This will ensure that all necessary libraries and tools are installed for the project to function properly.
|
|
85
|
-
|
|
86
|
-
### Install Development Requirements
|
|
87
|
-
For setting up a development environment with additional tools and libraries, execute:
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
make dev
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
This command installs all the dependencies needed for development, including testing and linting tools.
|
|
94
|
-
|
|
95
|
-
### Run Tests
|
|
96
|
-
To verify that the code is functioning as expected, you can run the test suite using:
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
make test
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
This will execute all the tests in the project and provide a summary of the results.
|
|
103
|
-
|
|
104
|
-
### Lint the Code
|
|
105
|
-
To ensure that the code adheres to the project's style guidelines and is free of common errors, run:
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
make lint
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
This command checks the codebase for linting issues and outputs any problems that need to be addressed.
|
|
112
|
-
|
|
113
|
-
## Contributing
|
|
114
|
-
If you're interested in contributing to this project, please follow the contributing guidelines. By contributing to this project, you agree to abide by its terms.
|
|
115
|
-
Contributions are welcome and appreciated!
|
|
116
|
-
|
|
117
|
-
## License
|
|
118
|
-
|
|
119
|
-
`saviialib` was created by Pedro Pablo Zavala Tejos. It is licensed under the terms of the MIT license.
|
|
120
|
-
|
saviialib-0.9.1.dist-info/RECORD
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
saviialib/__init__.py,sha256=TMsEY8OOjo9KOz-0jf3QBh6WFOhCY07Rd7W2PK7C-1A,253
|
|
2
|
-
saviialib/general_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
-
saviialib/general_types/api/__init__.py,sha256=jXhoMlbSv7UCizW_Fm2mqR_3n99qkocVwg6CF7s3w7w,145
|
|
4
|
-
saviialib/general_types/api/epii_api_types.py,sha256=_3Q20yOTHn8Vmsx-fn_FR9XF2P719KobFrklxsdDr1U,2324
|
|
5
|
-
saviialib/general_types/error_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
-
saviialib/general_types/error_types/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
saviialib/general_types/error_types/api/epii_api_error_types.py,sha256=j1b2gE8zRTlh4gCB4kf9-JNlBzcZ9AmMKxRiFVbSqQ0,2722
|
|
8
|
-
saviialib/general_types/error_types/common/__init__.py,sha256=yOBLZbt64Ki9Q0IJ0tMAubgq7PtrQ7XQ3RgtAzyOjiE,170
|
|
9
|
-
saviialib/general_types/error_types/common/common_types.py,sha256=n5yuw-gVtkrtNfmaZ83ZkYxYHGl4jynOLUB9C8Tr32w,474
|
|
10
|
-
saviialib/libs/files_client/__init__.py,sha256=eLmYkda0vsd8qB8oMjOq0nM7GIyShNmx3nmmcc0lN7Y,168
|
|
11
|
-
saviialib/libs/files_client/clients/aiofiles_client.py,sha256=lGZ24YzNbCIIlgiwheoOdSh0hr07F893bX5NzrVlveg,651
|
|
12
|
-
saviialib/libs/files_client/files_client.py,sha256=eoByr7ZzOJ3b4NWlrEH0jKO1i-Rv3hSJV2s2JLhaOJ0,1081
|
|
13
|
-
saviialib/libs/files_client/files_client_contract.py,sha256=fYvd68IMpc1OFkxbzNSmRUoTWVctf3hkNVQ7QZV0m6I,304
|
|
14
|
-
saviialib/libs/files_client/types/files_client_types.py,sha256=gsQrIFo9AWHIEEB9pTcDOpUY87QzAfHsSVHXdPzxd_g,679
|
|
15
|
-
saviialib/libs/ftp_client/__init__.py,sha256=dW2Yutgc7mJJJzgKLhWKXMgQ6KIWJYfFa1sGpjHH5xU,191
|
|
16
|
-
saviialib/libs/ftp_client/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
saviialib/libs/ftp_client/clients/aioftp_client.py,sha256=gcPhLX1EE8_iiAGQ1eTWxzJ-qd3yjP9Ug1LJPibqGn8,1613
|
|
18
|
-
saviialib/libs/ftp_client/ftp_client.py,sha256=RhWnGwfU8SN0tRqfDc3u6NKDj9qla4cOI2IANyb-S2s,820
|
|
19
|
-
saviialib/libs/ftp_client/ftp_client_contract.py,sha256=2x1MPZNFVw3l-sVd65Z6kZYkXlk_8isH_ykzRZB9Cv8,326
|
|
20
|
-
saviialib/libs/ftp_client/types/__init__.py,sha256=syfwf9feP4QK7fkCTfl4j8l11ic-jHtfi1DE2chaWbs,155
|
|
21
|
-
saviialib/libs/ftp_client/types/ftp_client_types.py,sha256=e4SmYkewldulaD8ms2q75zVgLFXyBxBqoa_L-IQOmso,256
|
|
22
|
-
saviialib/libs/sharepoint_client/__init__.py,sha256=v7h-cNsK-BaPp-hTU3NWRNXYRD9ztU-hsCk0eNRPIKA,334
|
|
23
|
-
saviialib/libs/sharepoint_client/clients/sharepoint_rest_api.py,sha256=6TGw2svGZ9QiABJdiUNzTIjmla3f70-hVxPK0cOZEVc,5252
|
|
24
|
-
saviialib/libs/sharepoint_client/sharepoint_client.py,sha256=lzzRk-5YzScNL15TzHp8dAcdhiAtRVCfY7L2GEqoccM,1246
|
|
25
|
-
saviialib/libs/sharepoint_client/sharepoint_client_contract.py,sha256=xqNHzCjp7GvUGGUox9YTJj2QJgTc5819t2etOk8X26o,485
|
|
26
|
-
saviialib/libs/sharepoint_client/types/sharepoint_client_types.py,sha256=OmPlCJ9rLrAFBeG6aDp5cxMiQ5BZlDyGVx5S4GN4aqg,414
|
|
27
|
-
saviialib/libs/zero_dependency/utils/datetime_utils.py,sha256=NFPHxOTuCtfkYjUnsbRqw9ZK87UGAK-Eira2CwG8rJ8,754
|
|
28
|
-
saviialib/services/epii/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
|
-
saviialib/services/epii/api.py,sha256=rAiyf6sumaW9DIdqT5KKGMk0iIP6_tnN2__oLIuDuiI,3488
|
|
30
|
-
saviialib/services/epii/controllers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
-
saviialib/services/epii/controllers/types/__init__.py,sha256=xzky-oTSojLNkWETp_k8a4dcXYvYSQY0VhWo23Yhb8U,195
|
|
32
|
-
saviialib/services/epii/controllers/types/update_thies_data_types.py,sha256=Id86QaFt6A2EJgHJvmm3rvWGUkT2SM8D5OTxZGS-aTs,380
|
|
33
|
-
saviialib/services/epii/controllers/types/upload_backup_to_sharepoint_types.py,sha256=k_vfqI4UfdSS62HY5pi8eq2PxYXRp4LexDgRB3V2lrc,400
|
|
34
|
-
saviialib/services/epii/controllers/update_thies_data.py,sha256=5vi-CEXV9maCTHgyZRnGs8zlc2xkEQ3TJMVza4xr-Qw,4334
|
|
35
|
-
saviialib/services/epii/controllers/upload_backup_to_sharepoint.py,sha256=l3oBiPU1GHYuVI8LCnDQhY_2xH7bqiQzJ4lB_is4VAM,3754
|
|
36
|
-
saviialib/services/epii/use_cases/constants/update_thies_data_constants.py,sha256=38f2WKV-zBO9O-CV8mh3tW3MFMiaJrrv4_FfQiyHApc,275
|
|
37
|
-
saviialib/services/epii/use_cases/constants/upload_backup_to_sharepoint_constants.py,sha256=zkQLcI2ZIhGVGOcb-i-XCTdIcX78U4nAhpXPNenBjow,167
|
|
38
|
-
saviialib/services/epii/use_cases/types/__init__.py,sha256=u6fyodOEJE2j6FMqJux40Xf9ccYAi-UUYxqT-Kzc0kE,199
|
|
39
|
-
saviialib/services/epii/use_cases/types/update_thies_data_types.py,sha256=BoT6N9YoVw3f8Cyb88T7fJTCCnkVybOh1K1u2fJ3X7k,419
|
|
40
|
-
saviialib/services/epii/use_cases/types/upload_backup_to_sharepoint_types.py,sha256=rvuhJnjsCQpuNz5UO_0lGMR_KJRybNdq_11Be9ZaY1U,267
|
|
41
|
-
saviialib/services/epii/use_cases/update_thies_data.py,sha256=WLBpdAUkxAL_XdDnc49scmst1xMjrdScjr6Cmgg3UEE,6494
|
|
42
|
-
saviialib/services/epii/use_cases/upload_backup_to_sharepoint.py,sha256=rurCi-01Rm1SKa6o_SPcbsnOBfHlUD1ZMmIn6k7JbCQ,9608
|
|
43
|
-
saviialib/services/epii/utils/__init__.py,sha256=cYt2tvq65_OMjFaqb8-CCC7IGCQgFd4ziEUWJV7s1iY,98
|
|
44
|
-
saviialib/services/epii/utils/update_thies_data_utils.py,sha256=EpjYWXqyHxJ-dO3MHhdXp-rGV7WyUckeFko-nnfnNac,555
|
|
45
|
-
saviialib/services/epii/utils/upload_backup_to_sharepoint_utils.py,sha256=DnV4ddqZ0eeD50Wh66J9__m3Sqk5-1p_93e9YuQitpA,3499
|
|
46
|
-
saviialib-0.9.1.dist-info/LICENSE,sha256=NWpf6b38xgBWPBo5HZsCbdfp9hZSliEbRqWQgm0fkOo,1076
|
|
47
|
-
saviialib-0.9.1.dist-info/METADATA,sha256=8xbbpq_CG90pYR9SaNjkuVcGPM2vZ0-9qPrjd8aHazo,4082
|
|
48
|
-
saviialib-0.9.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
49
|
-
saviialib-0.9.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|