Spork
Spork is a Lisp hosted on CPython. It compiles to Python AST, interoperates directly with Python libraries, and adds macros, expression-oriented forms, immutable persistent collections, source-mapped errors, and one project-aware CLI.
Spork is pre-1.0 and supports CPython 3.10–3.14.
Install
On Linux, macOS, or WSL, use the reviewed installer hosted with the documentation:
curl -fsSL https://spork.sh/install | sh
Or install the CLI with pipx:
pipx install spork-lang
Try it
Create hello.spork:
(defn greet [name]
(fmt "Hello, {}!" name))
(print (greet "Spork"))
Run it directly:
spork hello.spork
Create an isolated project when the program grows:
spork new hello-spork
cd hello-spork
spork sync
spork check
spork test
spork run
A project’s spork.it declares dependencies, source paths, an entry point, and a compatible spork-lang range. Project commands automatically use the compatible toolchain synchronized into .venv.
Documentation
The canonical documentation is maintained at spork.sh/docs:
- Getting started
- Language reference
- Standard library reference
- Project and CLI reference
- Editors and examples
Release changes remain in CHANGELOG.md. Repository-owned engineering notes remain under docs/; public documentation belongs on spork.sh.
Package boundaries
Compiled Spork distributions depend on spork-runtime rather than the compiler. Persistent collections are supplied by the standalone spork-pds extension.
Development
git clone https://github.com/spork-it/spork-lang.git
cd spork-lang
make venv
make test
Use make help for development, packaging, and cleanup targets.
License
Release files for spork-lang 0.6.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| spork_lang-0.6.2.tar.gz | 268.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| spork_lang-0.6.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 463.0 kB
Release files / spork_lang-0.6.2.tar.gz
| Download URL | spork_lang-0.6.2.tar.gz |
|---|---|
| Size | 268.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
41d4e419ed824bbf56d3adaad0c39987c7b0f3592672f6bacce6c466409a3c4d
|
|
BLAKE2b-256 checksum How to use checksums |
7ce15bff0368527144614d64737f11908085f49f88f38308dbbd1bf686eef1bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency logRelease files / spork_lang-0.6.2-py3-none-any.whl
| Download URL | spork_lang-0.6.2-py3-none-any.whl |
|---|---|
| Size | 194.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
47e390bb2e4e538896b748bd71a1c98e084d031aa8086a111927c3151c75a32a
|
|
BLAKE2b-256 checksum How to use checksums |
d50dca600b2d7cb891368a1f8944f7b5ddede12d582e49d9a525f40b16778fdf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency log