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.
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 Denis Titovets
3
+ Copyright (c) 2026 Denis Titovets
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyquoks
3
- Version: 2.3.0
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 (==2025.11.12)
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.0.0)
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.0"
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 (==2025.11.12)",
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.0.0)",
23
+ "pillow (==12.1.0)",
24
24
  "psutil (==7.2.1)",
25
25
  "pydantic (==2.12.5)",
26
26
  "pydantic-core (==2.41.5)",
@@ -0,0 +1,11 @@
1
+ __all__ = [
2
+ "data",
3
+ "utils",
4
+ "localhost",
5
+ "test",
6
+ ]
7
+
8
+ from . import data
9
+ from . import utils
10
+ from . import localhost
11
+ from . import test
@@ -12,12 +12,12 @@ import PIL.Image
12
12
  import pydantic
13
13
  import requests
14
14
 
15
- import pyquoks.utils
15
+ from . import utils
16
16
 
17
17
 
18
18
  # region Providers
19
19
 
20
- class AssetsProvider(pyquoks.utils._HasRequiredAttributes):
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(pyquoks.utils._HasRequiredAttributes):
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(pyquoks.utils._HasRequiredAttributes):
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 = pyquoks.utils.get_path("assets/")
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(pyquoks.utils._HasRequiredAttributes):
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(pyquoks.utils._HasRequiredAttributes):
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 = pyquoks.utils.get_path("config.ini")
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(pyquoks.utils._HasRequiredAttributes):
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 = pyquoks.utils.get_path("data/")
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(pyquoks.utils._HasRequiredAttributes):
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, pyquoks.utils._HasRequiredAttributes):
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 = pyquoks.utils.get_path("db/")
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 = pyquoks.utils.get_path("logs/"),
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 pyquoks.utils
6
+ from . import utils
7
7
 
8
8
 
9
- class LocalhostFlask(flask.Flask, pyquoks.utils._HasRequiredAttributes):
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 pyquoks.data
6
- import pyquoks.utils
5
+ from . import data
6
+ from . import utils
7
7
 
8
8
 
9
- class TestCase(unittest.TestCase, pyquoks.utils._HasRequiredAttributes):
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 = pyquoks.data.LoggerService(
35
- filename=__name__,
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:
@@ -1,8 +0,0 @@
1
- __all__ = [
2
- "data",
3
- "utils",
4
- "localhost",
5
- "test",
6
- ]
7
-
8
- from . import data, utils, localhost, test
File without changes
File without changes