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.
- omlish-0.0.0.dev383/PKG-INFO +302 -0
- omlish-0.0.0.dev383/README.md +193 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/__about__.py +8 -4
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/__init__.py +6 -1
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/binder.py +48 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/keys.py +1 -1
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/multis.py +10 -7
- omlish-0.0.0.dev383/omlish/inject/tags.py +22 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/utils.py +0 -11
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/manifests/load.py +1 -0
- omlish-0.0.0.dev383/omlish.egg-info/PKG-INFO +302 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish.egg-info/SOURCES.txt +1 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/pyproject.toml +5 -3
- omlish-0.0.0.dev381/PKG-INFO +0 -106
- omlish-0.0.0.dev381/README.md +0 -167
- omlish-0.0.0.dev381/omlish.egg-info/PKG-INFO +0 -106
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/LICENSE +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/MANIFEST.in +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/.manifests.json +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/algorithm/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/algorithm/all.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/algorithm/distribute.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/algorithm/toposort.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/algorithm/unify.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/argparse/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/argparse/all.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/argparse/cli.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/all.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/anyio/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/anyio/backends.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/anyio/futures.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/anyio/signals.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/anyio/streams.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/anyio/subprocesses.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/anyio/sync.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/anyio/utils.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/asyncio/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/asyncio/all.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/asyncio/channels.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/asyncio/sockets.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/asyncio/streams.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/asyncio/subprocesses.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/asyncio/timeouts.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/asyncio/utils.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/LICENSE +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/all.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/api.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/core.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/events.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/files.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/runner.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bluelet/sockets.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/bridge.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/buffers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/flavors.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/ioproxy/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/ioproxy/all.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/ioproxy/io.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/ioproxy/proxier.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/ioproxy/proxy.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/ioproxy/typing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/sync.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/trio.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/trio_asyncio.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/asyncs/utils.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/bootstrap/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/bootstrap/__main__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/bootstrap/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/bootstrap/diag.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/bootstrap/harness.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/bootstrap/main.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/bootstrap/marshal.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/bootstrap/sys.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/c3.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/cached.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/check.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/codecs/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/codecs/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/codecs/bytes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/codecs/chain.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/codecs/funcs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/codecs/registry.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/codecs/standard.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/codecs/text.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/abc.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/bimap.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/cache/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/cache/descriptor.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/cache/impl.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/cache/types.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/coerce.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/frozen.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/hasheq.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/identity.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/kv/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/kv/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/kv/capabilities.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/kv/filtered.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/kv/mappings.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/kv/transformed.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/kv/wrappers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/mappings.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/multimaps.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/ordered.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/persistent/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/persistent/persistent.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/persistent/treap.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/persistent/treapmap.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/ranked.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/sorted/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/sorted/skiplist.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/sorted/sorted.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/unmodifiable.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/collections/utils.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/concurrent/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/concurrent/executors.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/concurrent/futures.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/concurrent/threadlets.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/all.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/classes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/formats.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/nginx.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/all.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/flattening.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/inheritance.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/matching.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/merging.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/names.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/rewriting.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/processing/strings.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/shadow.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/configs/types.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/daemons/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/daemons/daemon.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/daemons/launching.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/daemons/reparent.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/daemons/services.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/daemons/spawning.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/daemons/targets.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/daemons/waiting.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/classes/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/classes/conversion.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/classes/decorator.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/classes/make.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/classes/metadata.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/classes/params.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/fields/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/fields/building.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/fields/constructor.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/fields/conversion.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/api/fields/metadata.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/abc.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/copy.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/doc.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/eq.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/fields.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/frozen.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/hash.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/init.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/matchargs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/mro.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/order.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/override.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/params.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/replace.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/repr.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/concerns/slots.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/debug.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/errors.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/compilation.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/execution.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/globals.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/idents.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/mangling.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/manifests.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/ops.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/plans.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/processor.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/registry.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/generation/utils.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/inspect.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/internals.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/metaclass/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/metaclass/bases.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/metaclass/confer.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/metaclass/meta.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/metaclass/specs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/processing/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/processing/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/processing/driving.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/processing/priority.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/processing/registry.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/reflection.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/specs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/tools/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/tools/as_.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/tools/iter.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/tools/modifiers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/tools/only_.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/tools/replace.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/tools/repr.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/tools/static.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dataclasses/utils.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/datetimes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/defs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/_pycharm/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/_pycharm/runhack.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/asts.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/debug.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/lslocks.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/lsof.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/procfs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/procstats.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/ps.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/pycharm.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/pydevd.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/replserver/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/replserver/__main__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/replserver/console.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/replserver/server.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/diag/threads.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dispatch/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dispatch/_dispatch2.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dispatch/_dispatch3.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dispatch/dispatch.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dispatch/functions.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dispatch/impls.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dispatch/methods.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/all.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/cli.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/compose.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/consts.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/detect.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/hub.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/manifests.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/ns1.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/ports.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/docker/timebomb.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dom/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dom/building.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dom/content.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dom/rendering.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/dynamic.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/cbor.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/cloudpickle.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/codecs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/dotenv.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/edn/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/edn/codec.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/edn/lexing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/edn/parsing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/edn/values.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/ini/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/ini/codec.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/ini/sections.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/Json.g4 +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/_antlr/JsonLexer.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/_antlr/JsonListener.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/_antlr/JsonParser.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/_antlr/JsonVisitor.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/_antlr/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/backends/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/backends/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/backends/default.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/backends/jiter.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/backends/orjson.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/backends/std.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/backends/ujson.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/codecs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/consts.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/encoding.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/literals.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/rendering.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/stream/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/stream/building.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/stream/errors.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/stream/lexing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/stream/parsing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/stream/rendering.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/stream/utils.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json/types.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/Json5.g4 +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/_antlr/Json5Lexer.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/_antlr/Json5Listener.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/_antlr/Json5Parser.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/_antlr/Json5Visitor.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/_antlr/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/codec.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/errors.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/literals.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/parsing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/json5/rendering.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/pickle.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/props.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/repr.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/toml/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/toml/codec.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/toml/parser.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/toml/writer.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/xml.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/formats/yaml.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/funcs/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/funcs/builders.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/funcs/genmachine.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/funcs/match.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/funcs/pairs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/funcs/pipes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/dags.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/domination.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/dot/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/dot/items.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/dot/make.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/dot/rendering.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/dot/utils.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/graphs/trees.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/all.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/asgi.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/clients/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/clients/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/clients/default.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/clients/httpx.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/clients/urllib.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/consts.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/cookies.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/client/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/client/client.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/client/errors.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/client/headers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/client/io.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/client/response.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/client/status.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/client/validation.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/server/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/server/fdio.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/server/server.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/server/simple.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/coro/server/sockets.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/dates.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/encodings.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/handlers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/headers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/json.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/jwt.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/multipart.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/parsing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/sessions.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/sse.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/urllib.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/versions.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/http/wsgi.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/bindings.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/eagers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/elements.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/errors.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/bindings.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/elements.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/injector.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/inspect.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/multis.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/origins.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/privates.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/providers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/proxy.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/impl/scopes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/injector.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/inspect.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/listeners.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/managed.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/origins.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/overrides.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/privates.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/providers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/scopes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/inject/types.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/abc.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/buffers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/abc.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/adapters.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/brotli.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/bz2.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/codecs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/gzip.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/lz4.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/lzma.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/snappy.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/zlib.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/compress/zstd.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/coro/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/coro/consts.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/coro/direct.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/coro/readers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/coro/stepped.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/fdio/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/fdio/handlers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/fdio/kqueue.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/fdio/manager.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/fdio/pollers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/fileno.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/pyio.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/io/trampoline.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/iterators/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/iterators/iterators.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/iterators/recipes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/iterators/tools.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/iterators/unique.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/attrs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/cached/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/cached/function.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/cached/property.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/casing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/classes/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/classes/abstract.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/classes/bindable.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/classes/namespaces.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/classes/protocols.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/classes/restrict.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/classes/simple.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/classes/virtual.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/clsdct.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/collections.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/comparison.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/contextmanagers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/datetimes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/descriptors.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/enums.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/errors.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/functions.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/generators.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/imports.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/iterables.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/objects.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/outcomes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/overrides.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/params.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/recursion.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/resolving.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/resources.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/strings.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/sys.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lang/typing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/libc.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lifecycles/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lifecycles/abstract.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lifecycles/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lifecycles/contextmanagers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lifecycles/controller.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lifecycles/manager.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lifecycles/states.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lifecycles/transitions.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/args.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/cached.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/check.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/configs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/contextmanagers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/dataclasses.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/imports.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/inject.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/json.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/logs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/marshal.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/maybes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/pycharm.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/reflect.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/reprs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/resources.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/runtime.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/secrets.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/strings.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/timeouts.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/timing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/types.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/lite/typing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/abc.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/all.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/callers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/color.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/configs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/filters.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/handlers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/json.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/noisy.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/protocol.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/proxy.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/standard.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/timing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/logs/utils.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/manifests/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/manifests/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/manifests/static.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/manifests/types.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/iterables.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/literals.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/mappings.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/maybes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/newtypes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/optionals.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/special.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/composite/wrapped.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/errors.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/factories.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/global_.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/naming.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/objects/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/objects/dataclasses.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/objects/helpers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/objects/marshal.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/objects/metadata.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/objects/namedtuples.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/objects/unmarshal.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/polymorphism/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/polymorphism/marshal.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/polymorphism/metadata.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/polymorphism/standard.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/polymorphism/unions.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/polymorphism/unmarshal.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/proxy.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/registries.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/singular/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/singular/base64.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/singular/datetimes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/singular/enums.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/singular/numbers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/singular/primitives.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/singular/uuids.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/standard.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/trivial/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/trivial/any.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/trivial/forbidden.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/trivial/nop.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/marshal/values.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/math/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/math/bits.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/math/c.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/math/fixed.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/math/floats.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/math/histogram.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/math/stats.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/metadata.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/multiprocessing/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/multiprocessing/proxies.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/multiprocessing/spawn.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/atomics.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/deathpacts/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/deathpacts/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/deathpacts/heartbeatfile.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/deathpacts/pipe.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/deathsig.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/fcntl.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/filemodes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/files.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/forkhooks.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/journald.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/linux.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/mangle.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/paths.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/pidfiles/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/pidfiles/__main__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/pidfiles/cli.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/pidfiles/manager.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/pidfiles/pidfile.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/pidfiles/pinning.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/signals.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/sizes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/os/temp.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/reflect/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/reflect/inspect.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/reflect/ops.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/reflect/subst.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/reflect/types.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/runmodule.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/all.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/crypto.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/marshal.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/openssl.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/pwgen.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/pwhash.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/secrets.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/ssl.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/subprocesses.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/secrets/tempssl.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/shlex.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/addresses.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/bind.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/handlers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/io.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/ports.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/server/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/server/handlers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/server/server.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/server/ssl.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/server/threading.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sockets/wait.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/messages/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/messages/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/messages/formats.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/messages/messages.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/messages/parsing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/numerics/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/numerics/formats.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/numerics/numerics.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/numerics/types.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/LICENSE +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/consts.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/errors.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/message.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/nuh.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/parsing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/rendering.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/tags.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/irc/protocol/utils.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/LICENSE +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/__main__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/ast.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/cli.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/errors.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/functions.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/lexer.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/parser.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/scope.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jmespath/visitor.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonrpc/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonrpc/conns.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonrpc/errors.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonrpc/marshal.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonrpc/types.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/keywords/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/keywords/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/keywords/core.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/keywords/format.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/keywords/metadata.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/keywords/parse.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/keywords/render.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/keywords/validation.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/marshal.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/LICENSE +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/metaschema.json +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/applicator.json +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/content.json +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/core.json +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/format-annotation.json +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/format-assertion.json +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/format.json +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/meta-data.json +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/unevaluated.json +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/validation.json +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/jsonschema/types.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/openapi/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/openapi/marshal.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/openapi/openapi.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/Protobuf3.g4 +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/_antlr/Protobuf3Lexer.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/_antlr/Protobuf3Listener.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/_antlr/Protobuf3Parser.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/_antlr/Protobuf3Visitor.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/_antlr/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/nodes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/specs/proto/parsing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/abc.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/alchemy/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/alchemy/apiadapter.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/alchemy/asyncs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/alchemy/duckdb.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/alchemy/exprs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/alchemy/secrets.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/alchemy/sqlean.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/_queries.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/asquery.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/columns.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/dbapi.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/errors.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/funcs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/queries.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/resources.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/api/rows.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/dbapi.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/dbs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/params.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/parsing/Minisql.g4 +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/parsing/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/parsing/_antlr/MinisqlLexer.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/parsing/_antlr/MinisqlListener.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/parsing/_antlr/MinisqlParser.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/parsing/_antlr/MinisqlVisitor.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/parsing/_antlr/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/parsing/parsing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/qualifiedname.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/binary.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/exprs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/idents.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/inserts.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/marshal.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/multi.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/names.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/ops.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/params.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/relations.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/rendering.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/selects.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/std.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/stmts.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/unary.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/queries/unions.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/tabledefs/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/tabledefs/alchemy.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/tabledefs/dtypes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/tabledefs/elements.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/tabledefs/lower.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/tabledefs/marshal.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sql/tabledefs/tabledefs.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/subprocesses/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/subprocesses/async_.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/subprocesses/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/subprocesses/editor.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/subprocesses/run.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/subprocesses/sync.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/subprocesses/utils.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/subprocesses/wrap.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/sync.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/codes.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/coloring.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/confirm.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/progressbar.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/vt100/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/vt100/c.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/vt100/states.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/term/vt100/terminal.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/helpers.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/inject/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/inject/harness.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/marks.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/_registry.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/backends/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/backends/asyncio.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/backends/base.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/backends/trio.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/backends/trio_asyncio.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/consts.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/fixtures.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/plugin.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/asyncs/utils.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/depskip.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/logging.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/managermarks.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/pydevd.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/repeat.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/skips.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/spacing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/switches/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/switches/plugin.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/switches/switches.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/plugins/utils.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/pytest/skip.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/testing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/unittest/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/unittest/__main__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/unittest/loading.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/unittest/main.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/unittest/running.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/testing/unittest/types.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/BufferedTokenStream.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/CommonTokenFactory.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/CommonTokenStream.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/FileStream.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/InputStream.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/IntervalSet.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/LICENSE.txt +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/LL1Analyzer.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/Lexer.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/ListTokenSource.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/Parser.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/ParserInterpreter.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/ParserRuleContext.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/PredictionContext.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/Recognizer.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/RuleContext.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/StdinStream.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/Token.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/TokenStreamRewriter.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/Utils.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/_all.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/_pygrun.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ATN.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ATNConfig.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ATNConfigSet.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ATNDeserializationOptions.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ATNDeserializer.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ATNSimulator.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ATNState.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ATNType.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/LexerATNSimulator.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/LexerAction.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/LexerActionExecutor.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/ParserATNSimulator.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/PredictionMode.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/SemanticContext.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/Transition.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/atn/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/dfa/DFA.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/dfa/DFASerializer.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/dfa/DFAState.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/dfa/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/error/DiagnosticErrorListener.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/error/ErrorListener.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/error/ErrorStrategy.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/error/Errors.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/error/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/Chunk.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/ParseTreeMatch.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/ParseTreePattern.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/ParseTreePatternMatcher.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/RuleTagToken.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/TokenTagToken.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/Tree.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/Trees.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/tree/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/xpath/XPath.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/xpath/XPathLexer.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/_runtime/xpath/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/delimit.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/dot.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/errors.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/input.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/parsing.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/runtime.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/antlr/utils.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/asdl.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/decoding.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/delimit.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/filecache.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/glyphsplit.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/go/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/go/quoting.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/indent.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/linecache.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/mangle.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/minja.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/parts.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/random.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/text/templating.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/__init__.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/accessor.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/collection.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/consumer.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/generic.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/holder.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/marshal.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/of_.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/reflect.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish/typedvalues/values.py +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish.egg-info/dependency_links.txt +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish.egg-info/entry_points.txt +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish.egg-info/requires.txt +0 -0
- {omlish-0.0.0.dev381 → omlish-0.0.0.dev383}/omlish.egg-info/top_level.txt +0 -0
- {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.
|
2
|
-
__revision__ = '
|
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 =
|
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
|
+
)
|