coconut-develop 3.1.2.post0.dev4__tar.gz → 3.1.2.post0.dev6__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.
Files changed (90) hide show
  1. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/DOCS.md +0 -1
  2. coconut_develop-3.1.2.post0.dev6/PKG-INFO +394 -0
  3. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/api.py +6 -3
  4. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/compiler/compiler.py +2 -1
  5. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/root.py +1 -1
  6. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/main_test.py +13 -4
  7. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/extras.coco +0 -1
  8. coconut-develop-3.1.2.post0.dev4/PKG-INFO +0 -141
  9. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/CONTRIBUTING.md +0 -0
  10. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/FAQ.md +0 -0
  11. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/HELP.md +0 -0
  12. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/LICENSE.txt +0 -0
  13. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/MANIFEST.in +0 -0
  14. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/README.rst +0 -0
  15. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/__coconut__/__init__.py +0 -0
  16. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/__coconut__/__init__.pyi +0 -0
  17. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/__coconut__/py.typed +0 -0
  18. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/_coconut/__init__.py +0 -0
  19. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/_coconut/__init__.pyi +0 -0
  20. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/_coconut/py.typed +0 -0
  21. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/__coconut__.py +0 -0
  22. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/__coconut__.pyi +0 -0
  23. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/__init__.py +0 -0
  24. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/__init__.pyi +0 -0
  25. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/__main__.py +0 -0
  26. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/_pyparsing.py +0 -0
  27. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/api.pyi +0 -0
  28. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/command/__init__.py +0 -0
  29. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/command/__init__.pyi +0 -0
  30. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/command/cli.py +0 -0
  31. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/command/command.py +0 -0
  32. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/command/command.pyi +0 -0
  33. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/command/mypy.py +0 -0
  34. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/command/resources/zcoconut.pth +0 -0
  35. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/command/util.py +0 -0
  36. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/command/watch.py +0 -0
  37. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/compiler/__init__.py +0 -0
  38. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/compiler/grammar.py +0 -0
  39. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/compiler/header.py +0 -0
  40. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/compiler/matching.py +0 -0
  41. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/compiler/templates/header.py_template +0 -0
  42. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/compiler/util.py +0 -0
  43. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/constants.py +0 -0
  44. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/convenience.py +0 -0
  45. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/convenience.pyi +0 -0
  46. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/exceptions.py +0 -0
  47. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/highlighter.py +0 -0
  48. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/icoconut/__init__.py +0 -0
  49. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/icoconut/__main__.py +0 -0
  50. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/icoconut/coconut/kernel.json +0 -0
  51. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/icoconut/coconut_py/kernel.json +0 -0
  52. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/icoconut/coconut_py2/kernel.json +0 -0
  53. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/icoconut/coconut_py3/kernel.json +0 -0
  54. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/icoconut/embed.py +0 -0
  55. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/icoconut/root.py +0 -0
  56. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/integrations.py +0 -0
  57. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/main.py +0 -0
  58. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/py.typed +0 -0
  59. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/requirements.py +0 -0
  60. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/terminal.py +0 -0
  61. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/__init__.py +0 -0
  62. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/__main__.py +0 -0
  63. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/constants_test.py +0 -0
  64. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/agnostic/__init__.coco +0 -0
  65. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/agnostic/__main__.coco +0 -0
  66. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/agnostic/main.coco +0 -0
  67. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/agnostic/primary_1.coco +0 -0
  68. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/agnostic/primary_2.coco +0 -0
  69. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/agnostic/specific.coco +0 -0
  70. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/agnostic/suite.coco +0 -0
  71. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/agnostic/tutorial.coco +0 -0
  72. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/agnostic/util.coco +0 -0
  73. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/non_strict/non_strict_test.coco +0 -0
  74. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/target_2/py2_test.coco +0 -0
  75. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/target_3/py3_test.coco +0 -0
  76. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/target_311/py311_test.coco +0 -0
  77. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/target_35/py35_test.coco +0 -0
  78. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/target_36/py36_test.coco +0 -0
  79. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/target_38/py38_test.coco +0 -0
  80. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/cocotest/target_sys/target_sys_test.coco +0 -0
  81. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/importable.coco +0 -0
  82. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/runnable.coco +0 -0
  83. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/tests/src/runner.coco +0 -0
  84. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut/util.py +0 -0
  85. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/coconut_develop.egg-info/SOURCES.txt +0 -0
  86. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/conf.py +0 -0
  87. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/pyproject.toml +0 -0
  88. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/setup.cfg +0 -0
  89. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/setup.py +0 -0
  90. {coconut-develop-3.1.2.post0.dev4 → coconut_develop-3.1.2.post0.dev6}/xontrib/coconut.py +0 -0
@@ -341,7 +341,6 @@ The style issues which will cause `--strict` to throw an error are:
341
341
  - use of `"hello" "world"` implicit string concatenation (use explicit `+` instead)
342
342
  - use of `from __future__` imports (Coconut does these automatically)
343
343
  - inheriting from `object` in classes (Coconut does this automatically)
344
- - semicolons at end of lines
345
344
  - use of `u` to denote Unicode strings (all Coconut strings are Unicode strings)
346
345
  - `f`-strings with no format expressions in them
347
346
  - commas after [statement lambdas](#statement-lambdas) (not recommended as it can be unclear whether the comma is inside or outside the lambda)
@@ -0,0 +1,394 @@
1
+ Metadata-Version: 2.1
2
+ Name: coconut-develop
3
+ Version: 3.1.2.post0.dev6
4
+ Summary: Simple, elegant, Pythonic functional programming.
5
+ Home-page: http://coconut-lang.org
6
+ Author: Evan Hubinger
7
+ Author-email: evanjhub@gmail.com
8
+ License: Apache 2.0
9
+ Keywords: functional,programming,language,compiler,pattern,pattern-matching,algebraic,data type,data types,lambda,lambdas,lazy,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,addpattern,then,operator,type,copyclosure,λ
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: License :: OSI Approved :: Apache Software License
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Topic :: Software Development
14
+ Classifier: Topic :: Software Development :: Code Generators
15
+ Classifier: Topic :: Software Development :: Compilers
16
+ Classifier: Topic :: Software Development :: Interpreters
17
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
+ Classifier: Topic :: Utilities
19
+ Classifier: Environment :: Console
20
+ Classifier: Operating System :: OS Independent
21
+ Classifier: Programming Language :: Python
22
+ Classifier: Programming Language :: Python :: 2
23
+ Classifier: Programming Language :: Python :: 2.6
24
+ Classifier: Programming Language :: Python :: 2.7
25
+ Classifier: Programming Language :: Python :: 3
26
+ Classifier: Programming Language :: Python :: 3.2
27
+ Classifier: Programming Language :: Python :: 3.3
28
+ Classifier: Programming Language :: Python :: 3.4
29
+ Classifier: Programming Language :: Python :: 3.5
30
+ Classifier: Programming Language :: Python :: 3.6
31
+ Classifier: Programming Language :: Python :: 3.7
32
+ Classifier: Programming Language :: Python :: 3.8
33
+ Classifier: Programming Language :: Python :: 3.9
34
+ Classifier: Programming Language :: Python :: 3.10
35
+ Classifier: Programming Language :: Python :: 3.11
36
+ Classifier: Programming Language :: Python :: 3.12
37
+ Classifier: Programming Language :: Other
38
+ Classifier: Programming Language :: Other Scripting Engines
39
+ Classifier: Programming Language :: Python :: Implementation :: CPython
40
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
41
+ Classifier: Framework :: IPython
42
+ Classifier: Framework :: Jupyter
43
+ Classifier: Typing :: Typed
44
+ License-File: LICENSE.txt
45
+ Requires-Dist: setuptools>=44
46
+ Provides-Extra: kernel
47
+ Requires-Dist: ipython>=5.4; python_version < "3" and extra == "kernel"
48
+ Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "kernel"
49
+ Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "kernel"
50
+ Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "kernel"
51
+ Requires-Dist: ipython>=8.18; (python_version >= "3.9" and python_version < "3.10") and extra == "kernel"
52
+ Requires-Dist: ipython>=8.27; python_version >= "3.10" and extra == "kernel"
53
+ Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "kernel"
54
+ Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "kernel"
55
+ Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "kernel"
56
+ Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "kernel"
57
+ Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "kernel"
58
+ Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "kernel"
59
+ Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "kernel"
60
+ Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "kernel"
61
+ Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "kernel"
62
+ Provides-Extra: watch
63
+ Requires-Dist: watchdog>=0.10; extra == "watch"
64
+ Provides-Extra: mypy
65
+ Requires-Dist: mypy[python2]>=1.11; extra == "mypy"
66
+ Requires-Dist: types-backports>=0.1; extra == "mypy"
67
+ Requires-Dist: typing>=3.10; python_version < "3.5" and extra == "mypy"
68
+ Provides-Extra: pyright
69
+ Requires-Dist: pyright>=1.1; extra == "pyright"
70
+ Requires-Dist: types-backports>=0.1; extra == "pyright"
71
+ Requires-Dist: typing>=3.10; python_version < "3.5" and extra == "pyright"
72
+ Provides-Extra: xonsh
73
+ Requires-Dist: xonsh>=0.9; python_version < "3.6" and extra == "xonsh"
74
+ Requires-Dist: xonsh>=0.11; (python_version >= "3.6" and python_version < "3.9") and extra == "xonsh"
75
+ Requires-Dist: xonsh>=0.18; python_version >= "3.9" and extra == "xonsh"
76
+ Provides-Extra: numpy
77
+ Requires-Dist: numpy>=1.16; (python_version < "3" and platform_python_implementation == "CPython") and extra == "numpy"
78
+ Requires-Dist: numpy>=1.18; (python_version >= "3.4" and python_version < "3.9") and extra == "numpy"
79
+ Requires-Dist: numpy>=1.26; python_version >= "3.9" and extra == "numpy"
80
+ Requires-Dist: pandas>=1.1; python_version >= "3.6" and extra == "numpy"
81
+ Requires-Dist: xarray>=2024; python_version >= "3.9" and extra == "numpy"
82
+ Provides-Extra: jupyter
83
+ Requires-Dist: ipython>=5.4; python_version < "3" and extra == "jupyter"
84
+ Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "jupyter"
85
+ Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "jupyter"
86
+ Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "jupyter"
87
+ Requires-Dist: ipython>=8.18; (python_version >= "3.9" and python_version < "3.10") and extra == "jupyter"
88
+ Requires-Dist: ipython>=8.27; python_version >= "3.10" and extra == "jupyter"
89
+ Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "jupyter"
90
+ Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "jupyter"
91
+ Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "jupyter"
92
+ Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "jupyter"
93
+ Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "jupyter"
94
+ Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "jupyter"
95
+ Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "jupyter"
96
+ Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "jupyter"
97
+ Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "jupyter"
98
+ Requires-Dist: jupyter>=1.1; extra == "jupyter"
99
+ Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "jupyter"
100
+ Requires-Dist: jupyter-console>=6.1; (python_version >= "3.5" and python_version < "3.7") and extra == "jupyter"
101
+ Requires-Dist: jupyter-console>=6.6; python_version >= "3.7" and extra == "jupyter"
102
+ Requires-Dist: papermill>=1.2; extra == "jupyter"
103
+ Provides-Extra: jupyterlab
104
+ Requires-Dist: ipython>=5.4; python_version < "3" and extra == "jupyterlab"
105
+ Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "jupyterlab"
106
+ Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "jupyterlab"
107
+ Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "jupyterlab"
108
+ Requires-Dist: ipython>=8.18; (python_version >= "3.9" and python_version < "3.10") and extra == "jupyterlab"
109
+ Requires-Dist: ipython>=8.27; python_version >= "3.10" and extra == "jupyterlab"
110
+ Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "jupyterlab"
111
+ Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "jupyterlab"
112
+ Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "jupyterlab"
113
+ Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "jupyterlab"
114
+ Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "jupyterlab"
115
+ Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "jupyterlab"
116
+ Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "jupyterlab"
117
+ Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "jupyterlab"
118
+ Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "jupyterlab"
119
+ Requires-Dist: jupyter>=1.1; extra == "jupyterlab"
120
+ Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "jupyterlab"
121
+ Requires-Dist: jupyter-console>=6.1; (python_version >= "3.5" and python_version < "3.7") and extra == "jupyterlab"
122
+ Requires-Dist: jupyter-console>=6.6; python_version >= "3.7" and extra == "jupyterlab"
123
+ Requires-Dist: papermill>=1.2; extra == "jupyterlab"
124
+ Requires-Dist: jupyterlab>=2.2; python_version >= "3.5" and extra == "jupyterlab"
125
+ Provides-Extra: jupytext
126
+ Requires-Dist: ipython>=5.4; python_version < "3" and extra == "jupytext"
127
+ Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "jupytext"
128
+ Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "jupytext"
129
+ Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "jupytext"
130
+ Requires-Dist: ipython>=8.18; (python_version >= "3.9" and python_version < "3.10") and extra == "jupytext"
131
+ Requires-Dist: ipython>=8.27; python_version >= "3.10" and extra == "jupytext"
132
+ Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "jupytext"
133
+ Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "jupytext"
134
+ Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "jupytext"
135
+ Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "jupytext"
136
+ Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "jupytext"
137
+ Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "jupytext"
138
+ Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "jupytext"
139
+ Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "jupytext"
140
+ Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "jupytext"
141
+ Requires-Dist: jupyter>=1.1; extra == "jupytext"
142
+ Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "jupytext"
143
+ Requires-Dist: jupyter-console>=6.1; (python_version >= "3.5" and python_version < "3.7") and extra == "jupytext"
144
+ Requires-Dist: jupyter-console>=6.6; python_version >= "3.7" and extra == "jupytext"
145
+ Requires-Dist: papermill>=1.2; extra == "jupytext"
146
+ Requires-Dist: jupytext>=1.8; python_version >= "3" and extra == "jupytext"
147
+ Provides-Extra: all
148
+ Requires-Dist: ipython>=5.4; python_version < "3" and extra == "all"
149
+ Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "all"
150
+ Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "all"
151
+ Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "all"
152
+ Requires-Dist: ipython>=8.18; (python_version >= "3.9" and python_version < "3.10") and extra == "all"
153
+ Requires-Dist: ipython>=8.27; python_version >= "3.10" and extra == "all"
154
+ Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "all"
155
+ Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "all"
156
+ Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "all"
157
+ Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "all"
158
+ Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "all"
159
+ Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "all"
160
+ Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "all"
161
+ Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "all"
162
+ Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "all"
163
+ Requires-Dist: watchdog>=0.10; extra == "all"
164
+ Requires-Dist: mypy[python2]>=1.11; extra == "all"
165
+ Requires-Dist: types-backports>=0.1; extra == "all"
166
+ Requires-Dist: typing>=3.10; python_version < "3.5" and extra == "all"
167
+ Requires-Dist: pyright>=1.1; extra == "all"
168
+ Requires-Dist: xonsh>=0.9; python_version < "3.6" and extra == "all"
169
+ Requires-Dist: xonsh>=0.11; (python_version >= "3.6" and python_version < "3.9") and extra == "all"
170
+ Requires-Dist: xonsh>=0.18; python_version >= "3.9" and extra == "all"
171
+ Requires-Dist: numpy>=1.16; (python_version < "3" and platform_python_implementation == "CPython") and extra == "all"
172
+ Requires-Dist: numpy>=1.18; (python_version >= "3.4" and python_version < "3.9") and extra == "all"
173
+ Requires-Dist: numpy>=1.26; python_version >= "3.9" and extra == "all"
174
+ Requires-Dist: pandas>=1.1; python_version >= "3.6" and extra == "all"
175
+ Requires-Dist: xarray>=2024; python_version >= "3.9" and extra == "all"
176
+ Requires-Dist: jupyter>=1.1; extra == "all"
177
+ Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "all"
178
+ Requires-Dist: jupyter-console>=6.1; (python_version >= "3.5" and python_version < "3.7") and extra == "all"
179
+ Requires-Dist: jupyter-console>=6.6; python_version >= "3.7" and extra == "all"
180
+ Requires-Dist: papermill>=1.2; extra == "all"
181
+ Requires-Dist: jupyterlab>=2.2; python_version >= "3.5" and extra == "all"
182
+ Requires-Dist: jupytext>=1.8; python_version >= "3" and extra == "all"
183
+ Provides-Extra: ipython
184
+ Requires-Dist: ipython>=5.4; python_version < "3" and extra == "ipython"
185
+ Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "ipython"
186
+ Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "ipython"
187
+ Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "ipython"
188
+ Requires-Dist: ipython>=8.18; (python_version >= "3.9" and python_version < "3.10") and extra == "ipython"
189
+ Requires-Dist: ipython>=8.27; python_version >= "3.10" and extra == "ipython"
190
+ Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "ipython"
191
+ Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "ipython"
192
+ Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "ipython"
193
+ Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "ipython"
194
+ Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "ipython"
195
+ Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "ipython"
196
+ Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "ipython"
197
+ Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "ipython"
198
+ Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "ipython"
199
+ Requires-Dist: jupyter>=1.1; extra == "ipython"
200
+ Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "ipython"
201
+ Requires-Dist: jupyter-console>=6.1; (python_version >= "3.5" and python_version < "3.7") and extra == "ipython"
202
+ Requires-Dist: jupyter-console>=6.6; python_version >= "3.7" and extra == "ipython"
203
+ Requires-Dist: papermill>=1.2; extra == "ipython"
204
+ Provides-Extra: docs
205
+ Requires-Dist: sphinx>=8; extra == "docs"
206
+ Requires-Dist: pygments>=2.3; python_version < "3.9" and extra == "docs"
207
+ Requires-Dist: pygments>=2.18; python_version >= "3.9" and extra == "docs"
208
+ Requires-Dist: myst-parser>=4; extra == "docs"
209
+ Requires-Dist: pydata-sphinx-theme>=0.15; extra == "docs"
210
+ Requires-Dist: sphinxcontrib_applehelp>=2; extra == "docs"
211
+ Requires-Dist: sphinxcontrib_htmlhelp>=2; extra == "docs"
212
+ Provides-Extra: tests
213
+ Requires-Dist: pytest>=3; python_version < "3.6" and extra == "tests"
214
+ Requires-Dist: pytest>=7; (python_version >= "3.6" and python_version < "3.8") and extra == "tests"
215
+ Requires-Dist: pytest<8.1,>=8.0; python_version >= "3.8" and extra == "tests"
216
+ Requires-Dist: pexpect>=4; extra == "tests"
217
+ Requires-Dist: pytest_remotedata>=0.3; extra == "tests"
218
+ Requires-Dist: ipython>=5.4; python_version < "3" and extra == "tests"
219
+ Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "tests"
220
+ Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "tests"
221
+ Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "tests"
222
+ Requires-Dist: ipython>=8.18; (python_version >= "3.9" and python_version < "3.10") and extra == "tests"
223
+ Requires-Dist: ipython>=8.27; python_version >= "3.10" and extra == "tests"
224
+ Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "tests"
225
+ Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "tests"
226
+ Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "tests"
227
+ Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "tests"
228
+ Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "tests"
229
+ Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "tests"
230
+ Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "tests"
231
+ Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "tests"
232
+ Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "tests"
233
+ Requires-Dist: jupyter>=1.1; extra == "tests"
234
+ Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "tests"
235
+ Requires-Dist: jupyter-console>=6.1; (python_version >= "3.5" and python_version < "3.7") and extra == "tests"
236
+ Requires-Dist: jupyter-console>=6.6; python_version >= "3.7" and extra == "tests"
237
+ Requires-Dist: papermill>=1.2; extra == "tests"
238
+ Provides-Extra: dev
239
+ Requires-Dist: ipython>=5.4; python_version < "3" and extra == "dev"
240
+ Requires-Dist: ipython<7.10,>=7.9; (python_version >= "3" and python_version < "3.7") and extra == "dev"
241
+ Requires-Dist: ipython>=7.34; (python_version >= "3.7" and python_version < "3.8") and extra == "dev"
242
+ Requires-Dist: ipython>=8.12; (python_version >= "3.8" and python_version < "3.9") and extra == "dev"
243
+ Requires-Dist: ipython>=8.18; (python_version >= "3.9" and python_version < "3.10") and extra == "dev"
244
+ Requires-Dist: ipython>=8.27; python_version >= "3.10" and extra == "dev"
245
+ Requires-Dist: ipykernel>=4.10; python_version < "3" and extra == "dev"
246
+ Requires-Dist: ipykernel>=5.5; (python_version >= "3" and python_version < "3.8") and extra == "dev"
247
+ Requires-Dist: ipykernel>=6; python_version >= "3.8" and extra == "dev"
248
+ Requires-Dist: jupyter-client>=5.3; python_version < "3.5" and extra == "dev"
249
+ Requires-Dist: jupyter-client<6.1.13,>=6.1.12; (python_version >= "3.5" and python_version < "3.6") and extra == "dev"
250
+ Requires-Dist: jupyter-client>=7.1.2; python_version >= "3.6" and extra == "dev"
251
+ Requires-Dist: jedi<0.18,>=0.17; python_version < "3.9" and extra == "dev"
252
+ Requires-Dist: jedi>=0.19; python_version >= "3.9" and extra == "dev"
253
+ Requires-Dist: pywinpty<0.6,>=0.5; (python_version < "3" and os_name == "nt") and extra == "dev"
254
+ Requires-Dist: watchdog>=0.10; extra == "dev"
255
+ Requires-Dist: mypy[python2]>=1.11; extra == "dev"
256
+ Requires-Dist: types-backports>=0.1; extra == "dev"
257
+ Requires-Dist: typing>=3.10; python_version < "3.5" and extra == "dev"
258
+ Requires-Dist: pyright>=1.1; extra == "dev"
259
+ Requires-Dist: xonsh>=0.9; python_version < "3.6" and extra == "dev"
260
+ Requires-Dist: xonsh>=0.11; (python_version >= "3.6" and python_version < "3.9") and extra == "dev"
261
+ Requires-Dist: xonsh>=0.18; python_version >= "3.9" and extra == "dev"
262
+ Requires-Dist: numpy>=1.16; (python_version < "3" and platform_python_implementation == "CPython") and extra == "dev"
263
+ Requires-Dist: numpy>=1.18; (python_version >= "3.4" and python_version < "3.9") and extra == "dev"
264
+ Requires-Dist: numpy>=1.26; python_version >= "3.9" and extra == "dev"
265
+ Requires-Dist: pandas>=1.1; python_version >= "3.6" and extra == "dev"
266
+ Requires-Dist: xarray>=2024; python_version >= "3.9" and extra == "dev"
267
+ Requires-Dist: jupyter>=1.1; extra == "dev"
268
+ Requires-Dist: jupyter-console>=5.2; python_version < "3.5" and extra == "dev"
269
+ Requires-Dist: jupyter-console>=6.1; (python_version >= "3.5" and python_version < "3.7") and extra == "dev"
270
+ Requires-Dist: jupyter-console>=6.6; python_version >= "3.7" and extra == "dev"
271
+ Requires-Dist: papermill>=1.2; extra == "dev"
272
+ Requires-Dist: jupyterlab>=2.2; python_version >= "3.5" and extra == "dev"
273
+ Requires-Dist: jupytext>=1.8; python_version >= "3" and extra == "dev"
274
+ Requires-Dist: sphinx>=8; extra == "dev"
275
+ Requires-Dist: pygments>=2.3; python_version < "3.9" and extra == "dev"
276
+ Requires-Dist: pygments>=2.18; python_version >= "3.9" and extra == "dev"
277
+ Requires-Dist: myst-parser>=4; extra == "dev"
278
+ Requires-Dist: pydata-sphinx-theme>=0.15; extra == "dev"
279
+ Requires-Dist: sphinxcontrib_applehelp>=2; extra == "dev"
280
+ Requires-Dist: sphinxcontrib_htmlhelp>=2; extra == "dev"
281
+ Requires-Dist: pytest>=3; python_version < "3.6" and extra == "dev"
282
+ Requires-Dist: pytest>=7; (python_version >= "3.6" and python_version < "3.8") and extra == "dev"
283
+ Requires-Dist: pytest<8.1,>=8.0; python_version >= "3.8" and extra == "dev"
284
+ Requires-Dist: pexpect>=4; extra == "dev"
285
+ Requires-Dist: pytest_remotedata>=0.3; extra == "dev"
286
+ Requires-Dist: pyparsing<2.4.8,>=2.4.7; extra == "dev"
287
+ Requires-Dist: pre-commit>=3; python_version >= "3" and extra == "dev"
288
+ Requires-Dist: requests>=2.32; extra == "dev"
289
+ Requires-Dist: vprof>=0.36; extra == "dev"
290
+ Requires-Dist: py-spy>=0.3; extra == "dev"
291
+ Requires-Dist: argparse>=1.4; python_version < "2.7"
292
+ Requires-Dist: psutil>=6; python_version >= "2.7"
293
+ Requires-Dist: futures>=3.4; python_version < "3"
294
+ Requires-Dist: backports.functools-lru-cache>=1.6; python_version < "3"
295
+ Requires-Dist: prompt_toolkit<2,>=1; python_version < "3"
296
+ Requires-Dist: prompt_toolkit>=1; python_version >= "3"
297
+ Requires-Dist: pygments>=2.3; python_version < "3.9"
298
+ Requires-Dist: pygments>=2.18; python_version >= "3.9"
299
+ Requires-Dist: typing_extensions>=3.10; python_version < "3.6"
300
+ Requires-Dist: typing_extensions>=4.1; python_version >= "3.6" and python_version < "3.7"
301
+ Requires-Dist: dataclasses>=0.8; python_version >= "3.6" and python_version < "3.7"
302
+ Requires-Dist: typing_extensions>=4.7; python_version >= "3.7" and python_version < "3.8"
303
+ Requires-Dist: typing_extensions>=4.12; python_version >= "3.8"
304
+ Requires-Dist: trollius>=2.2; python_version < "3" and platform_python_implementation == "CPython"
305
+ Requires-Dist: aenum>=3.1.15; python_version < "3.4"
306
+ Requires-Dist: typing>=3.10; python_version < "3.5"
307
+ Requires-Dist: async_generator>=1.10; python_version >= "3.5"
308
+ Requires-Dist: exceptiongroup>=1; python_version >= "3.7" and python_version < "3.11"
309
+ Requires-Dist: anyio>=3; python_version >= "3.6"
310
+ Requires-Dist: cPyparsing<2.4.7.2.5,>=2.4.7.2.4.1; platform_python_implementation == "CPython"
311
+ Requires-Dist: pyparsing<2.4.8,>=2.4.7; platform_python_implementation != "CPython"
312
+
313
+ |logo| Coconut
314
+ ==============
315
+
316
+ ..
317
+ <insert toctree here>
318
+
319
+ .. |logo| image:: https://github.com/evhub/coconut/raw/gh-pages/favicon-32x32.png
320
+
321
+ .. image:: https://opencollective.com/coconut/backers/badge.svg
322
+ :alt: Backers on Open Collective
323
+ :target: #backers
324
+ .. image:: https://opencollective.com/coconut/sponsors/badge.svg
325
+ :alt: Sponsors on Open Collective
326
+ :target: #sponsors
327
+ .. image:: https://badges.gitter.im/evhub/coconut.svg
328
+ :alt: Join the chat at https://gitter.im/evhub/coconut
329
+ :target: https://gitter.im/evhub/coconut?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
330
+
331
+ Coconut (`coconut-lang.org`__) is a variant of Python_ that **adds on top of Python syntax** new features for simple, elegant, Pythonic **functional programming**.
332
+
333
+ __ Coconut_
334
+ .. _Coconut: http://coconut-lang.org/
335
+
336
+ Coconut is developed on GitHub_ and hosted on PyPI_. Installing Coconut is as easy as opening a command prompt and entering::
337
+
338
+ pip install coconut
339
+
340
+ To help you get started, check out these links for more information about Coconut:
341
+
342
+ - Tutorial_: If you're new to Coconut, a good place to start is Coconut's **tutorial**.
343
+ - Documentation_: If you're looking for info about a specific feature, check out Coconut's **documentation**.
344
+ - `Online Interpreter`_: If you want to try Coconut in your browser, check out Coconut's **online interpreter**.
345
+ - FAQ_: If you have general questions about Coconut—like who Coconut is built for and whether or not you should use it—Coconut's frequently asked questions are often the best place to start.
346
+ - `Create a New Issue <https://github.com/evhub/coconut/issues/new>`_: If you're having a problem with Coconut, creating a new issue detailing the problem will allow it to be addressed as soon as possible.
347
+ - Gitter_: For any questions, concerns, or comments about anything Coconut-related, ask around at Coconut's Gitter, a GitHub-integrated chat room for Coconut developers.
348
+ - Releases_: Want to know what's been added in recent Coconut versions? Check out the release log for all the new features and fixes.
349
+
350
+ .. _Python: https://www.python.org/
351
+ .. _PyPI: https://pypi.python.org/pypi/coconut
352
+ .. _Tutorial: http://coconut.readthedocs.io/en/latest/HELP.html
353
+ .. _Documentation: http://coconut.readthedocs.io/en/latest/DOCS.html
354
+ .. _`Online Interpreter`: https://cs121-team-panda.github.io/coconut-interpreter
355
+ .. _FAQ: http://coconut.readthedocs.io/en/latest/FAQ.html
356
+ .. _GitHub: https://github.com/evhub/coconut
357
+ .. _Gitter: https://gitter.im/evhub/coconut
358
+ .. _Releases: https://github.com/evhub/coconut/releases
359
+
360
+ Credits
361
+ +++++++
362
+
363
+ Contributors
364
+ ------------
365
+
366
+ This project exists thanks to all the people who contribute! `Become a contributor`__.
367
+
368
+ .. image:: https://opencollective.com/coconut/contributors.svg?width=890&button=false
369
+ :target: https://github.com/evhub/coconut/graphs/contributors
370
+
371
+ __ Contributor_
372
+ .. _Contributor: http://coconut.readthedocs.io/en/develop/CONTRIBUTING.html
373
+
374
+ Backers
375
+ -------
376
+
377
+ Thank you to all our backers! `Become a backer`__.
378
+
379
+ .. image:: https://opencollective.com/coconut/backers.svg?width=890
380
+ :target: https://opencollective.com/coconut#backers
381
+
382
+ __ Backer_
383
+ .. _Backer: https://opencollective.com/coconut#backer
384
+
385
+ Sponsors
386
+ --------
387
+
388
+ Support Coconut by becoming a sponsor. Your logo will show up here with a link to your website. `Become a sponsor`__.
389
+
390
+ .. image:: https://opencollective.com/XX/sponsor/0/avatar.svg
391
+ :target: https://opencollective.com/coconut/sponsor/0/website
392
+
393
+ __ Sponsor_
394
+ .. _Sponsor: https://opencollective.com/coconut#sponsor
@@ -202,12 +202,12 @@ class CoconutImporter(object):
202
202
  command = None
203
203
 
204
204
  def __init__(self, *args):
205
- self.use_cache_dir(default_use_cache_dir)
206
205
  self.set_args(args)
206
+ self.use_cache_dir(default_use_cache_dir)
207
207
 
208
208
  def use_cache_dir(self, use_cache_dir):
209
209
  """Set the cache directory if any to use for compiled Coconut files."""
210
- if use_cache_dir:
210
+ if use_cache_dir and "--no-cache" not in self.args:
211
211
  if not PY34:
212
212
  raise CoconutException("coconut.api.auto_compilation only supports the usage of a cache directory on Python 3.4+")
213
213
  self.cache_dir = coconut_cache_dir
@@ -238,7 +238,10 @@ class CoconutImporter(object):
238
238
 
239
239
  if package:
240
240
  self.cmd(path, *extra_args)
241
- return cache_dir or path
241
+ if cache_dir:
242
+ return os.path.join(cache_dir, "__init__.py")
243
+ else:
244
+ return path
242
245
  else:
243
246
  destpath, = self.cmd(path, *extra_args)
244
247
  return destpath
@@ -5399,7 +5399,8 @@ class {protocol_var}({tokens}, _coconut.typing.Protocol): pass
5399
5399
 
5400
5400
  def endline_semicolon_check(self, original, loc, tokens):
5401
5401
  """Check for semicolons at the end of lines."""
5402
- return self.check_strict("semicolon at end of line", original, loc, tokens, always_warn=True)
5402
+ # only warn since this can have a real impact in jupyter notebooks (#859)
5403
+ return self.check_strict("semicolon at end of line", original, loc, tokens, only_warn=True)
5403
5404
 
5404
5405
  def u_string_check(self, original, loc, tokens):
5405
5406
  """Check for Python-2-style unicode strings."""
@@ -26,7 +26,7 @@ import sys as _coconut_sys
26
26
  VERSION = "3.1.2"
27
27
  VERSION_NAME = None
28
28
  # False for release, int >= 1 for develop
29
- DEVELOP = 4
29
+ DEVELOP = 6
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"
@@ -136,11 +136,13 @@ pyston = os.path.join(os.curdir, "pyston")
136
136
  pyprover = os.path.join(os.curdir, "pyprover")
137
137
  prelude = os.path.join(os.curdir, "coconut-prelude")
138
138
  bbopt = os.path.join(os.curdir, "bbopt")
139
+ imp_issue_dir = os.path.join(os.curdir, "coconut-issue")
139
140
 
140
141
  pyston_git = "https://github.com/evhub/pyston.git"
141
142
  pyprover_git = "https://github.com/evhub/pyprover.git"
142
143
  prelude_git = "https://github.com/evhub/coconut-prelude"
143
144
  bbopt_git = "https://github.com/evhub/bbopt.git"
145
+ imp_issue_git = "https://github.com/evhub/coconut-issue.git"
144
146
 
145
147
  coconut_snip = "msg = '<success>'; pmsg = print$(msg); `pmsg`"
146
148
  target_3_snip = "assert super is py_super; print('<success>')"
@@ -180,13 +182,13 @@ ignore_atexit_errors_with = (
180
182
  ignore_last_lines_with = (
181
183
  "DeprecationWarning: The distutils package is deprecated",
182
184
  "from distutils.version import LooseVersion",
183
- ": SyntaxWarning: 'int' object is not ",
184
185
  ": CoconutWarning: Deprecated use of ",
185
- " assert_raises(",
186
- " assert ",
187
186
  "Populating initial parsing cache",
188
187
  "_coconut.warnings.warn(",
189
- ": SyntaxWarning: invalid escape sequence",
188
+ ": SyntaxWarning: ",
189
+ " assert_raises(",
190
+ " assert ",
191
+ " if x is 1:",
190
192
  )
191
193
 
192
194
  kernel_installation_msg = (
@@ -1117,6 +1119,13 @@ if TEST_ALL:
1117
1119
  if PYPY and PY2:
1118
1120
  run_pyston()
1119
1121
 
1122
+ def test_imp_issue(self):
1123
+ with using_paths(imp_issue_dir):
1124
+ if not os.path.exists(imp_issue_dir):
1125
+ call(["git", "clone", imp_issue_git])
1126
+ with using_env_vars({"PYTHONPATH": os.pathsep.join([imp_issue_dir, os.environ.get("PYTHONPATH", "")])}):
1127
+ call_coconut(["-r", os.path.join(imp_issue_dir, "main.coco")])
1128
+
1120
1129
 
1121
1130
  # -----------------------------------------------------------------------------------------------------------------------
1122
1131
  # MAIN:
@@ -374,7 +374,6 @@ line 6''')
374
374
  assert_raises(-> parse("def f(x):\\\n pass"), CoconutStyleError)
375
375
  assert_raises(-> parse("abc "), CoconutStyleError, err_has="\n ^")
376
376
  assert_raises(-> parse("abc", "file"), CoconutStyleError)
377
- assert_raises(-> parse("a=1;"), CoconutStyleError, err_has="\n ^")
378
377
  assert_raises(-> parse("class derp(object)"), CoconutStyleError)
379
378
  assert_raises(-> parse("def f(a.b) = True"), CoconutStyleError, err_has="\n ^")
380
379
  assert_raises(-> parse("match def kwd_only_x_is_int_def_0(*, x is int = 0) = x"), CoconutStyleError, err_has=(
@@ -1,141 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: coconut-develop
3
- Version: 3.1.2.post0.dev4
4
- Summary: Simple, elegant, Pythonic functional programming.
5
- Home-page: http://coconut-lang.org
6
- Author: Evan Hubinger
7
- Author-email: evanjhub@gmail.com
8
- License: Apache 2.0
9
- Keywords: functional,programming,language,compiler,pattern,pattern-matching,algebraic,data type,data types,lambda,lambdas,lazy,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,addpattern,then,operator,type,copyclosure,λ
10
- Classifier: Development Status :: 5 - Production/Stable
11
- Classifier: License :: OSI Approved :: Apache Software License
12
- Classifier: Intended Audience :: Developers
13
- Classifier: Topic :: Software Development
14
- Classifier: Topic :: Software Development :: Code Generators
15
- Classifier: Topic :: Software Development :: Compilers
16
- Classifier: Topic :: Software Development :: Interpreters
17
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
- Classifier: Topic :: Utilities
19
- Classifier: Environment :: Console
20
- Classifier: Operating System :: OS Independent
21
- Classifier: Programming Language :: Python
22
- Classifier: Programming Language :: Python :: 2
23
- Classifier: Programming Language :: Python :: 2.6
24
- Classifier: Programming Language :: Python :: 2.7
25
- Classifier: Programming Language :: Python :: 3
26
- Classifier: Programming Language :: Python :: 3.2
27
- Classifier: Programming Language :: Python :: 3.3
28
- Classifier: Programming Language :: Python :: 3.4
29
- Classifier: Programming Language :: Python :: 3.5
30
- Classifier: Programming Language :: Python :: 3.6
31
- Classifier: Programming Language :: Python :: 3.7
32
- Classifier: Programming Language :: Python :: 3.8
33
- Classifier: Programming Language :: Python :: 3.9
34
- Classifier: Programming Language :: Python :: 3.10
35
- Classifier: Programming Language :: Python :: 3.11
36
- Classifier: Programming Language :: Python :: 3.12
37
- Classifier: Programming Language :: Other
38
- Classifier: Programming Language :: Other Scripting Engines
39
- Classifier: Programming Language :: Python :: Implementation :: CPython
40
- Classifier: Programming Language :: Python :: Implementation :: PyPy
41
- Classifier: Framework :: IPython
42
- Classifier: Framework :: Jupyter
43
- Classifier: Typing :: Typed
44
- Provides-Extra: kernel
45
- Provides-Extra: watch
46
- Provides-Extra: mypy
47
- Provides-Extra: pyright
48
- Provides-Extra: xonsh
49
- Provides-Extra: numpy
50
- Provides-Extra: jupyter
51
- Provides-Extra: jupyterlab
52
- Provides-Extra: jupytext
53
- Provides-Extra: all
54
- Provides-Extra: ipython
55
- Provides-Extra: docs
56
- Provides-Extra: tests
57
- Provides-Extra: dev
58
- License-File: LICENSE.txt
59
-
60
- |logo| Coconut
61
- ==============
62
-
63
- ..
64
- <insert toctree here>
65
-
66
- .. |logo| image:: https://github.com/evhub/coconut/raw/gh-pages/favicon-32x32.png
67
-
68
- .. image:: https://opencollective.com/coconut/backers/badge.svg
69
- :alt: Backers on Open Collective
70
- :target: #backers
71
- .. image:: https://opencollective.com/coconut/sponsors/badge.svg
72
- :alt: Sponsors on Open Collective
73
- :target: #sponsors
74
- .. image:: https://badges.gitter.im/evhub/coconut.svg
75
- :alt: Join the chat at https://gitter.im/evhub/coconut
76
- :target: https://gitter.im/evhub/coconut?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
77
-
78
- Coconut (`coconut-lang.org`__) is a variant of Python_ that **adds on top of Python syntax** new features for simple, elegant, Pythonic **functional programming**.
79
-
80
- __ Coconut_
81
- .. _Coconut: http://coconut-lang.org/
82
-
83
- Coconut is developed on GitHub_ and hosted on PyPI_. Installing Coconut is as easy as opening a command prompt and entering::
84
-
85
- pip install coconut
86
-
87
- To help you get started, check out these links for more information about Coconut:
88
-
89
- - Tutorial_: If you're new to Coconut, a good place to start is Coconut's **tutorial**.
90
- - Documentation_: If you're looking for info about a specific feature, check out Coconut's **documentation**.
91
- - `Online Interpreter`_: If you want to try Coconut in your browser, check out Coconut's **online interpreter**.
92
- - FAQ_: If you have general questions about Coconut—like who Coconut is built for and whether or not you should use it—Coconut's frequently asked questions are often the best place to start.
93
- - `Create a New Issue <https://github.com/evhub/coconut/issues/new>`_: If you're having a problem with Coconut, creating a new issue detailing the problem will allow it to be addressed as soon as possible.
94
- - Gitter_: For any questions, concerns, or comments about anything Coconut-related, ask around at Coconut's Gitter, a GitHub-integrated chat room for Coconut developers.
95
- - Releases_: Want to know what's been added in recent Coconut versions? Check out the release log for all the new features and fixes.
96
-
97
- .. _Python: https://www.python.org/
98
- .. _PyPI: https://pypi.python.org/pypi/coconut
99
- .. _Tutorial: http://coconut.readthedocs.io/en/latest/HELP.html
100
- .. _Documentation: http://coconut.readthedocs.io/en/latest/DOCS.html
101
- .. _`Online Interpreter`: https://cs121-team-panda.github.io/coconut-interpreter
102
- .. _FAQ: http://coconut.readthedocs.io/en/latest/FAQ.html
103
- .. _GitHub: https://github.com/evhub/coconut
104
- .. _Gitter: https://gitter.im/evhub/coconut
105
- .. _Releases: https://github.com/evhub/coconut/releases
106
-
107
- Credits
108
- +++++++
109
-
110
- Contributors
111
- ------------
112
-
113
- This project exists thanks to all the people who contribute! `Become a contributor`__.
114
-
115
- .. image:: https://opencollective.com/coconut/contributors.svg?width=890&button=false
116
- :target: https://github.com/evhub/coconut/graphs/contributors
117
-
118
- __ Contributor_
119
- .. _Contributor: http://coconut.readthedocs.io/en/develop/CONTRIBUTING.html
120
-
121
- Backers
122
- -------
123
-
124
- Thank you to all our backers! `Become a backer`__.
125
-
126
- .. image:: https://opencollective.com/coconut/backers.svg?width=890
127
- :target: https://opencollective.com/coconut#backers
128
-
129
- __ Backer_
130
- .. _Backer: https://opencollective.com/coconut#backer
131
-
132
- Sponsors
133
- --------
134
-
135
- Support Coconut by becoming a sponsor. Your logo will show up here with a link to your website. `Become a sponsor`__.
136
-
137
- .. image:: https://opencollective.com/XX/sponsor/0/avatar.svg
138
- :target: https://opencollective.com/coconut/sponsor/0/website
139
-
140
- __ Sponsor_
141
- .. _Sponsor: https://opencollective.com/coconut#sponsor