Commit ef8a1925 authored by Tom Niget's avatar Tom Niget

Update pyproject and readme

parent 3f0e3b4a
...@@ -22,9 +22,15 @@ See the [runtime repository](https://lab.nexedi.com/typon/typon-concurrency). ...@@ -22,9 +22,15 @@ See the [runtime repository](https://lab.nexedi.com/typon/typon-concurrency).
This repository, TODO. This repository, TODO.
## Development setup ## Getting started
Install the dependencies using `pip3 install -r requirements.txt`. ```bash
git clone https://lab.nexedi.com/typon/typon-compiler.git --recursive
python3 -m venv typenv
source typenv/bin/activate
pip install ./typon-compiler
apt install libfmt-dev liburing-dev python3.12-dev libssl-dev
```
## Basic usage ## Basic usage
...@@ -40,26 +46,8 @@ Once generated, the C++ code file can be compiled using your compiler of choice: ...@@ -40,26 +46,8 @@ Once generated, the C++ code file can be compiled using your compiler of choice:
$(CXX) -O3 $(typon --cpp-flags) input.cpp $(CXX) -O3 $(typon --cpp-flags) input.cpp
``` ```
Note: gcc may require the `-fcoroutines` flag. Currently, you'll get the best support with G++ 13.
## Test harness ## 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`. `cd` into the `trans` directory, set up your `.env` file (you can copy the `.env.example` file), and run `python3 test_runner.py`.
If you're getting include errors, make sure you've cloned the runtime submodule. If you forgot, run `git submodule update --init --recursive`.
## TODO (2023-10-17)
Implement custom protocol definition so that we can define stuff like Iterable and it generates a concept in C++ and a type erased wrapper (like std::function)
If you call a function that takes Iterable => the function is a template so no overhead
Be able to store functions using their real functor type name so no overhead of std::function
If you store a function with no further information it uses our callable type
If you store an object into a protocol type => it uses the protocol type erased wrapper
Implement decorators as template inheriting classes as to allow people to implement their own decorators in the c++ side
Use "static" to store the python interpreter for lazy init of python functions
\ No newline at end of file
...@@ -5,12 +5,12 @@ requires = ["setuptools"] ...@@ -5,12 +5,12 @@ requires = ["setuptools"]
name = "typon" name = "typon"
version = "0.0.1" version = "0.0.1"
dependencies = [ dependencies = [
"clang-format == 15.0.7",
"nanobind ~= 1.4.0",
"colorama ~= 0.4.6", "colorama ~= 0.4.6",
"pygments ~= 2.15.1", "colorful ~= 0.6.0a1",
"colorful ~= 0.5.5", "nanobind ~= 1.9.2",
"pybind11 ~= 2.11.1", "numpy ~= 2.0.0rc1",
"pybind11 ~= 2.12.0",
"Pygments ~= 2.17.2",
"python-dotenv ~= 1.0.1", "python-dotenv ~= 1.0.1",
] ]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment