maleo-database 0.0.10__tar.gz → 0.0.11__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 (31) hide show
  1. {maleo_database-0.0.10 → maleo_database-0.0.11}/PKG-INFO +4 -4
  2. {maleo_database-0.0.10 → maleo_database-0.0.11}/maleo_database.egg-info/PKG-INFO +4 -4
  3. {maleo_database-0.0.10 → maleo_database-0.0.11}/maleo_database.egg-info/requires.txt +3 -3
  4. {maleo_database-0.0.10 → maleo_database-0.0.11}/pyproject.toml +4 -4
  5. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/config/__init__.py +43 -31
  6. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/managers/__init__.py +14 -16
  7. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/managers/client.py +6 -6
  8. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/managers/engine.py +8 -8
  9. {maleo_database-0.0.10 → maleo_database-0.0.11}/LICENSE +0 -0
  10. {maleo_database-0.0.10 → maleo_database-0.0.11}/README.md +0 -0
  11. {maleo_database-0.0.10 → maleo_database-0.0.11}/maleo_database.egg-info/SOURCES.txt +0 -0
  12. {maleo_database-0.0.10 → maleo_database-0.0.11}/maleo_database.egg-info/dependency_links.txt +0 -0
  13. {maleo_database-0.0.10 → maleo_database-0.0.11}/maleo_database.egg-info/top_level.txt +0 -0
  14. {maleo_database-0.0.10 → maleo_database-0.0.11}/setup.cfg +0 -0
  15. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/__init__.py +0 -0
  16. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/config/additional.py +0 -0
  17. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/config/connection.py +0 -0
  18. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/config/identifier.py +0 -0
  19. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/config/pooling.py +0 -0
  20. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/dtos.py +0 -0
  21. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/enums.py +0 -0
  22. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/managers/session.py +0 -0
  23. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/orm/__init__.py +0 -0
  24. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/orm/base.py +0 -0
  25. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/orm/models/__init__.py +0 -0
  26. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/orm/models/mixins/__init__.py +0 -0
  27. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/orm/models/mixins/identifier.py +0 -0
  28. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/orm/models/mixins/status.py +0 -0
  29. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/orm/models/mixins/timestamp.py +0 -0
  30. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/orm/models/table.py +0 -0
  31. {maleo_database-0.0.10 → maleo_database-0.0.11}/src/orm/queries.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo-database
3
- Version: 0.0.10
3
+ Version: 0.0.11
4
4
  Summary: Database package for MaleoSuite
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: Proprietary
@@ -44,12 +44,12 @@ Requires-Dist: identify>=2.6.13
44
44
  Requires-Dist: idna>=3.10
45
45
  Requires-Dist: importlib_metadata>=8.7.0
46
46
  Requires-Dist: maleo-constants>=0.0.6
47
- Requires-Dist: maleo-dtos>=0.0.15
47
+ Requires-Dist: maleo-dtos>=0.0.16
48
48
  Requires-Dist: maleo-enums>=0.0.6
49
- Requires-Dist: maleo-exceptions>=0.0.16
49
+ Requires-Dist: maleo-exceptions>=0.0.17
50
50
  Requires-Dist: maleo-logging>=0.0.7
51
51
  Requires-Dist: maleo-mixins>=0.0.13
52
- Requires-Dist: maleo-schemas>=0.0.18
52
+ Requires-Dist: maleo-schemas>=0.0.19
53
53
  Requires-Dist: maleo-types-base>=0.0.2
54
54
  Requires-Dist: maleo-types-controllers>=0.0.1
55
55
  Requires-Dist: maleo-types-enums>=0.0.4
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo-database
3
- Version: 0.0.10
3
+ Version: 0.0.11
4
4
  Summary: Database package for MaleoSuite
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: Proprietary
@@ -44,12 +44,12 @@ Requires-Dist: identify>=2.6.13
44
44
  Requires-Dist: idna>=3.10
45
45
  Requires-Dist: importlib_metadata>=8.7.0
46
46
  Requires-Dist: maleo-constants>=0.0.6
47
- Requires-Dist: maleo-dtos>=0.0.15
47
+ Requires-Dist: maleo-dtos>=0.0.16
48
48
  Requires-Dist: maleo-enums>=0.0.6
49
- Requires-Dist: maleo-exceptions>=0.0.16
49
+ Requires-Dist: maleo-exceptions>=0.0.17
50
50
  Requires-Dist: maleo-logging>=0.0.7
51
51
  Requires-Dist: maleo-mixins>=0.0.13
52
- Requires-Dist: maleo-schemas>=0.0.18
52
+ Requires-Dist: maleo-schemas>=0.0.19
53
53
  Requires-Dist: maleo-types-base>=0.0.2
54
54
  Requires-Dist: maleo-types-controllers>=0.0.1
55
55
  Requires-Dist: maleo-types-enums>=0.0.4
@@ -35,12 +35,12 @@ identify>=2.6.13
35
35
  idna>=3.10
36
36
  importlib_metadata>=8.7.0
37
37
  maleo-constants>=0.0.6
38
- maleo-dtos>=0.0.15
38
+ maleo-dtos>=0.0.16
39
39
  maleo-enums>=0.0.6
40
- maleo-exceptions>=0.0.16
40
+ maleo-exceptions>=0.0.17
41
41
  maleo-logging>=0.0.7
42
42
  maleo-mixins>=0.0.13
43
- maleo-schemas>=0.0.18
43
+ maleo-schemas>=0.0.19
44
44
  maleo-types-base>=0.0.2
45
45
  maleo-types-controllers>=0.0.1
46
46
  maleo-types-enums>=0.0.4
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "maleo-database"
7
- version = "0.0.10"
7
+ version = "0.0.11"
8
8
  description = "Database package for MaleoSuite"
9
9
  authors = [
10
10
  { name = "Agra Bima Yuda", email = "agra@nexmedis.com" }
@@ -50,12 +50,12 @@ dependencies = [
50
50
  "idna>=3.10",
51
51
  "importlib_metadata>=8.7.0",
52
52
  "maleo-constants>=0.0.6",
53
- "maleo-dtos>=0.0.15",
53
+ "maleo-dtos>=0.0.16",
54
54
  "maleo-enums>=0.0.6",
55
- "maleo-exceptions>=0.0.16",
55
+ "maleo-exceptions>=0.0.17",
56
56
  "maleo-logging>=0.0.7",
57
57
  "maleo-mixins>=0.0.13",
58
- "maleo-schemas>=0.0.18",
58
+ "maleo-schemas>=0.0.19",
59
59
  "maleo-types-base>=0.0.2",
60
60
  "maleo-types-controllers>=0.0.1",
61
61
  "maleo-types-enums>=0.0.4",
@@ -33,7 +33,7 @@ from .pooling import (
33
33
  )
34
34
 
35
35
 
36
- class BaseDatabaseConfig(
36
+ class BaseConfig(
37
37
  BaseModel, Generic[ConnectionConfigT, PoolingConfigT, AdditionalConfigT]
38
38
  ):
39
39
  """Base configuration for database."""
@@ -44,8 +44,8 @@ class BaseDatabaseConfig(
44
44
  additional: AdditionalConfigT = Field(..., description="Additional config")
45
45
 
46
46
 
47
- class MySQLDatabaseConfig(
48
- BaseDatabaseConfig[
47
+ class MySQLConfig(
48
+ BaseConfig[
49
49
  MySQLConnectionConfig,
50
50
  MySQLPoolingConfig,
51
51
  None,
@@ -72,8 +72,8 @@ class MySQLDatabaseConfig(
72
72
  return create_sync_engine(url, **self.engine_kwargs)
73
73
 
74
74
 
75
- class PostgreSQLDatabaseConfig(
76
- BaseDatabaseConfig[
75
+ class PostgreSQLConfig(
76
+ BaseConfig[
77
77
  PostgreSQLConnectionConfig,
78
78
  PostgreSQLPoolingConfig,
79
79
  None,
@@ -100,8 +100,8 @@ class PostgreSQLDatabaseConfig(
100
100
  return create_sync_engine(url, **self.engine_kwargs)
101
101
 
102
102
 
103
- class SQLiteDatabaseConfig(
104
- BaseDatabaseConfig[
103
+ class SQLiteConfig(
104
+ BaseConfig[
105
105
  SQLiteConnectionConfig,
106
106
  SQLitePoolingConfig,
107
107
  None,
@@ -128,8 +128,8 @@ class SQLiteDatabaseConfig(
128
128
  return create_sync_engine(url, **self.engine_kwargs)
129
129
 
130
130
 
131
- class SQLServerDatabaseConfig(
132
- BaseDatabaseConfig[
131
+ class SQLServerConfig(
132
+ BaseConfig[
133
133
  SQLServerConnectionConfig,
134
134
  SQLServerPoolingConfig,
135
135
  None,
@@ -158,15 +158,15 @@ class SQLServerDatabaseConfig(
158
158
 
159
159
  SQLConfigT = TypeVar(
160
160
  "SQLConfigT",
161
- PostgreSQLDatabaseConfig,
162
- MySQLDatabaseConfig,
163
- SQLiteDatabaseConfig,
164
- SQLServerDatabaseConfig,
161
+ PostgreSQLConfig,
162
+ MySQLConfig,
163
+ SQLiteConfig,
164
+ SQLServerConfig,
165
165
  )
166
166
 
167
167
 
168
- class ElasticsearchDatabaseConfig(
169
- BaseDatabaseConfig[
168
+ class ElasticsearchConfig(
169
+ BaseConfig[
170
170
  ElasticsearchConnectionConfig,
171
171
  ElasticsearchPoolingConfig,
172
172
  None,
@@ -204,8 +204,8 @@ class ElasticsearchDatabaseConfig(
204
204
  return Elasticsearch(hosts, **self.client_kwargs)
205
205
 
206
206
 
207
- class MongoDBDatabaseConfig(
208
- BaseDatabaseConfig[
207
+ class MongoDBConfig(
208
+ BaseConfig[
209
209
  MongoDBConnectionConfig,
210
210
  MongoDBPoolingConfig,
211
211
  None,
@@ -233,8 +233,8 @@ class MongoDBDatabaseConfig(
233
233
  return MongoClient(url, **self.client_kwargs)
234
234
 
235
235
 
236
- class RedisDatabaseConfig(
237
- BaseDatabaseConfig[
236
+ class RedisConfig(
237
+ BaseConfig[
238
238
  RedisConnectionConfig,
239
239
  RedisPoolingConfig,
240
240
  RedisAdditionalConfig,
@@ -260,19 +260,31 @@ class RedisDatabaseConfig(
260
260
 
261
261
  NoSQLConfigT = TypeVar(
262
262
  "NoSQLConfigT",
263
- ElasticsearchDatabaseConfig,
264
- MongoDBDatabaseConfig,
265
- RedisDatabaseConfig,
263
+ ElasticsearchConfig,
264
+ MongoDBConfig,
265
+ RedisConfig,
266
266
  )
267
267
 
268
268
 
269
- ConfigT = TypeVar(
270
- "ConfigT",
271
- PostgreSQLDatabaseConfig,
272
- MySQLDatabaseConfig,
273
- SQLiteDatabaseConfig,
274
- SQLServerDatabaseConfig,
275
- MongoDBDatabaseConfig,
276
- RedisDatabaseConfig,
277
- ElasticsearchDatabaseConfig,
269
+ DatabaseConfigT = TypeVar(
270
+ "DatabaseConfigT",
271
+ PostgreSQLConfig,
272
+ MySQLConfig,
273
+ SQLiteConfig,
274
+ SQLServerConfig,
275
+ MongoDBConfig,
276
+ RedisConfig,
277
+ ElasticsearchConfig,
278
278
  )
279
+
280
+
281
+ # * This class is left empty to be overridden in the future when defining configuration
282
+ class Config(BaseModel):
283
+ pass
284
+
285
+
286
+ ConfigT = TypeVar("ConfigT", bound=Config)
287
+
288
+
289
+ class ConfigMixin(BaseModel, Generic[ConfigT]):
290
+ database: ConfigT = Field(..., description="Databases config")
@@ -31,14 +31,14 @@ from maleo.schemas.operation.system import (
31
31
  from maleo.schemas.response import NoDataResponse
32
32
  from maleo.types.base.uuid import OptionalUUID
33
33
  from ..config import (
34
- MySQLDatabaseConfig,
35
- PostgreSQLDatabaseConfig,
36
- SQLiteDatabaseConfig,
37
- SQLServerDatabaseConfig,
34
+ MySQLConfig,
35
+ PostgreSQLConfig,
36
+ SQLiteConfig,
37
+ SQLServerConfig,
38
38
  SQLConfigT,
39
- ElasticsearchDatabaseConfig,
40
- MongoDBDatabaseConfig,
41
- RedisDatabaseConfig,
39
+ ElasticsearchConfig,
40
+ MongoDBConfig,
41
+ RedisConfig,
42
42
  NoSQLConfigT,
43
43
  ConfigT,
44
44
  )
@@ -251,19 +251,19 @@ class SQLDatabaseManager(DatabaseManager[SQLConfigT], Generic[SQLConfigT]):
251
251
  await self._engine_manager.dispose()
252
252
 
253
253
 
254
- class MySQLDatabaseManager(SQLDatabaseManager[MySQLDatabaseConfig]):
254
+ class MySQLDatabaseManager(SQLDatabaseManager[MySQLConfig]):
255
255
  pass
256
256
 
257
257
 
258
- class PostgreSQLDatabaseManager(SQLDatabaseManager[PostgreSQLDatabaseConfig]):
258
+ class PostgreSQLDatabaseManager(SQLDatabaseManager[PostgreSQLConfig]):
259
259
  pass
260
260
 
261
261
 
262
- class SQLiteDatabaseManager(SQLDatabaseManager[SQLiteDatabaseConfig]):
262
+ class SQLiteDatabaseManager(SQLDatabaseManager[SQLiteConfig]):
263
263
  pass
264
264
 
265
265
 
266
- class SQLServerDatabaseManager(SQLDatabaseManager[SQLServerDatabaseConfig]):
266
+ class SQLServerDatabaseManager(SQLDatabaseManager[SQLServerConfig]):
267
267
  pass
268
268
 
269
269
 
@@ -361,20 +361,18 @@ class NoSQLDatabaseManager(
361
361
 
362
362
 
363
363
  class ElasticsearchDatabaseManager(
364
- NoSQLDatabaseManager[ElasticsearchDatabaseConfig, AsyncElasticsearch, Elasticsearch]
364
+ NoSQLDatabaseManager[ElasticsearchConfig, AsyncElasticsearch, Elasticsearch]
365
365
  ):
366
366
  pass
367
367
 
368
368
 
369
369
  class MongoDBDatabaseManager(
370
- NoSQLDatabaseManager[MongoDBDatabaseConfig, AsyncIOMotorClient, MongoClient]
370
+ NoSQLDatabaseManager[MongoDBConfig, AsyncIOMotorClient, MongoClient]
371
371
  ):
372
372
  pass
373
373
 
374
374
 
375
- class RedisDatabaseManager(
376
- NoSQLDatabaseManager[RedisDatabaseConfig, AsyncRedis, SyncRedis]
377
- ):
375
+ class RedisDatabaseManager(NoSQLDatabaseManager[RedisConfig, AsyncRedis, SyncRedis]):
378
376
  pass
379
377
 
380
378
 
@@ -6,9 +6,9 @@ from redis import Redis as SyncRedis
6
6
  from typing import Generic, Literal, Optional, Tuple, TypeVar, Union, overload
7
7
  from maleo.types.base.string import ListOfStrings
8
8
  from ..config import (
9
- ElasticsearchDatabaseConfig,
10
- MongoDBDatabaseConfig,
11
- RedisDatabaseConfig,
9
+ ElasticsearchConfig,
10
+ MongoDBConfig,
11
+ RedisConfig,
12
12
  NoSQLConfigT,
13
13
  )
14
14
  from ..enums import Connection
@@ -60,18 +60,18 @@ class ClientManager(
60
60
 
61
61
 
62
62
  class ElasticsearchClientManager(
63
- ClientManager[ElasticsearchDatabaseConfig, AsyncElasticsearch, Elasticsearch]
63
+ ClientManager[ElasticsearchConfig, AsyncElasticsearch, Elasticsearch]
64
64
  ):
65
65
  pass
66
66
 
67
67
 
68
68
  class MongoDBClientManager(
69
- ClientManager[MongoDBDatabaseConfig, AsyncIOMotorClient, MongoClient]
69
+ ClientManager[MongoDBConfig, AsyncIOMotorClient, MongoClient]
70
70
  ):
71
71
  pass
72
72
 
73
73
 
74
- class RedisClientManager(ClientManager[RedisDatabaseConfig, AsyncRedis, SyncRedis]):
74
+ class RedisClientManager(ClientManager[RedisConfig, AsyncRedis, SyncRedis]):
75
75
  async def async_clear(self, prefixes: Optional[Union[ListOfStrings, str]] = None):
76
76
  if prefixes is None:
77
77
  prefixes = [self._config.additional.base_namespace]
@@ -2,10 +2,10 @@ from sqlalchemy.engine import Engine
2
2
  from sqlalchemy.ext.asyncio import AsyncEngine
3
3
  from typing import Generic, Literal, Tuple, TypeVar, Union, overload
4
4
  from ..config import (
5
- MySQLDatabaseConfig,
6
- PostgreSQLDatabaseConfig,
7
- SQLiteDatabaseConfig,
8
- SQLServerDatabaseConfig,
5
+ MySQLConfig,
6
+ PostgreSQLConfig,
7
+ SQLiteConfig,
8
+ SQLServerConfig,
9
9
  SQLConfigT,
10
10
  )
11
11
  from ..enums import Connection
@@ -39,19 +39,19 @@ class EngineManager(Generic[SQLConfigT]):
39
39
  self._sync_engine.dispose()
40
40
 
41
41
 
42
- class MySQLEngineManager(EngineManager[MySQLDatabaseConfig]):
42
+ class MySQLEngineManager(EngineManager[MySQLConfig]):
43
43
  pass
44
44
 
45
45
 
46
- class PostgreSQLEngineManager(EngineManager[PostgreSQLDatabaseConfig]):
46
+ class PostgreSQLEngineManager(EngineManager[PostgreSQLConfig]):
47
47
  pass
48
48
 
49
49
 
50
- class SQLiteEngineManager(EngineManager[SQLiteDatabaseConfig]):
50
+ class SQLiteEngineManager(EngineManager[SQLiteConfig]):
51
51
  pass
52
52
 
53
53
 
54
- class SQLServerEngineManager(EngineManager[SQLServerDatabaseConfig]):
54
+ class SQLServerEngineManager(EngineManager[SQLServerConfig]):
55
55
  pass
56
56
 
57
57
 
File without changes