coconut-develop 3.0.4.post0.dev21__tar.gz → 3.0.4.post0.dev22__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/DOCS.md +9 -3
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/PKG-INFO +150 -142
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/util.py +6 -1
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/compiler/matching.py +71 -26
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/constants.py +11 -9
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/root.py +1 -1
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/main_test.py +6 -6
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/agnostic/primary_2.coco +3 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/CONTRIBUTING.md +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/FAQ.md +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/HELP.md +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/LICENSE.txt +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/MANIFEST.in +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/README.rst +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/__coconut__/__init__.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/__coconut__/__init__.pyi +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/__coconut__/py.typed +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/_coconut/__init__.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/_coconut/__init__.pyi +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/_coconut/py.typed +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/__coconut__.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/__coconut__.pyi +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/__init__.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/__init__.pyi +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/__main__.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/_pyparsing.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/api.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/api.pyi +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/__init__.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/__init__.pyi +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/cli.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/command.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/command.pyi +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/mypy.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/resources/zcoconut.pth +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/watch.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/compiler/__init__.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/compiler/compiler.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/compiler/grammar.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/compiler/header.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/compiler/templates/header.py_template +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/compiler/util.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/convenience.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/convenience.pyi +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/exceptions.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/highlighter.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/icoconut/__init__.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/icoconut/__main__.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/icoconut/coconut/kernel.json +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/icoconut/coconut_py/kernel.json +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/icoconut/coconut_py2/kernel.json +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/icoconut/coconut_py3/kernel.json +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/icoconut/embed.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/icoconut/root.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/integrations.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/main.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/py.typed +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/requirements.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/terminal.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/__init__.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/__main__.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/constants_test.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/agnostic/__init__.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/agnostic/__main__.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/agnostic/main.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/agnostic/primary_1.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/agnostic/specific.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/agnostic/suite.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/agnostic/tutorial.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/agnostic/util.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/non_strict/non_strict_test.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/target_2/py2_test.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/target_3/py3_test.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/target_311/py311_test.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/target_35/py35_test.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/target_36/py36_test.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/target_38/py38_test.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/cocotest/target_sys/target_sys_test.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/extras.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/importable.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/runnable.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/src/runner.coco +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/util.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut_develop.egg-info/SOURCES.txt +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/conf.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/pyproject.toml +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/setup.cfg +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/setup.py +0 -0
- {coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/xontrib/coconut.py +0 -0
|
@@ -1149,11 +1149,17 @@ depth: 1
|
|
|
1149
1149
|
|
|
1150
1150
|
### `match`
|
|
1151
1151
|
|
|
1152
|
-
Coconut provides fully-featured, functional pattern-matching through its `match` statements.
|
|
1152
|
+
Coconut provides fully-featured, functional pattern-matching through its `match` statements. Coconut `match` syntax is a strict superset of [Python's `match` syntax](https://peps.python.org/pep-0636/).
|
|
1153
|
+
|
|
1154
|
+
_Note: In describing Coconut's pattern-matching syntax, this section focuses on `match` statements, but Coconut's pattern-matching can also be used in many other places, such as [pattern-matching function definition](#pattern-matching-functions), [`case` statements](#case), [destructuring assignment](#destructuring-assignment), [`match data`](#match-data), and [`match for`](#match-for)._
|
|
1153
1155
|
|
|
1154
1156
|
##### Overview
|
|
1155
1157
|
|
|
1156
|
-
Match statements follow the basic syntax `match <pattern> in <value>`. The match statement will attempt to match the value against the pattern, and if successful, bind any variables in the pattern to whatever is in the same position in the value, and execute the code below the match statement.
|
|
1158
|
+
Match statements follow the basic syntax `match <pattern> in <value>`. The match statement will attempt to match the value against the pattern, and if successful, bind any variables in the pattern to whatever is in the same position in the value, and execute the code below the match statement.
|
|
1159
|
+
|
|
1160
|
+
Match statements also support, in their basic syntax, an `if <cond>` that will check the condition after executing the match before executing the code below, and an `else` statement afterwards that will only be executed if the `match` statement is not.
|
|
1161
|
+
|
|
1162
|
+
All pattern-matching in Coconut is atomic, such that no assignments will be executed unless the whole match succeeds.
|
|
1157
1163
|
|
|
1158
1164
|
##### Syntax Specification
|
|
1159
1165
|
|
|
@@ -2494,7 +2500,7 @@ If `<pattern>` has a variable name (via any variable binding that binds the enti
|
|
|
2494
2500
|
|
|
2495
2501
|
In addition to supporting pattern-matching in their arguments, pattern-matching function definitions also have a couple of notable differences compared to Python functions. Specifically:
|
|
2496
2502
|
- If pattern-matching function definition fails, it will raise a [`MatchError`](#matcherror) (just like [destructuring assignment](#destructuring-assignment)) instead of a `TypeError`.
|
|
2497
|
-
- All defaults in pattern-matching function definition are late-bound rather than early-bound. Thus, `match def f(xs=[]) = xs` will instantiate a new list for each call where `xs` is not given, unlike `def f(xs=[]) = xs`, which will use the same list for all calls where `xs` is unspecified.
|
|
2503
|
+
- All defaults in pattern-matching function definition are late-bound rather than early-bound. Thus, `match def f(xs=[]) = xs` will instantiate a new list for each call where `xs` is not given, unlike `def f(xs=[]) = xs`, which will use the same list for all calls where `xs` is unspecified. This also allows defaults for later arguments to be specified in terms of matched values from earlier arguments, as in `match def f(x, y=x) = (x, y)`.
|
|
2498
2504
|
|
|
2499
2505
|
Pattern-matching function definition can also be combined with `async` functions, [`copyclosure` functions](#copyclosure-functions), [`yield` functions](#explicit-generators), [infix function definition](#infix-functions), and [assignment function syntax](#assignment-functions). The various keywords in front of the `def` can be put in any order.
|
|
2500
2506
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: coconut-develop
|
|
3
|
-
Version: 3.0.4.post0.
|
|
3
|
+
Version: 3.0.4.post0.dev22
|
|
4
4
|
Summary: Simple, elegant, Pythonic functional programming.
|
|
5
5
|
Home-page: http://coconut-lang.org
|
|
6
6
|
Author: Evan Hubinger
|
|
@@ -48,7 +48,7 @@ Requires-Dist: ipython>=5.4; python_version < "3" and extra == "kernel"
|
|
|
48
48
|
Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "kernel"
|
|
49
49
|
Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "kernel"
|
|
50
50
|
Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "kernel"
|
|
51
|
-
Requires-Dist: ipython>=8.
|
|
51
|
+
Requires-Dist: ipython>=8.22; python_version >= "3.9" and extra == "kernel"
|
|
52
52
|
Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "kernel"
|
|
53
53
|
Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "kernel"
|
|
54
54
|
Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "kernel"
|
|
@@ -61,220 +61,228 @@ Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") an
|
|
|
61
61
|
Provides-Extra: watch
|
|
62
62
|
Requires-Dist: watchdog>=0.10; extra == "watch"
|
|
63
63
|
Provides-Extra: mypy
|
|
64
|
-
Requires-Dist: mypy[python2]>=1.
|
|
64
|
+
Requires-Dist: mypy[python2]>=1.8; extra == "mypy"
|
|
65
65
|
Requires-Dist: types-backports>=0.1; extra == "mypy"
|
|
66
66
|
Requires-Dist: typing>=3.10; python_version < "3.5" and extra == "mypy"
|
|
67
67
|
Provides-Extra: xonsh
|
|
68
68
|
Requires-Dist: xonsh>=0.9; python_version < "3.6" and extra == "xonsh"
|
|
69
69
|
Requires-Dist: xonsh>=0.11; (python_version >= "3.6" and python_version < "3.8") and extra == "xonsh"
|
|
70
|
-
Requires-Dist: xonsh>=0.
|
|
70
|
+
Requires-Dist: xonsh>=0.15; python_version >= "3.8" and extra == "xonsh"
|
|
71
71
|
Provides-Extra: numpy
|
|
72
72
|
Requires-Dist: numpy>=1.16; (python_version < "3" and platform_python_implementation == "CPython") and extra == "numpy"
|
|
73
73
|
Requires-Dist: numpy>=1.18; (python_version >= "3.4" and python_version < "3.9") and extra == "numpy"
|
|
74
74
|
Requires-Dist: numpy>=1.26; python_version >= "3.9" and extra == "numpy"
|
|
75
75
|
Requires-Dist: pandas>=1; python_version >= "3.6" and extra == "numpy"
|
|
76
|
-
Requires-Dist: xarray>=
|
|
76
|
+
Requires-Dist: xarray>=2024; python_version >= "3.9" and extra == "numpy"
|
|
77
77
|
Provides-Extra: jupyter
|
|
78
|
+
Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "jupyter"
|
|
79
|
+
Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "jupyter"
|
|
78
80
|
Requires-Dist: ipython>=5.4; python_version < "3" and extra == "jupyter"
|
|
81
|
+
Requires-Dist: jupyter-console>=6.6; python_version >= "3.7" and extra == "jupyter"
|
|
82
|
+
Requires-Dist: jupyter>=1.0; extra == "jupyter"
|
|
79
83
|
Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "jupyter"
|
|
84
|
+
Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "jupyter"
|
|
85
|
+
Requires-Dist: ipython>=8.22; python_version >= "3.9" and extra == "jupyter"
|
|
80
86
|
Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "jupyter"
|
|
87
|
+
Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "jupyter"
|
|
81
88
|
Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "jupyter"
|
|
82
|
-
Requires-Dist:
|
|
83
|
-
Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "jupyter"
|
|
84
|
-
Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "jupyter"
|
|
85
|
-
Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "jupyter"
|
|
86
|
-
Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "jupyter"
|
|
87
|
-
Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "jupyter"
|
|
89
|
+
Requires-Dist: papermill>=1.2; extra == "jupyter"
|
|
88
90
|
Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "jupyter"
|
|
89
|
-
Requires-Dist:
|
|
90
|
-
Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "jupyter"
|
|
91
|
+
Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "jupyter"
|
|
91
92
|
Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "jupyter"
|
|
92
|
-
Requires-Dist: jupyter>=1.0; extra == "jupyter"
|
|
93
|
-
Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "jupyter"
|
|
94
93
|
Requires-Dist: jupyter-console>=6.1; (python_version >= "3.5" and python_version < "3.7") and extra == "jupyter"
|
|
95
|
-
Requires-Dist:
|
|
96
|
-
Requires-Dist:
|
|
94
|
+
Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "jupyter"
|
|
95
|
+
Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "jupyter"
|
|
96
|
+
Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "jupyter"
|
|
97
97
|
Provides-Extra: jupyterlab
|
|
98
|
+
Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "jupyterlab"
|
|
99
|
+
Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "jupyterlab"
|
|
98
100
|
Requires-Dist: ipython>=5.4; python_version < "3" and extra == "jupyterlab"
|
|
101
|
+
Requires-Dist: jupyter-console>=6.6; python_version >= "3.7" and extra == "jupyterlab"
|
|
102
|
+
Requires-Dist: jupyter>=1.0; extra == "jupyterlab"
|
|
99
103
|
Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "jupyterlab"
|
|
104
|
+
Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "jupyterlab"
|
|
105
|
+
Requires-Dist: ipython>=8.22; python_version >= "3.9" and extra == "jupyterlab"
|
|
100
106
|
Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "jupyterlab"
|
|
107
|
+
Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "jupyterlab"
|
|
101
108
|
Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "jupyterlab"
|
|
102
|
-
Requires-Dist:
|
|
103
|
-
Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "jupyterlab"
|
|
104
|
-
Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "jupyterlab"
|
|
105
|
-
Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "jupyterlab"
|
|
106
|
-
Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "jupyterlab"
|
|
107
|
-
Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "jupyterlab"
|
|
109
|
+
Requires-Dist: papermill>=1.2; extra == "jupyterlab"
|
|
108
110
|
Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "jupyterlab"
|
|
109
|
-
Requires-Dist:
|
|
110
|
-
Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "jupyterlab"
|
|
111
|
+
Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "jupyterlab"
|
|
111
112
|
Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "jupyterlab"
|
|
112
|
-
Requires-Dist: jupyter>=1.0; extra == "jupyterlab"
|
|
113
|
-
Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "jupyterlab"
|
|
114
|
-
Requires-Dist: jupyter-console>=6.1; (python_version >= "3.5" and python_version < "3.7") and extra == "jupyterlab"
|
|
115
|
-
Requires-Dist: jupyter-console>=6.6; python_version >= "3.7" and extra == "jupyterlab"
|
|
116
|
-
Requires-Dist: papermill>=1.2; extra == "jupyterlab"
|
|
117
113
|
Requires-Dist: jupyterlab>=2.2; python_version >= "3.5" and extra == "jupyterlab"
|
|
114
|
+
Requires-Dist: jupyter-console>=6.1; (python_version >= "3.5" and python_version < "3.7") and extra == "jupyterlab"
|
|
115
|
+
Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "jupyterlab"
|
|
116
|
+
Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "jupyterlab"
|
|
117
|
+
Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "jupyterlab"
|
|
118
118
|
Provides-Extra: jupytext
|
|
119
|
+
Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "jupytext"
|
|
120
|
+
Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "jupytext"
|
|
119
121
|
Requires-Dist: ipython>=5.4; python_version < "3" and extra == "jupytext"
|
|
122
|
+
Requires-Dist: jupyter-console>=6.6; python_version >= "3.7" and extra == "jupytext"
|
|
123
|
+
Requires-Dist: jupyter>=1.0; extra == "jupytext"
|
|
120
124
|
Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "jupytext"
|
|
125
|
+
Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "jupytext"
|
|
126
|
+
Requires-Dist: ipython>=8.22; python_version >= "3.9" and extra == "jupytext"
|
|
127
|
+
Requires-Dist: jupytext>=1.8; python_version >= "3" and extra == "jupytext"
|
|
121
128
|
Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "jupytext"
|
|
129
|
+
Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "jupytext"
|
|
122
130
|
Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "jupytext"
|
|
123
|
-
Requires-Dist:
|
|
124
|
-
Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "jupytext"
|
|
125
|
-
Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "jupytext"
|
|
126
|
-
Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "jupytext"
|
|
127
|
-
Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "jupytext"
|
|
128
|
-
Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "jupytext"
|
|
131
|
+
Requires-Dist: papermill>=1.2; extra == "jupytext"
|
|
129
132
|
Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "jupytext"
|
|
130
|
-
Requires-Dist:
|
|
131
|
-
Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "jupytext"
|
|
133
|
+
Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "jupytext"
|
|
132
134
|
Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "jupytext"
|
|
133
|
-
Requires-Dist: jupyter>=1.0; extra == "jupytext"
|
|
134
|
-
Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "jupytext"
|
|
135
135
|
Requires-Dist: jupyter-console>=6.1; (python_version >= "3.5" and python_version < "3.7") and extra == "jupytext"
|
|
136
|
-
Requires-Dist:
|
|
137
|
-
Requires-Dist:
|
|
138
|
-
Requires-Dist:
|
|
136
|
+
Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "jupytext"
|
|
137
|
+
Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "jupytext"
|
|
138
|
+
Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "jupytext"
|
|
139
139
|
Provides-Extra: all
|
|
140
|
+
Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "all"
|
|
141
|
+
Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "all"
|
|
140
142
|
Requires-Dist: ipython>=5.4; python_version < "3" and extra == "all"
|
|
143
|
+
Requires-Dist: watchdog>=0.10; extra == "all"
|
|
144
|
+
Requires-Dist: jupyter-console>=6.6; python_version >= "3.7" and extra == "all"
|
|
141
145
|
Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "all"
|
|
146
|
+
Requires-Dist: jupyter>=1.0; extra == "all"
|
|
147
|
+
Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "all"
|
|
148
|
+
Requires-Dist: ipython>=8.22; python_version >= "3.9" and extra == "all"
|
|
149
|
+
Requires-Dist: jupytext>=1.8; python_version >= "3" and extra == "all"
|
|
150
|
+
Requires-Dist: xonsh>=0.11; (python_version >= "3.6" and python_version < "3.8") and extra == "all"
|
|
142
151
|
Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "all"
|
|
152
|
+
Requires-Dist: mypy[python2]>=1.8; extra == "all"
|
|
153
|
+
Requires-Dist: xonsh>=0.15; python_version >= "3.8" and extra == "all"
|
|
154
|
+
Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "all"
|
|
143
155
|
Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "all"
|
|
144
|
-
Requires-Dist:
|
|
145
|
-
Requires-Dist:
|
|
146
|
-
Requires-Dist:
|
|
147
|
-
Requires-Dist:
|
|
148
|
-
Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "all"
|
|
149
|
-
Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "all"
|
|
156
|
+
Requires-Dist: papermill>=1.2; extra == "all"
|
|
157
|
+
Requires-Dist: numpy>=1.18; (python_version >= "3.4" and python_version < "3.9") and extra == "all"
|
|
158
|
+
Requires-Dist: numpy>=1.16; (python_version < "3" and platform_python_implementation == "CPython") and extra == "all"
|
|
159
|
+
Requires-Dist: types-backports>=0.1; extra == "all"
|
|
150
160
|
Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "all"
|
|
151
|
-
Requires-Dist:
|
|
152
|
-
Requires-Dist:
|
|
161
|
+
Requires-Dist: pandas>=1; python_version >= "3.6" and extra == "all"
|
|
162
|
+
Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "all"
|
|
153
163
|
Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "all"
|
|
154
|
-
Requires-Dist:
|
|
155
|
-
Requires-Dist: mypy[python2]>=1.7; extra == "all"
|
|
156
|
-
Requires-Dist: types-backports>=0.1; extra == "all"
|
|
157
|
-
Requires-Dist: typing>=3.10; python_version < "3.5" and extra == "all"
|
|
164
|
+
Requires-Dist: jupyterlab>=2.2; python_version >= "3.5" and extra == "all"
|
|
158
165
|
Requires-Dist: xonsh>=0.9; python_version < "3.6" and extra == "all"
|
|
159
|
-
Requires-Dist: xonsh>=0.11; (python_version >= "3.6" and python_version < "3.8") and extra == "all"
|
|
160
|
-
Requires-Dist: xonsh>=0.14; python_version >= "3.8" and extra == "all"
|
|
161
|
-
Requires-Dist: numpy>=1.16; (python_version < "3" and platform_python_implementation == "CPython") and extra == "all"
|
|
162
|
-
Requires-Dist: numpy>=1.18; (python_version >= "3.4" and python_version < "3.9") and extra == "all"
|
|
163
|
-
Requires-Dist: numpy>=1.26; python_version >= "3.9" and extra == "all"
|
|
164
|
-
Requires-Dist: pandas>=1; python_version >= "3.6" and extra == "all"
|
|
165
|
-
Requires-Dist: xarray>=2023; python_version >= "3.9" and extra == "all"
|
|
166
|
-
Requires-Dist: jupyter>=1.0; extra == "all"
|
|
167
|
-
Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "all"
|
|
168
166
|
Requires-Dist: jupyter-console>=6.1; (python_version >= "3.5" and python_version < "3.7") and extra == "all"
|
|
169
|
-
Requires-Dist:
|
|
170
|
-
Requires-Dist:
|
|
171
|
-
Requires-Dist:
|
|
172
|
-
Requires-Dist:
|
|
167
|
+
Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "all"
|
|
168
|
+
Requires-Dist: numpy>=1.26; python_version >= "3.9" and extra == "all"
|
|
169
|
+
Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "all"
|
|
170
|
+
Requires-Dist: xarray>=2024; python_version >= "3.9" and extra == "all"
|
|
171
|
+
Requires-Dist: typing>=3.10; python_version < "3.5" and extra == "all"
|
|
172
|
+
Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "all"
|
|
173
173
|
Provides-Extra: ipython
|
|
174
|
+
Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "ipython"
|
|
175
|
+
Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "ipython"
|
|
174
176
|
Requires-Dist: ipython>=5.4; python_version < "3" and extra == "ipython"
|
|
177
|
+
Requires-Dist: jupyter-console>=6.6; python_version >= "3.7" and extra == "ipython"
|
|
178
|
+
Requires-Dist: jupyter>=1.0; extra == "ipython"
|
|
175
179
|
Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "ipython"
|
|
180
|
+
Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "ipython"
|
|
181
|
+
Requires-Dist: ipython>=8.22; python_version >= "3.9" and extra == "ipython"
|
|
176
182
|
Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "ipython"
|
|
183
|
+
Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "ipython"
|
|
177
184
|
Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "ipython"
|
|
178
|
-
Requires-Dist:
|
|
179
|
-
Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "ipython"
|
|
180
|
-
Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "ipython"
|
|
181
|
-
Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "ipython"
|
|
182
|
-
Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "ipython"
|
|
183
|
-
Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "ipython"
|
|
185
|
+
Requires-Dist: papermill>=1.2; extra == "ipython"
|
|
184
186
|
Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "ipython"
|
|
185
|
-
Requires-Dist:
|
|
186
|
-
Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "ipython"
|
|
187
|
+
Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "ipython"
|
|
187
188
|
Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "ipython"
|
|
188
|
-
Requires-Dist: jupyter>=1.0; extra == "ipython"
|
|
189
|
-
Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "ipython"
|
|
190
189
|
Requires-Dist: jupyter-console>=6.1; (python_version >= "3.5" and python_version < "3.7") and extra == "ipython"
|
|
191
|
-
Requires-Dist:
|
|
192
|
-
Requires-Dist:
|
|
190
|
+
Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "ipython"
|
|
191
|
+
Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "ipython"
|
|
192
|
+
Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "ipython"
|
|
193
193
|
Provides-Extra: docs
|
|
194
|
+
Requires-Dist: pydata-sphinx-theme>=0.15; extra == "docs"
|
|
194
195
|
Requires-Dist: sphinx>=7; extra == "docs"
|
|
195
|
-
Requires-Dist: pygments>=2.3; python_version < "3.9" and extra == "docs"
|
|
196
|
-
Requires-Dist: pygments>=2.17; python_version >= "3.9" and extra == "docs"
|
|
197
196
|
Requires-Dist: myst-parser>=2; extra == "docs"
|
|
198
|
-
Requires-Dist:
|
|
197
|
+
Requires-Dist: pygments>=2.17; python_version >= "3.9" and extra == "docs"
|
|
198
|
+
Requires-Dist: pygments>=2.3; python_version < "3.9" and extra == "docs"
|
|
199
199
|
Provides-Extra: tests
|
|
200
|
-
Requires-Dist:
|
|
201
|
-
Requires-Dist:
|
|
202
|
-
Requires-Dist:
|
|
203
|
-
Requires-Dist: numpy>=1.16; (python_version < "3" and platform_python_implementation == "CPython") and extra == "tests"
|
|
204
|
-
Requires-Dist: numpy>=1.18; (python_version >= "3.4" and python_version < "3.9") and extra == "tests"
|
|
205
|
-
Requires-Dist: numpy>=1.26; python_version >= "3.9" and extra == "tests"
|
|
206
|
-
Requires-Dist: pandas>=1; python_version >= "3.6" and extra == "tests"
|
|
207
|
-
Requires-Dist: xarray>=2023; python_version >= "3.9" and extra == "tests"
|
|
200
|
+
Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "tests"
|
|
201
|
+
Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "tests"
|
|
202
|
+
Requires-Dist: pytest>=8; python_version >= "3.8" and extra == "tests"
|
|
208
203
|
Requires-Dist: ipython>=5.4; python_version < "3" and extra == "tests"
|
|
204
|
+
Requires-Dist: jupyter-console>=6.6; python_version >= "3.7" and extra == "tests"
|
|
205
|
+
Requires-Dist: jupyter>=1.0; extra == "tests"
|
|
209
206
|
Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "tests"
|
|
207
|
+
Requires-Dist: pytest>=3; python_version < "3.6" and extra == "tests"
|
|
208
|
+
Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "tests"
|
|
209
|
+
Requires-Dist: ipython>=8.22; python_version >= "3.9" and extra == "tests"
|
|
210
|
+
Requires-Dist: xonsh>=0.11; (python_version >= "3.6" and python_version < "3.8") and extra == "tests"
|
|
210
211
|
Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "tests"
|
|
212
|
+
Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "tests"
|
|
213
|
+
Requires-Dist: mypy[python2]>=1.8; extra == "tests"
|
|
214
|
+
Requires-Dist: xonsh>=0.15; python_version >= "3.8" and extra == "tests"
|
|
211
215
|
Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "tests"
|
|
212
|
-
Requires-Dist:
|
|
213
|
-
Requires-Dist:
|
|
214
|
-
Requires-Dist:
|
|
215
|
-
Requires-Dist:
|
|
216
|
-
Requires-Dist:
|
|
217
|
-
Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "tests"
|
|
216
|
+
Requires-Dist: papermill>=1.2; extra == "tests"
|
|
217
|
+
Requires-Dist: numpy>=1.18; (python_version >= "3.4" and python_version < "3.9") and extra == "tests"
|
|
218
|
+
Requires-Dist: numpy>=1.16; (python_version < "3" and platform_python_implementation == "CPython") and extra == "tests"
|
|
219
|
+
Requires-Dist: pexpect>=4; extra == "tests"
|
|
220
|
+
Requires-Dist: types-backports>=0.1; extra == "tests"
|
|
218
221
|
Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "tests"
|
|
219
|
-
Requires-Dist:
|
|
220
|
-
Requires-Dist:
|
|
222
|
+
Requires-Dist: pandas>=1; python_version >= "3.6" and extra == "tests"
|
|
223
|
+
Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "tests"
|
|
221
224
|
Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "tests"
|
|
222
|
-
Requires-Dist:
|
|
223
|
-
Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "tests"
|
|
225
|
+
Requires-Dist: xonsh>=0.9; python_version < "3.6" and extra == "tests"
|
|
224
226
|
Requires-Dist: jupyter-console>=6.1; (python_version >= "3.5" and python_version < "3.7") and extra == "tests"
|
|
225
|
-
Requires-Dist:
|
|
226
|
-
Requires-Dist:
|
|
227
|
+
Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "tests"
|
|
228
|
+
Requires-Dist: numpy>=1.26; python_version >= "3.9" and extra == "tests"
|
|
229
|
+
Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "tests"
|
|
230
|
+
Requires-Dist: pytest>=7; (python_version >= "3.6" and python_version < "3.8") and extra == "tests"
|
|
231
|
+
Requires-Dist: xarray>=2024; python_version >= "3.9" and extra == "tests"
|
|
232
|
+
Requires-Dist: typing>=3.10; python_version < "3.5" and extra == "tests"
|
|
233
|
+
Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "tests"
|
|
227
234
|
Provides-Extra: dev
|
|
228
|
-
Requires-Dist:
|
|
229
|
-
Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "dev"
|
|
230
|
-
Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "dev"
|
|
231
|
-
Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "dev"
|
|
232
|
-
Requires-Dist: ipython>=8.18; python_version >= "3.9" and extra == "dev"
|
|
233
|
-
Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "dev"
|
|
235
|
+
Requires-Dist: sphinx>=7; extra == "dev"
|
|
234
236
|
Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "dev"
|
|
235
237
|
Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "dev"
|
|
236
|
-
Requires-Dist:
|
|
237
|
-
Requires-Dist:
|
|
238
|
-
Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "dev"
|
|
239
|
-
Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "dev"
|
|
240
|
-
Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "dev"
|
|
241
|
-
Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "dev"
|
|
238
|
+
Requires-Dist: ipython>=5.4; python_version < "3" and extra == "dev"
|
|
239
|
+
Requires-Dist: pytest>=8; python_version >= "3.8" and extra == "dev"
|
|
242
240
|
Requires-Dist: watchdog>=0.10; extra == "dev"
|
|
243
|
-
Requires-Dist:
|
|
244
|
-
Requires-Dist:
|
|
245
|
-
Requires-Dist: typing>=3.10; python_version < "3.5" and extra == "dev"
|
|
246
|
-
Requires-Dist: xonsh>=0.9; python_version < "3.6" and extra == "dev"
|
|
247
|
-
Requires-Dist: xonsh>=0.11; (python_version >= "3.6" and python_version < "3.8") and extra == "dev"
|
|
248
|
-
Requires-Dist: xonsh>=0.14; python_version >= "3.8" and extra == "dev"
|
|
249
|
-
Requires-Dist: numpy>=1.16; (python_version < "3" and platform_python_implementation == "CPython") and extra == "dev"
|
|
250
|
-
Requires-Dist: numpy>=1.18; (python_version >= "3.4" and python_version < "3.9") and extra == "dev"
|
|
251
|
-
Requires-Dist: numpy>=1.26; python_version >= "3.9" and extra == "dev"
|
|
252
|
-
Requires-Dist: pandas>=1; python_version >= "3.6" and extra == "dev"
|
|
253
|
-
Requires-Dist: xarray>=2023; python_version >= "3.9" and extra == "dev"
|
|
241
|
+
Requires-Dist: jupyter-console>=6.6; python_version >= "3.7" and extra == "dev"
|
|
242
|
+
Requires-Dist: vprof>=0.36; extra == "dev"
|
|
254
243
|
Requires-Dist: jupyter>=1.0; extra == "dev"
|
|
244
|
+
Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "dev"
|
|
245
|
+
Requires-Dist: pytest>=3; python_version < "3.6" and extra == "dev"
|
|
246
|
+
Requires-Dist: pydata-sphinx-theme>=0.15; extra == "dev"
|
|
247
|
+
Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "dev"
|
|
248
|
+
Requires-Dist: ipython>=8.22; python_version >= "3.9" and extra == "dev"
|
|
249
|
+
Requires-Dist: jupytext>=1.8; python_version >= "3" and extra == "dev"
|
|
250
|
+
Requires-Dist: xonsh>=0.11; (python_version >= "3.6" and python_version < "3.8") and extra == "dev"
|
|
251
|
+
Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "dev"
|
|
252
|
+
Requires-Dist: mypy[python2]>=1.8; extra == "dev"
|
|
253
|
+
Requires-Dist: xonsh>=0.15; python_version >= "3.8" and extra == "dev"
|
|
255
254
|
Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "dev"
|
|
256
|
-
Requires-Dist:
|
|
257
|
-
Requires-Dist:
|
|
255
|
+
Requires-Dist: myst-parser>=2; extra == "dev"
|
|
256
|
+
Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "dev"
|
|
257
|
+
Requires-Dist: requests>=2.31; extra == "dev"
|
|
258
|
+
Requires-Dist: py-spy>=0.3; extra == "dev"
|
|
258
259
|
Requires-Dist: papermill>=1.2; extra == "dev"
|
|
259
|
-
Requires-Dist:
|
|
260
|
-
Requires-Dist:
|
|
261
|
-
Requires-Dist: sphinx>=7; extra == "dev"
|
|
262
|
-
Requires-Dist: pygments>=2.3; python_version < "3.9" and extra == "dev"
|
|
260
|
+
Requires-Dist: numpy>=1.18; (python_version >= "3.4" and python_version < "3.9") and extra == "dev"
|
|
261
|
+
Requires-Dist: numpy>=1.16; (python_version < "3" and platform_python_implementation == "CPython") and extra == "dev"
|
|
263
262
|
Requires-Dist: pygments>=2.17; python_version >= "3.9" and extra == "dev"
|
|
264
|
-
Requires-Dist:
|
|
265
|
-
Requires-Dist: pydata-sphinx-theme>=0.14; extra == "dev"
|
|
266
|
-
Requires-Dist: pytest>=3; python_version < "3.6" and extra == "dev"
|
|
267
|
-
Requires-Dist: pytest>=7; python_version >= "3.6" and extra == "dev"
|
|
263
|
+
Requires-Dist: pygments>=2.3; python_version < "3.9" and extra == "dev"
|
|
268
264
|
Requires-Dist: pexpect>=4; extra == "dev"
|
|
269
|
-
Requires-Dist:
|
|
265
|
+
Requires-Dist: types-backports>=0.1; extra == "dev"
|
|
266
|
+
Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "dev"
|
|
267
|
+
Requires-Dist: pandas>=1; python_version >= "3.6" and extra == "dev"
|
|
268
|
+
Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "dev"
|
|
269
|
+
Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "dev"
|
|
270
|
+
Requires-Dist: jupyterlab>=2.2; python_version >= "3.5" and extra == "dev"
|
|
271
|
+
Requires-Dist: xonsh>=0.9; python_version < "3.6" and extra == "dev"
|
|
270
272
|
Requires-Dist: pre-commit>=3; python_version >= "3" and extra == "dev"
|
|
271
|
-
Requires-Dist:
|
|
272
|
-
Requires-Dist:
|
|
273
|
-
Requires-Dist:
|
|
273
|
+
Requires-Dist: jupyter-console>=6.1; (python_version >= "3.5" and python_version < "3.7") and extra == "dev"
|
|
274
|
+
Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "dev"
|
|
275
|
+
Requires-Dist: numpy>=1.26; python_version >= "3.9" and extra == "dev"
|
|
276
|
+
Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "dev"
|
|
277
|
+
Requires-Dist: pyparsing<2.4.8,>=2.4.7; extra == "dev"
|
|
278
|
+
Requires-Dist: pytest>=7; (python_version >= "3.6" and python_version < "3.8") and extra == "dev"
|
|
279
|
+
Requires-Dist: xarray>=2024; python_version >= "3.9" and extra == "dev"
|
|
280
|
+
Requires-Dist: typing>=3.10; python_version < "3.5" and extra == "dev"
|
|
281
|
+
Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "dev"
|
|
274
282
|
Requires-Dist: argparse>=1.4; python_version < "2.7"
|
|
275
283
|
Requires-Dist: psutil>=5; python_version >= "2.7"
|
|
276
284
|
Requires-Dist: futures>=3.4; python_version < "3"
|
|
277
|
-
Requires-Dist: backports.functools-lru-cache>=
|
|
285
|
+
Requires-Dist: backports.functools-lru-cache>=2; python_version < "3"
|
|
278
286
|
Requires-Dist: prompt_toolkit<2,>=1; python_version < "3"
|
|
279
287
|
Requires-Dist: prompt_toolkit>=1; python_version >= "3"
|
|
280
288
|
Requires-Dist: pygments>=2.3; python_version < "3.9"
|
|
@@ -283,7 +291,7 @@ Requires-Dist: typing_extensions>=3.10; python_version < "3.6"
|
|
|
283
291
|
Requires-Dist: typing_extensions>=4.1; python_version >= "3.6" and python_version < "3.7"
|
|
284
292
|
Requires-Dist: dataclasses>=0.8; python_version >= "3.6" and python_version < "3.7"
|
|
285
293
|
Requires-Dist: typing_extensions>=4.7; python_version >= "3.7" and python_version < "3.8"
|
|
286
|
-
Requires-Dist: typing_extensions>=4.
|
|
294
|
+
Requires-Dist: typing_extensions>=4.9; python_version >= "3.8"
|
|
287
295
|
Requires-Dist: trollius>=2.2; python_version < "3" and platform_python_implementation == "CPython"
|
|
288
296
|
Requires-Dist: aenum>=3.1.15; python_version < "3.4"
|
|
289
297
|
Requires-Dist: typing>=3.10; python_version < "3.5"
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/util.py
RENAMED
|
@@ -421,7 +421,12 @@ def unlink(link_path):
|
|
|
421
421
|
def rm_dir_or_link(dir_to_rm):
|
|
422
422
|
"""Safely delete a directory without deleting the contents of symlinks."""
|
|
423
423
|
if not unlink(dir_to_rm) and os.path.exists(dir_to_rm):
|
|
424
|
-
if
|
|
424
|
+
if PY2: # shutil.rmtree doesn't seem to be fully safe on Python 2
|
|
425
|
+
try:
|
|
426
|
+
os.rmdir(dir_to_rm)
|
|
427
|
+
except OSError:
|
|
428
|
+
logger.warn_exc()
|
|
429
|
+
elif WINDOWS:
|
|
425
430
|
try:
|
|
426
431
|
os.rmdir(dir_to_rm)
|
|
427
432
|
except OSError:
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/compiler/matching.py
RENAMED
|
@@ -307,6 +307,39 @@ class Matcher(object):
|
|
|
307
307
|
"""Gets the var for checking whether a name should be set."""
|
|
308
308
|
return match_set_name_var + "_" + name
|
|
309
309
|
|
|
310
|
+
def add_default_expr(self, assign_to, default_expr):
|
|
311
|
+
"""Add code that evaluates expr in the context of any names that have been matched so far
|
|
312
|
+
and assigns the result to assign_to if assign_to is currently _coconut_sentinel."""
|
|
313
|
+
vars_var = self.get_temp_var()
|
|
314
|
+
add_names_code = []
|
|
315
|
+
for name in self.names:
|
|
316
|
+
add_names_code.append(
|
|
317
|
+
handle_indentation(
|
|
318
|
+
"""
|
|
319
|
+
if {set_name_var} is not _coconut_sentinel:
|
|
320
|
+
{vars_var}["{name}"] = {set_name_var}
|
|
321
|
+
""",
|
|
322
|
+
add_newline=True,
|
|
323
|
+
).format(
|
|
324
|
+
set_name_var=self.get_set_name_var(name),
|
|
325
|
+
vars_var=vars_var,
|
|
326
|
+
name=name,
|
|
327
|
+
)
|
|
328
|
+
)
|
|
329
|
+
code = self.comp.reformat_post_deferred_code_proc(assign_to + " = " + default_expr)
|
|
330
|
+
self.add_def(handle_indentation("""
|
|
331
|
+
if {assign_to} is _coconut_sentinel:
|
|
332
|
+
{vars_var} = _coconut.globals().copy()
|
|
333
|
+
{vars_var}.update(_coconut.locals().copy())
|
|
334
|
+
{add_names_code}_coconut_exec({code_str}, {vars_var})
|
|
335
|
+
{assign_to} = {vars_var}["{assign_to}"]
|
|
336
|
+
""").format(
|
|
337
|
+
vars_var=vars_var,
|
|
338
|
+
add_names_code="".join(add_names_code),
|
|
339
|
+
assign_to=assign_to,
|
|
340
|
+
code_str=self.comp.wrap_str_of(code),
|
|
341
|
+
))
|
|
342
|
+
|
|
310
343
|
def register_name(self, name):
|
|
311
344
|
"""Register a new name at the current position."""
|
|
312
345
|
internal_assert(lambda: name not in self.parent_names and name not in self.names, "attempt to register duplicate name", name)
|
|
@@ -373,7 +406,7 @@ if {first_arg} is not _coconut_sentinel:
|
|
|
373
406
|
).format(
|
|
374
407
|
first_arg=first_arg,
|
|
375
408
|
args=args,
|
|
376
|
-
)
|
|
409
|
+
)
|
|
377
410
|
)
|
|
378
411
|
|
|
379
412
|
with self.down_a_level():
|
|
@@ -418,7 +451,7 @@ if {first_arg} is not _coconut_sentinel:
|
|
|
418
451
|
# if i >= req_len
|
|
419
452
|
"_coconut.sum((_coconut.len(" + args + ") > " + str(i) + ", "
|
|
420
453
|
+ ", ".join('"' + name + '" in ' + kwargs for name in names)
|
|
421
|
-
+ ")) == 1"
|
|
454
|
+
+ ")) == 1"
|
|
422
455
|
)
|
|
423
456
|
tempvar = self.get_temp_var()
|
|
424
457
|
self.add_def(
|
|
@@ -428,16 +461,19 @@ if {first_arg} is not _coconut_sentinel:
|
|
|
428
461
|
kwargs + '.pop("' + name + '") if "' + name + '" in ' + kwargs + " else "
|
|
429
462
|
for name in names[:-1]
|
|
430
463
|
)
|
|
431
|
-
+ kwargs + '.pop("' + names[-1] + '")'
|
|
464
|
+
+ kwargs + '.pop("' + names[-1] + '")'
|
|
432
465
|
)
|
|
433
466
|
with self.down_a_level():
|
|
434
467
|
self.match(match, tempvar)
|
|
435
468
|
else:
|
|
436
469
|
if not names:
|
|
437
470
|
tempvar = self.get_temp_var()
|
|
438
|
-
self.add_def(tempvar + " = " + args + "[" + str(i) + "] if _coconut.len(" + args + ") > " + str(i) + " else "
|
|
439
|
-
|
|
440
|
-
|
|
471
|
+
self.add_def(tempvar + " = " + args + "[" + str(i) + "] if _coconut.len(" + args + ") > " + str(i) + " else _coconut_sentinel")
|
|
472
|
+
# go down to end to ensure we've matched as much as possible before evaluating the default
|
|
473
|
+
with self.down_to_end():
|
|
474
|
+
self.add_default_expr(tempvar, default)
|
|
475
|
+
with self.down_a_level():
|
|
476
|
+
self.match(match, tempvar)
|
|
441
477
|
else:
|
|
442
478
|
arg_checks[i] = (
|
|
443
479
|
# if i < req_len
|
|
@@ -445,7 +481,7 @@ if {first_arg} is not _coconut_sentinel:
|
|
|
445
481
|
# if i >= req_len
|
|
446
482
|
"_coconut.sum((_coconut.len(" + args + ") > " + str(i) + ", "
|
|
447
483
|
+ ", ".join('"' + name + '" in ' + kwargs for name in names)
|
|
448
|
-
+ ")) <= 1"
|
|
484
|
+
+ ")) <= 1"
|
|
449
485
|
)
|
|
450
486
|
tempvar = self.get_temp_var()
|
|
451
487
|
self.add_def(
|
|
@@ -455,10 +491,13 @@ if {first_arg} is not _coconut_sentinel:
|
|
|
455
491
|
kwargs + '.pop("' + name + '") if "' + name + '" in ' + kwargs + " else "
|
|
456
492
|
for name in names
|
|
457
493
|
)
|
|
458
|
-
+
|
|
494
|
+
+ "_coconut_sentinel"
|
|
459
495
|
)
|
|
460
|
-
|
|
461
|
-
|
|
496
|
+
# go down to end to ensure we've matched as much as possible before evaluating the default
|
|
497
|
+
with self.down_to_end():
|
|
498
|
+
self.add_default_expr(tempvar, default)
|
|
499
|
+
with self.down_a_level():
|
|
500
|
+
self.match(match, tempvar)
|
|
462
501
|
|
|
463
502
|
# length checking
|
|
464
503
|
max_len = None if allow_star_args else len(pos_only_match_args) + len(match_args)
|
|
@@ -484,12 +523,18 @@ if {first_arg} is not _coconut_sentinel:
|
|
|
484
523
|
kwargs + '.pop("' + name + '") if "' + name + '" in ' + kwargs + " else "
|
|
485
524
|
for name in names
|
|
486
525
|
)
|
|
487
|
-
+
|
|
526
|
+
+ "_coconut_sentinel"
|
|
488
527
|
)
|
|
489
|
-
|
|
490
|
-
|
|
528
|
+
if default is None:
|
|
529
|
+
with self.down_a_level():
|
|
491
530
|
self.add_check(tempvar + " is not _coconut_sentinel")
|
|
492
|
-
|
|
531
|
+
self.match(match, tempvar)
|
|
532
|
+
else:
|
|
533
|
+
# go down to end to ensure we've matched as much as possible before evaluating the default
|
|
534
|
+
with self.down_to_end():
|
|
535
|
+
self.add_default_expr(tempvar, default)
|
|
536
|
+
with self.down_a_level():
|
|
537
|
+
self.match(match, tempvar)
|
|
493
538
|
|
|
494
539
|
def match_dict(self, tokens, item):
|
|
495
540
|
"""Matches a dictionary."""
|
|
@@ -1054,7 +1099,7 @@ raise _coconut.TypeError("too many positional args in class match (pattern requi
|
|
|
1054
1099
|
).format(
|
|
1055
1100
|
num_pos_matches=len(pos_matches),
|
|
1056
1101
|
cls_name=cls_name,
|
|
1057
|
-
)
|
|
1102
|
+
)
|
|
1058
1103
|
)
|
|
1059
1104
|
else:
|
|
1060
1105
|
self_match_matcher.match(pos_matches[0], item)
|
|
@@ -1077,7 +1122,7 @@ if _coconut.len({match_args_var}) < {num_pos_matches}:
|
|
|
1077
1122
|
num_pos_matches=len(pos_matches),
|
|
1078
1123
|
type_any=self.comp.wrap_comment(" type: _coconut.typing.Any"),
|
|
1079
1124
|
type_ignore=self.comp.type_ignore_comment(),
|
|
1080
|
-
)
|
|
1125
|
+
)
|
|
1081
1126
|
)
|
|
1082
1127
|
with other_cls_matcher.down_a_level():
|
|
1083
1128
|
for i, match in enumerate(pos_matches):
|
|
@@ -1098,7 +1143,7 @@ if _coconut.len({match_args_var}) < {num_pos_matches}:
|
|
|
1098
1143
|
star_match_var=star_match_var,
|
|
1099
1144
|
item=item,
|
|
1100
1145
|
num_pos_matches=len(pos_matches),
|
|
1101
|
-
)
|
|
1146
|
+
)
|
|
1102
1147
|
)
|
|
1103
1148
|
with self.down_a_level():
|
|
1104
1149
|
self.match(star_match, star_match_var)
|
|
@@ -1118,7 +1163,7 @@ if _coconut.len({match_args_var}) < {num_pos_matches}:
|
|
|
1118
1163
|
"_coconut.len({item}) >= {min_len}".format(
|
|
1119
1164
|
item=item,
|
|
1120
1165
|
min_len=len(pos_matches),
|
|
1121
|
-
)
|
|
1166
|
+
)
|
|
1122
1167
|
)
|
|
1123
1168
|
|
|
1124
1169
|
self.match_all_in(pos_matches, item)
|
|
@@ -1152,7 +1197,7 @@ if _coconut.len({match_args_var}) < {num_pos_matches}:
|
|
|
1152
1197
|
min_len=len(pos_matches),
|
|
1153
1198
|
name_matches=tuple_str_of(name_matches, add_quotes=True),
|
|
1154
1199
|
type_ignore=self.comp.type_ignore_comment(),
|
|
1155
|
-
)
|
|
1200
|
+
)
|
|
1156
1201
|
)
|
|
1157
1202
|
with self.down_a_level():
|
|
1158
1203
|
self.add_check(temp_var)
|
|
@@ -1172,7 +1217,7 @@ if _coconut.len({match_args_var}) < {num_pos_matches}:
|
|
|
1172
1217
|
is_data_var=is_data_var,
|
|
1173
1218
|
cls_name=cls_name,
|
|
1174
1219
|
type_ignore=self.comp.type_ignore_comment(),
|
|
1175
|
-
)
|
|
1220
|
+
)
|
|
1176
1221
|
)
|
|
1177
1222
|
|
|
1178
1223
|
if_data, if_class = self.branches(2)
|
|
@@ -1248,7 +1293,7 @@ except _coconut.Exception as _coconut_view_func_exc:
|
|
|
1248
1293
|
func_result_var=func_result_var,
|
|
1249
1294
|
view_func=view_func,
|
|
1250
1295
|
item=item,
|
|
1251
|
-
)
|
|
1296
|
+
)
|
|
1252
1297
|
)
|
|
1253
1298
|
|
|
1254
1299
|
with self.down_a_level():
|
|
@@ -1325,7 +1370,7 @@ if {check_var}:
|
|
|
1325
1370
|
check_var=self.check_var,
|
|
1326
1371
|
parameterization=parameterization,
|
|
1327
1372
|
child_checks=child.out().rstrip(),
|
|
1328
|
-
)
|
|
1373
|
+
)
|
|
1329
1374
|
)
|
|
1330
1375
|
|
|
1331
1376
|
# handle normal child groups
|
|
@@ -1353,7 +1398,7 @@ if {check_var}:
|
|
|
1353
1398
|
).format(
|
|
1354
1399
|
check_var=self.check_var,
|
|
1355
1400
|
children_checks=children_checks,
|
|
1356
|
-
)
|
|
1401
|
+
)
|
|
1357
1402
|
)
|
|
1358
1403
|
|
|
1359
1404
|
# commit variable definitions
|
|
@@ -1369,7 +1414,7 @@ if {set_name_var} is not _coconut_sentinel:
|
|
|
1369
1414
|
).format(
|
|
1370
1415
|
set_name_var=self.get_set_name_var(name),
|
|
1371
1416
|
name=name,
|
|
1372
|
-
)
|
|
1417
|
+
)
|
|
1373
1418
|
)
|
|
1374
1419
|
if name_set_code:
|
|
1375
1420
|
out.append(
|
|
@@ -1381,7 +1426,7 @@ if {check_var}:
|
|
|
1381
1426
|
).format(
|
|
1382
1427
|
check_var=self.check_var,
|
|
1383
1428
|
name_set_code="".join(name_set_code),
|
|
1384
|
-
)
|
|
1429
|
+
)
|
|
1385
1430
|
)
|
|
1386
1431
|
|
|
1387
1432
|
# handle guards
|
|
@@ -1396,7 +1441,7 @@ if {check_var} and not ({guards}):
|
|
|
1396
1441
|
).format(
|
|
1397
1442
|
check_var=self.check_var,
|
|
1398
1443
|
guards=paren_join(self.guards, "and"),
|
|
1399
|
-
)
|
|
1444
|
+
)
|
|
1400
1445
|
)
|
|
1401
1446
|
|
|
1402
1447
|
return "".join(out)
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/constants.py
RENAMED
|
@@ -999,7 +999,8 @@ all_reqs = {
|
|
|
999
999
|
),
|
|
1000
1000
|
"tests": (
|
|
1001
1001
|
("pytest", "py<36"),
|
|
1002
|
-
("pytest", "
|
|
1002
|
+
("pytest", "py>=36;py<38"),
|
|
1003
|
+
("pytest", "py38"),
|
|
1003
1004
|
"pexpect",
|
|
1004
1005
|
),
|
|
1005
1006
|
}
|
|
@@ -1012,30 +1013,30 @@ unpinned_min_versions = {
|
|
|
1012
1013
|
"jupyter": (1, 0),
|
|
1013
1014
|
"types-backports": (0, 1),
|
|
1014
1015
|
("futures", "py<3"): (3, 4),
|
|
1015
|
-
("backports.functools-lru-cache", "py<3"): (
|
|
1016
|
+
("backports.functools-lru-cache", "py<3"): (2,),
|
|
1016
1017
|
("argparse", "py<27"): (1, 4),
|
|
1017
1018
|
"pexpect": (4,),
|
|
1018
1019
|
("trollius", "py<3;cpy"): (2, 2),
|
|
1019
1020
|
"requests": (2, 31),
|
|
1020
1021
|
("numpy", "py39"): (1, 26),
|
|
1021
|
-
("xarray", "py39"): (
|
|
1022
|
+
("xarray", "py39"): (2024,),
|
|
1022
1023
|
("dataclasses", "py==36"): (0, 8),
|
|
1023
1024
|
("aenum", "py<34"): (3, 1, 15),
|
|
1024
|
-
"pydata-sphinx-theme": (0,
|
|
1025
|
+
"pydata-sphinx-theme": (0, 15),
|
|
1025
1026
|
"myst-parser": (2,),
|
|
1026
1027
|
"sphinx": (7,),
|
|
1027
|
-
"mypy[python2]": (1,
|
|
1028
|
+
"mypy[python2]": (1, 8),
|
|
1028
1029
|
("jupyter-console", "py37"): (6, 6),
|
|
1029
1030
|
("typing", "py<35"): (3, 10),
|
|
1030
|
-
("typing_extensions", "py>=38"): (4,
|
|
1031
|
+
("typing_extensions", "py>=38"): (4, 9),
|
|
1031
1032
|
("ipykernel", "py38"): (6,),
|
|
1032
1033
|
("jedi", "py39"): (0, 19),
|
|
1033
1034
|
("pygments", "py>=39"): (2, 17),
|
|
1034
|
-
("xonsh", "py38"): (0,
|
|
1035
|
-
("pytest", "
|
|
1035
|
+
("xonsh", "py38"): (0, 15),
|
|
1036
|
+
("pytest", "py38"): (8,),
|
|
1036
1037
|
("async_generator", "py35"): (1, 10),
|
|
1037
1038
|
("exceptiongroup", "py37;py<311"): (1,),
|
|
1038
|
-
("ipython", "py>=39"): (8,
|
|
1039
|
+
("ipython", "py>=39"): (8, 22),
|
|
1039
1040
|
"py-spy": (0, 3),
|
|
1040
1041
|
}
|
|
1041
1042
|
|
|
@@ -1053,6 +1054,7 @@ pinned_min_versions = {
|
|
|
1053
1054
|
("pandas", "py36"): (1,),
|
|
1054
1055
|
("jupyter-client", "py36"): (7, 1, 2),
|
|
1055
1056
|
("typing_extensions", "py==36"): (4, 1),
|
|
1057
|
+
("pytest", "py>=36;py<38"): (7,),
|
|
1056
1058
|
# don't upgrade these; they break on Python 3.5
|
|
1057
1059
|
("ipykernel", "py3;py<38"): (5, 5),
|
|
1058
1060
|
("ipython", "py3;py<37"): (7, 9),
|
|
@@ -26,7 +26,7 @@ import sys as _coconut_sys
|
|
|
26
26
|
VERSION = "3.0.4"
|
|
27
27
|
VERSION_NAME = None
|
|
28
28
|
# False for release, int >= 1 for develop
|
|
29
|
-
DEVELOP =
|
|
29
|
+
DEVELOP = 22
|
|
30
30
|
ALPHA = False # for pre releases rather than post releases
|
|
31
31
|
|
|
32
32
|
assert DEVELOP is False or DEVELOP >= 1, "DEVELOP must be False or an int >= 1"
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/main_test.py
RENAMED
|
@@ -153,8 +153,7 @@ ignore_error_lines_with = (
|
|
|
153
153
|
)
|
|
154
154
|
|
|
155
155
|
mypy_snip = "a: str = count()[0]"
|
|
156
|
-
|
|
157
|
-
mypy_snip_err_3 = '''error: Incompatible types in assignment (expression has type\n"int", variable has type "str")'''
|
|
156
|
+
mypy_snip_err = '''error: Incompatible types in assignment (expression has type'''
|
|
158
157
|
|
|
159
158
|
mypy_args = ["--follow-imports", "silent", "--ignore-missing-imports", "--allow-redefinition"]
|
|
160
159
|
|
|
@@ -856,7 +855,7 @@ class TestShell(unittest.TestCase):
|
|
|
856
855
|
def test_universal_mypy_snip(self):
|
|
857
856
|
call(
|
|
858
857
|
["coconut", "-c", mypy_snip, "--mypy"],
|
|
859
|
-
assert_output=
|
|
858
|
+
assert_output=mypy_snip_err,
|
|
860
859
|
check_errors=False,
|
|
861
860
|
check_mypy=False,
|
|
862
861
|
)
|
|
@@ -864,7 +863,7 @@ class TestShell(unittest.TestCase):
|
|
|
864
863
|
def test_sys_mypy_snip(self):
|
|
865
864
|
call(
|
|
866
865
|
["coconut", "--target", "sys", "-c", mypy_snip, "--mypy"],
|
|
867
|
-
assert_output=
|
|
866
|
+
assert_output=mypy_snip_err,
|
|
868
867
|
check_errors=False,
|
|
869
868
|
check_mypy=False,
|
|
870
869
|
)
|
|
@@ -872,7 +871,7 @@ class TestShell(unittest.TestCase):
|
|
|
872
871
|
def test_no_wrap_mypy_snip(self):
|
|
873
872
|
call(
|
|
874
873
|
["coconut", "--target", "sys", "--no-wrap", "-c", mypy_snip, "--mypy"],
|
|
875
|
-
assert_output=
|
|
874
|
+
assert_output=mypy_snip_err,
|
|
876
875
|
check_errors=False,
|
|
877
876
|
check_mypy=False,
|
|
878
877
|
)
|
|
@@ -889,7 +888,8 @@ class TestShell(unittest.TestCase):
|
|
|
889
888
|
with using_coconut():
|
|
890
889
|
auto_compilation(True)
|
|
891
890
|
import runnable
|
|
892
|
-
|
|
891
|
+
if not PY2: # triggers a weird metaclass conflict
|
|
892
|
+
reload(runnable)
|
|
893
893
|
assert runnable.success == "<success>"
|
|
894
894
|
|
|
895
895
|
def test_find_packages(self):
|
|
@@ -452,6 +452,9 @@ def primary_test_2() -> bool:
|
|
|
452
452
|
assert [=> y for y in range(2)] |> map$(call) |> list == [1, 1]
|
|
453
453
|
assert [def => y for y in range(2)] |> map$(call) |> list == [0, 1]
|
|
454
454
|
assert (x -> x -> def y -> (x, y))(1)(2)(3) == (2, 3)
|
|
455
|
+
match def maybe_dup(x, y=x) = (x, y)
|
|
456
|
+
assert maybe_dup(1) == (1, 1) == maybe_dup(x=1)
|
|
457
|
+
assert maybe_dup(1, 2) == (1, 2) == maybe_dup(x=1, y=2)
|
|
455
458
|
|
|
456
459
|
with process_map.multiple_sequential_calls(): # type: ignore
|
|
457
460
|
assert map((+), range(3), range(4)$[:-1], strict=True) |> list == [0, 2, 4] == process_map((+), range(3), range(4)$[:-1], strict=True) |> list # type: ignore
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/__coconut__/__init__.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/__coconut__/__init__.pyi
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/__coconut__/py.typed
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/_coconut/__init__.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/_coconut/__init__.pyi
RENAMED
|
File without changes
|
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/__coconut__.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/__coconut__.pyi
RENAMED
|
File without changes
|
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/__init__.pyi
RENAMED
|
File without changes
|
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/_pyparsing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/__init__.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/__init__.pyi
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/cli.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/command.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/command.pyi
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/mypy.py
RENAMED
|
File without changes
|
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/command/watch.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/compiler/__init__.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/compiler/compiler.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/compiler/grammar.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/compiler/header.py
RENAMED
|
File without changes
|
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/compiler/util.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/convenience.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/convenience.pyi
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/exceptions.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/highlighter.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/icoconut/__init__.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/icoconut/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/icoconut/embed.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/icoconut/root.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/integrations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/requirements.py
RENAMED
|
File without changes
|
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/__init__.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.4.post0.dev21 → coconut-develop-3.0.4.post0.dev22}/coconut/tests/__main__.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
|
|
File without changes
|