exonware-xwsystem 0.0.1.410__py3-none-any.whl → 0.1.0.1__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.
Files changed (259) hide show
  1. exonware/__init__.py +1 -1
  2. exonware/conf.py +1 -1
  3. exonware/xwsystem/__init__.py +2 -2
  4. exonware/xwsystem/caching/__init__.py +1 -1
  5. exonware/xwsystem/caching/base.py +2 -2
  6. exonware/xwsystem/caching/bloom_cache.py +2 -2
  7. exonware/xwsystem/caching/cache_manager.py +1 -1
  8. exonware/xwsystem/caching/conditional.py +2 -2
  9. exonware/xwsystem/caching/contracts.py +1 -1
  10. exonware/xwsystem/caching/decorators.py +2 -2
  11. exonware/xwsystem/caching/defs.py +1 -1
  12. exonware/xwsystem/caching/disk_cache.py +1 -1
  13. exonware/xwsystem/caching/distributed.py +1 -1
  14. exonware/xwsystem/caching/errors.py +1 -1
  15. exonware/xwsystem/caching/events.py +2 -2
  16. exonware/xwsystem/caching/eviction_strategies.py +1 -1
  17. exonware/xwsystem/caching/fluent.py +1 -1
  18. exonware/xwsystem/caching/integrity.py +1 -1
  19. exonware/xwsystem/caching/lfu_cache.py +2 -2
  20. exonware/xwsystem/caching/lfu_optimized.py +3 -3
  21. exonware/xwsystem/caching/lru_cache.py +2 -2
  22. exonware/xwsystem/caching/memory_bounded.py +2 -2
  23. exonware/xwsystem/caching/metrics_exporter.py +2 -2
  24. exonware/xwsystem/caching/observable_cache.py +1 -1
  25. exonware/xwsystem/caching/pluggable_cache.py +2 -2
  26. exonware/xwsystem/caching/rate_limiter.py +1 -1
  27. exonware/xwsystem/caching/read_through.py +2 -2
  28. exonware/xwsystem/caching/secure_cache.py +1 -1
  29. exonware/xwsystem/caching/serializable.py +2 -2
  30. exonware/xwsystem/caching/stats.py +1 -1
  31. exonware/xwsystem/caching/tagging.py +2 -2
  32. exonware/xwsystem/caching/ttl_cache.py +1 -1
  33. exonware/xwsystem/caching/two_tier_cache.py +1 -1
  34. exonware/xwsystem/caching/utils.py +1 -1
  35. exonware/xwsystem/caching/validation.py +1 -1
  36. exonware/xwsystem/caching/warming.py +2 -2
  37. exonware/xwsystem/caching/write_behind.py +2 -2
  38. exonware/xwsystem/cli/__init__.py +1 -1
  39. exonware/xwsystem/cli/args.py +1 -1
  40. exonware/xwsystem/cli/base.py +1 -1
  41. exonware/xwsystem/cli/colors.py +1 -1
  42. exonware/xwsystem/cli/console.py +1 -1
  43. exonware/xwsystem/cli/contracts.py +1 -1
  44. exonware/xwsystem/cli/defs.py +1 -1
  45. exonware/xwsystem/cli/errors.py +1 -1
  46. exonware/xwsystem/cli/progress.py +1 -1
  47. exonware/xwsystem/cli/prompts.py +1 -1
  48. exonware/xwsystem/cli/tables.py +1 -1
  49. exonware/xwsystem/config/__init__.py +1 -1
  50. exonware/xwsystem/config/base.py +2 -2
  51. exonware/xwsystem/config/contracts.py +1 -1
  52. exonware/xwsystem/config/defaults.py +1 -1
  53. exonware/xwsystem/config/defs.py +1 -1
  54. exonware/xwsystem/config/errors.py +2 -2
  55. exonware/xwsystem/config/logging.py +1 -1
  56. exonware/xwsystem/config/logging_setup.py +2 -2
  57. exonware/xwsystem/config/performance.py +115 -388
  58. exonware/xwsystem/http_client/__init__.py +1 -1
  59. exonware/xwsystem/http_client/advanced_client.py +2 -2
  60. exonware/xwsystem/http_client/base.py +2 -2
  61. exonware/xwsystem/http_client/client.py +2 -2
  62. exonware/xwsystem/http_client/contracts.py +1 -1
  63. exonware/xwsystem/http_client/defs.py +1 -1
  64. exonware/xwsystem/http_client/errors.py +2 -2
  65. exonware/xwsystem/io/__init__.py +1 -1
  66. exonware/xwsystem/io/archive/__init__.py +1 -1
  67. exonware/xwsystem/io/archive/archive.py +1 -1
  68. exonware/xwsystem/io/archive/archive_files.py +1 -1
  69. exonware/xwsystem/io/archive/archivers.py +2 -2
  70. exonware/xwsystem/io/archive/base.py +6 -6
  71. exonware/xwsystem/io/archive/codec_integration.py +1 -1
  72. exonware/xwsystem/io/archive/compression.py +1 -1
  73. exonware/xwsystem/io/archive/formats/__init__.py +1 -1
  74. exonware/xwsystem/io/archive/formats/brotli_format.py +6 -3
  75. exonware/xwsystem/io/archive/formats/lz4_format.py +6 -3
  76. exonware/xwsystem/io/archive/formats/rar.py +6 -3
  77. exonware/xwsystem/io/archive/formats/sevenzip.py +6 -3
  78. exonware/xwsystem/io/archive/formats/squashfs_format.py +1 -1
  79. exonware/xwsystem/io/archive/formats/tar.py +1 -1
  80. exonware/xwsystem/io/archive/formats/wim_format.py +6 -3
  81. exonware/xwsystem/io/archive/formats/zip.py +1 -1
  82. exonware/xwsystem/io/archive/formats/zpaq_format.py +1 -1
  83. exonware/xwsystem/io/archive/formats/zstandard.py +6 -3
  84. exonware/xwsystem/io/base.py +1 -1
  85. exonware/xwsystem/io/codec/__init__.py +1 -1
  86. exonware/xwsystem/io/codec/base.py +6 -6
  87. exonware/xwsystem/io/codec/contracts.py +1 -1
  88. exonware/xwsystem/io/codec/registry.py +5 -5
  89. exonware/xwsystem/io/common/__init__.py +1 -1
  90. exonware/xwsystem/io/common/base.py +1 -1
  91. exonware/xwsystem/io/common/lock.py +1 -1
  92. exonware/xwsystem/io/common/watcher.py +1 -1
  93. exonware/xwsystem/io/contracts.py +1 -1
  94. exonware/xwsystem/io/data_operations.py +746 -0
  95. exonware/xwsystem/io/defs.py +1 -1
  96. exonware/xwsystem/io/errors.py +1 -1
  97. exonware/xwsystem/io/facade.py +2 -2
  98. exonware/xwsystem/io/file/__init__.py +1 -1
  99. exonware/xwsystem/io/file/base.py +1 -1
  100. exonware/xwsystem/io/file/conversion.py +1 -1
  101. exonware/xwsystem/io/file/file.py +8 -6
  102. exonware/xwsystem/io/file/paged_source.py +8 -1
  103. exonware/xwsystem/io/file/paging/__init__.py +1 -1
  104. exonware/xwsystem/io/file/paging/byte_paging.py +1 -1
  105. exonware/xwsystem/io/file/paging/line_paging.py +1 -1
  106. exonware/xwsystem/io/file/paging/record_paging.py +1 -1
  107. exonware/xwsystem/io/file/paging/registry.py +4 -4
  108. exonware/xwsystem/io/file/source.py +20 -9
  109. exonware/xwsystem/io/filesystem/__init__.py +1 -1
  110. exonware/xwsystem/io/filesystem/base.py +1 -1
  111. exonware/xwsystem/io/filesystem/local.py +9 -1
  112. exonware/xwsystem/io/folder/__init__.py +1 -1
  113. exonware/xwsystem/io/folder/base.py +1 -1
  114. exonware/xwsystem/io/folder/folder.py +2 -2
  115. exonware/xwsystem/io/serialization/__init__.py +1 -1
  116. exonware/xwsystem/io/serialization/auto_serializer.py +52 -39
  117. exonware/xwsystem/io/serialization/base.py +165 -1
  118. exonware/xwsystem/io/serialization/contracts.py +88 -1
  119. exonware/xwsystem/io/serialization/defs.py +1 -1
  120. exonware/xwsystem/io/serialization/errors.py +1 -1
  121. exonware/xwsystem/io/serialization/flyweight.py +10 -10
  122. exonware/xwsystem/io/serialization/format_detector.py +8 -5
  123. exonware/xwsystem/io/serialization/formats/__init__.py +1 -1
  124. exonware/xwsystem/io/serialization/formats/binary/bson.py +1 -1
  125. exonware/xwsystem/io/serialization/formats/binary/cbor.py +1 -1
  126. exonware/xwsystem/io/serialization/formats/binary/marshal.py +1 -1
  127. exonware/xwsystem/io/serialization/formats/binary/msgpack.py +1 -1
  128. exonware/xwsystem/io/serialization/formats/binary/pickle.py +1 -1
  129. exonware/xwsystem/io/serialization/formats/binary/plistlib.py +1 -1
  130. exonware/xwsystem/io/serialization/formats/database/dbm.py +53 -1
  131. exonware/xwsystem/io/serialization/formats/database/shelve.py +48 -1
  132. exonware/xwsystem/io/serialization/formats/database/sqlite3.py +85 -1
  133. exonware/xwsystem/io/serialization/formats/text/append_only_log.py +201 -0
  134. exonware/xwsystem/io/serialization/formats/text/configparser.py +1 -1
  135. exonware/xwsystem/io/serialization/formats/text/csv.py +1 -1
  136. exonware/xwsystem/io/serialization/formats/text/formdata.py +1 -1
  137. exonware/xwsystem/io/serialization/formats/text/json.py +43 -20
  138. exonware/xwsystem/io/serialization/formats/text/json5.py +7 -5
  139. exonware/xwsystem/io/serialization/formats/text/jsonlines.py +316 -22
  140. exonware/xwsystem/io/serialization/formats/text/multipart.py +1 -1
  141. exonware/xwsystem/io/serialization/formats/text/toml.py +19 -3
  142. exonware/xwsystem/io/serialization/formats/text/xml.py +8 -1
  143. exonware/xwsystem/io/serialization/formats/text/yaml.py +52 -2
  144. exonware/xwsystem/io/serialization/parsers/__init__.py +15 -0
  145. exonware/xwsystem/io/serialization/parsers/base.py +59 -0
  146. exonware/xwsystem/io/serialization/parsers/hybrid_parser.py +61 -0
  147. exonware/xwsystem/io/serialization/parsers/msgspec_parser.py +45 -0
  148. exonware/xwsystem/io/serialization/parsers/orjson_direct_parser.py +53 -0
  149. exonware/xwsystem/io/serialization/parsers/orjson_parser.py +59 -0
  150. exonware/xwsystem/io/serialization/parsers/pysimdjson_parser.py +51 -0
  151. exonware/xwsystem/io/serialization/parsers/rapidjson_parser.py +50 -0
  152. exonware/xwsystem/io/serialization/parsers/registry.py +90 -0
  153. exonware/xwsystem/io/serialization/parsers/standard.py +43 -0
  154. exonware/xwsystem/io/serialization/parsers/ujson_parser.py +50 -0
  155. exonware/xwsystem/io/serialization/registry.py +1 -1
  156. exonware/xwsystem/io/serialization/serializer.py +175 -3
  157. exonware/xwsystem/io/serialization/utils/__init__.py +1 -1
  158. exonware/xwsystem/io/serialization/utils/path_ops.py +1 -1
  159. exonware/xwsystem/io/stream/__init__.py +1 -1
  160. exonware/xwsystem/io/stream/async_operations.py +1 -1
  161. exonware/xwsystem/io/stream/base.py +1 -1
  162. exonware/xwsystem/io/stream/codec_io.py +1 -1
  163. exonware/xwsystem/ipc/async_fabric.py +1 -2
  164. exonware/xwsystem/ipc/base.py +2 -2
  165. exonware/xwsystem/ipc/contracts.py +2 -2
  166. exonware/xwsystem/ipc/defs.py +1 -1
  167. exonware/xwsystem/ipc/errors.py +2 -2
  168. exonware/xwsystem/ipc/pipes.py +2 -2
  169. exonware/xwsystem/ipc/shared_memory.py +2 -2
  170. exonware/xwsystem/monitoring/base.py +2 -2
  171. exonware/xwsystem/monitoring/contracts.py +1 -1
  172. exonware/xwsystem/monitoring/defs.py +1 -1
  173. exonware/xwsystem/monitoring/error_recovery.py +2 -2
  174. exonware/xwsystem/monitoring/errors.py +2 -2
  175. exonware/xwsystem/monitoring/memory_monitor.py +1 -1
  176. exonware/xwsystem/monitoring/performance_manager_generic.py +2 -2
  177. exonware/xwsystem/monitoring/performance_validator.py +1 -1
  178. exonware/xwsystem/monitoring/system_monitor.py +2 -2
  179. exonware/xwsystem/monitoring/tracing.py +2 -2
  180. exonware/xwsystem/monitoring/tracker.py +1 -1
  181. exonware/xwsystem/operations/__init__.py +1 -1
  182. exonware/xwsystem/operations/base.py +1 -1
  183. exonware/xwsystem/operations/defs.py +1 -1
  184. exonware/xwsystem/operations/diff.py +1 -1
  185. exonware/xwsystem/operations/merge.py +1 -1
  186. exonware/xwsystem/operations/patch.py +1 -1
  187. exonware/xwsystem/patterns/base.py +2 -2
  188. exonware/xwsystem/patterns/context_manager.py +2 -2
  189. exonware/xwsystem/patterns/contracts.py +9 -9
  190. exonware/xwsystem/patterns/defs.py +1 -1
  191. exonware/xwsystem/patterns/dynamic_facade.py +8 -8
  192. exonware/xwsystem/patterns/errors.py +5 -5
  193. exonware/xwsystem/patterns/handler_factory.py +6 -6
  194. exonware/xwsystem/patterns/object_pool.py +7 -7
  195. exonware/xwsystem/patterns/registry.py +3 -3
  196. exonware/xwsystem/plugins/__init__.py +1 -1
  197. exonware/xwsystem/plugins/base.py +5 -5
  198. exonware/xwsystem/plugins/contracts.py +5 -5
  199. exonware/xwsystem/plugins/defs.py +1 -1
  200. exonware/xwsystem/plugins/errors.py +4 -4
  201. exonware/xwsystem/runtime/__init__.py +1 -1
  202. exonware/xwsystem/runtime/base.py +6 -6
  203. exonware/xwsystem/runtime/contracts.py +6 -6
  204. exonware/xwsystem/runtime/defs.py +1 -1
  205. exonware/xwsystem/runtime/env.py +2 -2
  206. exonware/xwsystem/runtime/errors.py +1 -1
  207. exonware/xwsystem/runtime/reflection.py +8 -8
  208. exonware/xwsystem/security/auth.py +1 -1
  209. exonware/xwsystem/security/base.py +2 -2
  210. exonware/xwsystem/security/contracts.py +1 -1
  211. exonware/xwsystem/security/crypto.py +2 -2
  212. exonware/xwsystem/security/defs.py +1 -1
  213. exonware/xwsystem/security/errors.py +2 -2
  214. exonware/xwsystem/security/hazmat.py +2 -2
  215. exonware/xwsystem/shared/__init__.py +1 -1
  216. exonware/xwsystem/shared/base.py +1 -1
  217. exonware/xwsystem/shared/contracts.py +1 -1
  218. exonware/xwsystem/shared/defs.py +1 -1
  219. exonware/xwsystem/shared/errors.py +1 -1
  220. exonware/xwsystem/structures/__init__.py +1 -1
  221. exonware/xwsystem/structures/base.py +2 -2
  222. exonware/xwsystem/structures/contracts.py +1 -1
  223. exonware/xwsystem/structures/defs.py +1 -1
  224. exonware/xwsystem/structures/errors.py +2 -2
  225. exonware/xwsystem/threading/async_primitives.py +2 -2
  226. exonware/xwsystem/threading/base.py +2 -2
  227. exonware/xwsystem/threading/contracts.py +1 -1
  228. exonware/xwsystem/threading/defs.py +1 -1
  229. exonware/xwsystem/threading/errors.py +2 -2
  230. exonware/xwsystem/threading/safe_factory.py +6 -6
  231. exonware/xwsystem/utils/base.py +2 -2
  232. exonware/xwsystem/utils/contracts.py +1 -1
  233. exonware/xwsystem/utils/dt/__init__.py +1 -1
  234. exonware/xwsystem/utils/dt/base.py +2 -2
  235. exonware/xwsystem/utils/dt/contracts.py +1 -1
  236. exonware/xwsystem/utils/dt/defs.py +1 -1
  237. exonware/xwsystem/utils/dt/errors.py +2 -2
  238. exonware/xwsystem/utils/dt/formatting.py +1 -1
  239. exonware/xwsystem/utils/dt/humanize.py +2 -2
  240. exonware/xwsystem/utils/dt/parsing.py +1 -1
  241. exonware/xwsystem/utils/dt/timezone_utils.py +1 -1
  242. exonware/xwsystem/utils/errors.py +2 -2
  243. exonware/xwsystem/utils/utils_contracts.py +1 -1
  244. exonware/xwsystem/validation/__init__.py +1 -1
  245. exonware/xwsystem/validation/base.py +15 -15
  246. exonware/xwsystem/validation/contracts.py +1 -1
  247. exonware/xwsystem/validation/data_validator.py +10 -0
  248. exonware/xwsystem/validation/declarative.py +9 -9
  249. exonware/xwsystem/validation/defs.py +1 -1
  250. exonware/xwsystem/validation/errors.py +2 -2
  251. exonware/xwsystem/validation/fluent_validator.py +4 -4
  252. exonware/xwsystem/version.py +4 -4
  253. {exonware_xwsystem-0.0.1.410.dist-info → exonware_xwsystem-0.1.0.1.dist-info}/METADATA +3 -3
  254. exonware_xwsystem-0.1.0.1.dist-info/RECORD +284 -0
  255. exonware/xwsystem/caching/USAGE_GUIDE.md +0 -779
  256. exonware/xwsystem/utils/test_runner.py +0 -526
  257. exonware_xwsystem-0.0.1.410.dist-info/RECORD +0 -273
  258. {exonware_xwsystem-0.0.1.410.dist-info → exonware_xwsystem-0.1.0.1.dist-info}/WHEEL +0 -0
  259. {exonware_xwsystem-0.0.1.410.dist-info → exonware_xwsystem-0.1.0.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,9 +1,9 @@
1
- #exonware/xsystem/http/errors.py
1
+ #exonware/xwsystem/http/errors.py
2
2
  """
3
3
  Company: eXonware.com
4
4
  Author: Eng. Muhammad AlShehri
5
5
  Email: connect@exonware.com
6
- Version: 0.0.1.410
6
+ Version: 0.1.0.1
7
7
  Generation Date: September 04, 2025
8
8
 
9
9
  HTTP module errors - exception classes for HTTP client functionality.
@@ -2,7 +2,7 @@
2
2
  Company: eXonware.com
3
3
  Author: Eng. Muhammad AlShehri
4
4
  Email: connect@exonware.com
5
- Version: 0.0.1.410
5
+ Version: 0.1.0.1
6
6
  Generation Date: 30-Oct-2025
7
7
 
8
8
  I/O utilities for safe file operations, path management, and codec integration.
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: 30-Oct-2025
9
9
 
10
10
  Archive and compression with REGISTRY PATTERN!
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: 30-Oct-2025
9
9
 
10
10
  Archive facade using registry pattern.
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: 30-Oct-2025
9
9
 
10
10
  Archive FILES - File persistence for archives.
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: 30-Oct-2025
9
9
 
10
10
  Archive codecs - In-memory archive processors.
@@ -117,7 +117,7 @@ class ZipArchiver(AArchiver):
117
117
 
118
118
  with zipfile.ZipFile(zip_buffer, 'w', compression=compression) as zf:
119
119
  if isinstance(value, dict):
120
- # Dict: keys are filenames, values are contents
120
+ # dict: keys are filenames, values are contents
121
121
  for filename, content in value.items():
122
122
  if isinstance(content, str):
123
123
  zf.writestr(filename, content)
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: 30-Oct-2025
9
9
 
10
10
  Base classes and registries for archive system.
@@ -19,7 +19,7 @@ Priority 5 (Extensibility): Easy to add 7z, RAR, etc.
19
19
  """
20
20
 
21
21
  from abc import ABC, abstractmethod
22
- from typing import Optional, Type, Union, Any
22
+ from typing import Optional, Union, Any
23
23
  from pathlib import Path
24
24
 
25
25
  from ..contracts import IArchiveFormat, ICompressor, IArchiveMetadata, IArchiver, IArchiveFile, EncodeOptions, DecodeOptions
@@ -252,11 +252,11 @@ class ArchiveFormatRegistry:
252
252
 
253
253
  def __init__(self):
254
254
  """Initialize registry."""
255
- self._formats: dict[str, Type[IArchiveFormat]] = {}
255
+ self._formats: dict[str, type[IArchiveFormat]] = {}
256
256
  self._instances: dict[str, IArchiveFormat] = {}
257
257
  self._extension_map: dict[str, str] = {} # .zip → "zip"
258
258
 
259
- def register(self, format_class: Type[IArchiveFormat]) -> None:
259
+ def register(self, format_class: type[IArchiveFormat]) -> None:
260
260
  """
261
261
  Register an archive format.
262
262
 
@@ -326,10 +326,10 @@ class CompressionRegistry:
326
326
 
327
327
  def __init__(self):
328
328
  """Initialize registry."""
329
- self._algorithms: dict[str, Type[ICompressor]] = {}
329
+ self._algorithms: dict[str, type[ICompressor]] = {}
330
330
  self._instances: dict[str, ICompressor] = {}
331
331
 
332
- def register(self, compressor_class: Type[ICompressor]) -> None:
332
+ def register(self, compressor_class: type[ICompressor]) -> None:
333
333
  """Register a compression algorithm."""
334
334
  instance = compressor_class()
335
335
  algo_id = instance.algorithm_id
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: November 1, 2025
9
9
 
10
10
  Archive-Codec Integration - Register archivers with CodecRegistry.
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: 30-Oct-2025
9
9
 
10
10
  Compression operations for gzip, bz2, and lzma.
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: November 1, 2025
9
9
 
10
10
  Archive format implementations - COMPREHENSIVE 2025 SUPPORT.
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: November 1, 2025
9
9
 
10
10
  Brotli (.br) compression format - RANK #6 WEB COMPRESSION.
@@ -25,8 +25,11 @@ from typing import Optional
25
25
  from ...contracts import IArchiveFormat
26
26
  from ...errors import ArchiveError
27
27
 
28
- # Lazy import for brotli - the lazy hook will automatically handle ImportError
29
- import brotli
28
+ # Lazy import for brotli - optional dependency
29
+ try:
30
+ import brotli
31
+ except ImportError:
32
+ brotli = None # type: ignore
30
33
 
31
34
 
32
35
  class BrotliArchiver(IArchiveFormat):
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: November 1, 2025
9
9
 
10
10
  LZ4 compression format - RANK #7 FASTEST COMPRESSION.
@@ -25,8 +25,11 @@ from typing import Optional
25
25
  from ...contracts import IArchiveFormat
26
26
  from ...errors import ArchiveError
27
27
 
28
- # Lazy import for lz4 - the lazy hook will automatically handle ImportError
29
- import lz4.frame as lz4
28
+ # Lazy import for lz4 - optional dependency
29
+ try:
30
+ import lz4.frame as lz4
31
+ except ImportError:
32
+ lz4 = None # type: ignore
30
33
 
31
34
 
32
35
  class Lz4Archiver(IArchiveFormat):
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: November 1, 2025
9
9
 
10
10
  RAR5 archive format implementation - RANK #3 PROPRIETARY COMPRESSION.
@@ -24,8 +24,11 @@ from typing import Optional
24
24
  from ...contracts import IArchiveFormat
25
25
  from ...errors import ArchiveError
26
26
 
27
- # Lazy import for rarfile - the lazy hook will automatically handle ImportError
28
- import rarfile
27
+ # Lazy import for rarfile - optional dependency
28
+ try:
29
+ import rarfile
30
+ except ImportError:
31
+ rarfile = None # type: ignore
29
32
 
30
33
 
31
34
  class RarArchiver(IArchiveFormat):
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: November 1, 2025
9
9
 
10
10
  7z archive format implementation - RANK #1 BEST COMPRESSION.
@@ -24,8 +24,11 @@ from typing import Optional
24
24
  from ...contracts import IArchiveFormat
25
25
  from ...errors import ArchiveError
26
26
 
27
- # Lazy import for py7zr - the lazy hook will automatically handle ImportError
28
- import py7zr
27
+ # Lazy import for py7zr - optional dependency
28
+ try:
29
+ import py7zr
30
+ except ImportError:
31
+ py7zr = None # type: ignore
29
32
 
30
33
 
31
34
  class SevenZipArchiver(IArchiveFormat):
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: November 1, 2025
9
9
 
10
10
  SquashFS filesystem format - RANK #10 EMBEDDED SYSTEMS.
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: 30-Oct-2025
9
9
 
10
10
  TAR archive format implementation.
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: November 1, 2025
9
9
 
10
10
  WIM (Windows Imaging) format - RANK #9 SYSTEM IMAGES.
@@ -24,8 +24,11 @@ from typing import Optional
24
24
  from ...contracts import IArchiveFormat
25
25
  from ...errors import ArchiveError
26
26
 
27
- # Lazy import for wimlib - the lazy hook will automatically handle ImportError
28
- import wimlib
27
+ # Lazy import for wimlib - optional dependency
28
+ try:
29
+ import wimlib
30
+ except ImportError:
31
+ wimlib = None # type: ignore
29
32
 
30
33
 
31
34
  class WimArchiver(IArchiveFormat):
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: 30-Oct-2025
9
9
 
10
10
  ZIP archive format implementation.
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: November 1, 2025
9
9
 
10
10
  ZPAQ journaled compression format - RANK #8 EXTREME COMPRESSION.
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: November 1, 2025
9
9
 
10
10
  Zstandard (.zst) compression format - RANK #2 MODERN STANDARD.
@@ -25,8 +25,11 @@ from typing import Optional
25
25
  from ...contracts import IArchiveFormat
26
26
  from ...errors import ArchiveError
27
27
 
28
- # Lazy import for zstandard - the lazy hook will automatically handle ImportError
29
- import zstandard
28
+ # Lazy import for zstandard - optional dependency
29
+ try:
30
+ import zstandard
31
+ except ImportError:
32
+ zstandard = None # type: ignore
30
33
 
31
34
 
32
35
  class ZstandardArchiver(IArchiveFormat):
@@ -2,7 +2,7 @@
2
2
  Company: eXonware.com
3
3
  Author: Eng. Muhammad AlShehri
4
4
  Email: connect@exonware.com
5
- Version: 0.0.1.410
5
+ Version: 0.1.0.1
6
6
  Generation Date: September 04, 2025
7
7
 
8
8
  IO module base classes - abstract classes for input/output functionality.
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: October 30, 2025
9
9
 
10
10
  Universal Codec Abstraction for eXonware.
@@ -4,14 +4,14 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: October 30, 2025
9
9
 
10
10
  Base classes, registry, adapters, and helper functions for codec system.
11
11
  """
12
12
 
13
13
  from __future__ import annotations
14
- from typing import Optional, Any, Type, IO, Union
14
+ from typing import Optional, Any, IO, Union
15
15
  # Root cause: Migrating to Python 3.12 built-in generic syntax for consistency
16
16
  # Priority #3: Maintainability - Modern type annotations improve code clarity
17
17
  from pathlib import Path
@@ -120,12 +120,12 @@ class CodecRegistry:
120
120
  """
121
121
 
122
122
  def __init__(self) -> None:
123
- self._by_media_type: dict[MediaKey, Type[ICodec]] = {}
124
- self._by_extension: dict[str, Type[ICodec]] = {}
125
- self._by_id: dict[str, Type[ICodec]] = {}
123
+ self._by_media_type: dict[MediaKey, type[ICodec]] = {}
124
+ self._by_extension: dict[str, type[ICodec]] = {}
125
+ self._by_id: dict[str, type[ICodec]] = {}
126
126
  self._instances: dict[str, ICodec] = {} # Cached instances
127
127
 
128
- def register(self, codec_class: Type[ICodec]) -> None:
128
+ def register(self, codec_class: type[ICodec]) -> None:
129
129
  """
130
130
  Register a codec class.
131
131
 
@@ -2,7 +2,7 @@
2
2
  Company: eXonware.com
3
3
  Author: Eng. Muhammad AlShehri
4
4
  Email: connect@exonware.com
5
- Version: 0.0.1.410
5
+ Version: 0.1.0.1
6
6
  Generation Date: September 04, 2025
7
7
 
8
8
  Codec module contracts - interfaces for codec operations.
@@ -2,13 +2,13 @@
2
2
  Company: eXonware.com
3
3
  Author: Eng. Muhammad AlShehri
4
4
  Email: connect@exonware.com
5
- Version: 0.0.1.410
5
+ Version: 0.1.0.1
6
6
  Generation Date: November 04, 2025
7
7
 
8
8
  Universal Codec Registry - High-performance registry for all codec types.
9
9
  """
10
10
 
11
- from typing import Optional, Type, Union, Any, Callable
11
+ from typing import Optional, Union, Any, Callable
12
12
  from pathlib import Path
13
13
  from threading import RLock
14
14
  from functools import lru_cache
@@ -104,7 +104,7 @@ class UniversalCodecRegistry:
104
104
  def __init__(self):
105
105
  """Initialize the universal codec registry."""
106
106
  # Core mappings (codec_id is always lowercase)
107
- self._by_id: dict[str, Type[ICodec]] = {}
107
+ self._by_id: dict[str, type[ICodec]] = {}
108
108
  self._by_extension: dict[str, list[tuple[str, int]]] = {} # ext -> [(codec_id, priority)]
109
109
  self._by_mime_type: dict[str, list[tuple[str, int]]] = {} # mime -> [(codec_id, priority)]
110
110
  self._by_alias: dict[str, str] = {} # alias -> codec_id (1:1 mapping)
@@ -130,7 +130,7 @@ class UniversalCodecRegistry:
130
130
 
131
131
  def register(
132
132
  self,
133
- codec_class: Type[ICodec],
133
+ codec_class: type[ICodec],
134
134
  codec_instance: Optional[ICodec] = None,
135
135
  priority: int = 0,
136
136
  magic_bytes: Optional[list[bytes]] = None
@@ -702,7 +702,7 @@ class UniversalCodecRegistry:
702
702
  # BULK OPERATIONS
703
703
  # ========================================================================
704
704
 
705
- def register_bulk(self, codec_classes: list[Type[ICodec]], priorities: Optional[list[int]] = None) -> int:
705
+ def register_bulk(self, codec_classes: list[type[ICodec]], priorities: Optional[list[int]] = None) -> int:
706
706
  """
707
707
  Register multiple codecs efficiently.
708
708
 
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: 30-Oct-2025
9
9
 
10
10
  Common utilities shared across IO operations.
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: 30-Oct-2025
9
9
 
10
10
  Base classes and utilities for common IO operations.
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: 30-Oct-2025
9
9
 
10
10
  File locking implementation for concurrent access control.
@@ -4,7 +4,7 @@
4
4
  Company: eXonware.com
5
5
  Author: Eng. Muhammad AlShehri
6
6
  Email: connect@exonware.com
7
- Version: 0.0.1.410
7
+ Version: 0.1.0.1
8
8
  Generation Date: 30-Oct-2025
9
9
 
10
10
  File watching implementation for change monitoring.
@@ -2,7 +2,7 @@
2
2
  Company: eXonware.com
3
3
  Author: Eng. Muhammad AlShehri
4
4
  Email: connect@exonware.com
5
- Version: 0.0.1.410
5
+ Version: 0.1.0.1
6
6
  Generation Date: September 04, 2025
7
7
 
8
8
  IO module contracts - interfaces and enums for input/output operations.