unpythonic 0.15.5__tar.gz → 1.0.0__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.
- {unpythonic-0.15.5 → unpythonic-1.0.0}/PKG-INFO +57 -1
- {unpythonic-0.15.5 → unpythonic-1.0.0}/README.md +56 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/pyproject.toml +1 -1
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/__init__.py +1 -1
- {unpythonic-0.15.5 → unpythonic-1.0.0}/LICENSE.md +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/amb.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/arity.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/assignonce.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/collections.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/conditions.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/dialects/__init__.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/dialects/lispython.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/dialects/listhell.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/dialects/pytkell.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/dispatch.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/dynassign.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/ec.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/env.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/excutil.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/fix.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/fold.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/fploop.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/fun.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/funutil.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/fup.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/gmemo.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/gtco.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/it.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/lazyutil.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/let.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/lispylet.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/llist.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/mathseq.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/misc.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/net/__init__.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/net/client.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/net/common.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/net/msg.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/net/ptyproxy.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/net/server.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/net/util.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/numutil.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/regutil.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/seq.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/singleton.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/slicing.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/symbol.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/00_stuff/letdo.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/__init__.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/autocurry.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/autoref.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/dbg.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/forall.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/ifexprs.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/lambdatools.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/lazify.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/letdo.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/letdoutil.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/letsyntax.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/nameutil.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/nb.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/prefix.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/scopeanalyzer.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/simplelet.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/tailtools.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/testingtools.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/syntax/util.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/tco.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/test/fixtures.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/timeutil.py +0 -0
- {unpythonic-0.15.5 → unpythonic-1.0.0}/unpythonic/typecheck.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: unpythonic
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.0
|
|
4
4
|
Summary: Supercharge your Python with parts of Lisp and Haskell.
|
|
5
5
|
Keywords: functional-programming,language-extension,syntactic-macros,tail-call-optimization,tco,continuations,currying,lazy-evaluation,dynamic-variable,macros,lisp,scheme,racket,haskell
|
|
6
6
|
Author-Email: Juha Jeronen <juha.m.jeronen@gmail.com>
|
|
@@ -35,6 +35,8 @@ In the spirit of [toolz](https://github.com/pytoolz/toolz), we provide missing f
|
|
|
35
35
|
  
|
|
36
36
|
  [](http://makeapullrequest.com/)
|
|
37
37
|
|
|
38
|
+
We use [semantic versioning](https://semver.org/).
|
|
39
|
+
|
|
38
40
|
*Some hypertext features of this README, such as local links to detailed documentation, and expandable example highlights, are not supported when viewed on PyPI; [view on GitHub](https://github.com/Technologicat/unpythonic) to have those work properly.*
|
|
39
41
|
|
|
40
42
|
|
|
@@ -857,6 +859,60 @@ If `--no-compile` is NOT used, the precompiled bytecode cache may cause errors s
|
|
|
857
859
|
|
|
858
860
|
This is a common issue when using macro expanders in Python.
|
|
859
861
|
|
|
862
|
+
### Development mode (for developing `unpythonic` itself)
|
|
863
|
+
|
|
864
|
+
Starting with v0.15.5, `unpythonic` uses [PDM](https://pdm-project.org/en/latest/) to manage its dependencies. This allows easy installation of a development copy into an isolated venv (virtual environment), allowing you to break things without breaking anything else on your system (including apps and libraries that use an installed copy of `unpythonic`).
|
|
865
|
+
|
|
866
|
+
#### Install PDM in your Python environment
|
|
867
|
+
|
|
868
|
+
To develop `unpythonic`, if your Python environment does not have PDM, you will need to install it first:
|
|
869
|
+
|
|
870
|
+
```bash
|
|
871
|
+
python -m pip install pdm
|
|
872
|
+
```
|
|
873
|
+
|
|
874
|
+
Don't worry; it won't break `pip`, `poetry`, or other similar tools.
|
|
875
|
+
|
|
876
|
+
We will also need a Python for PDM venvs. This Python is independent of the Python that PDM itself runs on. It is the version of Python you would like to use for developing `unpythonic`.
|
|
877
|
+
|
|
878
|
+
For example, we can make Python 3.10 available with the command:
|
|
879
|
+
|
|
880
|
+
```bash
|
|
881
|
+
pdm python install 3.10
|
|
882
|
+
```
|
|
883
|
+
|
|
884
|
+
Specifying just a version number defaults to CPython (the usual Python implementation). If you want PyPy instead, you can use e.g. `pypy@3.10`.
|
|
885
|
+
|
|
886
|
+
#### Install the isolated venv
|
|
887
|
+
|
|
888
|
+
Now, we will auto-create the development venv, and install `unpythonic`'s dependencies into it. In a terminal that sees your Python environment, navigate to the `unpythonic` folder, and issue the command:
|
|
889
|
+
|
|
890
|
+
```bash
|
|
891
|
+
pdm install
|
|
892
|
+
```
|
|
893
|
+
|
|
894
|
+
This creates the development venv into the `.venv` hidden subfolder of the `unpythonic` folder.
|
|
895
|
+
|
|
896
|
+
If you are a seasoned pythonista, note that there is no `requirements.txt`; the dependency list lives in `pyproject.toml`.
|
|
897
|
+
|
|
898
|
+
#### Upgrade dependencies (later)
|
|
899
|
+
|
|
900
|
+
To upgrade dependencies to latest available versions compatible with the specifications in `pyproject.toml`:
|
|
901
|
+
|
|
902
|
+
```bash
|
|
903
|
+
pdm update
|
|
904
|
+
```
|
|
905
|
+
|
|
906
|
+
#### Develop
|
|
907
|
+
|
|
908
|
+
To activate the development venv, in a terminal that sees your Python environment, navigate to the `unpythonic` folder, and issue the command:
|
|
909
|
+
|
|
910
|
+
```bash
|
|
911
|
+
$(pdm venv activate)
|
|
912
|
+
```
|
|
913
|
+
|
|
914
|
+
Note the Bash exec syntax `$(...)`; the command `pdm venv activate` just prints the actual internal activation command.
|
|
915
|
+
|
|
860
916
|
### Uninstall
|
|
861
917
|
|
|
862
918
|
```bash
|
|
@@ -6,6 +6,8 @@ In the spirit of [toolz](https://github.com/pytoolz/toolz), we provide missing f
|
|
|
6
6
|
  
|
|
7
7
|
  [](http://makeapullrequest.com/)
|
|
8
8
|
|
|
9
|
+
We use [semantic versioning](https://semver.org/).
|
|
10
|
+
|
|
9
11
|
*Some hypertext features of this README, such as local links to detailed documentation, and expandable example highlights, are not supported when viewed on PyPI; [view on GitHub](https://github.com/Technologicat/unpythonic) to have those work properly.*
|
|
10
12
|
|
|
11
13
|
|
|
@@ -828,6 +830,60 @@ If `--no-compile` is NOT used, the precompiled bytecode cache may cause errors s
|
|
|
828
830
|
|
|
829
831
|
This is a common issue when using macro expanders in Python.
|
|
830
832
|
|
|
833
|
+
### Development mode (for developing `unpythonic` itself)
|
|
834
|
+
|
|
835
|
+
Starting with v0.15.5, `unpythonic` uses [PDM](https://pdm-project.org/en/latest/) to manage its dependencies. This allows easy installation of a development copy into an isolated venv (virtual environment), allowing you to break things without breaking anything else on your system (including apps and libraries that use an installed copy of `unpythonic`).
|
|
836
|
+
|
|
837
|
+
#### Install PDM in your Python environment
|
|
838
|
+
|
|
839
|
+
To develop `unpythonic`, if your Python environment does not have PDM, you will need to install it first:
|
|
840
|
+
|
|
841
|
+
```bash
|
|
842
|
+
python -m pip install pdm
|
|
843
|
+
```
|
|
844
|
+
|
|
845
|
+
Don't worry; it won't break `pip`, `poetry`, or other similar tools.
|
|
846
|
+
|
|
847
|
+
We will also need a Python for PDM venvs. This Python is independent of the Python that PDM itself runs on. It is the version of Python you would like to use for developing `unpythonic`.
|
|
848
|
+
|
|
849
|
+
For example, we can make Python 3.10 available with the command:
|
|
850
|
+
|
|
851
|
+
```bash
|
|
852
|
+
pdm python install 3.10
|
|
853
|
+
```
|
|
854
|
+
|
|
855
|
+
Specifying just a version number defaults to CPython (the usual Python implementation). If you want PyPy instead, you can use e.g. `pypy@3.10`.
|
|
856
|
+
|
|
857
|
+
#### Install the isolated venv
|
|
858
|
+
|
|
859
|
+
Now, we will auto-create the development venv, and install `unpythonic`'s dependencies into it. In a terminal that sees your Python environment, navigate to the `unpythonic` folder, and issue the command:
|
|
860
|
+
|
|
861
|
+
```bash
|
|
862
|
+
pdm install
|
|
863
|
+
```
|
|
864
|
+
|
|
865
|
+
This creates the development venv into the `.venv` hidden subfolder of the `unpythonic` folder.
|
|
866
|
+
|
|
867
|
+
If you are a seasoned pythonista, note that there is no `requirements.txt`; the dependency list lives in `pyproject.toml`.
|
|
868
|
+
|
|
869
|
+
#### Upgrade dependencies (later)
|
|
870
|
+
|
|
871
|
+
To upgrade dependencies to latest available versions compatible with the specifications in `pyproject.toml`:
|
|
872
|
+
|
|
873
|
+
```bash
|
|
874
|
+
pdm update
|
|
875
|
+
```
|
|
876
|
+
|
|
877
|
+
#### Develop
|
|
878
|
+
|
|
879
|
+
To activate the development venv, in a terminal that sees your Python environment, navigate to the `unpythonic` folder, and issue the command:
|
|
880
|
+
|
|
881
|
+
```bash
|
|
882
|
+
$(pdm venv activate)
|
|
883
|
+
```
|
|
884
|
+
|
|
885
|
+
Note the Bash exec syntax `$(...)`; the command `pdm venv activate` just prints the actual internal activation command.
|
|
886
|
+
|
|
831
887
|
### Uninstall
|
|
832
888
|
|
|
833
889
|
```bash
|
|
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
|
|
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
|
|
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
|