No project description provided
Project description
Pyccel : write Python code, get Fortran speed
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:
- Convert a Python code (or project) into a Fortran or C code.
- Accelerate Python functions by converting them to Fortran or C functions.
Pyccel can be viewed as:
- Python-to-Fortran/C 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/C. The following packages will be (partially) covered:
numpy
scipy
Pyccel's acceleration capabilities lead to much faster code. Comparisons of Python vs Pyccel or other tools can be found in the benchmarks repository.
The results for the devel
branch currently show the following performance on Python 3.10:
If you are eager to try Pyccel out, we recommend reading our quick-start guide.
Citing Pyccel
If Pyccel has been significant in your research, and you would like to acknowledge the project in your academic publication, we would ask that you cite the following paper:
Bourne, Güçlü, Hadjout and Ratnani (2023). Pyccel: a Python-to-X transpiler for scientific high-performance computing. Journal of Open Source Software, 8(83), 4991, https://doi.org/10.21105/joss.04991
The associated bibtex can be found here.
Installation
Pyccel has a few system requirements to ensure that the system where it is installed is capable of compiling Fortran code. These requirements are detailed in the documentation. Once all requirements are satisfied, the simplest way to install Pyccel is using PyPI. Simply run:
python3 -m pip install --user pyccel
Alternative installation methods such as installing from source, or installing with a docker are described in the documentation.
Contributing
We welcome any and all contributions.
There are many ways to help with the Pyccel project which are more or less involved. A summary can be found in the documentation.
We can also be contacted via the Pyccel Discord Server.
User Documentation
-
Supported libraries/APIs
Developer Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyccel-1.12.1.tar.gz
.
File metadata
- Download URL: pyccel-1.12.1.tar.gz
- Upload date:
- Size: 663.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8104234d54df22e93e61cd2c48f59e43f08706c9b2a72ea881ad50b5d0ec9d5 |
|
MD5 | 15900d65b8b4194c409c12a911696156 |
|
BLAKE2b-256 | ad76dbc2e8aefab51927da9284b27e0b127e1bb0450caf8d6d40e258b42af9fe |
File details
Details for the file pyccel-1.12.1-py3-none-any.whl
.
File metadata
- Download URL: pyccel-1.12.1-py3-none-any.whl
- Upload date:
- Size: 500.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44b6d6969ac4d4b3bb97e084d77b798a7750ef119cc9d6eee18d53bf3ca6b3d8 |
|
MD5 | 22f7a4e7696e182fdeb801b0f02650a2 |
|
BLAKE2b-256 | 05aa4d0f9e2f469a86e12a42a3eedbe792cabf56fee927d863132b94272b9525 |