Typon compiler
Typon is a two-part project to bring practical GIL-free concurrency to Python:
typon-concurrency, a C++ concurrency runtime- typon-compiler (this repository), a compiler from Python syntax into C++
Getting started
Install
From code
git clone https://lab.nexedi.com/typon/typon-compiler.git --recursive
python3 -m venv typenv
source typenv/bin/activate
pip install ./typon-compiler
From PyPI
pip install typon
Install dependencies
apt install g++-13 libfmt-dev liburing-dev python3.12-dev libssl-dev
Basic usage
Typon can be used from the command-line to compile a Python file:
typon [-o/--output output] [-d/--debug] [-v/--verbose] input
Once generated, the C++ code file can be compiled using your compiler of choice:
$(CXX) -O3 $(typon --cpp-flags) input.cpp
Currently, you'll get the best support with G++ 13.
Directory structure
docs, documentation
Currently using Sphinx.
include, standard library and compiler primitives/intrinsics
TODO.
runtime, concurrency runtime (Git submodule)
See the runtime repository.
trans, transpiler
This repository, TODO.
Test harness
cd into the trans directory, set up your .env file (you can copy the .env.example file), and run python3 test_runner.py.
Metadata
Release files for typon 0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| typon-0.3.tar.gz | 108.6 kB | Without provenance | Details for typon-0.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| typon-0.3-py3-none-any.whl | Python 3 | none | any | Details for typon-0.3-py3-none-any.whl |
Total release size: 270.9 kB
Release files / typon-0.3.tar.gz
| Download URL | typon-0.3.tar.gz |
|---|---|
| Size | 108.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
220ef6bc80533767dca789ab03179676b787286d771e2bd0b9c6480c297d5ba5
|
|
BLAKE2b-256 checksum How to use checksums |
a9c373eaa2e59b91dccf7c59e98f94a70b4a1d16c27ed39e56e93a63177048e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.10.12
|
Release files / typon-0.3-py3-none-any.whl
| Download URL | typon-0.3-py3-none-any.whl |
|---|---|
| Size | 162.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8f1155223d9aefe45d2b36fa2d233c26efe0bea3120c9dded7de200b83f5299e
|
|
BLAKE2b-256 checksum How to use checksums |
8f69d87b247c309baa5987c77c2a9a5dfb9fbce3de1c2b87405b203358a2127b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.10.12
|
Security for typon 0.3
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.