epython-dev / epython

EPython is a typed-subset of the Python for extending the language new builtin types and methods

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

epython

EPython is a typed-subset of the Python language useful for extending the language with new builtin types and methods.

The goal is to be able to write things like NumPy, SciPy, Pandas, bitarray, and any other extension module of Python in this language and get equivalent or better perfomance than writing it using the C-API typically provided.

This project is in development and extremely alpha. You should not use this for anything.

Learn more on this talk Travis Oliphant gave at PyData Austin 2019.

If you are interested in contributing to the design and goals, then join the Discussion at OpenTeams Slack

Installation

pip install epython

Usage

epython extmodule.epy --backend=cpython

Produces a compiled extension module for the given Python backend.

Docker Development


Install Docker, then run:

docker build -t epython-wasm -f ./development/Dockerfile .

From the root of the repository.

To run the interactive session:

docker run -p 8008:8000 -t epython-wasm:latest

Development

Create an environment for epython:

$ conda env create --file conda/dev.yaml

Activate the epython environment:

$ conda activate epython

Install it locally in development mode:

$ pip install -e .

About

EPython is a typed-subset of the Python for extending the language new builtin types and methods

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 97.7%Language:Dockerfile 2.3%