coconut-develop 3.2.0.post0.dev9__tar.gz → 3.2.0.post0.dev12__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.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/.claude/settings.local.json +10 -5
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/DOCS.md +67 -1
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/PKG-INFO +2 -23
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/__coconut__/__init__.pyi +3 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/_coconut/__init__.pyi +1 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/__coconut__.pyi +1 -1
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/compiler/compiler.py +218 -129
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/compiler/grammar.py +25 -8
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/compiler/header.py +25 -26
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/compiler/templates/header.py_template +40 -23
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/constants.py +6 -1
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/root.py +1 -1
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/agnostic/primary_1.coco +21 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/agnostic/primary_2.coco +27 -2
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/.claude/CLAUDE.md +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/CONTRIBUTING.md +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/FAQ.md +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/HELP.md +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/LICENSE.txt +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/MANIFEST.in +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/README.rst +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/__coconut__/__init__.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/__coconut__/py.typed +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/_coconut/__init__.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/_coconut/py.typed +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/__coconut__.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/__init__.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/__init__.pyi +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/__main__.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/_pyparsing.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/api.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/api.pyi +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/command/__init__.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/command/__init__.pyi +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/command/cli.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/command/command.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/command/command.pyi +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/command/mypy.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/command/resources/zcoconut.pth +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/command/util.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/command/watch.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/compiler/__init__.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/compiler/matching.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/compiler/util.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/convenience.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/convenience.pyi +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/exceptions.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/highlighter.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/icoconut/__init__.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/icoconut/__main__.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/icoconut/coconut/kernel.json +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/icoconut/coconut_py/kernel.json +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/icoconut/coconut_py2/kernel.json +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/icoconut/coconut_py3/kernel.json +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/icoconut/embed.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/icoconut/root.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/integrations.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/main.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/py.typed +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/requirements.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/terminal.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/__init__.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/__main__.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/constants_test.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/main_test.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/agnostic/__init__.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/agnostic/__main__.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/agnostic/main.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/agnostic/specific.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/agnostic/suite.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/agnostic/tutorial.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/agnostic/util.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/non_strict/non_strict_test.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/target_2/py2_test.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/target_3/py3_test.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/target_311/py311_test.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/target_314/py314_test.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/target_35/py35_test.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/target_36/py36_test.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/target_38/py38_test.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/cocotest/target_sys/target_sys_test.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/extras.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/importable.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/runnable.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/tests/src/runner.coco +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/util.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut_develop.egg-info/SOURCES.txt +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/conf.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/pyproject.toml +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/setup.cfg +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/setup.py +0 -0
- {coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/xontrib/coconut.py +0 -0
{coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/.claude/settings.local.json
RENAMED
|
@@ -13,16 +13,21 @@
|
|
|
13
13
|
"Bash(python3:*)",
|
|
14
14
|
"Bash(gh:*)",
|
|
15
15
|
"Bash(pip:*)",
|
|
16
|
-
"Bash(
|
|
17
|
-
"Bash(
|
|
18
|
-
"Bash(
|
|
19
|
-
"WebFetch(domain:coconut.readthedocs.io)",
|
|
16
|
+
"Bash(log \")",
|
|
17
|
+
"Bash(test:*)",
|
|
18
|
+
"Bash(done)",
|
|
20
19
|
"WebFetch(domain:github.com)",
|
|
20
|
+
"WebFetch(domain:raw.githubusercontent.com)",
|
|
21
|
+
"WebFetch(domain:gist.github.com)",
|
|
22
|
+
"WebFetch(domain:coconut.readthedocs.io)",
|
|
21
23
|
"WebFetch(domain:peps.python.org)",
|
|
22
24
|
"WebFetch(domain:pypi.org)",
|
|
23
25
|
"WebFetch(domain:discuss.python.org)",
|
|
24
26
|
"WebFetch(domain:doc.pypy.org)",
|
|
25
|
-
"
|
|
27
|
+
"Bash(git status:*)",
|
|
28
|
+
"Bash(make test-tests:*)",
|
|
29
|
+
"Bash(conda:*)",
|
|
30
|
+
"Bash(xonsh:*)"
|
|
26
31
|
]
|
|
27
32
|
}
|
|
28
33
|
}
|
|
@@ -1165,7 +1165,7 @@ depth: 1
|
|
|
1165
1165
|
|
|
1166
1166
|
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/).
|
|
1167
1167
|
|
|
1168
|
-
_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),
|
|
1168
|
+
_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), [`match for`](#match-for), and [match comprehensions](#match-comprehensions)._
|
|
1169
1169
|
|
|
1170
1170
|
##### Overview
|
|
1171
1171
|
|
|
@@ -1743,6 +1743,37 @@ async with my_generator() as agen:
|
|
|
1743
1743
|
```
|
|
1744
1744
|
|
|
1745
1745
|
|
|
1746
|
+
### `lazy import`
|
|
1747
|
+
|
|
1748
|
+
Coconut supports [PEP 810](https://peps.python.org/pep-0810/) lazy import syntax on all Python versions. Lazy imports defer module loading until the imported name is first used, rather than executing the import immediately. This can improve startup time and reduce memory usage, especially in modules with large dependency graphs.
|
|
1749
|
+
|
|
1750
|
+
Coconut supports all standard lazy import forms:
|
|
1751
|
+
```coconut
|
|
1752
|
+
lazy import module_name
|
|
1753
|
+
lazy import module_name as alias
|
|
1754
|
+
lazy from module import name
|
|
1755
|
+
lazy from module import name as alias
|
|
1756
|
+
lazy from module import name1, name2
|
|
1757
|
+
```
|
|
1758
|
+
|
|
1759
|
+
When a lazy import is encountered, Coconut creates a proxy object instead of immediately loading the module. The actual import only occurs when the name is first accessed (e.g. by accessing an attribute). Import errors are also deferred—if the module doesn't exist, the `ImportError` will be raised at the point of first use, not at the import statement.
|
|
1760
|
+
|
|
1761
|
+
##### Example
|
|
1762
|
+
|
|
1763
|
+
**Coconut:**
|
|
1764
|
+
```coconut
|
|
1765
|
+
lazy import json
|
|
1766
|
+
lazy from collections import OrderedDict
|
|
1767
|
+
|
|
1768
|
+
# json is not loaded yet
|
|
1769
|
+
data = json.dumps({"key": "value"}) # json is loaded here
|
|
1770
|
+
od = OrderedDict() # collections is loaded here
|
|
1771
|
+
```
|
|
1772
|
+
|
|
1773
|
+
**Python:**
|
|
1774
|
+
_Only supported on Python 3.15+._
|
|
1775
|
+
|
|
1776
|
+
|
|
1746
1777
|
### Handling Keyword/Variable Name Overlap
|
|
1747
1778
|
|
|
1748
1779
|
In Coconut, the following keywords are also valid variable names:
|
|
@@ -2214,6 +2245,41 @@ _General showcase of how the different concatenation operators work using `numpy
|
|
|
2214
2245
|
**Python:** _The equivalent Python array literals can be seen in the printed representations in each example._
|
|
2215
2246
|
|
|
2216
2247
|
|
|
2248
|
+
### Match Comprehensions
|
|
2249
|
+
|
|
2250
|
+
Coconut supports [pattern-matching](#match) in comprehensions, where the pattern is matched against each item in the iterable. The syntax is
|
|
2251
|
+
```coconut
|
|
2252
|
+
[<expr> [match] for <pattern> in <iterable>]
|
|
2253
|
+
```
|
|
2254
|
+
which is equivalent to
|
|
2255
|
+
```coconut
|
|
2256
|
+
[(def (<pattern>) => <expr>)(item) for item in <iterable>]
|
|
2257
|
+
```
|
|
2258
|
+
|
|
2259
|
+
The `match` keyword is optional, just as in [`match for`](#match-for) loops. Match comprehensions work with all comprehension types: list, set, dict, and generator comprehensions. If the pattern does not match an element, a [`MatchError`](#matcherror) is raised.
|
|
2260
|
+
|
|
2261
|
+
##### Example
|
|
2262
|
+
|
|
2263
|
+
**Coconut:**
|
|
2264
|
+
```coconut
|
|
2265
|
+
data Pair(a, b)
|
|
2266
|
+
pairs = [Pair(1, 2), Pair(3, 4)]
|
|
2267
|
+
result = [a + b for Pair(a, b) in pairs]
|
|
2268
|
+
```
|
|
2269
|
+
|
|
2270
|
+
**Python:**
|
|
2271
|
+
```python
|
|
2272
|
+
# using coconut's Pair data type
|
|
2273
|
+
result = []
|
|
2274
|
+
for p in pairs:
|
|
2275
|
+
match p:
|
|
2276
|
+
case Pair(a, b):
|
|
2277
|
+
result.append(a + b)
|
|
2278
|
+
case _:
|
|
2279
|
+
raise MatchError(...)
|
|
2280
|
+
```
|
|
2281
|
+
|
|
2282
|
+
|
|
2217
2283
|
### Lazy Lists
|
|
2218
2284
|
|
|
2219
2285
|
Coconut supports the creation of lazy lists, where the contents in the list will be treated as an iterator and not evaluated until they are needed. Unlike normal iterators, however, lazy lists can be iterated over multiple times and still return the same result. Lazy lists can be created in Coconut simply by surrounding a comma-separated list of items with `(|` and `|)` (so-called "banana brackets") instead of `[` and `]` for a list or `(` and `)` for a tuple.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: coconut-develop
|
|
3
|
-
Version: 3.2.0.post0.
|
|
3
|
+
Version: 3.2.0.post0.dev12
|
|
4
4
|
Summary: Simple, elegant, Pythonic functional programming.
|
|
5
5
|
Home-page: http://coconut-lang.org
|
|
6
6
|
Author: Evan Hubinger
|
|
7
7
|
Author-email: evanjhub@gmail.com
|
|
8
8
|
License: Apache-2.0
|
|
9
|
-
Keywords: functional,programming,language,compiler,pattern,pattern-matching,algebraic,data type,data types,lambda,lambdas,
|
|
9
|
+
Keywords: functional,programming,language,compiler,pattern,pattern-matching,algebraic,data type,data types,lambda,lambdas,evaluation,lazy list,lazy lists,tail,recursion,call,recursive,recursive_iterator,infix,function,composition,compose,partial,application,currying,curry,pipeline,pipe,unicode,operator,operators,frozenset,literal,syntax,destructuring,assignment,fold,datamaker,prepattern,iterator,generator,none,coalesce,coalescing,statement,lru_cache,memoization,backport,typing,embed,PEP 622,overrides,islice,itertools,functools,TYPE_CHECKING,Expected,breakpoint,help,reduce,takewhile,dropwhile,tee,count,makedata,consume,process_map,thread_map,addpattern,recursive_generator,fmap,starmap,reiterable,scan,groupsof,memoize,zip_longest,override,flatten,ident,call,safe_call,flip,const,lift,lift_apart,all_equal,collectby,mapreduce,multi_enumerate,cartesian_product,multiset,cycle,windowsof,and_then,and_then_await,async_map,py_chr,py_dict,py_hex,py_input,py_int,py_map,py_object,py_oct,py_open,py_print,py_range,py_str,py_super,py_zip,py_filter,py_reversed,py_enumerate,py_raw_input,py_xrange,py_repr,py_breakpoint,py_min,py_max,_namedtuple_of,reveal_type,reveal_locals,MatchError,CoconutWarning,__fmap__,__iter_getitem__,data,match,case,cases,where,final,addpattern,then,operator,type,copyclosure,lazy,λ
|
|
10
10
|
Classifier: Development Status :: 5 - Production/Stable
|
|
11
11
|
Classifier: Intended Audience :: Developers
|
|
12
12
|
Classifier: Topic :: Software Development
|
|
@@ -220,27 +220,6 @@ Requires-Dist: pytest>=7; (python_version >= "3.6" and python_version < "3.8") a
|
|
|
220
220
|
Requires-Dist: pytest<8.1,>=8.0; python_version >= "3.8" and extra == "tests"
|
|
221
221
|
Requires-Dist: pexpect>=4; extra == "tests"
|
|
222
222
|
Requires-Dist: pytest_remotedata>=0.3; extra == "tests"
|
|
223
|
-
Requires-Dist: ipython>=5.4; python_version < "3" and extra == "tests"
|
|
224
|
-
Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "tests"
|
|
225
|
-
Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "tests"
|
|
226
|
-
Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "tests"
|
|
227
|
-
Requires-Dist: ipython>=8.18; (python_version >= "3.9" and python_version < "3.11") and extra == "tests"
|
|
228
|
-
Requires-Dist: ipython>=9; python_version >= "3.11" and extra == "tests"
|
|
229
|
-
Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "tests"
|
|
230
|
-
Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "tests"
|
|
231
|
-
Requires-Dist: ipykernel>=6; (python_version >= "3.8" and python_version < "3.10") and extra == "tests"
|
|
232
|
-
Requires-Dist: ipykernel>=7; python_version >= "3.10" and extra == "tests"
|
|
233
|
-
Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "tests"
|
|
234
|
-
Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "tests"
|
|
235
|
-
Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "tests"
|
|
236
|
-
Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "tests"
|
|
237
|
-
Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "tests"
|
|
238
|
-
Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "tests"
|
|
239
|
-
Requires-Dist: jupyter>=1.1; extra == "tests"
|
|
240
|
-
Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "tests"
|
|
241
|
-
Requires-Dist: jupyter-console>=6.1; (python_version >= "3.5" and python_version < "3.7") and extra == "tests"
|
|
242
|
-
Requires-Dist: jupyter-console>=6.6; python_version >= "3.7" and extra == "tests"
|
|
243
|
-
Requires-Dist: papermill>=1.2; extra == "tests"
|
|
244
223
|
Provides-Extra: dev
|
|
245
224
|
Requires-Dist: ipython>=5.4; python_version < "3" and extra == "dev"
|
|
246
225
|
Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "dev"
|
{coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/__coconut__/__init__.pyi
RENAMED
|
@@ -89,6 +89,9 @@ try:
|
|
|
89
89
|
except ImportError:
|
|
90
90
|
def _deprecated(message: _t.Text) -> _t.Callable[[_T], _T]: ... # type: ignore
|
|
91
91
|
|
|
92
|
+
import importlib as _importlib
|
|
93
|
+
_coconut_lazy_module = _importlib.import_module
|
|
94
|
+
|
|
92
95
|
import _coconut as __coconut # we mock _coconut as a package since mypy doesn't handle namespace classes very well
|
|
93
96
|
_coconut = __coconut
|
|
94
97
|
|
{coconut_develop-3.2.0.post0.dev9 → coconut_develop-3.2.0.post0.dev12}/coconut/__coconut__.pyi
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
from __coconut__ import *
|
|
2
|
-
from __coconut__ import _coconut_tail_call, _coconut_tco, _coconut_call_set_names, _coconut_handle_cls_kwargs, _coconut_handle_cls_stargs, _namedtuple_of, _coconut, _coconut_Expected, _coconut_MatchError, _coconut_SupportsAdd, _coconut_SupportsMinus, _coconut_SupportsMul, _coconut_SupportsPow, _coconut_SupportsTruediv, _coconut_SupportsFloordiv, _coconut_SupportsMod, _coconut_SupportsAnd, _coconut_SupportsXor, _coconut_SupportsOr, _coconut_SupportsLshift, _coconut_SupportsRshift, _coconut_SupportsMatmul, _coconut_SupportsInv, _coconut_Expected, _coconut_MatchError, _coconut_iter_getitem, _coconut_base_compose, _coconut_forward_compose, _coconut_back_compose, _coconut_forward_star_compose, _coconut_back_star_compose, _coconut_forward_dubstar_compose, _coconut_back_dubstar_compose, _coconut_pipe, _coconut_star_pipe, _coconut_dubstar_pipe, _coconut_back_pipe, _coconut_back_star_pipe, _coconut_back_dubstar_pipe, _coconut_none_pipe, _coconut_none_star_pipe, _coconut_none_dubstar_pipe, _coconut_bool_and, _coconut_bool_or, _coconut_none_coalesce, _coconut_minus, _coconut_map, _coconut_partial, _coconut_complex_partial, _coconut_get_function_match_error, _coconut_base_pattern_func, _coconut_addpattern, _coconut_sentinel, _coconut_assert, _coconut_raise, _coconut_mark_as_match, _coconut_reiterable, _coconut_self_match_types, _coconut_dict_merge, _coconut_exec, _coconut_comma_op, _coconut_arr_concat_op, _coconut_mk_anon_namedtuple, _coconut_matmul, _coconut_py_str, _coconut_flatten, _coconut_multiset, _coconut_back_none_pipe, _coconut_back_none_star_pipe, _coconut_back_none_dubstar_pipe, _coconut_forward_none_compose, _coconut_back_none_compose, _coconut_forward_none_star_compose, _coconut_back_none_star_compose, _coconut_forward_none_dubstar_compose, _coconut_back_none_dubstar_compose, _coconut_call_or_coefficient, _coconut_in, _coconut_not_in, _coconut_attritemgetter, _coconut_if_op, _coconut_CoconutWarning
|
|
2
|
+
from __coconut__ import _coconut_tail_call, _coconut_tco, _coconut_call_set_names, _coconut_handle_cls_kwargs, _coconut_handle_cls_stargs, _namedtuple_of, _coconut, _coconut_Expected, _coconut_MatchError, _coconut_SupportsAdd, _coconut_SupportsMinus, _coconut_SupportsMul, _coconut_SupportsPow, _coconut_SupportsTruediv, _coconut_SupportsFloordiv, _coconut_SupportsMod, _coconut_SupportsAnd, _coconut_SupportsXor, _coconut_SupportsOr, _coconut_SupportsLshift, _coconut_SupportsRshift, _coconut_SupportsMatmul, _coconut_SupportsInv, _coconut_Expected, _coconut_MatchError, _coconut_iter_getitem, _coconut_base_compose, _coconut_forward_compose, _coconut_back_compose, _coconut_forward_star_compose, _coconut_back_star_compose, _coconut_forward_dubstar_compose, _coconut_back_dubstar_compose, _coconut_pipe, _coconut_star_pipe, _coconut_dubstar_pipe, _coconut_back_pipe, _coconut_back_star_pipe, _coconut_back_dubstar_pipe, _coconut_none_pipe, _coconut_none_star_pipe, _coconut_none_dubstar_pipe, _coconut_bool_and, _coconut_bool_or, _coconut_none_coalesce, _coconut_minus, _coconut_map, _coconut_partial, _coconut_complex_partial, _coconut_get_function_match_error, _coconut_base_pattern_func, _coconut_addpattern, _coconut_sentinel, _coconut_assert, _coconut_raise, _coconut_mark_as_match, _coconut_reiterable, _coconut_self_match_types, _coconut_dict_merge, _coconut_exec, _coconut_comma_op, _coconut_arr_concat_op, _coconut_mk_anon_namedtuple, _coconut_matmul, _coconut_py_str, _coconut_flatten, _coconut_multiset, _coconut_back_none_pipe, _coconut_back_none_star_pipe, _coconut_back_none_dubstar_pipe, _coconut_forward_none_compose, _coconut_back_none_compose, _coconut_forward_none_star_compose, _coconut_back_none_star_compose, _coconut_forward_none_dubstar_compose, _coconut_back_none_dubstar_compose, _coconut_call_or_coefficient, _coconut_in, _coconut_not_in, _coconut_attritemgetter, _coconut_if_op, _coconut_CoconutWarning, _coconut_lazy_module
|