omextra 0.0.0.dev437__py3-none-any.whl → 0.0.0.dev439__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- omextra/formats/json/_antlr/JsonLexer.py +1 -1
- omextra/formats/json/_antlr/JsonListener.py +1 -1
- omextra/formats/json/_antlr/JsonParser.py +1 -1
- omextra/formats/json/_antlr/JsonVisitor.py +1 -1
- omextra/formats/json5/Json5.g4 +168 -0
- omextra/formats/json5/__init__.py +0 -0
- omextra/formats/json5/_antlr/Json5Lexer.py +354 -0
- omextra/formats/json5/_antlr/Json5Listener.py +79 -0
- omextra/formats/json5/_antlr/Json5Parser.py +617 -0
- omextra/formats/json5/_antlr/Json5Visitor.py +52 -0
- omextra/formats/json5/_antlr/__init__.py +0 -0
- omextra/formats/json5/parsing.py +101 -0
- omextra/specs/proto/_antlr/Protobuf3Lexer.py +1 -1
- omextra/specs/proto/_antlr/Protobuf3Listener.py +1 -1
- omextra/specs/proto/_antlr/Protobuf3Parser.py +1 -1
- omextra/specs/proto/_antlr/Protobuf3Visitor.py +1 -1
- omextra/specs/proto/parsing.py +2 -2
- omextra/sql/parsing/_antlr/MinisqlLexer.py +1 -1
- omextra/sql/parsing/_antlr/MinisqlListener.py +1 -1
- omextra/sql/parsing/_antlr/MinisqlParser.py +1 -1
- omextra/sql/parsing/_antlr/MinisqlVisitor.py +1 -1
- omextra/sql/parsing/parsing.py +3 -3
- omextra/text/antlr/__init__.py +3 -0
- omextra/text/antlr/_runtime/BufferedTokenStream.py +305 -0
- omextra/text/antlr/_runtime/CommonTokenFactory.py +64 -0
- omextra/text/antlr/_runtime/CommonTokenStream.py +90 -0
- omextra/text/antlr/_runtime/FileStream.py +30 -0
- omextra/text/antlr/_runtime/InputStream.py +90 -0
- omextra/text/antlr/_runtime/IntervalSet.py +183 -0
- omextra/text/antlr/_runtime/LICENSE.txt +28 -0
- omextra/text/antlr/_runtime/LL1Analyzer.py +176 -0
- omextra/text/antlr/_runtime/Lexer.py +332 -0
- omextra/text/antlr/_runtime/ListTokenSource.py +147 -0
- omextra/text/antlr/_runtime/Parser.py +583 -0
- omextra/text/antlr/_runtime/ParserInterpreter.py +173 -0
- omextra/text/antlr/_runtime/ParserRuleContext.py +189 -0
- omextra/text/antlr/_runtime/PredictionContext.py +632 -0
- omextra/text/antlr/_runtime/Recognizer.py +150 -0
- omextra/text/antlr/_runtime/RuleContext.py +230 -0
- omextra/text/antlr/_runtime/StdinStream.py +14 -0
- omextra/text/antlr/_runtime/Token.py +158 -0
- omextra/text/antlr/_runtime/TokenStreamRewriter.py +258 -0
- omextra/text/antlr/_runtime/Utils.py +36 -0
- omextra/text/antlr/_runtime/__init__.py +2 -0
- omextra/text/antlr/_runtime/_all.py +24 -0
- omextra/text/antlr/_runtime/_pygrun.py +174 -0
- omextra/text/antlr/_runtime/atn/ATN.py +135 -0
- omextra/text/antlr/_runtime/atn/ATNConfig.py +162 -0
- omextra/text/antlr/_runtime/atn/ATNConfigSet.py +215 -0
- omextra/text/antlr/_runtime/atn/ATNDeserializationOptions.py +27 -0
- omextra/text/antlr/_runtime/atn/ATNDeserializer.py +449 -0
- omextra/text/antlr/_runtime/atn/ATNSimulator.py +50 -0
- omextra/text/antlr/_runtime/atn/ATNState.py +267 -0
- omextra/text/antlr/_runtime/atn/ATNType.py +20 -0
- omextra/text/antlr/_runtime/atn/LexerATNSimulator.py +573 -0
- omextra/text/antlr/_runtime/atn/LexerAction.py +301 -0
- omextra/text/antlr/_runtime/atn/LexerActionExecutor.py +146 -0
- omextra/text/antlr/_runtime/atn/ParserATNSimulator.py +1664 -0
- omextra/text/antlr/_runtime/atn/PredictionMode.py +502 -0
- omextra/text/antlr/_runtime/atn/SemanticContext.py +333 -0
- omextra/text/antlr/_runtime/atn/Transition.py +271 -0
- omextra/text/antlr/_runtime/atn/__init__.py +4 -0
- omextra/text/antlr/_runtime/dfa/DFA.py +136 -0
- omextra/text/antlr/_runtime/dfa/DFASerializer.py +76 -0
- omextra/text/antlr/_runtime/dfa/DFAState.py +129 -0
- omextra/text/antlr/_runtime/dfa/__init__.py +4 -0
- omextra/text/antlr/_runtime/error/DiagnosticErrorListener.py +111 -0
- omextra/text/antlr/_runtime/error/ErrorListener.py +75 -0
- omextra/text/antlr/_runtime/error/ErrorStrategy.py +712 -0
- omextra/text/antlr/_runtime/error/Errors.py +176 -0
- omextra/text/antlr/_runtime/error/__init__.py +4 -0
- omextra/text/antlr/_runtime/tree/Chunk.py +33 -0
- omextra/text/antlr/_runtime/tree/ParseTreeMatch.py +121 -0
- omextra/text/antlr/_runtime/tree/ParseTreePattern.py +75 -0
- omextra/text/antlr/_runtime/tree/ParseTreePatternMatcher.py +377 -0
- omextra/text/antlr/_runtime/tree/RuleTagToken.py +53 -0
- omextra/text/antlr/_runtime/tree/TokenTagToken.py +50 -0
- omextra/text/antlr/_runtime/tree/Tree.py +194 -0
- omextra/text/antlr/_runtime/tree/Trees.py +114 -0
- omextra/text/antlr/_runtime/tree/__init__.py +2 -0
- omextra/text/antlr/_runtime/xpath/XPath.py +278 -0
- omextra/text/antlr/_runtime/xpath/XPathLexer.py +98 -0
- omextra/text/antlr/_runtime/xpath/__init__.py +4 -0
- omextra/text/antlr/cli/consts.py +1 -1
- omextra/text/antlr/delimit.py +110 -0
- omextra/text/antlr/dot.py +42 -0
- omextra/text/antlr/errors.py +14 -0
- omextra/text/antlr/input.py +96 -0
- omextra/text/antlr/parsing.py +55 -0
- omextra/text/antlr/runtime.py +102 -0
- omextra/text/antlr/utils.py +38 -0
- omextra-0.0.0.dev439.dist-info/METADATA +28 -0
- omextra-0.0.0.dev439.dist-info/RECORD +144 -0
- omextra-0.0.0.dev437.dist-info/METADATA +0 -73
- omextra-0.0.0.dev437.dist-info/RECORD +0 -69
- {omextra-0.0.0.dev437.dist-info → omextra-0.0.0.dev439.dist-info}/WHEEL +0 -0
- {omextra-0.0.0.dev437.dist-info → omextra-0.0.0.dev439.dist-info}/entry_points.txt +0 -0
- {omextra-0.0.0.dev437.dist-info → omextra-0.0.0.dev439.dist-info}/licenses/LICENSE +0 -0
- {omextra-0.0.0.dev437.dist-info → omextra-0.0.0.dev439.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,96 @@
|
|
1
|
+
# ruff: noqa: N802
|
2
|
+
import typing as ta
|
3
|
+
|
4
|
+
|
5
|
+
##
|
6
|
+
|
7
|
+
|
8
|
+
# class InputStream(ta.Protocol):
|
9
|
+
#
|
10
|
+
# @property
|
11
|
+
# def index(self) -> int: ...
|
12
|
+
#
|
13
|
+
# @property
|
14
|
+
# def size(self) -> int: ...
|
15
|
+
#
|
16
|
+
# # Reset the stream so that it's in the same state it was when the object was created *except* the data array is not
|
17
|
+
# # touched.
|
18
|
+
# def reset(self) -> None: ...
|
19
|
+
#
|
20
|
+
# def consume(self) -> None: ...
|
21
|
+
#
|
22
|
+
# def LA(self, offset: int) -> int: ...
|
23
|
+
#
|
24
|
+
# def LT(self, offset: int) -> int: ...
|
25
|
+
#
|
26
|
+
# def mark(self) -> int: ...
|
27
|
+
#
|
28
|
+
# def release(self, marker: int) -> None: ...
|
29
|
+
#
|
30
|
+
# # consume() ahead until p==_index; can't just set p=_index as we must update line and column. If we seek backwards,
|
31
|
+
# # just set p
|
32
|
+
# def seek(self, _index: int) -> None: ...
|
33
|
+
#
|
34
|
+
# def getText(self, start: int, stop: int) -> str: ...
|
35
|
+
#
|
36
|
+
# def __str__(self) -> str: ...
|
37
|
+
|
38
|
+
|
39
|
+
InputStream: ta.TypeAlias = ta.Any
|
40
|
+
|
41
|
+
|
42
|
+
##
|
43
|
+
|
44
|
+
|
45
|
+
# @lang.protocol_check(InputStream)
|
46
|
+
class ProxyInputStream:
|
47
|
+
def __init__(self, target: InputStream) -> None:
|
48
|
+
super().__init__()
|
49
|
+
|
50
|
+
self._target = target
|
51
|
+
|
52
|
+
@property
|
53
|
+
def index(self) -> int:
|
54
|
+
return self._target.index
|
55
|
+
|
56
|
+
@property
|
57
|
+
def size(self) -> int:
|
58
|
+
return self._target.size
|
59
|
+
|
60
|
+
def reset(self) -> None:
|
61
|
+
self._target.reset()
|
62
|
+
|
63
|
+
def consume(self) -> None:
|
64
|
+
self._target.consume()
|
65
|
+
|
66
|
+
def LA(self, offset: int) -> int:
|
67
|
+
return self._target.LA(offset)
|
68
|
+
|
69
|
+
def LT(self, offset: int) -> int:
|
70
|
+
return self._target.LT(offset)
|
71
|
+
|
72
|
+
def mark(self) -> int:
|
73
|
+
return self._target.mark()
|
74
|
+
|
75
|
+
def release(self, marker: int) -> None:
|
76
|
+
return self._target.release(marker)
|
77
|
+
|
78
|
+
def seek(self, _index: int) -> None:
|
79
|
+
return self._target.seek(_index)
|
80
|
+
|
81
|
+
def getText(self, start: int, stop: int) -> str:
|
82
|
+
return self._target.getText(start, stop)
|
83
|
+
|
84
|
+
def __str__(self) -> str:
|
85
|
+
return str(self._target)
|
86
|
+
|
87
|
+
|
88
|
+
##
|
89
|
+
|
90
|
+
|
91
|
+
class CaseInsensitiveInputStream(ProxyInputStream):
|
92
|
+
def LA(self, offset: int) -> int:
|
93
|
+
ret = super().LA(offset)
|
94
|
+
if ret != -1:
|
95
|
+
ret = ord(chr(ret).upper())
|
96
|
+
return ret
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# ruff: noqa: N802 N803
|
2
|
+
import typing as ta
|
3
|
+
|
4
|
+
from omlish import check
|
5
|
+
|
6
|
+
from . import runtime as antlr4
|
7
|
+
from .errors import SilentRaisingErrorListener
|
8
|
+
|
9
|
+
|
10
|
+
LexerT = ta.TypeVar('LexerT', bound=antlr4.Lexer)
|
11
|
+
ParserT = ta.TypeVar('ParserT', bound=antlr4.Parser)
|
12
|
+
|
13
|
+
|
14
|
+
##
|
15
|
+
|
16
|
+
|
17
|
+
def is_eof_context(ctx: antlr4.ParserRuleContext) -> bool:
|
18
|
+
return ctx.getChildCount() == 1 and ctx.getChild(0).getSymbol().type == antlr4.Token.EOF
|
19
|
+
|
20
|
+
|
21
|
+
class StandardParseTreeVisitor(antlr4.ParseTreeVisitor):
|
22
|
+
def visit(self, ctx: antlr4.ParserRuleContext):
|
23
|
+
check.isinstance(ctx, antlr4.ParserRuleContext)
|
24
|
+
return ctx.accept(self)
|
25
|
+
|
26
|
+
def aggregateResult(self, aggregate, nextResult): # noqa
|
27
|
+
if aggregate is not None:
|
28
|
+
check.none(nextResult)
|
29
|
+
return aggregate
|
30
|
+
else:
|
31
|
+
check.none(aggregate)
|
32
|
+
return nextResult
|
33
|
+
|
34
|
+
|
35
|
+
def make_parser(
|
36
|
+
buf: str,
|
37
|
+
lexer_cls: type[LexerT],
|
38
|
+
parser_cls: type[ParserT],
|
39
|
+
*,
|
40
|
+
silent_errors: bool = False,
|
41
|
+
) -> ParserT:
|
42
|
+
lexer = lexer_cls(antlr4.InputStream(buf))
|
43
|
+
if silent_errors:
|
44
|
+
lexer.removeErrorListeners()
|
45
|
+
lexer.addErrorListener(SilentRaisingErrorListener())
|
46
|
+
|
47
|
+
stream = antlr4.CommonTokenStream(lexer)
|
48
|
+
stream.fill()
|
49
|
+
|
50
|
+
parser = parser_cls(stream)
|
51
|
+
if silent_errors:
|
52
|
+
parser.removeErrorListeners()
|
53
|
+
parser.addErrorListener(SilentRaisingErrorListener())
|
54
|
+
|
55
|
+
return parser
|
@@ -0,0 +1,102 @@
|
|
1
|
+
# ruff: noqa: I001
|
2
|
+
# flake8: noqa: F401
|
3
|
+
|
4
|
+
from ._runtime.BufferedTokenStream import ( # type: ignore
|
5
|
+
TokenStream,
|
6
|
+
)
|
7
|
+
|
8
|
+
from ._runtime.CommonTokenStream import ( # type: ignore
|
9
|
+
CommonTokenStream,
|
10
|
+
)
|
11
|
+
|
12
|
+
from ._runtime.FileStream import ( # type: ignore
|
13
|
+
FileStream,
|
14
|
+
)
|
15
|
+
|
16
|
+
from ._runtime.InputStream import ( # type: ignore
|
17
|
+
InputStream,
|
18
|
+
)
|
19
|
+
|
20
|
+
from ._runtime.Lexer import ( # type: ignore
|
21
|
+
Lexer,
|
22
|
+
)
|
23
|
+
|
24
|
+
from ._runtime.Parser import ( # type: ignore
|
25
|
+
Parser,
|
26
|
+
)
|
27
|
+
|
28
|
+
from ._runtime.ParserRuleContext import ( # type: ignore
|
29
|
+
ParserRuleContext,
|
30
|
+
RuleContext,
|
31
|
+
)
|
32
|
+
|
33
|
+
from ._runtime.PredictionContext import ( # type: ignore
|
34
|
+
PredictionContextCache,
|
35
|
+
)
|
36
|
+
|
37
|
+
from ._runtime.StdinStream import ( # type: ignore
|
38
|
+
StdinStream,
|
39
|
+
)
|
40
|
+
|
41
|
+
from ._runtime.Token import ( # type: ignore
|
42
|
+
Token,
|
43
|
+
)
|
44
|
+
|
45
|
+
from ._runtime.Utils import ( # type: ignore
|
46
|
+
str_list,
|
47
|
+
)
|
48
|
+
|
49
|
+
from ._runtime.atn.ATN import ( # type: ignore
|
50
|
+
ATN,
|
51
|
+
)
|
52
|
+
|
53
|
+
from ._runtime.atn.ATNDeserializer import ( # type: ignore
|
54
|
+
ATNDeserializer,
|
55
|
+
)
|
56
|
+
|
57
|
+
from ._runtime.atn.LexerATNSimulator import ( # type: ignore
|
58
|
+
LexerATNSimulator,
|
59
|
+
)
|
60
|
+
|
61
|
+
from ._runtime.atn.ParserATNSimulator import ( # type: ignore
|
62
|
+
ParserATNSimulator,
|
63
|
+
)
|
64
|
+
|
65
|
+
from ._runtime.atn.PredictionMode import ( # type: ignore
|
66
|
+
PredictionMode,
|
67
|
+
)
|
68
|
+
|
69
|
+
from ._runtime.dfa.DFA import ( # type: ignore
|
70
|
+
DFA,
|
71
|
+
)
|
72
|
+
|
73
|
+
from ._runtime.error.DiagnosticErrorListener import ( # type: ignore
|
74
|
+
DiagnosticErrorListener,
|
75
|
+
)
|
76
|
+
|
77
|
+
from ._runtime.error.ErrorListener import ( # type: ignore
|
78
|
+
ErrorListener,
|
79
|
+
)
|
80
|
+
|
81
|
+
from ._runtime.error.ErrorStrategy import ( # type: ignore
|
82
|
+
BailErrorStrategy,
|
83
|
+
)
|
84
|
+
|
85
|
+
from ._runtime.error.Errors import ( # type: ignore
|
86
|
+
LexerNoViableAltException,
|
87
|
+
)
|
88
|
+
|
89
|
+
from ._runtime.error.Errors import ( # type: ignore
|
90
|
+
IllegalStateException,
|
91
|
+
NoViableAltException,
|
92
|
+
RecognitionException,
|
93
|
+
)
|
94
|
+
|
95
|
+
from ._runtime.tree.Tree import ( # type: ignore
|
96
|
+
ErrorNode,
|
97
|
+
ParseTreeListener,
|
98
|
+
ParseTreeVisitor,
|
99
|
+
ParseTreeWalker,
|
100
|
+
RuleNode,
|
101
|
+
TerminalNode,
|
102
|
+
)
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# ruff: noqa: N802 N803
|
2
|
+
import io
|
3
|
+
import typing as ta
|
4
|
+
|
5
|
+
from . import runtime as antlr4
|
6
|
+
|
7
|
+
|
8
|
+
##
|
9
|
+
|
10
|
+
|
11
|
+
def pformat(
|
12
|
+
node: ta.Any,
|
13
|
+
*,
|
14
|
+
buf: ta.IO | None = None,
|
15
|
+
indent: str = '',
|
16
|
+
child_indent: str = ' ',
|
17
|
+
) -> ta.IO:
|
18
|
+
if buf is None:
|
19
|
+
buf = io.StringIO()
|
20
|
+
buf.write(indent)
|
21
|
+
buf.write(node.__class__.__name__)
|
22
|
+
if hasattr(node, 'start') and hasattr(node, 'stop'):
|
23
|
+
buf.write(f' ({node.start} -> {node.stop})')
|
24
|
+
buf.write('\n')
|
25
|
+
for child in getattr(node, 'children', []) or []:
|
26
|
+
pformat(child, buf=buf, indent=indent + child_indent, child_indent=child_indent)
|
27
|
+
return buf
|
28
|
+
|
29
|
+
|
30
|
+
def yield_contexts(
|
31
|
+
root: antlr4.ParserRuleContext,
|
32
|
+
) -> ta.Iterator[antlr4.ParserRuleContext]:
|
33
|
+
q = [root]
|
34
|
+
while q:
|
35
|
+
c = q.pop()
|
36
|
+
yield c
|
37
|
+
if not isinstance(c, antlr4.TerminalNode) and c.children:
|
38
|
+
q.extend(c.children)
|
@@ -0,0 +1,28 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: omextra
|
3
|
+
Version: 0.0.0.dev439
|
4
|
+
Summary: omextra
|
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
|
+
Requires-Dist: omlish==0.0.0.dev439
|
18
|
+
Dynamic: license-file
|
19
|
+
|
20
|
+
# Overview
|
21
|
+
|
22
|
+
Core-like code not appropriate for inclusion in `omlish` for one reason or another. A bit like
|
23
|
+
[`golang.org/x`](https://pkg.go.dev/golang.org/x).
|
24
|
+
|
25
|
+
# Notable packages
|
26
|
+
|
27
|
+
- **[text.antlr](https://github.com/wrmsr/omlish/blob/master/omextra/text/antlr)** -
|
28
|
+
[ANTLR](https://www.antlr.org/)-related code.
|
@@ -0,0 +1,144 @@
|
|
1
|
+
omextra/.omlish-manifests.json,sha256=E1M9UJ31RfpLfsZ2MfbN0_GAh_Lu_vj9wVJKPgak8jQ,290
|
2
|
+
omextra/__about__.py,sha256=UmONS0zKtygpY7Z9AD42Kn1cajMEdLKHzUwG00kaaFM,689
|
3
|
+
omextra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
|
+
omextra/defs.py,sha256=iMaDGj5VSG7QdYA1s7MvIYTbtTsXc1msINsuuZym1vs,4902
|
5
|
+
omextra/dynamic.py,sha256=i3aJRWwHJOmsrXI9a2iWCLa7pUQXx5YbMvUOS5LZ_Bs,6531
|
6
|
+
omextra/asyncs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
+
omextra/asyncs/bridge.py,sha256=75FScB7uZtINJelaJutDRuy6zCoFrTRL5Yajx8TFpWs,10158
|
8
|
+
omextra/formats/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
|
+
omextra/formats/json/Json.g4,sha256=fYImsljcVPdlMTHBabM_rza2j4udqjfLQNxIz4S_TpY,1206
|
10
|
+
omextra/formats/json/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
|
+
omextra/formats/json/_antlr/JsonLexer.py,sha256=SYlMV8XKi_kJ9meEulNmm2B98hjdzz_xLyPsoqCyYoE,4957
|
12
|
+
omextra/formats/json/_antlr/JsonListener.py,sha256=NhLh08embB9B4gAUovNs3ACl3Y_SjA2XrVAcWQF33iI,1587
|
13
|
+
omextra/formats/json/_antlr/JsonParser.py,sha256=YaAQITAAzZhluBJ__GWd6L69eC8YmhyZnPo-s8pW6mY,14291
|
14
|
+
omextra/formats/json/_antlr/JsonVisitor.py,sha256=b97Pk5JKWm1a3b6WNYESTXvuqvJX_Jt7v1SIIMiuy8E,1131
|
15
|
+
omextra/formats/json/_antlr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
|
+
omextra/formats/json5/Json5.g4,sha256=2V3IB8W1R45mFax5Qy4laAwcHJ9oFPWHc-r8qy9-YE4,2381
|
17
|
+
omextra/formats/json5/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
18
|
+
omextra/formats/json5/parsing.py,sha256=qWlb9KY_2gtj0rrQRv6BCisGJGJDolAbTAmQYJ22OBo,2869
|
19
|
+
omextra/formats/json5/_antlr/Json5Lexer.py,sha256=8sT04wjBTDpyHpLo6a5byREBwfNnFtLPZp7Wx3KfbkY,23259
|
20
|
+
omextra/formats/json5/_antlr/Json5Listener.py,sha256=wIqOwp4r-cOHxy6sxQbNmlYczqh2C3-H-74o_hr7WrA,2117
|
21
|
+
omextra/formats/json5/_antlr/Json5Parser.py,sha256=psacqZWRzPNEZq70XKpOnelZXHuXjkULq1r-owaPs6g,19699
|
22
|
+
omextra/formats/json5/_antlr/Json5Visitor.py,sha256=fIp5GhQ2Sd-bKEBBcBd31FOoCLiV1SZYPRof0Az6v6k,1455
|
23
|
+
omextra/formats/json5/_antlr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
24
|
+
omextra/io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
25
|
+
omextra/io/trampoline.py,sha256=nzCXtL4qip3IjfHwSHqhWkh429iakUFikbYKgx66cLc,7221
|
26
|
+
omextra/specs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
27
|
+
omextra/specs/irc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
28
|
+
omextra/specs/irc/messages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
29
|
+
omextra/specs/irc/messages/base.py,sha256=7tHICphzOievcjs39tzeooTL0Z6iL4nvVHxgRKK54LY,1248
|
30
|
+
omextra/specs/irc/messages/formats.py,sha256=8Cz2mmlx0--Vnp4VvUYSndYc1Dnq97Mls5ol4zgdG2Q,2370
|
31
|
+
omextra/specs/irc/messages/messages.py,sha256=QaNktXScvtKCWD6KbHIx_5XvXmsJlbkoVR_zXjLdyiA,14079
|
32
|
+
omextra/specs/irc/messages/parsing.py,sha256=nennTwdNbaWYx-BzMe9qKhdFdTlBeEuOVrBlhMNBYf0,2225
|
33
|
+
omextra/specs/irc/numerics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
34
|
+
omextra/specs/irc/numerics/formats.py,sha256=NI5DKyePCEnOeE66R1qVgu2rUt56id_n52wzx_9w8uw,2261
|
35
|
+
omextra/specs/irc/numerics/numerics.py,sha256=iOEG9PqfGUiDh6gDgdiNUqVY6WAbMBIwEPPIma34JNo,18215
|
36
|
+
omextra/specs/irc/numerics/types.py,sha256=myjN4K29QzwE3XvKeyW7QYhPW-H13jCR2gvv59_g0Pc,1289
|
37
|
+
omextra/specs/irc/protocol/LICENSE,sha256=1CT5_XkDMJ9HDZh0tX4TIsm7LfrSdljRX5EirPBhDYM,778
|
38
|
+
omextra/specs/irc/protocol/__init__.py,sha256=0OFSLrMS5jYFJCqH1LKv0UfTrp5faPQhlhYKBQyCZeA,1701
|
39
|
+
omextra/specs/irc/protocol/consts.py,sha256=iDCsJIyDE5-UnkIQpwCLzdbf3DUFWRmqkuVd0cZtujw,185
|
40
|
+
omextra/specs/irc/protocol/errors.py,sha256=cRP8c--kRts5Uwqn1xl1J97OI74hicG4UbkJs_EOSDg,334
|
41
|
+
omextra/specs/irc/protocol/message.py,sha256=i1-iZj17_mrmX5WaIcBuVD-dZP6g-bP6I_zH-0gVLzU,403
|
42
|
+
omextra/specs/irc/protocol/nuh.py,sha256=6DamgLNVaZRZdvpGqOn-cFsnru-a_kYmJIrb_Epu8_o,1287
|
43
|
+
omextra/specs/irc/protocol/parsing.py,sha256=yL9LRLw4GqtmiXmrH_AcIzu5x2riP6QDMEWESZVJ3jc,4058
|
44
|
+
omextra/specs/irc/protocol/rendering.py,sha256=-V7_Yr9m_izcUrwkOeD3L4aCNTT4iLi22QH5J0Upd5g,4914
|
45
|
+
omextra/specs/irc/protocol/tags.py,sha256=M89vR2GgDNroEsiH2QNchVX2LmT6sMIXY7huTEv7rIM,2784
|
46
|
+
omextra/specs/irc/protocol/utils.py,sha256=tUbkShJov8oCsbg1KZE1EC5pCThXJTdXFcw0HBM5ApQ,692
|
47
|
+
omextra/specs/proto/Protobuf3.g4,sha256=chDrovFsuZaHf5W35WZNts3jOa1ssPwvWiJR4yVIgjw,5552
|
48
|
+
omextra/specs/proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
49
|
+
omextra/specs/proto/nodes.py,sha256=NJYPGYrKV6GM51acYfRYmGNf23j9HeIvt4q--fVVAJQ,779
|
50
|
+
omextra/specs/proto/parsing.py,sha256=Wr1L_rsgSe15RZbbwaBd1kdabD_Ag_LMy5pKoPP1e_M,2875
|
51
|
+
omextra/specs/proto/_antlr/Protobuf3Lexer.py,sha256=CqZS0oOfpSgswxjM8CuOwRZDEm1Jm2lrYarS7ptI5Ug,19493
|
52
|
+
omextra/specs/proto/_antlr/Protobuf3Listener.py,sha256=CdBxX40sEmqZSdyOcBaogOwsm7106Kr9-KcqZZE3jUs,14528
|
53
|
+
omextra/specs/proto/_antlr/Protobuf3Parser.py,sha256=iOeqyU9lUJ-kpiDj3lS86XjnE-L4Wv_UmdvVG0dGCQU,132433
|
54
|
+
omextra/specs/proto/_antlr/Protobuf3Visitor.py,sha256=K5NxkXvMEJVsqnpXsHxMAHJOUFEYKSCSdsNR4RWgrE4,8804
|
55
|
+
omextra/specs/proto/_antlr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
56
|
+
omextra/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
57
|
+
omextra/sql/parsing/Minisql.g4,sha256=Jw8xT-8UI6ySHAgStyCg5QX9NTCinvTenLJReWiZIJU,4578
|
58
|
+
omextra/sql/parsing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
59
|
+
omextra/sql/parsing/parsing.py,sha256=FkGpXcHoWzdEwxsxlSPhjAjpUip6U592rdFf0ymKenI,3374
|
60
|
+
omextra/sql/parsing/_antlr/MinisqlLexer.py,sha256=Ce5hPERmyCle953lwQR7a6F24a1_KyVt6PtmOsGwRbg,17633
|
61
|
+
omextra/sql/parsing/_antlr/MinisqlListener.py,sha256=4B9d9ONDxzrx1QR-g96Qw_ilAW_I23VpULbq_UeIY0w,16655
|
62
|
+
omextra/sql/parsing/_antlr/MinisqlParser.py,sha256=htIMgNde8PqLj7mDV2cLo7kDiwn-acDZjr7mUBAC3PA,132479
|
63
|
+
omextra/sql/parsing/_antlr/MinisqlVisitor.py,sha256=UPs2qA2VlNRP_LMwF0DpMxMir9tIS9w59vGTq07mmlI,10052
|
64
|
+
omextra/sql/parsing/_antlr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
65
|
+
omextra/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
66
|
+
omextra/text/antlr/__init__.py,sha256=88bMl_28cfSKslgOkMGYXqALgsHz3KC4LFvAVtzj7k8,89
|
67
|
+
omextra/text/antlr/delimit.py,sha256=s0Jlu6oOamtuyWv_V98P0YC7HmgFJBF7GHVsDfMYTdI,3476
|
68
|
+
omextra/text/antlr/dot.py,sha256=37ZBYpum-n6Xg9UGj1Wc0wyuR3gL_uX63KwrSzyWNmk,967
|
69
|
+
omextra/text/antlr/errors.py,sha256=4J0WuVKbeFoZEP0wePCmn-e7mI1VMwWoE3wkeQO-4nk,313
|
70
|
+
omextra/text/antlr/input.py,sha256=baeO279AIxR50pymya0eabtnc2A0bSdA5u7jvIGebzA,2090
|
71
|
+
omextra/text/antlr/parsing.py,sha256=aQoPrVxb2H7BfqvPoogrgtlunskDHt5AHUi8zyBJUow,1424
|
72
|
+
omextra/text/antlr/runtime.py,sha256=wYUiJ0qoj4soHFL6fsq91MnUrDSKUEQVmJScKJibOAc,1975
|
73
|
+
omextra/text/antlr/utils.py,sha256=hi_RFUl222r2gQsmmm5MYg5_vYa3q8u-KP4CC1ZHndA,912
|
74
|
+
omextra/text/antlr/_runtime/BufferedTokenStream.py,sha256=1Rnhm62MZCWSuQeRs7lRUbdtdyo7Gyg8r4gAETjv-cE,10793
|
75
|
+
omextra/text/antlr/_runtime/CommonTokenFactory.py,sha256=QrSSTH0gYhOpPeOHqrs6-2g1PGcgYvjhR6J6pynKLOc,2147
|
76
|
+
omextra/text/antlr/_runtime/CommonTokenStream.py,sha256=L7giynpsS97oM6ZtPRIw8m6eIbGSaeEUJ7HN6b2etN4,2795
|
77
|
+
omextra/text/antlr/_runtime/FileStream.py,sha256=X2PqkNatRxhFrk3acH4NhWv0aBCgMwAn87pmrTLmL5c,905
|
78
|
+
omextra/text/antlr/_runtime/InputStream.py,sha256=50Ko4Vq-iWpk7sAMhJ0rrmB3LFv20TztUMpeIEcEfxg,2371
|
79
|
+
omextra/text/antlr/_runtime/IntervalSet.py,sha256=-8puC1vhHPwFMG3YzmA62MjJf37hkBSzteJ_GIvXJhk,6002
|
80
|
+
omextra/text/antlr/_runtime/LICENSE.txt,sha256=PbH7PueaS0-ZGPxND2Ezvxijz3h_EmzSL4qpuGIoHAw,1480
|
81
|
+
omextra/text/antlr/_runtime/LL1Analyzer.py,sha256=Try7EBMnZfpDV-E_JDCTluc9XnbTPfNanDvVYtAUxzE,7747
|
82
|
+
omextra/text/antlr/_runtime/Lexer.py,sha256=p5BbDve_V7Oms9FiiNfbVWWXc6dwt5B9wqije-RUc_0,11549
|
83
|
+
omextra/text/antlr/_runtime/ListTokenSource.py,sha256=wjaO4eWaZu5LTHFlNGnaW4K8kfuPW28wVbRkyElYjD0,5381
|
84
|
+
omextra/text/antlr/_runtime/Parser.py,sha256=RClLh37vtzhOpopUZPvSEesfya5yyC3Acpo1Bqzs1JM,22842
|
85
|
+
omextra/text/antlr/_runtime/ParserInterpreter.py,sha256=F0Uscv8hApF7Z4Nm8sE9naGhJrn6tlix7BRcANOvpp8,7177
|
86
|
+
omextra/text/antlr/_runtime/ParserRuleContext.py,sha256=2iV0H6_tjBD6LIQh8wMRlpZ4cSNxNc1_8MSeJUcdj7s,6787
|
87
|
+
omextra/text/antlr/_runtime/PredictionContext.py,sha256=WWtD-vG0KcBtKqyjt42lGprSuu-VfSixeNxxbi8rQtw,23516
|
88
|
+
omextra/text/antlr/_runtime/Recognizer.py,sha256=wsI9wHVeFk0b7J4E8dutGTX_B_U9lELoiTdoirQR29s,5397
|
89
|
+
omextra/text/antlr/_runtime/RuleContext.py,sha256=tKXuP56if7CObxGkliLFynf8Da42Nr2CejFhReFK56g,8130
|
90
|
+
omextra/text/antlr/_runtime/StdinStream.py,sha256=8up7-oFlr-ydpFV7kFqI1mRDD83Y8wYcXs0rBj-73Us,340
|
91
|
+
omextra/text/antlr/_runtime/Token.py,sha256=Ywq-AwJz6GXQ431TTFExNylshQbNr6T5u4_48dxlrtk,5249
|
92
|
+
omextra/text/antlr/_runtime/TokenStreamRewriter.py,sha256=2Zd8vdNQ7_XF1Y4r3axxHTD-hdauxyEPaePOqArF1g0,10355
|
93
|
+
omextra/text/antlr/_runtime/Utils.py,sha256=Edv360609RwDaEz2JxlXCj9-HuXNEmqr4RVVcbhdLco,974
|
94
|
+
omextra/text/antlr/_runtime/__init__.py,sha256=Jn5lqTVbeUQXD5a4IxDHKibOatAQWVTlaQ8M4mYu2Yw,28
|
95
|
+
omextra/text/antlr/_runtime/_all.py,sha256=MbNYoQYRympa1nGlgtuZ1AkJTv1SacqvBKG7bTXG0So,1042
|
96
|
+
omextra/text/antlr/_runtime/_pygrun.py,sha256=22tgQKyhLO2UbnwacAzsew7bkXjENctDs4XrmSHAqXc,6328
|
97
|
+
omextra/text/antlr/_runtime/atn/ATN.py,sha256=0V07bHRY-_rX-Du85F08KbMDbvr055co3Crt0VZbwOo,5792
|
98
|
+
omextra/text/antlr/_runtime/atn/ATNConfig.py,sha256=sY7zO2oSh9SLSvs05gY84vtFmV4ZcTKz7dXvDIxH_ew,6573
|
99
|
+
omextra/text/antlr/_runtime/atn/ATNConfigSet.py,sha256=vm06ECB3eJsD7BssUCoi08FAsnpRnJJDeuMZKMrlDNc,8336
|
100
|
+
omextra/text/antlr/_runtime/atn/ATNDeserializationOptions.py,sha256=87uY6moHi9KpjeRZxwGLsaUL4eNZabFLL9nEK9m-WxU,1053
|
101
|
+
omextra/text/antlr/_runtime/atn/ATNDeserializer.py,sha256=TwMeggclcky9tlmAmUXEilBfp2GMIFyveJGOYai-h5Q,18938
|
102
|
+
omextra/text/antlr/_runtime/atn/ATNSimulator.py,sha256=RCQsNhVBbY0tdShJYJ7m5jhbcAWPsLe1PnasrJ4owos,2311
|
103
|
+
omextra/text/antlr/_runtime/atn/ATNState.py,sha256=Eq2l1BLDqtZG8VHmoDCEUnyeiRJ-hcWPrzE5Kh_MY9w,7696
|
104
|
+
omextra/text/antlr/_runtime/atn/ATNType.py,sha256=_UdEWJXYM9gmOQ0u8XxruKLJTYU5ePuNGMAQQu1mWv4,465
|
105
|
+
omextra/text/antlr/_runtime/atn/LexerATNSimulator.py,sha256=ZFUTqu7D39AiC8VZunslTrsl7sZKpukEzlkWFK8CRBA,25408
|
106
|
+
omextra/text/antlr/_runtime/atn/LexerAction.py,sha256=PS8ArQadDRVXYnfCbOxJBuEVh7jMX2JtarhxZJ9c-jE,10057
|
107
|
+
omextra/text/antlr/_runtime/atn/LexerActionExecutor.py,sha256=GoLnxIG-mzOAHLZvfgIBMGB9i2FyXrZrqtFK3B0Hoak,6448
|
108
|
+
omextra/text/antlr/_runtime/atn/ParserATNSimulator.py,sha256=5N0htVWAy3x8rfWVs1YN2Jz16LLpXKjAwefFPXgBHcM,80746
|
109
|
+
omextra/text/antlr/_runtime/atn/PredictionMode.py,sha256=JAnsYHfd6vD1t1wvLNpBuyi5avjxn8Flbkh_lcrgs1g,22479
|
110
|
+
omextra/text/antlr/_runtime/atn/SemanticContext.py,sha256=jYz90ZjiL4Hcya5881fTQd3zvTzTYpjsntiqiRx7xLA,10674
|
111
|
+
omextra/text/antlr/_runtime/atn/Transition.py,sha256=YrPBbwKK9E4SwFNmS5u6ATfZ-uC-fx5GSAtPyQsBn4E,8775
|
112
|
+
omextra/text/antlr/_runtime/atn/__init__.py,sha256=lMd_BbXYdlDhZQN_q0TKN978XW5G0pq618F0NaLkpFE,71
|
113
|
+
omextra/text/antlr/_runtime/dfa/DFA.py,sha256=1eLI8ckM7_Q4dx_l5m1eiiqJPpaTWJ1DDKUMUUbc-qA,5381
|
114
|
+
omextra/text/antlr/_runtime/dfa/DFASerializer.py,sha256=HmQpIrVl0_kit8GSCqYyT4AnFvWyBj8vuye0YeFNEKE,2549
|
115
|
+
omextra/text/antlr/_runtime/dfa/DFAState.py,sha256=vZ5sBJc0hp5BaOVVT3sdQEd1jEi6yb-u-aO9DHpC2Tw,5616
|
116
|
+
omextra/text/antlr/_runtime/dfa/__init__.py,sha256=lMd_BbXYdlDhZQN_q0TKN978XW5G0pq618F0NaLkpFE,71
|
117
|
+
omextra/text/antlr/_runtime/error/DiagnosticErrorListener.py,sha256=SyUCrVs2Vzgvf8j2cSkzjODRBeXrVVrKytRH2LxjALs,4479
|
118
|
+
omextra/text/antlr/_runtime/error/ErrorListener.py,sha256=pPVVFGIDbELkMhG-A5-b39y3SkNkJvsP6n8Y0TfotfA,2765
|
119
|
+
omextra/text/antlr/_runtime/error/ErrorStrategy.py,sha256=0nZwpqR8L0264DphJHoEmYkQHlxZxCEdO54RAvHY6FI,30407
|
120
|
+
omextra/text/antlr/_runtime/error/Errors.py,sha256=sCf-5-vb9MyO8XIDdHSqV_ozfEcRrm87yjg_sNtStXM,6808
|
121
|
+
omextra/text/antlr/_runtime/error/__init__.py,sha256=lMd_BbXYdlDhZQN_q0TKN978XW5G0pq618F0NaLkpFE,71
|
122
|
+
omextra/text/antlr/_runtime/tree/Chunk.py,sha256=xsSnPUGcULkNDJNLlpqq1tqwa2WhsgH-K1JOfKRI3_A,738
|
123
|
+
omextra/text/antlr/_runtime/tree/ParseTreeMatch.py,sha256=sKf5rCZK7NosjIWIMjb7DtgobDfOa1k5sXNrm43dwRE,4506
|
124
|
+
omextra/text/antlr/_runtime/tree/ParseTreePattern.py,sha256=TUpGiMTK2_qZO77f0Qa_rZidJa9IiBLoXOTjbmgwH7o,2851
|
125
|
+
omextra/text/antlr/_runtime/tree/ParseTreePatternMatcher.py,sha256=EzOgoX-2sp1Gxsls8AVqiT20RbslFkt5kYuNayj-czY,16320
|
126
|
+
omextra/text/antlr/_runtime/tree/RuleTagToken.py,sha256=KB4A0yYRSoYLOoPZNQogi2uU9IriMr8aiY668wB-6dg,2060
|
127
|
+
omextra/text/antlr/_runtime/tree/TokenTagToken.py,sha256=V2ymw3sTiykgi7Lp64a7VsW_s8LvxAQ2FiHd5aOJPhA,1614
|
128
|
+
omextra/text/antlr/_runtime/tree/Tree.py,sha256=-5aYTkO_eUUGY2BPY03IJLyG72lNMeO_uuf2u1kZL_4,5610
|
129
|
+
omextra/text/antlr/_runtime/tree/Trees.py,sha256=iRcq2bhjBziXEUr6OFFs1rJs82q6wXTSduSBfCMMG7k,3985
|
130
|
+
omextra/text/antlr/_runtime/tree/__init__.py,sha256=Jn5lqTVbeUQXD5a4IxDHKibOatAQWVTlaQ8M4mYu2Yw,28
|
131
|
+
omextra/text/antlr/_runtime/xpath/XPath.py,sha256=KSL1SH3VAeRDZCe4dAD7xmUdfk-j434ypZKRreFG2vk,9820
|
132
|
+
omextra/text/antlr/_runtime/xpath/XPathLexer.py,sha256=WvGKQjQnu7pX5C4CFKtsCzba2B2W6ie4ivtWLvlgymM,3509
|
133
|
+
omextra/text/antlr/_runtime/xpath/__init__.py,sha256=lMd_BbXYdlDhZQN_q0TKN978XW5G0pq618F0NaLkpFE,71
|
134
|
+
omextra/text/antlr/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
135
|
+
omextra/text/antlr/cli/__main__.py,sha256=ckYkj0drxabBVwWYewH2SS36TTeAxllZtS4xElOuTkU,191
|
136
|
+
omextra/text/antlr/cli/cli.py,sha256=LW8pJNmySBOV3g8QxquPjUgxFv7YblzEyi555hHH3_M,1234
|
137
|
+
omextra/text/antlr/cli/consts.py,sha256=HUYJP9j4RfeuuQv6HFd2oFMS0piWJ9Sq1tbeAs4OlBc,290
|
138
|
+
omextra/text/antlr/cli/gen.py,sha256=HYleVptrpynwcl6GspX6O9_oMRSxwdYAQGuUFfDYse8,5236
|
139
|
+
omextra-0.0.0.dev439.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
140
|
+
omextra-0.0.0.dev439.dist-info/METADATA,sha256=AjHHczxk70leV7FHWtRT9C-v_c6jHgYfurnDWI0lcZU,908
|
141
|
+
omextra-0.0.0.dev439.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
142
|
+
omextra-0.0.0.dev439.dist-info/entry_points.txt,sha256=-MFAMks5HgZ60Ore0Wl5lKVKk8z4kf1Ls3WY9E_OlCU,37
|
143
|
+
omextra-0.0.0.dev439.dist-info/top_level.txt,sha256=o1nCNRejLMcayDngLuWMWwaeOucz33BXbpuoVvvzjPc,8
|
144
|
+
omextra-0.0.0.dev439.dist-info/RECORD,,
|
@@ -1,73 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.4
|
2
|
-
Name: omextra
|
3
|
-
Version: 0.0.0.dev437
|
4
|
-
Summary: omextra
|
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
|
-
Requires-Dist: omlish==0.0.0.dev437
|
18
|
-
Dynamic: license-file
|
19
|
-
|
20
|
-
# Overview
|
21
|
-
|
22
|
-
My python monorepo, the successor to my previous one `omnibus`(... 'ish').
|
23
|
-
|
24
|
-
The core libraries have no required dependencies besides each other, but there are numerous optional ones - see their
|
25
|
-
respective `pyproject.toml` files for details.
|
26
|
-
|
27
|
-
Standard code is written for python 3.13+, '[lite](https://github.com/wrmsr/omlish/blob/master/omlish#lite-code)' code
|
28
|
-
for 3.8+.
|
29
|
-
|
30
|
-
# Core libraries
|
31
|
-
|
32
|
-
- **[omlish](https://github.com/wrmsr/omlish/blob/master/omlish#readme)** - Core foundational code
|
33
|
-
- **[omdev](https://github.com/wrmsr/omlish/blob/master/omdev#readme)** - Development utilities
|
34
|
-
- **[ominfra](https://github.com/wrmsr/omlish/blob/master/ominfra#readme)** - Infrastructure and cloud code
|
35
|
-
- **[ommlds](https://github.com/wrmsr/omlish/blob/master/ommlds#readme)** - ML / data science code
|
36
|
-
- **[omserv](https://github.com/wrmsr/omlish/blob/master/omserv#readme)** - Request serving code
|
37
|
-
|
38
|
-
# Installation
|
39
|
-
|
40
|
-
Core libraries installable by name from pypi:
|
41
|
-
|
42
|
-
```bash
|
43
|
-
pip install omlish
|
44
|
-
```
|
45
|
-
|
46
|
-
Or directly from git via:
|
47
|
-
|
48
|
-
```bash
|
49
|
-
pip install 'git+https://github.com/wrmsr/omlish@master#subdirectory=.pkg/omlish'
|
50
|
-
```
|
51
|
-
|
52
|
-
The CLI is installable through uvx or pipx via:
|
53
|
-
|
54
|
-
```bash
|
55
|
-
curl -LsSf 'https://raw.githubusercontent.com/wrmsr/omlish/master/omdev/cli/install.py' | python3 -
|
56
|
-
```
|
57
|
-
|
58
|
-
Additional deps to be injected may be appended to the command.
|
59
|
-
|
60
|
-
Once installed the CLI can be updated via:
|
61
|
-
|
62
|
-
```bash
|
63
|
-
om cli reinstall
|
64
|
-
```
|
65
|
-
|
66
|
-
# Project structure
|
67
|
-
|
68
|
-
The structure of the repo is managed by the internal
|
69
|
-
[pyproject](https://github.com/wrmsr/omlish/blob/master/omdev/pyproject) tool, which generates
|
70
|
-
[`.pkg`](https://github.com/wrmsr/omlish/blob/master/.pkg) directories (which map to published packages) from each
|
71
|
-
library's [`__about__.py`](https://github.com/wrmsr/omlish/blob/master/omlish/__about__.py). The root-level
|
72
|
-
[`pyproject.toml`](https://github.com/wrmsr/omlish/blob/master/pyproject.toml) does not actually contain a PEP-621
|
73
|
-
project.
|
@@ -1,69 +0,0 @@
|
|
1
|
-
omextra/.omlish-manifests.json,sha256=E1M9UJ31RfpLfsZ2MfbN0_GAh_Lu_vj9wVJKPgak8jQ,290
|
2
|
-
omextra/__about__.py,sha256=UmONS0zKtygpY7Z9AD42Kn1cajMEdLKHzUwG00kaaFM,689
|
3
|
-
omextra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
|
-
omextra/defs.py,sha256=iMaDGj5VSG7QdYA1s7MvIYTbtTsXc1msINsuuZym1vs,4902
|
5
|
-
omextra/dynamic.py,sha256=i3aJRWwHJOmsrXI9a2iWCLa7pUQXx5YbMvUOS5LZ_Bs,6531
|
6
|
-
omextra/asyncs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
-
omextra/asyncs/bridge.py,sha256=75FScB7uZtINJelaJutDRuy6zCoFrTRL5Yajx8TFpWs,10158
|
8
|
-
omextra/formats/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
|
-
omextra/formats/json/Json.g4,sha256=fYImsljcVPdlMTHBabM_rza2j4udqjfLQNxIz4S_TpY,1206
|
10
|
-
omextra/formats/json/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
|
-
omextra/formats/json/_antlr/JsonLexer.py,sha256=3hSOdSsr_QHPV0R4wJgukK5PL-SweeiiiHPRmIMKFrA,4960
|
12
|
-
omextra/formats/json/_antlr/JsonListener.py,sha256=Xp7anXXD_cpo_IqzCuci48GXTCgL1Vx0v-wxV6IMum0,1590
|
13
|
-
omextra/formats/json/_antlr/JsonParser.py,sha256=qer0KlKadkvtfFIMnoeuzGRS6eiPPjIXx3JS-aheXOw,14294
|
14
|
-
omextra/formats/json/_antlr/JsonVisitor.py,sha256=-FcZhCrfDThE1Oah0R-Cy_w6sh5QaVipgR9cyhMjMgs,1134
|
15
|
-
omextra/formats/json/_antlr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
|
-
omextra/io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
17
|
-
omextra/io/trampoline.py,sha256=nzCXtL4qip3IjfHwSHqhWkh429iakUFikbYKgx66cLc,7221
|
18
|
-
omextra/specs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
19
|
-
omextra/specs/irc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
20
|
-
omextra/specs/irc/messages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
|
-
omextra/specs/irc/messages/base.py,sha256=7tHICphzOievcjs39tzeooTL0Z6iL4nvVHxgRKK54LY,1248
|
22
|
-
omextra/specs/irc/messages/formats.py,sha256=8Cz2mmlx0--Vnp4VvUYSndYc1Dnq97Mls5ol4zgdG2Q,2370
|
23
|
-
omextra/specs/irc/messages/messages.py,sha256=QaNktXScvtKCWD6KbHIx_5XvXmsJlbkoVR_zXjLdyiA,14079
|
24
|
-
omextra/specs/irc/messages/parsing.py,sha256=nennTwdNbaWYx-BzMe9qKhdFdTlBeEuOVrBlhMNBYf0,2225
|
25
|
-
omextra/specs/irc/numerics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
|
-
omextra/specs/irc/numerics/formats.py,sha256=NI5DKyePCEnOeE66R1qVgu2rUt56id_n52wzx_9w8uw,2261
|
27
|
-
omextra/specs/irc/numerics/numerics.py,sha256=iOEG9PqfGUiDh6gDgdiNUqVY6WAbMBIwEPPIma34JNo,18215
|
28
|
-
omextra/specs/irc/numerics/types.py,sha256=myjN4K29QzwE3XvKeyW7QYhPW-H13jCR2gvv59_g0Pc,1289
|
29
|
-
omextra/specs/irc/protocol/LICENSE,sha256=1CT5_XkDMJ9HDZh0tX4TIsm7LfrSdljRX5EirPBhDYM,778
|
30
|
-
omextra/specs/irc/protocol/__init__.py,sha256=0OFSLrMS5jYFJCqH1LKv0UfTrp5faPQhlhYKBQyCZeA,1701
|
31
|
-
omextra/specs/irc/protocol/consts.py,sha256=iDCsJIyDE5-UnkIQpwCLzdbf3DUFWRmqkuVd0cZtujw,185
|
32
|
-
omextra/specs/irc/protocol/errors.py,sha256=cRP8c--kRts5Uwqn1xl1J97OI74hicG4UbkJs_EOSDg,334
|
33
|
-
omextra/specs/irc/protocol/message.py,sha256=i1-iZj17_mrmX5WaIcBuVD-dZP6g-bP6I_zH-0gVLzU,403
|
34
|
-
omextra/specs/irc/protocol/nuh.py,sha256=6DamgLNVaZRZdvpGqOn-cFsnru-a_kYmJIrb_Epu8_o,1287
|
35
|
-
omextra/specs/irc/protocol/parsing.py,sha256=yL9LRLw4GqtmiXmrH_AcIzu5x2riP6QDMEWESZVJ3jc,4058
|
36
|
-
omextra/specs/irc/protocol/rendering.py,sha256=-V7_Yr9m_izcUrwkOeD3L4aCNTT4iLi22QH5J0Upd5g,4914
|
37
|
-
omextra/specs/irc/protocol/tags.py,sha256=M89vR2GgDNroEsiH2QNchVX2LmT6sMIXY7huTEv7rIM,2784
|
38
|
-
omextra/specs/irc/protocol/utils.py,sha256=tUbkShJov8oCsbg1KZE1EC5pCThXJTdXFcw0HBM5ApQ,692
|
39
|
-
omextra/specs/proto/Protobuf3.g4,sha256=chDrovFsuZaHf5W35WZNts3jOa1ssPwvWiJR4yVIgjw,5552
|
40
|
-
omextra/specs/proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
41
|
-
omextra/specs/proto/nodes.py,sha256=NJYPGYrKV6GM51acYfRYmGNf23j9HeIvt4q--fVVAJQ,779
|
42
|
-
omextra/specs/proto/parsing.py,sha256=GT-k38yWaeUgwp-S7sfrXy_1Zo9ZQaYT0UYjp7b8oyU,2883
|
43
|
-
omextra/specs/proto/_antlr/Protobuf3Lexer.py,sha256=SMkCBO7ihX8r8tYoDyBqdAs6GXBPWzUkGn7i07w-jr4,19496
|
44
|
-
omextra/specs/proto/_antlr/Protobuf3Listener.py,sha256=20JlzaDp0ptctY0nqsS2Kri4NVTow9FvTQzz_KNvhqo,14531
|
45
|
-
omextra/specs/proto/_antlr/Protobuf3Parser.py,sha256=dsRoqphD2YEmEa1RJOzkn7bgVN3dH1cnOJlAFa_OV_o,132436
|
46
|
-
omextra/specs/proto/_antlr/Protobuf3Visitor.py,sha256=SUl_MEoZ4mRuiYi_q80j71AZSz5kks77Q1Ptt24waSg,8807
|
47
|
-
omextra/specs/proto/_antlr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
48
|
-
omextra/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
49
|
-
omextra/sql/parsing/Minisql.g4,sha256=Jw8xT-8UI6ySHAgStyCg5QX9NTCinvTenLJReWiZIJU,4578
|
50
|
-
omextra/sql/parsing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
51
|
-
omextra/sql/parsing/parsing.py,sha256=fWKaIXFWzk2HpKbosZFCC47iZ1lUOChaTD_xidpJ56k,3386
|
52
|
-
omextra/sql/parsing/_antlr/MinisqlLexer.py,sha256=KHlQp9PqOOBb54lUFGSd0lEjUsFlf0fpRm5y8tzLegE,17636
|
53
|
-
omextra/sql/parsing/_antlr/MinisqlListener.py,sha256=zkrQFLp7eXgjZ9jJg2ketq0yENJjFhpCifB2F2jIfjA,16658
|
54
|
-
omextra/sql/parsing/_antlr/MinisqlParser.py,sha256=Bhc0fNf0gVQmWCawsuR-N16AxdK2rjCIcJFIlC4Eijc,132482
|
55
|
-
omextra/sql/parsing/_antlr/MinisqlVisitor.py,sha256=k2-C56zh1_dyodyZxQqP9C-8j6k2tT_j_SXwDm3pwAo,10055
|
56
|
-
omextra/sql/parsing/_antlr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
57
|
-
omextra/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
58
|
-
omextra/text/antlr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
59
|
-
omextra/text/antlr/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
60
|
-
omextra/text/antlr/cli/__main__.py,sha256=ckYkj0drxabBVwWYewH2SS36TTeAxllZtS4xElOuTkU,191
|
61
|
-
omextra/text/antlr/cli/cli.py,sha256=LW8pJNmySBOV3g8QxquPjUgxFv7YblzEyi555hHH3_M,1234
|
62
|
-
omextra/text/antlr/cli/consts.py,sha256=4xH4jyNE5czXRWCn65jFF0MrAodMPe_kYMWpgMxWmpo,289
|
63
|
-
omextra/text/antlr/cli/gen.py,sha256=HYleVptrpynwcl6GspX6O9_oMRSxwdYAQGuUFfDYse8,5236
|
64
|
-
omextra-0.0.0.dev437.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
65
|
-
omextra-0.0.0.dev437.dist-info/METADATA,sha256=phWJO8Hll1Ix23C637tT4YBHO5FulyjQofX8zlr6Rws,2531
|
66
|
-
omextra-0.0.0.dev437.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
67
|
-
omextra-0.0.0.dev437.dist-info/entry_points.txt,sha256=-MFAMks5HgZ60Ore0Wl5lKVKk8z4kf1Ls3WY9E_OlCU,37
|
68
|
-
omextra-0.0.0.dev437.dist-info/top_level.txt,sha256=o1nCNRejLMcayDngLuWMWwaeOucz33BXbpuoVvvzjPc,8
|
69
|
-
omextra-0.0.0.dev437.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|