outerbounds 0.3.55rc3__py3-none-any.whl → 0.3.133__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. outerbounds/_vendor/PyYAML.LICENSE +20 -0
  2. outerbounds/_vendor/__init__.py +0 -0
  3. outerbounds/_vendor/_yaml/__init__.py +34 -0
  4. outerbounds/_vendor/click/__init__.py +73 -0
  5. outerbounds/_vendor/click/_compat.py +626 -0
  6. outerbounds/_vendor/click/_termui_impl.py +717 -0
  7. outerbounds/_vendor/click/_textwrap.py +49 -0
  8. outerbounds/_vendor/click/_winconsole.py +279 -0
  9. outerbounds/_vendor/click/core.py +2998 -0
  10. outerbounds/_vendor/click/decorators.py +497 -0
  11. outerbounds/_vendor/click/exceptions.py +287 -0
  12. outerbounds/_vendor/click/formatting.py +301 -0
  13. outerbounds/_vendor/click/globals.py +68 -0
  14. outerbounds/_vendor/click/parser.py +529 -0
  15. outerbounds/_vendor/click/py.typed +0 -0
  16. outerbounds/_vendor/click/shell_completion.py +580 -0
  17. outerbounds/_vendor/click/termui.py +787 -0
  18. outerbounds/_vendor/click/testing.py +479 -0
  19. outerbounds/_vendor/click/types.py +1073 -0
  20. outerbounds/_vendor/click/utils.py +580 -0
  21. outerbounds/_vendor/click.LICENSE +28 -0
  22. outerbounds/_vendor/vendor_any.txt +2 -0
  23. outerbounds/_vendor/yaml/__init__.py +471 -0
  24. outerbounds/_vendor/yaml/_yaml.cpython-311-darwin.so +0 -0
  25. outerbounds/_vendor/yaml/composer.py +146 -0
  26. outerbounds/_vendor/yaml/constructor.py +862 -0
  27. outerbounds/_vendor/yaml/cyaml.py +177 -0
  28. outerbounds/_vendor/yaml/dumper.py +138 -0
  29. outerbounds/_vendor/yaml/emitter.py +1239 -0
  30. outerbounds/_vendor/yaml/error.py +94 -0
  31. outerbounds/_vendor/yaml/events.py +104 -0
  32. outerbounds/_vendor/yaml/loader.py +62 -0
  33. outerbounds/_vendor/yaml/nodes.py +51 -0
  34. outerbounds/_vendor/yaml/parser.py +629 -0
  35. outerbounds/_vendor/yaml/reader.py +208 -0
  36. outerbounds/_vendor/yaml/representer.py +378 -0
  37. outerbounds/_vendor/yaml/resolver.py +245 -0
  38. outerbounds/_vendor/yaml/scanner.py +1555 -0
  39. outerbounds/_vendor/yaml/serializer.py +127 -0
  40. outerbounds/_vendor/yaml/tokens.py +129 -0
  41. outerbounds/command_groups/apps_cli.py +450 -0
  42. outerbounds/command_groups/cli.py +9 -5
  43. outerbounds/command_groups/local_setup_cli.py +249 -33
  44. outerbounds/command_groups/perimeters_cli.py +231 -33
  45. outerbounds/command_groups/tutorials_cli.py +111 -0
  46. outerbounds/command_groups/workstations_cli.py +88 -15
  47. outerbounds/utils/kubeconfig.py +2 -2
  48. outerbounds/utils/metaflowconfig.py +111 -21
  49. outerbounds/utils/schema.py +8 -2
  50. outerbounds/utils/utils.py +19 -0
  51. outerbounds/vendor.py +159 -0
  52. {outerbounds-0.3.55rc3.dist-info → outerbounds-0.3.133.dist-info}/METADATA +17 -6
  53. outerbounds-0.3.133.dist-info/RECORD +59 -0
  54. {outerbounds-0.3.55rc3.dist-info → outerbounds-0.3.133.dist-info}/WHEEL +1 -1
  55. outerbounds-0.3.55rc3.dist-info/RECORD +0 -15
  56. {outerbounds-0.3.55rc3.dist-info → outerbounds-0.3.133.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,94 @@
1
+ __all__ = ["Mark", "YAMLError", "MarkedYAMLError"]
2
+
3
+
4
+ class Mark:
5
+ def __init__(self, name, index, line, column, buffer, pointer):
6
+ self.name = name
7
+ self.index = index
8
+ self.line = line
9
+ self.column = column
10
+ self.buffer = buffer
11
+ self.pointer = pointer
12
+
13
+ def get_snippet(self, indent=4, max_length=75):
14
+ if self.buffer is None:
15
+ return None
16
+ head = ""
17
+ start = self.pointer
18
+ while start > 0 and self.buffer[start - 1] not in "\0\r\n\x85\u2028\u2029":
19
+ start -= 1
20
+ if self.pointer - start > max_length / 2 - 1:
21
+ head = " ... "
22
+ start += 5
23
+ break
24
+ tail = ""
25
+ end = self.pointer
26
+ while (
27
+ end < len(self.buffer) and self.buffer[end] not in "\0\r\n\x85\u2028\u2029"
28
+ ):
29
+ end += 1
30
+ if end - self.pointer > max_length / 2 - 1:
31
+ tail = " ... "
32
+ end -= 5
33
+ break
34
+ snippet = self.buffer[start:end]
35
+ return (
36
+ " " * indent
37
+ + head
38
+ + snippet
39
+ + tail
40
+ + "\n"
41
+ + " " * (indent + self.pointer - start + len(head))
42
+ + "^"
43
+ )
44
+
45
+ def __str__(self):
46
+ snippet = self.get_snippet()
47
+ where = ' in "%s", line %d, column %d' % (
48
+ self.name,
49
+ self.line + 1,
50
+ self.column + 1,
51
+ )
52
+ if snippet is not None:
53
+ where += ":\n" + snippet
54
+ return where
55
+
56
+
57
+ class YAMLError(Exception):
58
+ pass
59
+
60
+
61
+ class MarkedYAMLError(YAMLError):
62
+ def __init__(
63
+ self,
64
+ context=None,
65
+ context_mark=None,
66
+ problem=None,
67
+ problem_mark=None,
68
+ note=None,
69
+ ):
70
+ self.context = context
71
+ self.context_mark = context_mark
72
+ self.problem = problem
73
+ self.problem_mark = problem_mark
74
+ self.note = note
75
+
76
+ def __str__(self):
77
+ lines = []
78
+ if self.context is not None:
79
+ lines.append(self.context)
80
+ if self.context_mark is not None and (
81
+ self.problem is None
82
+ or self.problem_mark is None
83
+ or self.context_mark.name != self.problem_mark.name
84
+ or self.context_mark.line != self.problem_mark.line
85
+ or self.context_mark.column != self.problem_mark.column
86
+ ):
87
+ lines.append(str(self.context_mark))
88
+ if self.problem is not None:
89
+ lines.append(self.problem)
90
+ if self.problem_mark is not None:
91
+ lines.append(str(self.problem_mark))
92
+ if self.note is not None:
93
+ lines.append(self.note)
94
+ return "\n".join(lines)
@@ -0,0 +1,104 @@
1
+ # Abstract classes.
2
+
3
+
4
+ class Event(object):
5
+ def __init__(self, start_mark=None, end_mark=None):
6
+ self.start_mark = start_mark
7
+ self.end_mark = end_mark
8
+
9
+ def __repr__(self):
10
+ attributes = [
11
+ key for key in ["anchor", "tag", "implicit", "value"] if hasattr(self, key)
12
+ ]
13
+ arguments = ", ".join(
14
+ ["%s=%r" % (key, getattr(self, key)) for key in attributes]
15
+ )
16
+ return "%s(%s)" % (self.__class__.__name__, arguments)
17
+
18
+
19
+ class NodeEvent(Event):
20
+ def __init__(self, anchor, start_mark=None, end_mark=None):
21
+ self.anchor = anchor
22
+ self.start_mark = start_mark
23
+ self.end_mark = end_mark
24
+
25
+
26
+ class CollectionStartEvent(NodeEvent):
27
+ def __init__(
28
+ self, anchor, tag, implicit, start_mark=None, end_mark=None, flow_style=None
29
+ ):
30
+ self.anchor = anchor
31
+ self.tag = tag
32
+ self.implicit = implicit
33
+ self.start_mark = start_mark
34
+ self.end_mark = end_mark
35
+ self.flow_style = flow_style
36
+
37
+
38
+ class CollectionEndEvent(Event):
39
+ pass
40
+
41
+
42
+ # Implementations.
43
+
44
+
45
+ class StreamStartEvent(Event):
46
+ def __init__(self, start_mark=None, end_mark=None, encoding=None):
47
+ self.start_mark = start_mark
48
+ self.end_mark = end_mark
49
+ self.encoding = encoding
50
+
51
+
52
+ class StreamEndEvent(Event):
53
+ pass
54
+
55
+
56
+ class DocumentStartEvent(Event):
57
+ def __init__(
58
+ self, start_mark=None, end_mark=None, explicit=None, version=None, tags=None
59
+ ):
60
+ self.start_mark = start_mark
61
+ self.end_mark = end_mark
62
+ self.explicit = explicit
63
+ self.version = version
64
+ self.tags = tags
65
+
66
+
67
+ class DocumentEndEvent(Event):
68
+ def __init__(self, start_mark=None, end_mark=None, explicit=None):
69
+ self.start_mark = start_mark
70
+ self.end_mark = end_mark
71
+ self.explicit = explicit
72
+
73
+
74
+ class AliasEvent(NodeEvent):
75
+ pass
76
+
77
+
78
+ class ScalarEvent(NodeEvent):
79
+ def __init__(
80
+ self, anchor, tag, implicit, value, start_mark=None, end_mark=None, style=None
81
+ ):
82
+ self.anchor = anchor
83
+ self.tag = tag
84
+ self.implicit = implicit
85
+ self.value = value
86
+ self.start_mark = start_mark
87
+ self.end_mark = end_mark
88
+ self.style = style
89
+
90
+
91
+ class SequenceStartEvent(CollectionStartEvent):
92
+ pass
93
+
94
+
95
+ class SequenceEndEvent(CollectionEndEvent):
96
+ pass
97
+
98
+
99
+ class MappingStartEvent(CollectionStartEvent):
100
+ pass
101
+
102
+
103
+ class MappingEndEvent(CollectionEndEvent):
104
+ pass
@@ -0,0 +1,62 @@
1
+ __all__ = ["BaseLoader", "FullLoader", "SafeLoader", "Loader", "UnsafeLoader"]
2
+
3
+ from .reader import *
4
+ from .scanner import *
5
+ from .parser import *
6
+ from .composer import *
7
+ from .constructor import *
8
+ from .resolver import *
9
+
10
+
11
+ class BaseLoader(Reader, Scanner, Parser, Composer, BaseConstructor, BaseResolver):
12
+ def __init__(self, stream):
13
+ Reader.__init__(self, stream)
14
+ Scanner.__init__(self)
15
+ Parser.__init__(self)
16
+ Composer.__init__(self)
17
+ BaseConstructor.__init__(self)
18
+ BaseResolver.__init__(self)
19
+
20
+
21
+ class FullLoader(Reader, Scanner, Parser, Composer, FullConstructor, Resolver):
22
+ def __init__(self, stream):
23
+ Reader.__init__(self, stream)
24
+ Scanner.__init__(self)
25
+ Parser.__init__(self)
26
+ Composer.__init__(self)
27
+ FullConstructor.__init__(self)
28
+ Resolver.__init__(self)
29
+
30
+
31
+ class SafeLoader(Reader, Scanner, Parser, Composer, SafeConstructor, Resolver):
32
+ def __init__(self, stream):
33
+ Reader.__init__(self, stream)
34
+ Scanner.__init__(self)
35
+ Parser.__init__(self)
36
+ Composer.__init__(self)
37
+ SafeConstructor.__init__(self)
38
+ Resolver.__init__(self)
39
+
40
+
41
+ class Loader(Reader, Scanner, Parser, Composer, Constructor, Resolver):
42
+ def __init__(self, stream):
43
+ Reader.__init__(self, stream)
44
+ Scanner.__init__(self)
45
+ Parser.__init__(self)
46
+ Composer.__init__(self)
47
+ Constructor.__init__(self)
48
+ Resolver.__init__(self)
49
+
50
+
51
+ # UnsafeLoader is the same as Loader (which is and was always unsafe on
52
+ # untrusted input). Use of either Loader or UnsafeLoader should be rare, since
53
+ # FullLoad should be able to load almost all YAML safely. Loader is left intact
54
+ # to ensure backwards compatibility.
55
+ class UnsafeLoader(Reader, Scanner, Parser, Composer, Constructor, Resolver):
56
+ def __init__(self, stream):
57
+ Reader.__init__(self, stream)
58
+ Scanner.__init__(self)
59
+ Parser.__init__(self)
60
+ Composer.__init__(self)
61
+ Constructor.__init__(self)
62
+ Resolver.__init__(self)
@@ -0,0 +1,51 @@
1
+ class Node(object):
2
+ def __init__(self, tag, value, start_mark, end_mark):
3
+ self.tag = tag
4
+ self.value = value
5
+ self.start_mark = start_mark
6
+ self.end_mark = end_mark
7
+
8
+ def __repr__(self):
9
+ value = self.value
10
+ # if isinstance(value, list):
11
+ # if len(value) == 0:
12
+ # value = '<empty>'
13
+ # elif len(value) == 1:
14
+ # value = '<1 item>'
15
+ # else:
16
+ # value = '<%d items>' % len(value)
17
+ # else:
18
+ # if len(value) > 75:
19
+ # value = repr(value[:70]+u' ... ')
20
+ # else:
21
+ # value = repr(value)
22
+ value = repr(value)
23
+ return "%s(tag=%r, value=%s)" % (self.__class__.__name__, self.tag, value)
24
+
25
+
26
+ class ScalarNode(Node):
27
+ id = "scalar"
28
+
29
+ def __init__(self, tag, value, start_mark=None, end_mark=None, style=None):
30
+ self.tag = tag
31
+ self.value = value
32
+ self.start_mark = start_mark
33
+ self.end_mark = end_mark
34
+ self.style = style
35
+
36
+
37
+ class CollectionNode(Node):
38
+ def __init__(self, tag, value, start_mark=None, end_mark=None, flow_style=None):
39
+ self.tag = tag
40
+ self.value = value
41
+ self.start_mark = start_mark
42
+ self.end_mark = end_mark
43
+ self.flow_style = flow_style
44
+
45
+
46
+ class SequenceNode(CollectionNode):
47
+ id = "sequence"
48
+
49
+
50
+ class MappingNode(CollectionNode):
51
+ id = "mapping"