Skip to content

Commit cc2537c

Browse files
committed
Add initial ci for epython
1 parent c464b3c commit cc2537c

File tree

4 files changed

+74
-3
lines changed

4 files changed

+74
-3
lines changed

.github/workflows/main.yaml

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: epython
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
jobs:
10+
main:
11+
12+
runs-on: ubuntu-latest
13+
timeout-minutes: 35
14+
defaults:
15+
run:
16+
shell: bash -l {0}
17+
concurrency:
18+
group: ci-${{ github.ref }}
19+
cancel-in-progress: true
20+
21+
steps:
22+
- uses: actions/checkout@v2
23+
24+
- uses: conda-incubator/setup-miniconda@v2
25+
with:
26+
miniconda-version: "latest"
27+
mamba-version: "*"
28+
environment-file: conda/dev.yaml
29+
channels: conda-forge,nodefaults
30+
activate-environment: epython
31+
use-mamba: true
32+
miniforge-variant: Mambaforge
33+
34+
- name: installation
35+
run: |
36+
pip install .
37+
epython tests/simpleone.epy --backend=cpython

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
__pycache__/
2+
*.egg-info/

README.md

+29-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# epython
2+
23
EPython is a typed-subset of the Python language useful for extending the language with new builtin types and methods.
34

45
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.
@@ -13,10 +14,35 @@ If you are interested in contributing to the design and goals, then join the Dis
1314

1415
# Installation
1516

16-
pip install epython
17+
```bash
18+
pip install epython
19+
```
1720

1821
# Usage
1922

20-
epython extmodule.epy --backend=cpython
21-
23+
```bash
24+
epython extmodule.epy --backend=cpython
25+
```
26+
2227
Produces a compiled extension module for the given Python backend.
28+
29+
30+
# Development
31+
32+
Create an environment for **epython**:
33+
34+
```bash
35+
$ conda env create --file conda/dev.yaml
36+
```
37+
38+
Activate the **epython** environment:
39+
40+
```bash
41+
$ conda activate epython
42+
```
43+
44+
Install it locally in development mode:
45+
46+
```bash
47+
$ pip install -e .
48+
```

conda/dev.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
name: epython
2+
channels:
3+
- conda-forge
4+
- nodefaults
5+
dependencies:
6+
- python 3.9.*

0 commit comments

Comments
 (0)