pyquoks 2.3.0__tar.gz → 2.3.2__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.
- {pyquoks-2.3.0 → pyquoks-2.3.2}/LICENSE +1 -1
- {pyquoks-2.3.0 → pyquoks-2.3.2}/PKG-INFO +3 -3
- {pyquoks-2.3.0 → pyquoks-2.3.2}/pyproject.toml +3 -3
- pyquoks-2.3.2/src/pyquoks/__init__.py +11 -0
- {pyquoks-2.3.0 → pyquoks-2.3.2}/src/pyquoks/data.py +31 -14
- {pyquoks-2.3.0 → pyquoks-2.3.2}/src/pyquoks/localhost.py +2 -2
- {pyquoks-2.3.0 → pyquoks-2.3.2}/src/pyquoks/test.py +6 -5
- pyquoks-2.3.0/src/pyquoks/__init__.py +0 -8
- {pyquoks-2.3.0 → pyquoks-2.3.2}/README.md +0 -0
- {pyquoks-2.3.0 → pyquoks-2.3.2}/src/pyquoks/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyquoks
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.2
|
|
4
4
|
Summary: Пакет PyPI для часто используемых модулей в проектах diquoks
|
|
5
5
|
License: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.14
|
|
13
13
|
Requires-Dist: annotated-types (==0.7.0)
|
|
14
14
|
Requires-Dist: blinker (==1.9.0)
|
|
15
|
-
Requires-Dist: certifi (==
|
|
15
|
+
Requires-Dist: certifi (==2026.1.4)
|
|
16
16
|
Requires-Dist: charset-normalizer (==3.4.4)
|
|
17
17
|
Requires-Dist: click (==8.3.1)
|
|
18
18
|
Requires-Dist: colorama (==0.4.6)
|
|
@@ -21,7 +21,7 @@ Requires-Dist: idna (==3.11)
|
|
|
21
21
|
Requires-Dist: itsdangerous (==2.2.0)
|
|
22
22
|
Requires-Dist: jinja2 (==3.1.6)
|
|
23
23
|
Requires-Dist: markupsafe (==3.0.3)
|
|
24
|
-
Requires-Dist: pillow (==12.
|
|
24
|
+
Requires-Dist: pillow (==12.1.0)
|
|
25
25
|
Requires-Dist: psutil (==7.2.1)
|
|
26
26
|
Requires-Dist: pydantic (==2.12.5)
|
|
27
27
|
Requires-Dist: pydantic-core (==2.41.5)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "pyquoks"
|
|
3
|
-
version = "2.3.
|
|
3
|
+
version = "2.3.2"
|
|
4
4
|
description = "Пакет PyPI для часто используемых модулей в проектах diquoks"
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "Denis Titovets <den232titovets@yandex.ru>" }
|
|
@@ -11,7 +11,7 @@ requires-python = ">=3.14"
|
|
|
11
11
|
dependencies = [
|
|
12
12
|
"annotated-types (==0.7.0)",
|
|
13
13
|
"blinker (==1.9.0)",
|
|
14
|
-
"certifi (==
|
|
14
|
+
"certifi (==2026.1.4)",
|
|
15
15
|
"charset-normalizer (==3.4.4)",
|
|
16
16
|
"click (==8.3.1)",
|
|
17
17
|
"colorama (==0.4.6)",
|
|
@@ -20,7 +20,7 @@ dependencies = [
|
|
|
20
20
|
"itsdangerous (==2.2.0)",
|
|
21
21
|
"jinja2 (==3.1.6)",
|
|
22
22
|
"markupsafe (==3.0.3)",
|
|
23
|
-
"pillow (==12.
|
|
23
|
+
"pillow (==12.1.0)",
|
|
24
24
|
"psutil (==7.2.1)",
|
|
25
25
|
"pydantic (==2.12.5)",
|
|
26
26
|
"pydantic-core (==2.41.5)",
|
|
@@ -12,12 +12,12 @@ import PIL.Image
|
|
|
12
12
|
import pydantic
|
|
13
13
|
import requests
|
|
14
14
|
|
|
15
|
-
import
|
|
15
|
+
from . import utils
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
# region Providers
|
|
19
19
|
|
|
20
|
-
class AssetsProvider(
|
|
20
|
+
class AssetsProvider(utils._HasRequiredAttributes):
|
|
21
21
|
"""
|
|
22
22
|
Class for providing various assets data
|
|
23
23
|
|
|
@@ -31,7 +31,7 @@ class AssetsProvider(pyquoks.utils._HasRequiredAttributes):
|
|
|
31
31
|
_PATH: Path to the directory with assets folders
|
|
32
32
|
"""
|
|
33
33
|
|
|
34
|
-
class Directory(
|
|
34
|
+
class Directory(utils._HasRequiredAttributes):
|
|
35
35
|
"""
|
|
36
36
|
Class that represents a directory with various assets
|
|
37
37
|
|
|
@@ -82,7 +82,7 @@ class AssetsProvider(pyquoks.utils._HasRequiredAttributes):
|
|
|
82
82
|
except Exception:
|
|
83
83
|
setattr(self, attribute, None)
|
|
84
84
|
|
|
85
|
-
class Network(
|
|
85
|
+
class Network(utils._HasRequiredAttributes):
|
|
86
86
|
"""
|
|
87
87
|
Class that represents a set of images obtained from a network
|
|
88
88
|
|
|
@@ -123,7 +123,7 @@ class AssetsProvider(pyquoks.utils._HasRequiredAttributes):
|
|
|
123
123
|
"_PATH",
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
_PATH: str =
|
|
126
|
+
_PATH: str = utils.get_path("assets/")
|
|
127
127
|
|
|
128
128
|
def __init__(self) -> None:
|
|
129
129
|
self._check_attributes()
|
|
@@ -160,6 +160,23 @@ class AssetsProvider(pyquoks.utils._HasRequiredAttributes):
|
|
|
160
160
|
)
|
|
161
161
|
|
|
162
162
|
|
|
163
|
+
class EnvironmentProvider:
|
|
164
|
+
"""
|
|
165
|
+
Class for providing environment variables
|
|
166
|
+
"""
|
|
167
|
+
|
|
168
|
+
def __init__(self) -> None:
|
|
169
|
+
self.load_variables()
|
|
170
|
+
|
|
171
|
+
def load_variables(self) -> None:
|
|
172
|
+
"""
|
|
173
|
+
Loads specified environment variables
|
|
174
|
+
"""
|
|
175
|
+
|
|
176
|
+
for attribute in self.__class__.__annotations__.keys():
|
|
177
|
+
setattr(self, attribute, os.getenv(attribute, None))
|
|
178
|
+
|
|
179
|
+
|
|
163
180
|
class StringsProvider:
|
|
164
181
|
"""
|
|
165
182
|
Class for providing various strings data
|
|
@@ -188,7 +205,7 @@ class StringsProvider:
|
|
|
188
205
|
|
|
189
206
|
# region Managers
|
|
190
207
|
|
|
191
|
-
class ConfigManager(
|
|
208
|
+
class ConfigManager(utils._HasRequiredAttributes):
|
|
192
209
|
"""
|
|
193
210
|
Class for managing data in configuration file
|
|
194
211
|
|
|
@@ -202,7 +219,7 @@ class ConfigManager(pyquoks.utils._HasRequiredAttributes):
|
|
|
202
219
|
_PATH: Path to the configuration file
|
|
203
220
|
"""
|
|
204
221
|
|
|
205
|
-
class Config(
|
|
222
|
+
class Config(utils._HasRequiredAttributes):
|
|
206
223
|
"""
|
|
207
224
|
Class that represents a section in configuration file
|
|
208
225
|
|
|
@@ -322,7 +339,7 @@ class ConfigManager(pyquoks.utils._HasRequiredAttributes):
|
|
|
322
339
|
"_PATH",
|
|
323
340
|
}
|
|
324
341
|
|
|
325
|
-
_PATH: str =
|
|
342
|
+
_PATH: str = utils.get_path("config.ini")
|
|
326
343
|
|
|
327
344
|
def __init__(self) -> None:
|
|
328
345
|
self._check_attributes()
|
|
@@ -336,7 +353,7 @@ class ConfigManager(pyquoks.utils._HasRequiredAttributes):
|
|
|
336
353
|
)
|
|
337
354
|
|
|
338
355
|
|
|
339
|
-
class DataManager(
|
|
356
|
+
class DataManager(utils._HasRequiredAttributes):
|
|
340
357
|
"""
|
|
341
358
|
Class for managing data from JSON-like files
|
|
342
359
|
|
|
@@ -358,7 +375,7 @@ class DataManager(pyquoks.utils._HasRequiredAttributes):
|
|
|
358
375
|
"_FILENAME",
|
|
359
376
|
}
|
|
360
377
|
|
|
361
|
-
_PATH: str =
|
|
378
|
+
_PATH: str = utils.get_path("data/")
|
|
362
379
|
|
|
363
380
|
_FILENAME: str = "{0}.json"
|
|
364
381
|
|
|
@@ -427,7 +444,7 @@ class DataManager(pyquoks.utils._HasRequiredAttributes):
|
|
|
427
444
|
)
|
|
428
445
|
|
|
429
446
|
|
|
430
|
-
class DatabaseManager(
|
|
447
|
+
class DatabaseManager(utils._HasRequiredAttributes):
|
|
431
448
|
"""
|
|
432
449
|
Class for managing database connections
|
|
433
450
|
|
|
@@ -441,7 +458,7 @@ class DatabaseManager(pyquoks.utils._HasRequiredAttributes):
|
|
|
441
458
|
_PATH: Path to the directory with databases
|
|
442
459
|
"""
|
|
443
460
|
|
|
444
|
-
class Database(sqlite3.Connection,
|
|
461
|
+
class Database(sqlite3.Connection, utils._HasRequiredAttributes):
|
|
445
462
|
"""
|
|
446
463
|
Class that represents a database connection
|
|
447
464
|
|
|
@@ -504,7 +521,7 @@ class DatabaseManager(pyquoks.utils._HasRequiredAttributes):
|
|
|
504
521
|
"_PATH",
|
|
505
522
|
}
|
|
506
523
|
|
|
507
|
-
_PATH: str =
|
|
524
|
+
_PATH: str = utils.get_path("db/")
|
|
508
525
|
|
|
509
526
|
def __init__(self) -> None:
|
|
510
527
|
self._check_attributes()
|
|
@@ -550,7 +567,7 @@ class LoggerService(logging.Logger):
|
|
|
550
567
|
filename: str,
|
|
551
568
|
level: int = logging.NOTSET,
|
|
552
569
|
file_handling: bool = True,
|
|
553
|
-
path: str =
|
|
570
|
+
path: str = utils.get_path("logs/"),
|
|
554
571
|
) -> None:
|
|
555
572
|
super().__init__(filename, level)
|
|
556
573
|
|
|
@@ -3,10 +3,10 @@ import typing
|
|
|
3
3
|
import flask
|
|
4
4
|
import waitress
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
from . import utils
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
class LocalhostFlask(flask.Flask,
|
|
9
|
+
class LocalhostFlask(flask.Flask, utils._HasRequiredAttributes):
|
|
10
10
|
"""
|
|
11
11
|
Class for creating a simple localhost server
|
|
12
12
|
|
|
@@ -2,11 +2,11 @@ import types
|
|
|
2
2
|
import typing
|
|
3
3
|
import unittest
|
|
4
4
|
|
|
5
|
-
import
|
|
6
|
-
import
|
|
5
|
+
from . import data
|
|
6
|
+
from . import utils
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
class TestCase(unittest.TestCase,
|
|
9
|
+
class TestCase(unittest.TestCase, utils._HasRequiredAttributes):
|
|
10
10
|
"""
|
|
11
11
|
Class for performing unit testing
|
|
12
12
|
|
|
@@ -31,8 +31,9 @@ class TestCase(unittest.TestCase, pyquoks.utils._HasRequiredAttributes):
|
|
|
31
31
|
|
|
32
32
|
@classmethod
|
|
33
33
|
def setUpClass(cls) -> None:
|
|
34
|
-
cls._logger =
|
|
35
|
-
filename=
|
|
34
|
+
cls._logger = data.LoggerService(
|
|
35
|
+
filename=cls._MODULE_NAME,
|
|
36
|
+
path=utils.get_path("tests/logs/"),
|
|
36
37
|
)
|
|
37
38
|
|
|
38
39
|
def _get_func_name(self, func_name: str) -> str:
|
|
File without changes
|
|
File without changes
|