omlish 0.0.0.dev60__tar.gz → 0.0.0.dev61__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {omlish-0.0.0.dev60/omlish.egg-info → omlish-0.0.0.dev61}/PKG-INFO +1 -1
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/__about__.py +2 -2
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/bootstrap/diag.py +19 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/bootstrap/harness.py +0 -2
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/bootstrap/main.py +22 -2
- omlish-0.0.0.dev61/omlish/diag/debug.py +26 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/base.py +6 -3
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/reflect/__init__.py +22 -20
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/reflect/types.py +88 -69
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61/omlish.egg-info}/PKG-INFO +1 -1
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish.egg-info/SOURCES.txt +1 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/pyproject.toml +1 -1
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/LICENSE +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/MANIFEST.in +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/README.rst +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/.manifests.json +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/BufferedTokenStream.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/CommonTokenFactory.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/CommonTokenStream.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/FileStream.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/InputStream.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/IntervalSet.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/LL1Analyzer.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/Lexer.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/ListTokenSource.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/Parser.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/ParserInterpreter.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/ParserRuleContext.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/PredictionContext.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/Recognizer.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/RuleContext.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/StdinStream.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/Token.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/TokenStreamRewriter.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/Utils.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/_pygrun.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/ATN.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/ATNConfig.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/ATNConfigSet.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/ATNDeserializationOptions.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/ATNDeserializer.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/ATNSimulator.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/ATNState.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/ATNType.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/LexerATNSimulator.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/LexerAction.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/LexerActionExecutor.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/ParserATNSimulator.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/PredictionMode.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/SemanticContext.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/Transition.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/dfa/DFA.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/dfa/DFASerializer.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/dfa/DFAState.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/dfa/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/error/DiagnosticErrorListener.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/error/ErrorListener.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/error/ErrorStrategy.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/error/Errors.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/error/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/tree/Chunk.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/tree/ParseTreeMatch.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/tree/ParseTreePattern.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/tree/ParseTreePatternMatcher.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/tree/RuleTagToken.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/tree/TokenTagToken.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/tree/Tree.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/tree/Trees.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/tree/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/xpath/XPath.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/xpath/XPathLexer.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/xpath/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/argparse.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/asyncs/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/asyncs/anyio.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/asyncs/asyncio.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/asyncs/asyncs.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/asyncs/bridge.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/asyncs/flavors.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/asyncs/trio.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/asyncs/trio_asyncio.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/bootstrap/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/bootstrap/__main__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/bootstrap/base.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/bootstrap/marshal.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/bootstrap/sys.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/c3.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/cached.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/check.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/_abc.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/_io_abc.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/cache/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/cache/descriptor.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/cache/impl.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/cache/types.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/coerce.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/exceptions.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/frozen.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/identity.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/indexed.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/mappings.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/ordered.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/persistent.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/skiplist.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/sorted.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/treap.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/treapmap.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/unmodifiable.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/collections/utils.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/concurrent/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/concurrent/executors.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/concurrent/futures.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/concurrent/threadlets.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/configs/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/configs/classes.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/configs/flattening.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/configs/strings.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/LICENSE +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/api.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/as_.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/copy.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/descriptors.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/exceptions.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/fields.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/frozen.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/hashing.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/init.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/internals.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/main.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/metaclass.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/metadata.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/order.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/params.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/processing.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/reflect.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/replace.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/repr.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/simple.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/slots.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/impl/utils.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dataclasses/utils.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/datetimes.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/defs.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/diag/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/diag/asts.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/diag/procfs.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/diag/procstats.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/diag/ps.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/diag/pycharm.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/diag/pydevd.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/diag/replserver/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/diag/replserver/__main__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/diag/replserver/console.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/diag/replserver/server.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/diag/threads.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dispatch/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dispatch/_dispatch2.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dispatch/_dispatch3.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dispatch/dispatch.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dispatch/functions.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dispatch/methods.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/docker/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/docker/cli.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/docker/compose.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/docker/helpers.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/docker/hub.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/docker/manifests.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/dynamic.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/fnpairs.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/fnpipes.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/formats/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/formats/dotenv.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/formats/json/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/formats/json/__main__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/formats/json/backends/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/formats/json/backends/orjson.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/formats/json/backends/std.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/formats/json/backends/ujson.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/formats/json/cli.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/formats/json/json.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/formats/json/render.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/formats/props.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/formats/yaml.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/genmachine.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/graphs/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/graphs/dags.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/graphs/domination.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/graphs/dot/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/graphs/dot/items.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/graphs/dot/make.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/graphs/dot/rendering.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/graphs/dot/utils.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/graphs/trees.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/http/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/http/asgi.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/http/collections.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/http/consts.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/http/cookies.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/http/dates.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/http/encodings.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/http/json.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/http/sessions.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/http/wsgi.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/binder.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/bindings.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/eagers.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/elements.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/exceptions.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/impl/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/impl/bindings.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/impl/elements.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/impl/injector.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/impl/inspect.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/impl/multis.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/impl/origins.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/impl/privates.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/impl/providers.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/impl/proxy.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/impl/scopes.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/injector.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/inspect.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/keys.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/listeners.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/managed.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/multis.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/origins.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/overrides.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/privates.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/providers.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/scopes.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/types.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/inject/utils.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/iterators.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/cached.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/classes/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/classes/abstract.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/classes/restrict.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/classes/simple.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/classes/virtual.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/clsdct.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/cmp.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/contextmanagers.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/datetimes.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/descriptors.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/exceptions.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/functions.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/imports.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/iterables.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/maybes.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/objects.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/resolving.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/resources.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/strings.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/sys.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/timeouts.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lang/typing.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/libc.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lifecycles/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lifecycles/abstract.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lifecycles/base.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lifecycles/contextmanagers.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lifecycles/controller.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lifecycles/manager.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lifecycles/states.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lifecycles/transitions.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lite/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lite/cached.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lite/check.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lite/contextmanagers.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lite/json.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lite/logs.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lite/marshal.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lite/reflect.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lite/runtime.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lite/secrets.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lite/strings.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/lite/subprocesses.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/logs/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/logs/_abc.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/logs/configs.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/logs/formatters.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/logs/handlers.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/logs/noisy.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/logs/utils.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/any.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/base64.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/dataclasses.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/datetimes.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/enums.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/exceptions.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/factories.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/forbidden.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/global_.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/helpers.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/iterables.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/mappings.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/maybes.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/naming.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/nop.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/numbers.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/objects.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/optionals.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/polymorphism.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/primitives.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/registries.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/standard.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/unions.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/utils.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/uuids.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/marshal/values.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/matchfns.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/math/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/math/bits.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/math/floats.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/math/stats.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/multiprocessing.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/os.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/reflect/isinstance.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/reflect/ops.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/reflect/subst.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/runmodule.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/secrets/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/secrets/crypto.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/secrets/marshal.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/secrets/openssl.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/secrets/passwords.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/secrets/secrets.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/secrets/subprocesses.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jmespath/LICENSE +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jmespath/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jmespath/__main__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jmespath/ast.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jmespath/cli.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jmespath/exceptions.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jmespath/functions.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jmespath/lexer.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jmespath/parser.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jmespath/scope.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jmespath/visitor.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonrpc/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonrpc/errors.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonrpc/marshal.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonrpc/types.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/keywords/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/keywords/base.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/keywords/core.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/keywords/metadata.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/keywords/parse.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/keywords/render.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/keywords/validation.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/schemas/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/schemas/draft202012/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/schemas/draft202012/metaschema.json +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/applicator.json +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/content.json +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/core.json +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/format-annotation.json +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/format-assertion.json +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/format.json +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/meta-data.json +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/unevaluated.json +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/schemas/draft202012/vocabularies/validation.json +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/jsonschema/types.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/openapi/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/openapi/marshal.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/specs/openapi/openapi.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/sql/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/sql/_abc.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/sql/alchemy/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/sql/alchemy/asyncs.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/sql/alchemy/duckdb.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/sql/alchemy/exprs.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/sql/alchemy/secrets.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/sql/alchemy/sqlean.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/sql/dbs.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/sql/qualifiedname.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/sync.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/term.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/helpers.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/inject/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/inject/harness.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/marks.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/plugins/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/plugins/_registry.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/plugins/asyncs.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/plugins/depskip.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/plugins/logging.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/plugins/managermarks.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/plugins/pydevd.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/plugins/repeat.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/plugins/skips.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/plugins/spacing.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/plugins/switches.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/plugins/utils.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/pytest/skip.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/testing/testing.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/text/__init__.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/text/asdl.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/text/delimit.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/text/glyphsplit.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/text/indent.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/text/parts.py +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish.egg-info/dependency_links.txt +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish.egg-info/entry_points.txt +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish.egg-info/requires.txt +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish.egg-info/top_level.txt +0 -0
- {omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/setup.cfg +0 -0
@@ -17,6 +17,7 @@ if ta.TYPE_CHECKING:
|
|
17
17
|
import cProfile # noqa
|
18
18
|
import pstats
|
19
19
|
|
20
|
+
from ..diag import debug as ddbg
|
20
21
|
from ..diag import pycharm as diagpc
|
21
22
|
from ..diag import replserver as diagrs
|
22
23
|
from ..diag import threads as diagt
|
@@ -25,6 +26,7 @@ else:
|
|
25
26
|
cProfile = lang.proxy_import('cProfile') # noqa
|
26
27
|
pstats = lang.proxy_import('pstats')
|
27
28
|
|
29
|
+
ddbg = lang.proxy_import('..diag.debug', __package__)
|
28
30
|
diagpc = lang.proxy_import('..diag.pycharm', __package__)
|
29
31
|
diagrs = lang.proxy_import('..diag.replserver', __package__)
|
30
32
|
diagt = lang.proxy_import('..diag.threads', __package__)
|
@@ -200,3 +202,20 @@ class ReplServerBootstrap(ContextBootstrap['ReplServerBootstrap.Config']):
|
|
200
202
|
thread.start()
|
201
203
|
|
202
204
|
yield
|
205
|
+
|
206
|
+
|
207
|
+
##
|
208
|
+
|
209
|
+
|
210
|
+
class DebugBootstrap(ContextBootstrap['DebugBootstrap.Config']):
|
211
|
+
@dc.dataclass(frozen=True)
|
212
|
+
class Config(Bootstrap.Config):
|
213
|
+
enable: bool = False
|
214
|
+
|
215
|
+
@contextlib.contextmanager
|
216
|
+
def enter(self) -> ta.Iterator[None]:
|
217
|
+
if not self._config.enable:
|
218
|
+
return
|
219
|
+
|
220
|
+
with ddbg.debugging_on_exception():
|
221
|
+
yield
|
@@ -1,13 +1,15 @@
|
|
1
1
|
"""
|
2
2
|
TODO:
|
3
3
|
- -x / --exec - os.exec entrypoint
|
4
|
-
|
4
|
+
- refuse to install non-exec-relevant Bootstraps when chosen
|
5
5
|
"""
|
6
6
|
# ruff: noqa: UP006 UP007
|
7
7
|
import argparse
|
8
8
|
import dataclasses as dc
|
9
9
|
import io
|
10
10
|
import itertools
|
11
|
+
import os
|
12
|
+
import shutil
|
11
13
|
import sys
|
12
14
|
import typing as ta
|
13
15
|
|
@@ -152,18 +154,36 @@ def _main() -> int:
|
|
152
154
|
_add_arguments(parser)
|
153
155
|
|
154
156
|
parser.add_argument('-m', '--module', action='store_true')
|
157
|
+
parser.add_argument('-c', '--code', action='store_true')
|
158
|
+
parser.add_argument('-x', '--exec', action='store_true')
|
155
159
|
parser.add_argument('target')
|
156
160
|
parser.add_argument('args', nargs=argparse.REMAINDER)
|
157
161
|
|
158
162
|
args = parser.parse_args()
|
163
|
+
|
164
|
+
if len([a for a in ('module', 'code', 'exec') if getattr(args, a)]) > 1:
|
165
|
+
raise Exception('Multiple exec mode specified')
|
166
|
+
|
159
167
|
cfgs = _process_arguments(args)
|
160
168
|
|
161
169
|
with bootstrap(*cfgs):
|
162
170
|
tgt = args.target
|
163
171
|
|
172
|
+
if args.exec:
|
173
|
+
exe = shutil.which(tgt)
|
174
|
+
if exe is None:
|
175
|
+
raise FileNotFoundError(exe)
|
176
|
+
|
177
|
+
os.execl(exe, exe, *args.args)
|
178
|
+
|
179
|
+
return 0 # type: ignore # noqa
|
180
|
+
|
164
181
|
sys.argv = [tgt, *(args.args or ())]
|
165
182
|
|
166
|
-
if args.
|
183
|
+
if args.code:
|
184
|
+
exec(tgt, {}, {})
|
185
|
+
|
186
|
+
elif args.module:
|
167
187
|
runpy._run_module_as_main(tgt) # type: ignore # noqa
|
168
188
|
|
169
189
|
else:
|
@@ -0,0 +1,26 @@
|
|
1
|
+
"""
|
2
|
+
TODO:
|
3
|
+
- select best debugger: ipdb, pudb,
|
4
|
+
"""
|
5
|
+
import contextlib
|
6
|
+
import sys
|
7
|
+
import traceback
|
8
|
+
import typing as ta
|
9
|
+
|
10
|
+
|
11
|
+
@contextlib.contextmanager
|
12
|
+
def debugging_on_exception(
|
13
|
+
*,
|
14
|
+
silent: bool = False,
|
15
|
+
) -> ta.Iterator[None]:
|
16
|
+
import pdb # noqa
|
17
|
+
|
18
|
+
try:
|
19
|
+
yield
|
20
|
+
except Exception:
|
21
|
+
if not silent:
|
22
|
+
traceback.print_exc()
|
23
|
+
|
24
|
+
pdb.post_mortem(sys.exc_info()[2])
|
25
|
+
|
26
|
+
raise
|
@@ -164,9 +164,12 @@ class BaseContext(lang.Abstract):
|
|
164
164
|
options: col.TypeMap[Option] = col.TypeMap()
|
165
165
|
|
166
166
|
def _reflect(self, o: ta.Any) -> rfl.Type:
|
167
|
-
|
168
|
-
|
169
|
-
|
167
|
+
def override(o):
|
168
|
+
if (ovr := self.registry.get_of(o, ReflectOverride)):
|
169
|
+
return ovr[-1].rty
|
170
|
+
return None
|
171
|
+
|
172
|
+
return rfl.Reflector(override=override).type(o)
|
170
173
|
|
171
174
|
|
172
175
|
@dc.dataclass(frozen=True)
|
@@ -1,18 +1,6 @@
|
|
1
|
-
from .
|
2
|
-
|
3
|
-
|
4
|
-
Any,
|
5
|
-
Generic,
|
6
|
-
NewType,
|
7
|
-
TYPES,
|
8
|
-
Type,
|
9
|
-
Union,
|
10
|
-
get_orig_bases,
|
11
|
-
get_orig_class,
|
12
|
-
get_params,
|
13
|
-
is_type,
|
14
|
-
is_union_type,
|
15
|
-
type_,
|
1
|
+
from .isinstance import ( # noqa
|
2
|
+
KNOWN_ISINSTANCE_GENERICS,
|
3
|
+
isinstance_of,
|
16
4
|
)
|
17
5
|
|
18
6
|
from .ops import ( # noqa
|
@@ -24,11 +12,6 @@ from .ops import ( # noqa
|
|
24
12
|
types_equivalent,
|
25
13
|
)
|
26
14
|
|
27
|
-
from .isinstance import ( # noqa
|
28
|
-
KNOWN_ISINSTANCE_GENERICS,
|
29
|
-
isinstance_of,
|
30
|
-
)
|
31
|
-
|
32
15
|
from .subst import ( # noqa
|
33
16
|
ALIAS_UPDATING_GENERIC_SUBSTITUTION,
|
34
17
|
DEFAULT_GENERIC_SUBSTITUTION,
|
@@ -38,3 +21,22 @@ from .subst import ( # noqa
|
|
38
21
|
get_type_var_replacements,
|
39
22
|
replace_type_vars,
|
40
23
|
)
|
24
|
+
|
25
|
+
from .types import ( # noqa
|
26
|
+
ANY,
|
27
|
+
Annotated,
|
28
|
+
Any,
|
29
|
+
DEFAULT_REFLECTOR,
|
30
|
+
Generic,
|
31
|
+
NewType,
|
32
|
+
Reflector,
|
33
|
+
TYPES,
|
34
|
+
Type,
|
35
|
+
Union,
|
36
|
+
get_orig_bases,
|
37
|
+
get_orig_class,
|
38
|
+
get_params,
|
39
|
+
is_type,
|
40
|
+
is_union_type,
|
41
|
+
type_,
|
42
|
+
)
|
@@ -195,92 +195,111 @@ TYPES: tuple[type, ...] = (
|
|
195
195
|
##
|
196
196
|
|
197
197
|
|
198
|
-
|
199
|
-
|
200
|
-
|
198
|
+
class Reflector:
|
199
|
+
def __init__(
|
200
|
+
self,
|
201
|
+
*,
|
202
|
+
override: ta.Callable[[ta.Any], ta.Any] | None = None,
|
203
|
+
) -> None:
|
204
|
+
super().__init__()
|
201
205
|
|
202
|
-
|
206
|
+
self._override = override
|
203
207
|
|
204
|
-
|
205
|
-
|
208
|
+
def is_type(self, obj: ta.Any) -> bool:
|
209
|
+
if isinstance(obj, (Union, Generic, ta.TypeVar, NewType, Any)): # noqa
|
210
|
+
return True
|
206
211
|
|
207
|
-
|
212
|
+
oty = type(obj)
|
208
213
|
|
209
|
-
|
210
|
-
|
211
|
-
oty is _CallableGenericAlias
|
212
|
-
) or
|
214
|
+
return (
|
215
|
+
oty is _UnionGenericAlias or oty is types.UnionType or # noqa
|
213
216
|
|
214
|
-
|
217
|
+
isinstance(obj, ta.NewType) or # noqa
|
215
218
|
|
216
|
-
|
217
|
-
|
219
|
+
(
|
220
|
+
is_simple_generic_alias_type(oty) or
|
221
|
+
oty is _CallableGenericAlias
|
222
|
+
) or
|
218
223
|
|
224
|
+
isinstance(obj, type) or
|
219
225
|
|
220
|
-
|
221
|
-
|
222
|
-
return ANY
|
226
|
+
isinstance(obj, _SpecialGenericAlias)
|
227
|
+
)
|
223
228
|
|
224
|
-
|
225
|
-
|
229
|
+
def type(self, obj: ta.Any) -> Type:
|
230
|
+
if self._override is not None:
|
231
|
+
if (ovr := self._override(obj)) is not None:
|
232
|
+
return ovr
|
226
233
|
|
227
|
-
|
234
|
+
if obj is ta.Any:
|
235
|
+
return ANY
|
228
236
|
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
if isinstance(obj, ta.NewType): # noqa
|
233
|
-
return NewType(obj)
|
234
|
-
|
235
|
-
if (
|
236
|
-
is_simple_generic_alias_type(oty) or
|
237
|
-
oty is _CallableGenericAlias
|
238
|
-
):
|
239
|
-
origin = ta.get_origin(obj)
|
240
|
-
args = ta.get_args(obj)
|
241
|
-
if oty is _CallableGenericAlias:
|
242
|
-
p, r = args
|
243
|
-
if p is Ellipsis or isinstance(p, ta.ParamSpec):
|
244
|
-
raise TypeError(f'Callable argument not yet supported for {obj=}')
|
245
|
-
args = (*p, r)
|
246
|
-
params = _KNOWN_SPECIAL_TYPE_VARS[:len(args)]
|
247
|
-
elif origin is ta.Generic:
|
248
|
-
params = args
|
249
|
-
else:
|
250
|
-
params = get_params(origin)
|
251
|
-
if len(args) != len(params):
|
252
|
-
raise TypeError(f'Mismatched {args=} and {params=} for {obj=}')
|
253
|
-
return Generic(
|
254
|
-
origin,
|
255
|
-
tuple(type_(a) for a in args),
|
256
|
-
params,
|
257
|
-
obj,
|
258
|
-
)
|
237
|
+
if isinstance(obj, (Union, Generic, ta.TypeVar, NewType, Any)): # noqa
|
238
|
+
return obj
|
259
239
|
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
240
|
+
oty = type(obj)
|
241
|
+
|
242
|
+
if oty is _UnionGenericAlias or oty is types.UnionType:
|
243
|
+
return Union(frozenset(self.type(a) for a in ta.get_args(obj)))
|
244
|
+
|
245
|
+
if isinstance(obj, ta.NewType): # noqa
|
246
|
+
return NewType(obj)
|
247
|
+
|
248
|
+
if (
|
249
|
+
is_simple_generic_alias_type(oty) or
|
250
|
+
oty is _CallableGenericAlias
|
251
|
+
):
|
252
|
+
origin = ta.get_origin(obj)
|
253
|
+
args = ta.get_args(obj)
|
254
|
+
if oty is _CallableGenericAlias:
|
255
|
+
p, r = args
|
256
|
+
if p is Ellipsis or isinstance(p, ta.ParamSpec):
|
257
|
+
raise TypeError(f'Callable argument not yet supported for {obj=}')
|
258
|
+
args = (*p, r)
|
259
|
+
params = _KNOWN_SPECIAL_TYPE_VARS[:len(args)]
|
260
|
+
elif origin is ta.Generic:
|
261
|
+
params = args
|
262
|
+
else:
|
263
|
+
params = get_params(origin)
|
264
|
+
if len(args) != len(params):
|
265
|
+
raise TypeError(f'Mismatched {args=} and {params=} for {obj=}')
|
266
|
+
return Generic(
|
267
|
+
origin,
|
268
|
+
tuple(self.type(a) for a in args),
|
269
|
+
params,
|
270
|
+
obj,
|
271
|
+
)
|
272
|
+
|
273
|
+
if isinstance(obj, type):
|
274
|
+
if issubclass(obj, ta.Generic): # type: ignore
|
275
|
+
params = get_params(obj)
|
276
|
+
if params:
|
277
|
+
return Generic(
|
278
|
+
obj,
|
279
|
+
params,
|
280
|
+
params,
|
281
|
+
obj,
|
282
|
+
)
|
283
|
+
return obj
|
284
|
+
|
285
|
+
if isinstance(obj, _SpecialGenericAlias):
|
286
|
+
if (ks := _KNOWN_SPECIALS_BY_ALIAS.get(obj)) is not None:
|
287
|
+
params = _KNOWN_SPECIAL_TYPE_VARS[:ks.nparams]
|
264
288
|
return Generic(
|
265
|
-
|
289
|
+
ks.origin,
|
266
290
|
params,
|
267
291
|
params,
|
268
292
|
obj,
|
269
293
|
)
|
270
|
-
return obj
|
271
294
|
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
return Generic(
|
276
|
-
ks.origin,
|
277
|
-
params,
|
278
|
-
params,
|
279
|
-
obj,
|
280
|
-
)
|
295
|
+
if isinstance(obj, _AnnotatedAlias):
|
296
|
+
o = ta.get_args(obj)[0]
|
297
|
+
return Annotated(self.type(o), md=obj.__metadata__, obj=obj)
|
281
298
|
|
282
|
-
|
283
|
-
o = ta.get_args(obj)[0]
|
284
|
-
return Annotated(type_(o), md=obj.__metadata__, obj=obj)
|
299
|
+
raise TypeError(obj)
|
285
300
|
|
286
|
-
|
301
|
+
|
302
|
+
DEFAULT_REFLECTOR = Reflector()
|
303
|
+
|
304
|
+
is_type = DEFAULT_REFLECTOR.is_type
|
305
|
+
type_ = DEFAULT_REFLECTOR.type
|
@@ -12,7 +12,7 @@ authors = [
|
|
12
12
|
urls = {source = 'https://github.com/wrmsr/omlish'}
|
13
13
|
license = {text = 'BSD-3-Clause'}
|
14
14
|
requires-python = '~=3.12'
|
15
|
-
version = '0.0.0.
|
15
|
+
version = '0.0.0.dev61'
|
16
16
|
classifiers = [
|
17
17
|
'License :: OSI Approved :: BSD License',
|
18
18
|
'Development Status :: 2 - Pre-Alpha',
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/atn/ATNDeserializationOptions.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/error/DiagnosticErrorListener.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{omlish-0.0.0.dev60 → omlish-0.0.0.dev61}/omlish/antlr/_runtime/tree/ParseTreePatternMatcher.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|