Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Python extension language using accelerators.

Project description

Welcome to Pyccel

build status Documentation Status

Pyccel stands for Python extension language using accelerators.

The aim of Pyccel is to provide a simple way to generate automatically, parallel low level code. The main uses would be:

  1. Convert a Python code (or project) into a Fortran
  2. Accelerate Python functions by converting them to Fortran then calling f2py. For the moment, only f2py is available, but we are working on other solutions too (f2x and fffi)

Pyccel can be viewed as:

  • Python-to-Fortran converter
  • a compiler for a Domain Specific Language with Python syntax

Pyccel comes with a selection of extensions allowing you to convert calls to some specific python packages to Fortran. The following packages will be covered (partially):

  • numpy
  • scipy
  • mpi4py
  • h5py (not available yet)

Install

From PyPi

Simply run, for a local installation:

pip3 install --user pyccel

or:

pip3 install pyccel

for a global installation.

From sources

all Python dependencies can be installed using (here given for python3, use pip for python2):

sudo -H pip3 install -r requirements.txt
  • Standard mode:

    python3 -m pip install .
    
  • Development mode:

    python3 -m pip install --user -e .
    

this will install a python library pyccel and a binary called pyccel.

Reading the docs

You can read them online at <http://pyccel.readthedocs.io/>.

Or, after installing:

cd doc
make html

Then, direct your browser to _build/html/index.html.

Testing

Depending on the Python version, you can run tests/run_tests_py2.sh or tests/run_tests_py3.sh.

Continuous testing runs on travis: <https://travis-ci.org/ratnania/pyccel>

Known bugs

We are trying to maintain a list of known bugs, see bugs/README.rst

Contributing

TODO

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pyccel, version 0.9.4
Filename, size File type Python version Upload date Hashes
Filename, size pyccel-0.9.4-py3-none-any.whl (246.5 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size pyccel-0.9.4.tar.gz (201.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page