omlish 0.0.0.dev381__tar.gz → 0.0.0.dev383__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 (908) hide show
  1. omlish-0.0.0.dev383/PKG-INFO +302 -0
  2. omlish-0.0.0.dev383/README.md +193 -0
  3. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/__about__.py +8 -4
  4. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/__init__.py +6 -1
  5. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/binder.py +48 -0
  6. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/keys.py +1 -1
  7. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/multis.py +10 -7
  8. omlish-0.0.0.dev383/omlish/inject/tags.py +22 -0
  9. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/utils.py +0 -11
  10. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/manifests/load.py +1 -0
  11. omlish-0.0.0.dev383/omlish.egg-info/PKG-INFO +302 -0
  12. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish.egg-info/SOURCES.txt +1 -0
  13. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/pyproject.toml +5 -3
  14. omlish-0.0.0.dev381/PKG-INFO +0 -106
  15. omlish-0.0.0.dev381/README.md +0 -167
  16. omlish-0.0.0.dev381/omlish.egg-info/PKG-INFO +0 -106
  17. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/LICENSE +0 -0
  18. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/MANIFEST.in +0 -0
  19. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/.manifests.json +0 -0
  20. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/__init__.py +0 -0
  21. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/algorithm/__init__.py +0 -0
  22. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/algorithm/all.py +0 -0
  23. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/algorithm/distribute.py +0 -0
  24. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/algorithm/toposort.py +0 -0
  25. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/algorithm/unify.py +0 -0
  26. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/argparse/__init__.py +0 -0
  27. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/argparse/all.py +0 -0
  28. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/argparse/cli.py +0 -0
  29. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/__init__.py +0 -0
  30. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/all.py +0 -0
  31. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/anyio/__init__.py +0 -0
  32. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/anyio/backends.py +0 -0
  33. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/anyio/futures.py +0 -0
  34. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/anyio/signals.py +0 -0
  35. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/anyio/streams.py +0 -0
  36. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/anyio/subprocesses.py +0 -0
  37. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/anyio/sync.py +0 -0
  38. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/anyio/utils.py +0 -0
  39. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/asyncio/__init__.py +0 -0
  40. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/asyncio/all.py +0 -0
  41. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/asyncio/channels.py +0 -0
  42. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/asyncio/sockets.py +0 -0
  43. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/asyncio/streams.py +0 -0
  44. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/asyncio/subprocesses.py +0 -0
  45. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/asyncio/timeouts.py +0 -0
  46. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/asyncio/utils.py +0 -0
  47. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/LICENSE +0 -0
  48. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/__init__.py +0 -0
  49. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/all.py +0 -0
  50. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/api.py +0 -0
  51. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/core.py +0 -0
  52. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/events.py +0 -0
  53. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/files.py +0 -0
  54. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/runner.py +0 -0
  55. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/sockets.py +0 -0
  56. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bridge.py +0 -0
  57. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/buffers.py +0 -0
  58. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/flavors.py +0 -0
  59. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/ioproxy/__init__.py +0 -0
  60. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/ioproxy/all.py +0 -0
  61. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/ioproxy/io.py +0 -0
  62. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/ioproxy/proxier.py +0 -0
  63. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/ioproxy/proxy.py +0 -0
  64. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/ioproxy/typing.py +0 -0
  65. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/sync.py +0 -0
  66. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/trio.py +0 -0
  67. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/trio_asyncio.py +0 -0
  68. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/utils.py +0 -0
  69. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/bootstrap/__init__.py +0 -0
  70. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/bootstrap/__main__.py +0 -0
  71. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/bootstrap/base.py +0 -0
  72. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/bootstrap/diag.py +0 -0
  73. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/bootstrap/harness.py +0 -0
  74. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/bootstrap/main.py +0 -0
  75. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/bootstrap/marshal.py +0 -0
  76. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/bootstrap/sys.py +0 -0
  77. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/c3.py +0 -0
  78. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/cached.py +0 -0
  79. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/check.py +0 -0
  80. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/codecs/__init__.py +0 -0
  81. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/codecs/base.py +0 -0
  82. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/codecs/bytes.py +0 -0
  83. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/codecs/chain.py +0 -0
  84. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/codecs/funcs.py +0 -0
  85. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/codecs/registry.py +0 -0
  86. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/codecs/standard.py +0 -0
  87. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/codecs/text.py +0 -0
  88. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/__init__.py +0 -0
  89. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/abc.py +0 -0
  90. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/bimap.py +0 -0
  91. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/cache/__init__.py +0 -0
  92. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/cache/descriptor.py +0 -0
  93. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/cache/impl.py +0 -0
  94. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/cache/types.py +0 -0
  95. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/coerce.py +0 -0
  96. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/frozen.py +0 -0
  97. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/hasheq.py +0 -0
  98. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/identity.py +0 -0
  99. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/kv/__init__.py +0 -0
  100. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/kv/base.py +0 -0
  101. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/kv/capabilities.py +0 -0
  102. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/kv/filtered.py +0 -0
  103. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/kv/mappings.py +0 -0
  104. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/kv/transformed.py +0 -0
  105. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/kv/wrappers.py +0 -0
  106. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/mappings.py +0 -0
  107. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/multimaps.py +0 -0
  108. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/ordered.py +0 -0
  109. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/persistent/__init__.py +0 -0
  110. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/persistent/persistent.py +0 -0
  111. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/persistent/treap.py +0 -0
  112. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/persistent/treapmap.py +0 -0
  113. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/ranked.py +0 -0
  114. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/sorted/__init__.py +0 -0
  115. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/sorted/skiplist.py +0 -0
  116. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/sorted/sorted.py +0 -0
  117. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/unmodifiable.py +0 -0
  118. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/utils.py +0 -0
  119. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/concurrent/__init__.py +0 -0
  120. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/concurrent/executors.py +0 -0
  121. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/concurrent/futures.py +0 -0
  122. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/concurrent/threadlets.py +0 -0
  123. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/__init__.py +0 -0
  124. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/all.py +0 -0
  125. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/classes.py +0 -0
  126. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/formats.py +0 -0
  127. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/nginx.py +0 -0
  128. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/__init__.py +0 -0
  129. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/all.py +0 -0
  130. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/flattening.py +0 -0
  131. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/inheritance.py +0 -0
  132. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/matching.py +0 -0
  133. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/merging.py +0 -0
  134. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/names.py +0 -0
  135. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/rewriting.py +0 -0
  136. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/strings.py +0 -0
  137. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/shadow.py +0 -0
  138. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/types.py +0 -0
  139. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/daemons/__init__.py +0 -0
  140. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/daemons/daemon.py +0 -0
  141. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/daemons/launching.py +0 -0
  142. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/daemons/reparent.py +0 -0
  143. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/daemons/services.py +0 -0
  144. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/daemons/spawning.py +0 -0
  145. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/daemons/targets.py +0 -0
  146. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/daemons/waiting.py +0 -0
  147. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/__init__.py +0 -0
  148. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/__init__.py +0 -0
  149. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/classes/__init__.py +0 -0
  150. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/classes/conversion.py +0 -0
  151. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/classes/decorator.py +0 -0
  152. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/classes/make.py +0 -0
  153. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/classes/metadata.py +0 -0
  154. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/classes/params.py +0 -0
  155. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/fields/__init__.py +0 -0
  156. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/fields/building.py +0 -0
  157. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/fields/constructor.py +0 -0
  158. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/fields/conversion.py +0 -0
  159. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/fields/metadata.py +0 -0
  160. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/__init__.py +0 -0
  161. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/abc.py +0 -0
  162. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/copy.py +0 -0
  163. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/doc.py +0 -0
  164. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/eq.py +0 -0
  165. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/fields.py +0 -0
  166. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/frozen.py +0 -0
  167. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/hash.py +0 -0
  168. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/init.py +0 -0
  169. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/matchargs.py +0 -0
  170. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/mro.py +0 -0
  171. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/order.py +0 -0
  172. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/override.py +0 -0
  173. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/params.py +0 -0
  174. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/replace.py +0 -0
  175. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/repr.py +0 -0
  176. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/slots.py +0 -0
  177. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/debug.py +0 -0
  178. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/errors.py +0 -0
  179. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/__init__.py +0 -0
  180. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/base.py +0 -0
  181. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/compilation.py +0 -0
  182. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/execution.py +0 -0
  183. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/globals.py +0 -0
  184. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/idents.py +0 -0
  185. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/mangling.py +0 -0
  186. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/manifests.py +0 -0
  187. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/ops.py +0 -0
  188. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/plans.py +0 -0
  189. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/processor.py +0 -0
  190. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/registry.py +0 -0
  191. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/utils.py +0 -0
  192. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/inspect.py +0 -0
  193. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/internals.py +0 -0
  194. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/metaclass/__init__.py +0 -0
  195. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/metaclass/bases.py +0 -0
  196. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/metaclass/confer.py +0 -0
  197. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/metaclass/meta.py +0 -0
  198. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/metaclass/specs.py +0 -0
  199. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/processing/__init__.py +0 -0
  200. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/processing/base.py +0 -0
  201. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/processing/driving.py +0 -0
  202. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/processing/priority.py +0 -0
  203. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/processing/registry.py +0 -0
  204. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/reflection.py +0 -0
  205. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/specs.py +0 -0
  206. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/tools/__init__.py +0 -0
  207. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/tools/as_.py +0 -0
  208. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/tools/iter.py +0 -0
  209. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/tools/modifiers.py +0 -0
  210. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/tools/only_.py +0 -0
  211. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/tools/replace.py +0 -0
  212. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/tools/repr.py +0 -0
  213. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/tools/static.py +0 -0
  214. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/utils.py +0 -0
  215. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/datetimes.py +0 -0
  216. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/defs.py +0 -0
  217. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/__init__.py +0 -0
  218. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/_pycharm/__init__.py +0 -0
  219. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/_pycharm/runhack.py +0 -0
  220. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/asts.py +0 -0
  221. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/debug.py +0 -0
  222. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/lslocks.py +0 -0
  223. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/lsof.py +0 -0
  224. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/procfs.py +0 -0
  225. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/procstats.py +0 -0
  226. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/ps.py +0 -0
  227. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/pycharm.py +0 -0
  228. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/pydevd.py +0 -0
  229. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/replserver/__init__.py +0 -0
  230. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/replserver/__main__.py +0 -0
  231. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/replserver/console.py +0 -0
  232. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/replserver/server.py +0 -0
  233. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/threads.py +0 -0
  234. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dispatch/__init__.py +0 -0
  235. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dispatch/_dispatch2.py +0 -0
  236. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dispatch/_dispatch3.py +0 -0
  237. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dispatch/dispatch.py +0 -0
  238. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dispatch/functions.py +0 -0
  239. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dispatch/impls.py +0 -0
  240. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dispatch/methods.py +0 -0
  241. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/__init__.py +0 -0
  242. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/all.py +0 -0
  243. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/cli.py +0 -0
  244. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/compose.py +0 -0
  245. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/consts.py +0 -0
  246. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/detect.py +0 -0
  247. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/hub.py +0 -0
  248. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/manifests.py +0 -0
  249. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/ns1.py +0 -0
  250. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/ports.py +0 -0
  251. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/timebomb.py +0 -0
  252. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dom/__init__.py +0 -0
  253. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dom/building.py +0 -0
  254. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dom/content.py +0 -0
  255. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dom/rendering.py +0 -0
  256. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dynamic.py +0 -0
  257. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/__init__.py +0 -0
  258. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/cbor.py +0 -0
  259. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/cloudpickle.py +0 -0
  260. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/codecs.py +0 -0
  261. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/dotenv.py +0 -0
  262. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/edn/__init__.py +0 -0
  263. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/edn/codec.py +0 -0
  264. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/edn/lexing.py +0 -0
  265. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/edn/parsing.py +0 -0
  266. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/edn/values.py +0 -0
  267. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/ini/__init__.py +0 -0
  268. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/ini/codec.py +0 -0
  269. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/ini/sections.py +0 -0
  270. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/Json.g4 +0 -0
  271. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/__init__.py +0 -0
  272. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/_antlr/JsonLexer.py +0 -0
  273. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/_antlr/JsonListener.py +0 -0
  274. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/_antlr/JsonParser.py +0 -0
  275. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/_antlr/JsonVisitor.py +0 -0
  276. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/_antlr/__init__.py +0 -0
  277. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/backends/__init__.py +0 -0
  278. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/backends/base.py +0 -0
  279. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/backends/default.py +0 -0
  280. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/backends/jiter.py +0 -0
  281. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/backends/orjson.py +0 -0
  282. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/backends/std.py +0 -0
  283. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/backends/ujson.py +0 -0
  284. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/codecs.py +0 -0
  285. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/consts.py +0 -0
  286. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/encoding.py +0 -0
  287. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/literals.py +0 -0
  288. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/rendering.py +0 -0
  289. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/stream/__init__.py +0 -0
  290. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/stream/building.py +0 -0
  291. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/stream/errors.py +0 -0
  292. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/stream/lexing.py +0 -0
  293. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/stream/parsing.py +0 -0
  294. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/stream/rendering.py +0 -0
  295. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/stream/utils.py +0 -0
  296. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/types.py +0 -0
  297. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/Json5.g4 +0 -0
  298. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/__init__.py +0 -0
  299. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/_antlr/Json5Lexer.py +0 -0
  300. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/_antlr/Json5Listener.py +0 -0
  301. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/_antlr/Json5Parser.py +0 -0
  302. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/_antlr/Json5Visitor.py +0 -0
  303. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/_antlr/__init__.py +0 -0
  304. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/codec.py +0 -0
  305. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/errors.py +0 -0
  306. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/literals.py +0 -0
  307. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/parsing.py +0 -0
  308. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/rendering.py +0 -0
  309. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/pickle.py +0 -0
  310. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/props.py +0 -0
  311. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/repr.py +0 -0
  312. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/toml/__init__.py +0 -0
  313. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/toml/codec.py +0 -0
  314. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/toml/parser.py +0 -0
  315. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/toml/writer.py +0 -0
  316. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/xml.py +0 -0
  317. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/yaml.py +0 -0
  318. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/funcs/__init__.py +0 -0
  319. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/funcs/builders.py +0 -0
  320. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/funcs/genmachine.py +0 -0
  321. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/funcs/match.py +0 -0
  322. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/funcs/pairs.py +0 -0
  323. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/funcs/pipes.py +0 -0
  324. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/__init__.py +0 -0
  325. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/dags.py +0 -0
  326. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/domination.py +0 -0
  327. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/dot/__init__.py +0 -0
  328. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/dot/items.py +0 -0
  329. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/dot/make.py +0 -0
  330. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/dot/rendering.py +0 -0
  331. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/dot/utils.py +0 -0
  332. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/trees.py +0 -0
  333. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/__init__.py +0 -0
  334. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/all.py +0 -0
  335. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/asgi.py +0 -0
  336. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/clients/__init__.py +0 -0
  337. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/clients/base.py +0 -0
  338. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/clients/default.py +0 -0
  339. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/clients/httpx.py +0 -0
  340. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/clients/urllib.py +0 -0
  341. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/consts.py +0 -0
  342. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/cookies.py +0 -0
  343. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/__init__.py +0 -0
  344. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/client/__init__.py +0 -0
  345. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/client/client.py +0 -0
  346. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/client/errors.py +0 -0
  347. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/client/headers.py +0 -0
  348. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/client/io.py +0 -0
  349. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/client/response.py +0 -0
  350. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/client/status.py +0 -0
  351. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/client/validation.py +0 -0
  352. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/server/__init__.py +0 -0
  353. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/server/fdio.py +0 -0
  354. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/server/server.py +0 -0
  355. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/server/simple.py +0 -0
  356. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/server/sockets.py +0 -0
  357. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/dates.py +0 -0
  358. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/encodings.py +0 -0
  359. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/handlers.py +0 -0
  360. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/headers.py +0 -0
  361. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/json.py +0 -0
  362. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/jwt.py +0 -0
  363. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/multipart.py +0 -0
  364. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/parsing.py +0 -0
  365. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/sessions.py +0 -0
  366. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/sse.py +0 -0
  367. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/urllib.py +0 -0
  368. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/versions.py +0 -0
  369. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/wsgi.py +0 -0
  370. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/bindings.py +0 -0
  371. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/eagers.py +0 -0
  372. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/elements.py +0 -0
  373. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/errors.py +0 -0
  374. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/__init__.py +0 -0
  375. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/bindings.py +0 -0
  376. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/elements.py +0 -0
  377. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/injector.py +0 -0
  378. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/inspect.py +0 -0
  379. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/multis.py +0 -0
  380. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/origins.py +0 -0
  381. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/privates.py +0 -0
  382. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/providers.py +0 -0
  383. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/proxy.py +0 -0
  384. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/scopes.py +0 -0
  385. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/injector.py +0 -0
  386. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/inspect.py +0 -0
  387. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/listeners.py +0 -0
  388. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/managed.py +0 -0
  389. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/origins.py +0 -0
  390. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/overrides.py +0 -0
  391. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/privates.py +0 -0
  392. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/providers.py +0 -0
  393. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/scopes.py +0 -0
  394. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/types.py +0 -0
  395. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/__init__.py +0 -0
  396. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/abc.py +0 -0
  397. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/buffers.py +0 -0
  398. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/__init__.py +0 -0
  399. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/abc.py +0 -0
  400. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/adapters.py +0 -0
  401. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/base.py +0 -0
  402. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/brotli.py +0 -0
  403. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/bz2.py +0 -0
  404. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/codecs.py +0 -0
  405. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/gzip.py +0 -0
  406. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/lz4.py +0 -0
  407. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/lzma.py +0 -0
  408. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/snappy.py +0 -0
  409. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/zlib.py +0 -0
  410. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/zstd.py +0 -0
  411. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/coro/__init__.py +0 -0
  412. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/coro/consts.py +0 -0
  413. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/coro/direct.py +0 -0
  414. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/coro/readers.py +0 -0
  415. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/coro/stepped.py +0 -0
  416. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/fdio/__init__.py +0 -0
  417. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/fdio/handlers.py +0 -0
  418. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/fdio/kqueue.py +0 -0
  419. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/fdio/manager.py +0 -0
  420. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/fdio/pollers.py +0 -0
  421. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/fileno.py +0 -0
  422. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/pyio.py +0 -0
  423. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/trampoline.py +0 -0
  424. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/iterators/__init__.py +0 -0
  425. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/iterators/iterators.py +0 -0
  426. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/iterators/recipes.py +0 -0
  427. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/iterators/tools.py +0 -0
  428. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/iterators/unique.py +0 -0
  429. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/__init__.py +0 -0
  430. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/attrs.py +0 -0
  431. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/cached/__init__.py +0 -0
  432. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/cached/function.py +0 -0
  433. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/cached/property.py +0 -0
  434. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/casing.py +0 -0
  435. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/classes/__init__.py +0 -0
  436. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/classes/abstract.py +0 -0
  437. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/classes/bindable.py +0 -0
  438. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/classes/namespaces.py +0 -0
  439. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/classes/protocols.py +0 -0
  440. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/classes/restrict.py +0 -0
  441. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/classes/simple.py +0 -0
  442. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/classes/virtual.py +0 -0
  443. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/clsdct.py +0 -0
  444. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/collections.py +0 -0
  445. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/comparison.py +0 -0
  446. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/contextmanagers.py +0 -0
  447. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/datetimes.py +0 -0
  448. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/descriptors.py +0 -0
  449. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/enums.py +0 -0
  450. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/errors.py +0 -0
  451. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/functions.py +0 -0
  452. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/generators.py +0 -0
  453. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/imports.py +0 -0
  454. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/iterables.py +0 -0
  455. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/objects.py +0 -0
  456. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/outcomes.py +0 -0
  457. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/overrides.py +0 -0
  458. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/params.py +0 -0
  459. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/recursion.py +0 -0
  460. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/resolving.py +0 -0
  461. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/resources.py +0 -0
  462. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/strings.py +0 -0
  463. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/sys.py +0 -0
  464. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/typing.py +0 -0
  465. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/libc.py +0 -0
  466. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lifecycles/__init__.py +0 -0
  467. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lifecycles/abstract.py +0 -0
  468. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lifecycles/base.py +0 -0
  469. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lifecycles/contextmanagers.py +0 -0
  470. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lifecycles/controller.py +0 -0
  471. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lifecycles/manager.py +0 -0
  472. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lifecycles/states.py +0 -0
  473. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lifecycles/transitions.py +0 -0
  474. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/__init__.py +0 -0
  475. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/args.py +0 -0
  476. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/cached.py +0 -0
  477. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/check.py +0 -0
  478. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/configs.py +0 -0
  479. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/contextmanagers.py +0 -0
  480. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/dataclasses.py +0 -0
  481. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/imports.py +0 -0
  482. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/inject.py +0 -0
  483. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/json.py +0 -0
  484. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/logs.py +0 -0
  485. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/marshal.py +0 -0
  486. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/maybes.py +0 -0
  487. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/pycharm.py +0 -0
  488. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/reflect.py +0 -0
  489. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/reprs.py +0 -0
  490. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/resources.py +0 -0
  491. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/runtime.py +0 -0
  492. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/secrets.py +0 -0
  493. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/strings.py +0 -0
  494. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/timeouts.py +0 -0
  495. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/timing.py +0 -0
  496. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/types.py +0 -0
  497. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/typing.py +0 -0
  498. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/__init__.py +0 -0
  499. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/abc.py +0 -0
  500. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/all.py +0 -0
  501. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/callers.py +0 -0
  502. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/color.py +0 -0
  503. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/configs.py +0 -0
  504. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/filters.py +0 -0
  505. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/handlers.py +0 -0
  506. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/json.py +0 -0
  507. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/noisy.py +0 -0
  508. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/protocol.py +0 -0
  509. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/proxy.py +0 -0
  510. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/standard.py +0 -0
  511. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/timing.py +0 -0
  512. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/utils.py +0 -0
  513. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/manifests/__init__.py +0 -0
  514. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/manifests/base.py +0 -0
  515. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/manifests/static.py +0 -0
  516. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/manifests/types.py +0 -0
  517. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/__init__.py +0 -0
  518. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/base.py +0 -0
  519. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/__init__.py +0 -0
  520. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/iterables.py +0 -0
  521. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/literals.py +0 -0
  522. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/mappings.py +0 -0
  523. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/maybes.py +0 -0
  524. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/newtypes.py +0 -0
  525. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/optionals.py +0 -0
  526. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/special.py +0 -0
  527. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/wrapped.py +0 -0
  528. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/errors.py +0 -0
  529. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/factories.py +0 -0
  530. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/global_.py +0 -0
  531. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/naming.py +0 -0
  532. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/objects/__init__.py +0 -0
  533. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/objects/dataclasses.py +0 -0
  534. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/objects/helpers.py +0 -0
  535. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/objects/marshal.py +0 -0
  536. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/objects/metadata.py +0 -0
  537. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/objects/namedtuples.py +0 -0
  538. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/objects/unmarshal.py +0 -0
  539. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/polymorphism/__init__.py +0 -0
  540. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/polymorphism/marshal.py +0 -0
  541. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/polymorphism/metadata.py +0 -0
  542. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/polymorphism/standard.py +0 -0
  543. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/polymorphism/unions.py +0 -0
  544. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/polymorphism/unmarshal.py +0 -0
  545. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/proxy.py +0 -0
  546. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/registries.py +0 -0
  547. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/singular/__init__.py +0 -0
  548. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/singular/base64.py +0 -0
  549. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/singular/datetimes.py +0 -0
  550. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/singular/enums.py +0 -0
  551. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/singular/numbers.py +0 -0
  552. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/singular/primitives.py +0 -0
  553. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/singular/uuids.py +0 -0
  554. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/standard.py +0 -0
  555. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/trivial/__init__.py +0 -0
  556. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/trivial/any.py +0 -0
  557. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/trivial/forbidden.py +0 -0
  558. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/trivial/nop.py +0 -0
  559. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/values.py +0 -0
  560. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/math/__init__.py +0 -0
  561. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/math/bits.py +0 -0
  562. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/math/c.py +0 -0
  563. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/math/fixed.py +0 -0
  564. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/math/floats.py +0 -0
  565. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/math/histogram.py +0 -0
  566. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/math/stats.py +0 -0
  567. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/metadata.py +0 -0
  568. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/multiprocessing/__init__.py +0 -0
  569. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/multiprocessing/proxies.py +0 -0
  570. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/multiprocessing/spawn.py +0 -0
  571. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/__init__.py +0 -0
  572. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/atomics.py +0 -0
  573. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/deathpacts/__init__.py +0 -0
  574. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/deathpacts/base.py +0 -0
  575. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/deathpacts/heartbeatfile.py +0 -0
  576. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/deathpacts/pipe.py +0 -0
  577. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/deathsig.py +0 -0
  578. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/fcntl.py +0 -0
  579. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/filemodes.py +0 -0
  580. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/files.py +0 -0
  581. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/forkhooks.py +0 -0
  582. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/journald.py +0 -0
  583. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/linux.py +0 -0
  584. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/mangle.py +0 -0
  585. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/paths.py +0 -0
  586. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/pidfiles/__init__.py +0 -0
  587. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/pidfiles/__main__.py +0 -0
  588. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/pidfiles/cli.py +0 -0
  589. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/pidfiles/manager.py +0 -0
  590. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/pidfiles/pidfile.py +0 -0
  591. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/pidfiles/pinning.py +0 -0
  592. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/signals.py +0 -0
  593. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/sizes.py +0 -0
  594. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/temp.py +0 -0
  595. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/reflect/__init__.py +0 -0
  596. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/reflect/inspect.py +0 -0
  597. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/reflect/ops.py +0 -0
  598. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/reflect/subst.py +0 -0
  599. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/reflect/types.py +0 -0
  600. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/runmodule.py +0 -0
  601. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/__init__.py +0 -0
  602. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/all.py +0 -0
  603. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/crypto.py +0 -0
  604. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/marshal.py +0 -0
  605. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/openssl.py +0 -0
  606. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/pwgen.py +0 -0
  607. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/pwhash.py +0 -0
  608. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/secrets.py +0 -0
  609. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/ssl.py +0 -0
  610. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/subprocesses.py +0 -0
  611. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/tempssl.py +0 -0
  612. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/shlex.py +0 -0
  613. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/__init__.py +0 -0
  614. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/addresses.py +0 -0
  615. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/bind.py +0 -0
  616. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/handlers.py +0 -0
  617. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/io.py +0 -0
  618. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/ports.py +0 -0
  619. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/server/__init__.py +0 -0
  620. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/server/handlers.py +0 -0
  621. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/server/server.py +0 -0
  622. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/server/ssl.py +0 -0
  623. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/server/threading.py +0 -0
  624. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/wait.py +0 -0
  625. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/__init__.py +0 -0
  626. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/__init__.py +0 -0
  627. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/messages/__init__.py +0 -0
  628. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/messages/base.py +0 -0
  629. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/messages/formats.py +0 -0
  630. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/messages/messages.py +0 -0
  631. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/messages/parsing.py +0 -0
  632. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/numerics/__init__.py +0 -0
  633. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/numerics/formats.py +0 -0
  634. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/numerics/numerics.py +0 -0
  635. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/numerics/types.py +0 -0
  636. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/LICENSE +0 -0
  637. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/__init__.py +0 -0
  638. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/consts.py +0 -0
  639. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/errors.py +0 -0
  640. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/message.py +0 -0
  641. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/nuh.py +0 -0
  642. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/parsing.py +0 -0
  643. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/rendering.py +0 -0
  644. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/tags.py +0 -0
  645. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/utils.py +0 -0
  646. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/LICENSE +0 -0
  647. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/__init__.py +0 -0
  648. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/__main__.py +0 -0
  649. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/ast.py +0 -0
  650. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/cli.py +0 -0
  651. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/errors.py +0 -0
  652. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/functions.py +0 -0
  653. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/lexer.py +0 -0
  654. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/parser.py +0 -0
  655. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/scope.py +0 -0
  656. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/visitor.py +0 -0
  657. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonrpc/__init__.py +0 -0
  658. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonrpc/conns.py +0 -0
  659. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonrpc/errors.py +0 -0
  660. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonrpc/marshal.py +0 -0
  661. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonrpc/types.py +0 -0
  662. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/__init__.py +0 -0
  663. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/keywords/__init__.py +0 -0
  664. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/keywords/base.py +0 -0
  665. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/keywords/core.py +0 -0
  666. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/keywords/format.py +0 -0
  667. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/keywords/metadata.py +0 -0
  668. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/keywords/parse.py +0 -0
  669. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/keywords/render.py +0 -0
  670. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/keywords/validation.py +0 -0
  671. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/marshal.py +0 -0
  672. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/LICENSE +0 -0
  673. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/__init__.py +0 -0
  674. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/__init__.py +0 -0
  675. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/metaschema.json +0 -0
  676. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/__init__.py +0 -0
  677. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/applicator.json +0 -0
  678. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/content.json +0 -0
  679. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/core.json +0 -0
  680. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/format-annotation.json +0 -0
  681. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/format-assertion.json +0 -0
  682. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/format.json +0 -0
  683. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/meta-data.json +0 -0
  684. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/unevaluated.json +0 -0
  685. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/validation.json +0 -0
  686. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/types.py +0 -0
  687. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/openapi/__init__.py +0 -0
  688. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/openapi/marshal.py +0 -0
  689. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/openapi/openapi.py +0 -0
  690. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/Protobuf3.g4 +0 -0
  691. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/__init__.py +0 -0
  692. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/_antlr/Protobuf3Lexer.py +0 -0
  693. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/_antlr/Protobuf3Listener.py +0 -0
  694. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/_antlr/Protobuf3Parser.py +0 -0
  695. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/_antlr/Protobuf3Visitor.py +0 -0
  696. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/_antlr/__init__.py +0 -0
  697. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/nodes.py +0 -0
  698. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/parsing.py +0 -0
  699. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/__init__.py +0 -0
  700. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/abc.py +0 -0
  701. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/alchemy/__init__.py +0 -0
  702. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/alchemy/apiadapter.py +0 -0
  703. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/alchemy/asyncs.py +0 -0
  704. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/alchemy/duckdb.py +0 -0
  705. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/alchemy/exprs.py +0 -0
  706. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/alchemy/secrets.py +0 -0
  707. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/alchemy/sqlean.py +0 -0
  708. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/__init__.py +0 -0
  709. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/_queries.py +0 -0
  710. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/asquery.py +0 -0
  711. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/base.py +0 -0
  712. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/columns.py +0 -0
  713. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/dbapi.py +0 -0
  714. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/errors.py +0 -0
  715. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/funcs.py +0 -0
  716. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/queries.py +0 -0
  717. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/resources.py +0 -0
  718. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/rows.py +0 -0
  719. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/dbapi.py +0 -0
  720. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/dbs.py +0 -0
  721. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/params.py +0 -0
  722. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/parsing/Minisql.g4 +0 -0
  723. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/parsing/__init__.py +0 -0
  724. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/parsing/_antlr/MinisqlLexer.py +0 -0
  725. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/parsing/_antlr/MinisqlListener.py +0 -0
  726. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/parsing/_antlr/MinisqlParser.py +0 -0
  727. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/parsing/_antlr/MinisqlVisitor.py +0 -0
  728. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/parsing/_antlr/__init__.py +0 -0
  729. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/parsing/parsing.py +0 -0
  730. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/qualifiedname.py +0 -0
  731. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/__init__.py +0 -0
  732. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/base.py +0 -0
  733. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/binary.py +0 -0
  734. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/exprs.py +0 -0
  735. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/idents.py +0 -0
  736. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/inserts.py +0 -0
  737. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/marshal.py +0 -0
  738. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/multi.py +0 -0
  739. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/names.py +0 -0
  740. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/ops.py +0 -0
  741. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/params.py +0 -0
  742. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/relations.py +0 -0
  743. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/rendering.py +0 -0
  744. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/selects.py +0 -0
  745. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/std.py +0 -0
  746. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/stmts.py +0 -0
  747. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/unary.py +0 -0
  748. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/unions.py +0 -0
  749. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/tabledefs/__init__.py +0 -0
  750. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/tabledefs/alchemy.py +0 -0
  751. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/tabledefs/dtypes.py +0 -0
  752. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/tabledefs/elements.py +0 -0
  753. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/tabledefs/lower.py +0 -0
  754. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/tabledefs/marshal.py +0 -0
  755. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/tabledefs/tabledefs.py +0 -0
  756. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/subprocesses/__init__.py +0 -0
  757. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/subprocesses/async_.py +0 -0
  758. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/subprocesses/base.py +0 -0
  759. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/subprocesses/editor.py +0 -0
  760. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/subprocesses/run.py +0 -0
  761. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/subprocesses/sync.py +0 -0
  762. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/subprocesses/utils.py +0 -0
  763. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/subprocesses/wrap.py +0 -0
  764. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sync.py +0 -0
  765. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/__init__.py +0 -0
  766. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/codes.py +0 -0
  767. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/coloring.py +0 -0
  768. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/confirm.py +0 -0
  769. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/progressbar.py +0 -0
  770. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/vt100/__init__.py +0 -0
  771. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/vt100/c.py +0 -0
  772. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/vt100/states.py +0 -0
  773. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/vt100/terminal.py +0 -0
  774. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/__init__.py +0 -0
  775. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/__init__.py +0 -0
  776. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/helpers.py +0 -0
  777. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/inject/__init__.py +0 -0
  778. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/inject/harness.py +0 -0
  779. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/marks.py +0 -0
  780. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/__init__.py +0 -0
  781. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/_registry.py +0 -0
  782. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/__init__.py +0 -0
  783. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/backends/__init__.py +0 -0
  784. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/backends/asyncio.py +0 -0
  785. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/backends/base.py +0 -0
  786. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/backends/trio.py +0 -0
  787. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/backends/trio_asyncio.py +0 -0
  788. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/consts.py +0 -0
  789. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/fixtures.py +0 -0
  790. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/plugin.py +0 -0
  791. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/utils.py +0 -0
  792. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/depskip.py +0 -0
  793. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/logging.py +0 -0
  794. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/managermarks.py +0 -0
  795. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/pydevd.py +0 -0
  796. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/repeat.py +0 -0
  797. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/skips.py +0 -0
  798. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/spacing.py +0 -0
  799. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/switches/__init__.py +0 -0
  800. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/switches/plugin.py +0 -0
  801. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/switches/switches.py +0 -0
  802. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/utils.py +0 -0
  803. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/skip.py +0 -0
  804. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/testing.py +0 -0
  805. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/unittest/__init__.py +0 -0
  806. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/unittest/__main__.py +0 -0
  807. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/unittest/loading.py +0 -0
  808. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/unittest/main.py +0 -0
  809. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/unittest/running.py +0 -0
  810. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/unittest/types.py +0 -0
  811. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/__init__.py +0 -0
  812. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/__init__.py +0 -0
  813. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/BufferedTokenStream.py +0 -0
  814. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/CommonTokenFactory.py +0 -0
  815. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/CommonTokenStream.py +0 -0
  816. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/FileStream.py +0 -0
  817. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/InputStream.py +0 -0
  818. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/IntervalSet.py +0 -0
  819. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/LICENSE.txt +0 -0
  820. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/LL1Analyzer.py +0 -0
  821. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/Lexer.py +0 -0
  822. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/ListTokenSource.py +0 -0
  823. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/Parser.py +0 -0
  824. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/ParserInterpreter.py +0 -0
  825. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/ParserRuleContext.py +0 -0
  826. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/PredictionContext.py +0 -0
  827. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/Recognizer.py +0 -0
  828. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/RuleContext.py +0 -0
  829. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/StdinStream.py +0 -0
  830. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/Token.py +0 -0
  831. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/TokenStreamRewriter.py +0 -0
  832. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/Utils.py +0 -0
  833. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/__init__.py +0 -0
  834. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/_all.py +0 -0
  835. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/_pygrun.py +0 -0
  836. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ATN.py +0 -0
  837. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ATNConfig.py +0 -0
  838. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ATNConfigSet.py +0 -0
  839. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ATNDeserializationOptions.py +0 -0
  840. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ATNDeserializer.py +0 -0
  841. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ATNSimulator.py +0 -0
  842. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ATNState.py +0 -0
  843. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ATNType.py +0 -0
  844. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/LexerATNSimulator.py +0 -0
  845. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/LexerAction.py +0 -0
  846. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/LexerActionExecutor.py +0 -0
  847. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ParserATNSimulator.py +0 -0
  848. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/PredictionMode.py +0 -0
  849. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/SemanticContext.py +0 -0
  850. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/Transition.py +0 -0
  851. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/__init__.py +0 -0
  852. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/dfa/DFA.py +0 -0
  853. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/dfa/DFASerializer.py +0 -0
  854. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/dfa/DFAState.py +0 -0
  855. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/dfa/__init__.py +0 -0
  856. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/error/DiagnosticErrorListener.py +0 -0
  857. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/error/ErrorListener.py +0 -0
  858. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/error/ErrorStrategy.py +0 -0
  859. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/error/Errors.py +0 -0
  860. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/error/__init__.py +0 -0
  861. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/Chunk.py +0 -0
  862. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/ParseTreeMatch.py +0 -0
  863. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/ParseTreePattern.py +0 -0
  864. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/ParseTreePatternMatcher.py +0 -0
  865. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/RuleTagToken.py +0 -0
  866. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/TokenTagToken.py +0 -0
  867. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/Tree.py +0 -0
  868. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/Trees.py +0 -0
  869. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/__init__.py +0 -0
  870. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/xpath/XPath.py +0 -0
  871. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/xpath/XPathLexer.py +0 -0
  872. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/xpath/__init__.py +0 -0
  873. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/delimit.py +0 -0
  874. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/dot.py +0 -0
  875. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/errors.py +0 -0
  876. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/input.py +0 -0
  877. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/parsing.py +0 -0
  878. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/runtime.py +0 -0
  879. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/utils.py +0 -0
  880. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/asdl.py +0 -0
  881. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/decoding.py +0 -0
  882. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/delimit.py +0 -0
  883. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/filecache.py +0 -0
  884. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/glyphsplit.py +0 -0
  885. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/go/__init__.py +0 -0
  886. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/go/quoting.py +0 -0
  887. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/indent.py +0 -0
  888. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/linecache.py +0 -0
  889. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/mangle.py +0 -0
  890. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/minja.py +0 -0
  891. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/parts.py +0 -0
  892. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/random.py +0 -0
  893. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/templating.py +0 -0
  894. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/__init__.py +0 -0
  895. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/accessor.py +0 -0
  896. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/collection.py +0 -0
  897. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/consumer.py +0 -0
  898. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/generic.py +0 -0
  899. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/holder.py +0 -0
  900. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/marshal.py +0 -0
  901. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/of_.py +0 -0
  902. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/reflect.py +0 -0
  903. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/values.py +0 -0
  904. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish.egg-info/dependency_links.txt +0 -0
  905. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish.egg-info/entry_points.txt +0 -0
  906. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish.egg-info/requires.txt +0 -0
  907. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish.egg-info/top_level.txt +0 -0
  908. {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/setup.cfg +0 -0
@@ -0,0 +1,302 @@
1
+ Metadata-Version: 2.4
2
+ Name: omlish
3
+ Version: 0.0.0.dev383
4
+ Summary: omlish
5
+ Author: wrmsr
6
+ License-Expression: BSD-3-Clause
7
+ Project-URL: source, https://github.com/wrmsr/omlish
8
+ Classifier: Development Status :: 2 - Pre-Alpha
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: Operating System :: OS Independent
11
+ Classifier: Operating System :: POSIX
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Requires-Python: >=3.13
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Provides-Extra: all
18
+ Requires-Dist: anyio~=4.10; extra == "all"
19
+ Requires-Dist: sniffio~=1.3; extra == "all"
20
+ Requires-Dist: greenlet~=3.2; extra == "all"
21
+ Requires-Dist: trio~=0.30; extra == "all"
22
+ Requires-Dist: trio-asyncio~=0.15; extra == "all"
23
+ Requires-Dist: lz4~=4.4; extra == "all"
24
+ Requires-Dist: python-snappy~=0.7; extra == "all"
25
+ Requires-Dist: zstandard~=0.23; extra == "all"
26
+ Requires-Dist: brotli~=1.1; extra == "all"
27
+ Requires-Dist: asttokens~=3.0; extra == "all"
28
+ Requires-Dist: executing~=2.2; extra == "all"
29
+ Requires-Dist: psutil~=7.0; extra == "all"
30
+ Requires-Dist: orjson~=3.11; extra == "all"
31
+ Requires-Dist: ujson~=5.10; extra == "all"
32
+ Requires-Dist: pyyaml~=6.0; extra == "all"
33
+ Requires-Dist: cbor2~=5.6; extra == "all"
34
+ Requires-Dist: cloudpickle~=3.1; extra == "all"
35
+ Requires-Dist: httpx[http2]~=0.28; extra == "all"
36
+ Requires-Dist: wrapt~=1.17; extra == "all"
37
+ Requires-Dist: cryptography~=45.0; extra == "all"
38
+ Requires-Dist: sqlalchemy[asyncio]~=2.0; extra == "all"
39
+ Requires-Dist: pg8000~=1.31; extra == "all"
40
+ Requires-Dist: pymysql~=1.1; extra == "all"
41
+ Requires-Dist: aiomysql~=0.2; extra == "all"
42
+ Requires-Dist: aiosqlite~=0.21; extra == "all"
43
+ Requires-Dist: asyncpg~=0.30; extra == "all"
44
+ Requires-Dist: apsw~=3.50; extra == "all"
45
+ Requires-Dist: sqlean.py~=3.49; extra == "all"
46
+ Requires-Dist: duckdb~=1.3; extra == "all"
47
+ Requires-Dist: markupsafe~=3.0; extra == "all"
48
+ Requires-Dist: jinja2~=3.1; extra == "all"
49
+ Requires-Dist: pytest~=8.4; extra == "all"
50
+ Requires-Dist: anyio~=4.10; extra == "all"
51
+ Requires-Dist: sniffio~=1.3; extra == "all"
52
+ Requires-Dist: asttokens~=3.0; extra == "all"
53
+ Requires-Dist: executing~=2.2; extra == "all"
54
+ Requires-Dist: orjson~=3.11; extra == "all"
55
+ Requires-Dist: pyyaml~=6.0; extra == "all"
56
+ Requires-Dist: wrapt~=1.17; extra == "all"
57
+ Provides-Extra: async
58
+ Requires-Dist: anyio~=4.10; extra == "async"
59
+ Requires-Dist: sniffio~=1.3; extra == "async"
60
+ Requires-Dist: greenlet~=3.2; extra == "async"
61
+ Requires-Dist: trio~=0.30; extra == "async"
62
+ Requires-Dist: trio-asyncio~=0.15; extra == "async"
63
+ Provides-Extra: compress
64
+ Requires-Dist: lz4~=4.4; extra == "compress"
65
+ Requires-Dist: python-snappy~=0.7; extra == "compress"
66
+ Requires-Dist: zstandard~=0.23; extra == "compress"
67
+ Requires-Dist: brotli~=1.1; extra == "compress"
68
+ Provides-Extra: diag
69
+ Requires-Dist: asttokens~=3.0; extra == "diag"
70
+ Requires-Dist: executing~=2.2; extra == "diag"
71
+ Requires-Dist: psutil~=7.0; extra == "diag"
72
+ Provides-Extra: formats
73
+ Requires-Dist: orjson~=3.11; extra == "formats"
74
+ Requires-Dist: ujson~=5.10; extra == "formats"
75
+ Requires-Dist: pyyaml~=6.0; extra == "formats"
76
+ Requires-Dist: cbor2~=5.6; extra == "formats"
77
+ Requires-Dist: cloudpickle~=3.1; extra == "formats"
78
+ Provides-Extra: http
79
+ Requires-Dist: httpx[http2]~=0.28; extra == "http"
80
+ Provides-Extra: misc
81
+ Requires-Dist: wrapt~=1.17; extra == "misc"
82
+ Provides-Extra: secrets
83
+ Requires-Dist: cryptography~=45.0; extra == "secrets"
84
+ Provides-Extra: sqlalchemy
85
+ Requires-Dist: sqlalchemy[asyncio]~=2.0; extra == "sqlalchemy"
86
+ Provides-Extra: sqldrivers
87
+ Requires-Dist: pg8000~=1.31; extra == "sqldrivers"
88
+ Requires-Dist: pymysql~=1.1; extra == "sqldrivers"
89
+ Requires-Dist: aiomysql~=0.2; extra == "sqldrivers"
90
+ Requires-Dist: aiosqlite~=0.21; extra == "sqldrivers"
91
+ Requires-Dist: asyncpg~=0.30; extra == "sqldrivers"
92
+ Requires-Dist: apsw~=3.50; extra == "sqldrivers"
93
+ Requires-Dist: sqlean.py~=3.49; extra == "sqldrivers"
94
+ Requires-Dist: duckdb~=1.3; extra == "sqldrivers"
95
+ Provides-Extra: templates
96
+ Requires-Dist: markupsafe~=3.0; extra == "templates"
97
+ Requires-Dist: jinja2~=3.1; extra == "templates"
98
+ Provides-Extra: testing
99
+ Requires-Dist: pytest~=8.4; extra == "testing"
100
+ Provides-Extra: plus
101
+ Requires-Dist: anyio~=4.10; extra == "plus"
102
+ Requires-Dist: sniffio~=1.3; extra == "plus"
103
+ Requires-Dist: asttokens~=3.0; extra == "plus"
104
+ Requires-Dist: executing~=2.2; extra == "plus"
105
+ Requires-Dist: orjson~=3.11; extra == "plus"
106
+ Requires-Dist: pyyaml~=6.0; extra == "plus"
107
+ Requires-Dist: wrapt~=1.17; extra == "plus"
108
+ Dynamic: license-file
109
+
110
+ # Overview
111
+
112
+ Core utilities and foundational code. It's relatively large but completely self-contained.
113
+
114
+ # Notable packages
115
+
116
+ - **[lang](https://github.com/wrmsr/omlish/blob/master/omlish/lang)** - The standard library of this standard library.
117
+ Usually imported as a whole (`from omlish import lang`), it contains an array of general purpose utilities used
118
+ practically everywhere. It is kept relatively lightweight: its heaviest import is stdlib dataclasses and its
119
+ transitives. Some of its contents include:
120
+
121
+ - **[cached](https://github.com/wrmsr/omlish/blob/master/omlish/lang/cached)** - The standard `cached_function` /
122
+ `cached_property` tools, which are more capable than
123
+ [`functools.lru_cache`](https://docs.python.org/3/library/functools.html#functools.lru_cache).
124
+ - **[imports](https://github.com/wrmsr/omlish/blob/master/omlish/lang/imports.py)** - Import tools like `proxy_import`
125
+ for late-loaded imports and `proxy_init` for late-loaded module globals.
126
+ - **[classes](https://github.com/wrmsr/omlish/blob/master/omlish/lang/classes)** - Class tools and bases, such as
127
+ `Abstract` (which checks at subclass definition not instantiation), `Sealed` / `PackageSealed`, and `Final`.
128
+ - **[maybes](https://github.com/wrmsr/omlish/blob/master/omlish/lite/maybes.py)** - A simple, nestable formalization
129
+ of the presence or absence of an object, as in [many](https://en.cppreference.com/w/cpp/utility/optional)
130
+ [other](https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html)
131
+ [languages](https://doc.rust-lang.org/std/option/).
132
+
133
+ - **[bootstrap](https://github.com/wrmsr/omlish/blob/master/omlish/bootstrap)** - A centralized, configurable,
134
+ all-in-one collection of various process-initialization minutiae like resource limiting, profiling, remote debugging,
135
+ log configuration, environment variables, et cetera. Usable as a context manager or via its
136
+ [cli](https://github.com/wrmsr/omlish/blob/master/omlish/bootstrap/main.py).
137
+
138
+ - **[collections](https://github.com/wrmsr/omlish/blob/master/omlish/collections)** - A handful of collection utilities
139
+ and simple implementations, including:
140
+
141
+ - **[cache](https://github.com/wrmsr/omlish/blob/master/omlish/collections/cache)** - A configurable LRU / LFU cache
142
+ with options like ttl and max size / weight.
143
+ - **[hasheq](https://github.com/wrmsr/omlish/blob/master/omlish/collections/hasheq.py)** - A dict taking an external
144
+ `__hash__` / `__eq__` implementation.
145
+ - **[identity](https://github.com/wrmsr/omlish/blob/master/omlish/collections/identity.py)** - Identity-keyed
146
+ collections.
147
+ - **[sorted](https://github.com/wrmsr/omlish/blob/master/omlish/collections/sorted)** - Interfaces for value-sorted
148
+ collections and key-sorted mappings, and a simple but - correct skiplist-backed implementation.
149
+ - **[persistent](https://github.com/wrmsr/omlish/blob/master/omlish/collections/persistent)** - Interfaces for
150
+ [persistent](https://en.wikipedia.org/wiki/Persistent_data_structure) maps, and a simple but correct treap-backed
151
+ implementation.
152
+
153
+ - **[dataclasses](https://github.com/wrmsr/omlish/blob/master/omlish/dataclasses)** - A fully-compatible
154
+ reimplementation of stdlib [dataclasses](https://docs.python.org/3/library/dataclasses.html) with numerous
155
+ enhancements and additional features. The
156
+ [full stdlib test suite](https://github.com/wrmsr/omlish/blob/master/omlish/dataclasses/tests/cpython) is run against
157
+ it ensuring compatibility - they *are* dataclasses. Current enhancements include:
158
+
159
+ - Simple field coercion and validation.
160
+ - Any number of `@dc.init` or `@dc.validate` methods, not just a central `__post_init__`.
161
+ - Optional generic type parameter substitution in generated `__init__` methods, enabling accurate reflection.
162
+ - An optional [metaclass](https://github.com/wrmsr/omlish/blob/master/omlish/dataclasses/metaclass) which removes the
163
+ need for re-decorating subclasses (with support for inheritance of dataclass parameters like `frozen`), and some
164
+ basic [base classes](https://github.com/wrmsr/omlish/blob/master/omlish/dataclasses/metaclass/bases.py).
165
+ - (Nearly finished) support for ahead-of-time / build-time code generation, greatly reducing import times.
166
+
167
+ The stdlib-equivalent api is exported in such a way as to appear to be direct aliases for the stdlib api itself,
168
+ simplifying tool support.
169
+
170
+ - **[dispatch](https://github.com/wrmsr/omlish/blob/master/omlish/dispatch)** - A beefed-up version of
171
+ [functools.singledispatch](https://docs.python.org/3/library/functools.html#functools.singledispatch), most notably
172
+ supporting MRO-honoring method impl dispatch.
173
+
174
+ - **[formats](https://github.com/wrmsr/omlish/blob/master/omlish/formats)** - Tools for various data formats, including:
175
+
176
+ - **[json](https://github.com/wrmsr/omlish/blob/master/omlish/formats/json)** - Tools for json, including abstraction
177
+ over various backends and a self-contained streaming / incremental parser.
178
+ - **[json5](https://github.com/wrmsr/omlish/blob/master/omlish/formats/json5)** - A self-contained and tested
179
+ [Json5](https://json5.org/) parser.
180
+ - **[toml](https://github.com/wrmsr/omlish/blob/master/omlish/formats/toml)** - Toml tools, including a
181
+ [lite](#lite-code) version of the stdlib parser (for use in older pythons).
182
+
183
+ - **[http](https://github.com/wrmsr/omlish/blob/master/omlish/http)** - HTTP code, including:
184
+
185
+ - **[clients](https://github.com/wrmsr/omlish/blob/master/omlish/http/clients)** - An abstraction over HTTP clients,
186
+ with urllib and httpx implementations.
187
+ - **[coro](https://github.com/wrmsr/omlish/blob/master/omlish/http/coro)** - Coroutine /
188
+ [sans-io](https://sans-io.readthedocs.io/) style reformulation of some stdlib http machinery - namely `http.server`
189
+ (and soon `http.client`). This style of code can run the same in sync, async, or
190
+ [any](https://docs.python.org/3/library/selectors.html)
191
+ [other](https://github.com/wrmsr/omlish/blob/master/omlish/asyncs/bluelet) context.
192
+
193
+ - **[inject](https://github.com/wrmsr/omlish/blob/master/omlish/inject)** - A
194
+ [guice](https://github.com/google/guice)-style dependency injector.
195
+
196
+ - **[io](https://github.com/wrmsr/omlish/blob/master/omlish/io)** - IO tools, including:
197
+
198
+ - **[compress](https://github.com/wrmsr/omlish/blob/master/omlish/io/compress)** - Abstraction over various
199
+ compression schemes, with particular attention to incremental operation. For example it includes
200
+ [an incremental reformulation of stdlib's gzip](https://github.com/wrmsr/omlish/blob/master/omlish/io/compress/gzip.py).
201
+ - **[coro](https://github.com/wrmsr/omlish/blob/master/omlish/io/coro)** - Utilities for coroutine / sans-io style
202
+ code.
203
+ - **[fdio](https://github.com/wrmsr/omlish/blob/master/omlish/io/fdio)** - An implementation of classic
204
+ [selector](https://docs.python.org/3/library/selectors.html)-style IO dispatch, akin to the deprecated
205
+ [asyncore](https://docs.python.org/3.11/library/asyncore.html). While more modern asyncio style code is generally
206
+ preferred, it nearly always involves
207
+ [background threads](https://github.com/python/cpython/blob/95d9dea1c4ed1b1de80074b74301cee0b38d5541/Lib/asyncio/unix_events.py#L1349)
208
+ making it [unsuitable for forking processes](https://rachelbythebay.com/w/2011/06/07/forked/) like
209
+ [process supervisors](https://github.com/wrmsr/omlish/blob/master/ominfra/supervisor).
210
+
211
+ - **[jmespath](https://github.com/wrmsr/omlish/blob/master/omlish/specs/jmespath)** - A vendoring of
212
+ [jmespath community edition](https://github.com/jmespath-community/python-jmespath), modernized and adapted to this
213
+ codebase.
214
+
215
+ - **[marshal](https://github.com/wrmsr/omlish/blob/master/omlish/marshal)** - A
216
+ [jackson](https://github.com/FasterXML/jackson)-style serde system.
217
+
218
+ - **[manifests](https://github.com/wrmsr/omlish/blob/master/omlish/manifests)** - A system for sharing lightweight
219
+ metadata within / across codebases.
220
+
221
+ - **[reflect](https://github.com/wrmsr/omlish/blob/master/omlish/reflect)** - Reflection utilities, including primarily
222
+ a formalization of stdlib type annotations for use at runtime, decoupled from stdlib impl detail. Keeping this working
223
+ is notoriously difficult across python versions (one of the primary reasons for only supporting 3.13+).
224
+
225
+ - **[sql](https://github.com/wrmsr/omlish/blob/master/omlish/sql)** - A collection of SQL utilities, including:
226
+
227
+ - **[alchemy](https://github.com/wrmsr/omlish/blob/master/omlish/sql/alchemy)** - SQLAlchemy utilities. The codebase
228
+ is moving away from SQLAlchemy however in favor of its own internal SQL api.
229
+ - **[api](https://github.com/wrmsr/omlish/blob/master/omlish/sql/api)** - An abstracted api for SQL interaction, with
230
+ support for dbapi compatible drivers (and a SQLAlchemy adapter).
231
+ - **[queries](https://github.com/wrmsr/omlish/blob/master/omlish/sql/queries)** - A SQL query builder with a fluent
232
+ interface.
233
+
234
+ - **[testing](https://github.com/wrmsr/omlish/blob/master/omlish/testing)** - Test - primarily pytest - helpers,
235
+ including:
236
+
237
+ - **['harness'](https://github.com/wrmsr/omlish/blob/master/omlish/testing/pytest/inject/harness.py)** - An all-in-one
238
+ fixture marrying it to the codebase's dependency injector.
239
+ - **[plugins/async](https://github.com/wrmsr/omlish/blob/master/omlish/testing/pytest/plugins/asyncs)** - An in-house
240
+ async-backend abstraction plugin, capable of handling all of asyncio / trio / trio-asyncio /
241
+ *any-future-event-loop-impl* without having multiple fighting plugins (*[I know, I know](https://xkcd.com/927/)*).
242
+ - **[plugins](https://github.com/wrmsr/omlish/blob/master/omlish/testing/pytest/plugins)** - Various other plugins.
243
+
244
+ - **[lite](https://github.com/wrmsr/omlish/blob/master/omlish/lite)** - The standard library of 'lite' code. This is the
245
+ only package beneath `lang`, and parts of it are re-exported by it for deduplication. On top of miscellaneous
246
+ utilities it contains a handful of independent, self-contained, significantly simplified 'lite' equivalents of some
247
+ major core packages:
248
+
249
+ - **[lite/inject.py](https://github.com/wrmsr/omlish/blob/master/omlish/lite/inject.py)** - The lite injector, which
250
+ is more conservative with features and reflection than the core injector. The codebase's
251
+ [MiniGuice](https://github.com/google/guice/commit/70248eafa90cd70a68b293763e53f6aec656e73c).
252
+ - **[lite/marshal.py](https://github.com/wrmsr/omlish/blob/master/omlish/lite/marshal.py)** - The lite marshalling
253
+ system, which is a classic canned setup of simple type-specific 2-method classes and limited generic handling.
254
+
255
+ # Lite code
256
+
257
+ A subset of this codebase is written in a 'lite' style (non-'lite' code is referred to as *standard* code). While
258
+ standard code is written for python 3.13+, 'lite' code is written for 3.8+, and is written in a style conducive to
259
+ [amalgamation](https://github.com/wrmsr/omlish/blob/master/omdev#amalgamation) in which multiple python source files are
260
+ stitched together into one single self-contained python script.
261
+
262
+ Code written in this style has notable differences from standard code, including (but not limited to):
263
+
264
+ - No name mangling is done in amalgamation, which means (among other things) that code must be written expecting to be
265
+ all dumped into the same giant namespace. Where a standard class might be
266
+ [`omlish.inject.keys.Key`](https://github.com/wrmsr/omlish/blob/master/omlish/inject/keys.py), a lite equivalent might
267
+ be [`omlish.lite.inject.InjectorKey`](https://github.com/wrmsr/omlish/blob/master/omlish/lite/inject.py).
268
+ - All internal imports `import` each individual item out of modules rather than importing the modules and referencing
269
+ their contents. Where standard code would `from .. import x; x.y`, lite code would `from ..x import y; y`. As a result
270
+ there are frequently 'api' non-instantiated namespace classes serving the purpose of modules - just handy bags of
271
+ stuff with shortened names.
272
+ - As lite code is tested in 3.8+ but core code requires 3.13+, packages containing lite code can't import anything
273
+ standard in their (and their ancestors') `__init__.py`'s. Furthermore, `__init__.py` files are omitted outright in
274
+ amalgamation, so they effectively must be empty in any package containing any lite code. As a result there are
275
+ frequently [`all.py`](https://github.com/wrmsr/omlish/blob/master/omlish/configs/all.py) files in mixed-lite packages
276
+ which serve the purpose of `__init__.py` for standard usage - where importing standard packages from standard code
277
+ would be done via `from .. import lang`, importing mixed-lite packages from standard code would be done via
278
+ `from ..configs import all as cfgs`.
279
+
280
+ # Dependencies
281
+
282
+ This library has no required dependencies of any kind, but there are numerous optional integrations - see
283
+ [`__about__.py`](https://github.com/wrmsr/omlish/blob/master/omlish/__about__.py) for a full list, but some specific
284
+ examples are:
285
+
286
+ - **anyio** - While lite code must use only asyncio, non-trivial async standard code prefers to be written to anyio.
287
+ - **pytest** - What is used for all standard testing - as lite code has no dependencies of any kind its testing uses
288
+ stdlib's [unittest](https://docs.python.org/3/library/unittest.html).
289
+ - **asttokens / executing** - For getting runtime source representations of function call arguments, an optional
290
+ capability of [check](https://github.com/wrmsr/omlish/blob/master/omlish/check.py).
291
+ - **wrapt** - For (optionally-enabled) injector circular proxies.
292
+ - **greenlet** - For some gnarly stuff like the
293
+ [sync<->async bridge](https://github.com/wrmsr/omlish/blob/master/omlish/asyncs/bridge.py) and the
294
+ [io trampoline](https://github.com/wrmsr/omlish/blob/master/omlish/io/trampoline.py).
295
+ - **sqlalchemy** - Parts of the codebase use SQLAlchemy for db stuff, but it is being migrated away from in favor of the
296
+ internal api. It will however likely still remain as an optional dep for the api adapter.
297
+
298
+ Additionally, some catchall dep categories include:
299
+
300
+ - **compression** - Various preferred compression backends like lz4, python-snappy, zstandard, and brotli.
301
+ - **formats** - Various preferred data format backends like orjson/ujson, pyyaml, cbor2, and cloudpickle.
302
+ - **sql drivers** - Various preferred and tested sql drivers.
@@ -0,0 +1,193 @@
1
+ # Overview
2
+
3
+ Core utilities and foundational code. It's relatively large but completely self-contained.
4
+
5
+ # Notable packages
6
+
7
+ - **[lang](https://github.com/wrmsr/omlish/blob/master/omlish/lang)** - The standard library of this standard library.
8
+ Usually imported as a whole (`from omlish import lang`), it contains an array of general purpose utilities used
9
+ practically everywhere. It is kept relatively lightweight: its heaviest import is stdlib dataclasses and its
10
+ transitives. Some of its contents include:
11
+
12
+ - **[cached](https://github.com/wrmsr/omlish/blob/master/omlish/lang/cached)** - The standard `cached_function` /
13
+ `cached_property` tools, which are more capable than
14
+ [`functools.lru_cache`](https://docs.python.org/3/library/functools.html#functools.lru_cache).
15
+ - **[imports](https://github.com/wrmsr/omlish/blob/master/omlish/lang/imports.py)** - Import tools like `proxy_import`
16
+ for late-loaded imports and `proxy_init` for late-loaded module globals.
17
+ - **[classes](https://github.com/wrmsr/omlish/blob/master/omlish/lang/classes)** - Class tools and bases, such as
18
+ `Abstract` (which checks at subclass definition not instantiation), `Sealed` / `PackageSealed`, and `Final`.
19
+ - **[maybes](https://github.com/wrmsr/omlish/blob/master/omlish/lite/maybes.py)** - A simple, nestable formalization
20
+ of the presence or absence of an object, as in [many](https://en.cppreference.com/w/cpp/utility/optional)
21
+ [other](https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html)
22
+ [languages](https://doc.rust-lang.org/std/option/).
23
+
24
+ - **[bootstrap](https://github.com/wrmsr/omlish/blob/master/omlish/bootstrap)** - A centralized, configurable,
25
+ all-in-one collection of various process-initialization minutiae like resource limiting, profiling, remote debugging,
26
+ log configuration, environment variables, et cetera. Usable as a context manager or via its
27
+ [cli](https://github.com/wrmsr/omlish/blob/master/omlish/bootstrap/main.py).
28
+
29
+ - **[collections](https://github.com/wrmsr/omlish/blob/master/omlish/collections)** - A handful of collection utilities
30
+ and simple implementations, including:
31
+
32
+ - **[cache](https://github.com/wrmsr/omlish/blob/master/omlish/collections/cache)** - A configurable LRU / LFU cache
33
+ with options like ttl and max size / weight.
34
+ - **[hasheq](https://github.com/wrmsr/omlish/blob/master/omlish/collections/hasheq.py)** - A dict taking an external
35
+ `__hash__` / `__eq__` implementation.
36
+ - **[identity](https://github.com/wrmsr/omlish/blob/master/omlish/collections/identity.py)** - Identity-keyed
37
+ collections.
38
+ - **[sorted](https://github.com/wrmsr/omlish/blob/master/omlish/collections/sorted)** - Interfaces for value-sorted
39
+ collections and key-sorted mappings, and a simple but - correct skiplist-backed implementation.
40
+ - **[persistent](https://github.com/wrmsr/omlish/blob/master/omlish/collections/persistent)** - Interfaces for
41
+ [persistent](https://en.wikipedia.org/wiki/Persistent_data_structure) maps, and a simple but correct treap-backed
42
+ implementation.
43
+
44
+ - **[dataclasses](https://github.com/wrmsr/omlish/blob/master/omlish/dataclasses)** - A fully-compatible
45
+ reimplementation of stdlib [dataclasses](https://docs.python.org/3/library/dataclasses.html) with numerous
46
+ enhancements and additional features. The
47
+ [full stdlib test suite](https://github.com/wrmsr/omlish/blob/master/omlish/dataclasses/tests/cpython) is run against
48
+ it ensuring compatibility - they *are* dataclasses. Current enhancements include:
49
+
50
+ - Simple field coercion and validation.
51
+ - Any number of `@dc.init` or `@dc.validate` methods, not just a central `__post_init__`.
52
+ - Optional generic type parameter substitution in generated `__init__` methods, enabling accurate reflection.
53
+ - An optional [metaclass](https://github.com/wrmsr/omlish/blob/master/omlish/dataclasses/metaclass) which removes the
54
+ need for re-decorating subclasses (with support for inheritance of dataclass parameters like `frozen`), and some
55
+ basic [base classes](https://github.com/wrmsr/omlish/blob/master/omlish/dataclasses/metaclass/bases.py).
56
+ - (Nearly finished) support for ahead-of-time / build-time code generation, greatly reducing import times.
57
+
58
+ The stdlib-equivalent api is exported in such a way as to appear to be direct aliases for the stdlib api itself,
59
+ simplifying tool support.
60
+
61
+ - **[dispatch](https://github.com/wrmsr/omlish/blob/master/omlish/dispatch)** - A beefed-up version of
62
+ [functools.singledispatch](https://docs.python.org/3/library/functools.html#functools.singledispatch), most notably
63
+ supporting MRO-honoring method impl dispatch.
64
+
65
+ - **[formats](https://github.com/wrmsr/omlish/blob/master/omlish/formats)** - Tools for various data formats, including:
66
+
67
+ - **[json](https://github.com/wrmsr/omlish/blob/master/omlish/formats/json)** - Tools for json, including abstraction
68
+ over various backends and a self-contained streaming / incremental parser.
69
+ - **[json5](https://github.com/wrmsr/omlish/blob/master/omlish/formats/json5)** - A self-contained and tested
70
+ [Json5](https://json5.org/) parser.
71
+ - **[toml](https://github.com/wrmsr/omlish/blob/master/omlish/formats/toml)** - Toml tools, including a
72
+ [lite](#lite-code) version of the stdlib parser (for use in older pythons).
73
+
74
+ - **[http](https://github.com/wrmsr/omlish/blob/master/omlish/http)** - HTTP code, including:
75
+
76
+ - **[clients](https://github.com/wrmsr/omlish/blob/master/omlish/http/clients)** - An abstraction over HTTP clients,
77
+ with urllib and httpx implementations.
78
+ - **[coro](https://github.com/wrmsr/omlish/blob/master/omlish/http/coro)** - Coroutine /
79
+ [sans-io](https://sans-io.readthedocs.io/) style reformulation of some stdlib http machinery - namely `http.server`
80
+ (and soon `http.client`). This style of code can run the same in sync, async, or
81
+ [any](https://docs.python.org/3/library/selectors.html)
82
+ [other](https://github.com/wrmsr/omlish/blob/master/omlish/asyncs/bluelet) context.
83
+
84
+ - **[inject](https://github.com/wrmsr/omlish/blob/master/omlish/inject)** - A
85
+ [guice](https://github.com/google/guice)-style dependency injector.
86
+
87
+ - **[io](https://github.com/wrmsr/omlish/blob/master/omlish/io)** - IO tools, including:
88
+
89
+ - **[compress](https://github.com/wrmsr/omlish/blob/master/omlish/io/compress)** - Abstraction over various
90
+ compression schemes, with particular attention to incremental operation. For example it includes
91
+ [an incremental reformulation of stdlib's gzip](https://github.com/wrmsr/omlish/blob/master/omlish/io/compress/gzip.py).
92
+ - **[coro](https://github.com/wrmsr/omlish/blob/master/omlish/io/coro)** - Utilities for coroutine / sans-io style
93
+ code.
94
+ - **[fdio](https://github.com/wrmsr/omlish/blob/master/omlish/io/fdio)** - An implementation of classic
95
+ [selector](https://docs.python.org/3/library/selectors.html)-style IO dispatch, akin to the deprecated
96
+ [asyncore](https://docs.python.org/3.11/library/asyncore.html). While more modern asyncio style code is generally
97
+ preferred, it nearly always involves
98
+ [background threads](https://github.com/python/cpython/blob/95d9dea1c4ed1b1de80074b74301cee0b38d5541/Lib/asyncio/unix_events.py#L1349)
99
+ making it [unsuitable for forking processes](https://rachelbythebay.com/w/2011/06/07/forked/) like
100
+ [process supervisors](https://github.com/wrmsr/omlish/blob/master/ominfra/supervisor).
101
+
102
+ - **[jmespath](https://github.com/wrmsr/omlish/blob/master/omlish/specs/jmespath)** - A vendoring of
103
+ [jmespath community edition](https://github.com/jmespath-community/python-jmespath), modernized and adapted to this
104
+ codebase.
105
+
106
+ - **[marshal](https://github.com/wrmsr/omlish/blob/master/omlish/marshal)** - A
107
+ [jackson](https://github.com/FasterXML/jackson)-style serde system.
108
+
109
+ - **[manifests](https://github.com/wrmsr/omlish/blob/master/omlish/manifests)** - A system for sharing lightweight
110
+ metadata within / across codebases.
111
+
112
+ - **[reflect](https://github.com/wrmsr/omlish/blob/master/omlish/reflect)** - Reflection utilities, including primarily
113
+ a formalization of stdlib type annotations for use at runtime, decoupled from stdlib impl detail. Keeping this working
114
+ is notoriously difficult across python versions (one of the primary reasons for only supporting 3.13+).
115
+
116
+ - **[sql](https://github.com/wrmsr/omlish/blob/master/omlish/sql)** - A collection of SQL utilities, including:
117
+
118
+ - **[alchemy](https://github.com/wrmsr/omlish/blob/master/omlish/sql/alchemy)** - SQLAlchemy utilities. The codebase
119
+ is moving away from SQLAlchemy however in favor of its own internal SQL api.
120
+ - **[api](https://github.com/wrmsr/omlish/blob/master/omlish/sql/api)** - An abstracted api for SQL interaction, with
121
+ support for dbapi compatible drivers (and a SQLAlchemy adapter).
122
+ - **[queries](https://github.com/wrmsr/omlish/blob/master/omlish/sql/queries)** - A SQL query builder with a fluent
123
+ interface.
124
+
125
+ - **[testing](https://github.com/wrmsr/omlish/blob/master/omlish/testing)** - Test - primarily pytest - helpers,
126
+ including:
127
+
128
+ - **['harness'](https://github.com/wrmsr/omlish/blob/master/omlish/testing/pytest/inject/harness.py)** - An all-in-one
129
+ fixture marrying it to the codebase's dependency injector.
130
+ - **[plugins/async](https://github.com/wrmsr/omlish/blob/master/omlish/testing/pytest/plugins/asyncs)** - An in-house
131
+ async-backend abstraction plugin, capable of handling all of asyncio / trio / trio-asyncio /
132
+ *any-future-event-loop-impl* without having multiple fighting plugins (*[I know, I know](https://xkcd.com/927/)*).
133
+ - **[plugins](https://github.com/wrmsr/omlish/blob/master/omlish/testing/pytest/plugins)** - Various other plugins.
134
+
135
+ - **[lite](https://github.com/wrmsr/omlish/blob/master/omlish/lite)** - The standard library of 'lite' code. This is the
136
+ only package beneath `lang`, and parts of it are re-exported by it for deduplication. On top of miscellaneous
137
+ utilities it contains a handful of independent, self-contained, significantly simplified 'lite' equivalents of some
138
+ major core packages:
139
+
140
+ - **[lite/inject.py](https://github.com/wrmsr/omlish/blob/master/omlish/lite/inject.py)** - The lite injector, which
141
+ is more conservative with features and reflection than the core injector. The codebase's
142
+ [MiniGuice](https://github.com/google/guice/commit/70248eafa90cd70a68b293763e53f6aec656e73c).
143
+ - **[lite/marshal.py](https://github.com/wrmsr/omlish/blob/master/omlish/lite/marshal.py)** - The lite marshalling
144
+ system, which is a classic canned setup of simple type-specific 2-method classes and limited generic handling.
145
+
146
+ # Lite code
147
+
148
+ A subset of this codebase is written in a 'lite' style (non-'lite' code is referred to as *standard* code). While
149
+ standard code is written for python 3.13+, 'lite' code is written for 3.8+, and is written in a style conducive to
150
+ [amalgamation](https://github.com/wrmsr/omlish/blob/master/omdev#amalgamation) in which multiple python source files are
151
+ stitched together into one single self-contained python script.
152
+
153
+ Code written in this style has notable differences from standard code, including (but not limited to):
154
+
155
+ - No name mangling is done in amalgamation, which means (among other things) that code must be written expecting to be
156
+ all dumped into the same giant namespace. Where a standard class might be
157
+ [`omlish.inject.keys.Key`](https://github.com/wrmsr/omlish/blob/master/omlish/inject/keys.py), a lite equivalent might
158
+ be [`omlish.lite.inject.InjectorKey`](https://github.com/wrmsr/omlish/blob/master/omlish/lite/inject.py).
159
+ - All internal imports `import` each individual item out of modules rather than importing the modules and referencing
160
+ their contents. Where standard code would `from .. import x; x.y`, lite code would `from ..x import y; y`. As a result
161
+ there are frequently 'api' non-instantiated namespace classes serving the purpose of modules - just handy bags of
162
+ stuff with shortened names.
163
+ - As lite code is tested in 3.8+ but core code requires 3.13+, packages containing lite code can't import anything
164
+ standard in their (and their ancestors') `__init__.py`'s. Furthermore, `__init__.py` files are omitted outright in
165
+ amalgamation, so they effectively must be empty in any package containing any lite code. As a result there are
166
+ frequently [`all.py`](https://github.com/wrmsr/omlish/blob/master/omlish/configs/all.py) files in mixed-lite packages
167
+ which serve the purpose of `__init__.py` for standard usage - where importing standard packages from standard code
168
+ would be done via `from .. import lang`, importing mixed-lite packages from standard code would be done via
169
+ `from ..configs import all as cfgs`.
170
+
171
+ # Dependencies
172
+
173
+ This library has no required dependencies of any kind, but there are numerous optional integrations - see
174
+ [`__about__.py`](https://github.com/wrmsr/omlish/blob/master/omlish/__about__.py) for a full list, but some specific
175
+ examples are:
176
+
177
+ - **anyio** - While lite code must use only asyncio, non-trivial async standard code prefers to be written to anyio.
178
+ - **pytest** - What is used for all standard testing - as lite code has no dependencies of any kind its testing uses
179
+ stdlib's [unittest](https://docs.python.org/3/library/unittest.html).
180
+ - **asttokens / executing** - For getting runtime source representations of function call arguments, an optional
181
+ capability of [check](https://github.com/wrmsr/omlish/blob/master/omlish/check.py).
182
+ - **wrapt** - For (optionally-enabled) injector circular proxies.
183
+ - **greenlet** - For some gnarly stuff like the
184
+ [sync<->async bridge](https://github.com/wrmsr/omlish/blob/master/omlish/asyncs/bridge.py) and the
185
+ [io trampoline](https://github.com/wrmsr/omlish/blob/master/omlish/io/trampoline.py).
186
+ - **sqlalchemy** - Parts of the codebase use SQLAlchemy for db stuff, but it is being migrated away from in favor of the
187
+ internal api. It will however likely still remain as an optional dep for the api adapter.
188
+
189
+ Additionally, some catchall dep categories include:
190
+
191
+ - **compression** - Various preferred compression backends like lz4, python-snappy, zstandard, and brotli.
192
+ - **formats** - Various preferred data format backends like orjson/ujson, pyyaml, cbor2, and cloudpickle.
193
+ - **sql drivers** - Various preferred and tested sql drivers.
@@ -1,5 +1,5 @@
1
- __version__ = '0.0.0.dev381'
2
- __revision__ = 'f73e0ce8b22e02761d8deafb17e4cead2919af33'
1
+ __version__ = '0.0.0.dev383'
2
+ __revision__ = '30ecc2e778f892f6705283104b83b95626c3c24d'
3
3
 
4
4
 
5
5
  #
@@ -9,18 +9,22 @@ class ProjectBase:
9
9
  name: str | None = None
10
10
  authors = [{'name': 'wrmsr'}]
11
11
  urls = {'source': 'https://github.com/wrmsr/omlish'}
12
- license = {'text': 'BSD-3-Clause'}
12
+ license = 'BSD-3-Clause'
13
+ readme = 'README.md'
13
14
  requires_python = '>=3.13'
14
15
 
15
16
  version = __version__
16
17
 
17
18
  classifiers = [
18
- 'License :: OSI Approved :: BSD License',
19
19
  'Development Status :: 2 - Pre-Alpha',
20
+
20
21
  'Intended Audience :: Developers',
21
22
 
22
23
  'Operating System :: OS Independent',
23
24
  'Operating System :: POSIX',
25
+
26
+ 'Programming Language :: Python :: 3',
27
+ 'Programming Language :: Python :: 3.13',
24
28
  ]
25
29
 
26
30
 
@@ -4,6 +4,8 @@
4
4
  from .binder import ( # noqa
5
5
  bind,
6
6
  bind_as_fn,
7
+ bind_map_entry_const,
8
+ bind_set_entry_const,
7
9
  )
8
10
 
9
11
  from .bindings import ( # noqa
@@ -112,6 +114,10 @@ from .scopes import ( # noqa
112
114
  enter_seeded_scope,
113
115
  )
114
116
 
117
+ from .tags import ( # noqa
118
+ Id,
119
+ )
120
+
115
121
  from .types import ( # noqa
116
122
  Scope,
117
123
  Tag,
@@ -120,5 +126,4 @@ from .types import ( # noqa
120
126
 
121
127
  from .utils import ( # noqa
122
128
  ConstFn,
123
- Id,
124
129
  )
@@ -11,8 +11,13 @@ from .bindings import Binding
11
11
  from .eagers import Eager
12
12
  from .elements import Element
13
13
  from .elements import Elements
14
+ from .elements import as_elements
14
15
  from .keys import Key
15
16
  from .keys import as_key
17
+ from .multis import MapBinding
18
+ from .multis import SetBinding
19
+ from .multis import is_map_multi_key
20
+ from .multis import is_set_multi_key
16
21
  from .privates import Expose
17
22
  from .providers import ConstProvider
18
23
  from .providers import CtorProvider
@@ -21,6 +26,7 @@ from .providers import LinkProvider
21
26
  from .providers import Provider
22
27
  from .scopes import SCOPE_ALIASES
23
28
  from .scopes import Singleton
29
+ from .tags import Id
24
30
  from .types import Scope
25
31
  from .types import Unscoped
26
32
 
@@ -180,3 +186,45 @@ def bind(
180
186
  return elements[0]
181
187
  else:
182
188
  return Elements(frozenset(elements))
189
+
190
+
191
+ ##
192
+
193
+
194
+ def bind_set_entry_const(
195
+ multi_key: ta.Any,
196
+ obj: ta.Any,
197
+ *,
198
+ tag: ta.Any | None = None,
199
+ ) -> Elements:
200
+ multi_key = as_key(multi_key)
201
+ check.arg(is_set_multi_key(multi_key))
202
+
203
+ if tag is None:
204
+ tag = Id(id(obj), tag=multi_key.tag)
205
+ obj_key: Key = Key(type(obj), tag=tag)
206
+
207
+ return as_elements(
208
+ bind(obj_key, to_const=obj),
209
+ SetBinding(multi_key, obj_key),
210
+ )
211
+
212
+
213
+ def bind_map_entry_const(
214
+ multi_key: ta.Any,
215
+ map_key: ta.Any,
216
+ obj: ta.Any,
217
+ *,
218
+ tag: ta.Any | None = None,
219
+ ) -> Elements:
220
+ multi_key = as_key(multi_key)
221
+ check.arg(is_map_multi_key(multi_key))
222
+
223
+ if tag is None:
224
+ tag = Id(id(obj), tag=multi_key.tag)
225
+ obj_key: Key = Key(type(obj), tag=tag)
226
+
227
+ return as_elements(
228
+ bind(obj_key, to_const=obj),
229
+ MapBinding(multi_key, map_key, obj_key),
230
+ )
@@ -14,7 +14,7 @@ T = ta.TypeVar('T')
14
14
 
15
15
 
16
16
  @dc.dataclass(frozen=True)
17
- @dc.extra_class_params(cache_hash=True)
17
+ @dc.extra_class_params(cache_hash=True, terse_repr=True)
18
18
  class Key(lang.Final, ta.Generic[T]):
19
19
  ty: rfl.Type = dc.xfield(coerce=rfl.type_)
20
20