pyccel


Namepyccel JSON
Version 1.11.2 PyPI version JSON
download
home_page
Summary
upload_time2024-03-05 10:15:37
maintainer
docs_urlNone
authorPyccel development team
requires_python>=3.8
license
keywords math
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Pyccel : write Python code,  get Fortran speed

 [![Linux unit tests](https://github.com/pyccel/pyccel/actions/workflows/linux.yml/badge.svg?branch=devel&event=push)](https://github.com/pyccel/pyccel/actions/workflows/linux.yml) [![MacOSX unit tests](https://github.com/pyccel/pyccel/actions/workflows/macosx.yml/badge.svg?branch=devel&event=push)](https://github.com/pyccel/pyccel/actions/workflows/macosx.yml) [![Windows unit tests](https://github.com/pyccel/pyccel/actions/workflows/windows.yml/badge.svg?branch=devel&event=push)](https://github.com/pyccel/pyccel/actions/workflows/windows.yml) [![Anaconda-Linux](https://github.com/pyccel/pyccel/actions/workflows/anaconda_linux.yml/badge.svg?branch=devel&event=push)](https://github.com/pyccel/pyccel/actions/workflows/anaconda_linux.yml) [![Anaconda-Windows](https://github.com/pyccel/pyccel/actions/workflows/anaconda_windows.yml/badge.svg?branch=devel&event=push)](https://github.com/pyccel/pyccel/actions/workflows/anaconda_windows.yml) [![Intel unit tests](https://github.com/pyccel/pyccel/actions/workflows/intel.yml/badge.svg?branch=devel&event=push)](https://github.com/pyccel/pyccel/actions/workflows/intel.yml) [![codacy](https://app.codacy.com/project/badge/Grade/9723f47b95db491886a0e78339bd4698)](https://www.codacy.com/gh/pyccel/pyccel?utm_source=github.com&utm_medium=referral&utm_content=pyccel/pyccel&utm_campaign=Badge_Grade) [![DOI](https://joss.theoj.org/papers/10.21105/joss.04991/status.svg)](https://doi.org/10.21105/joss.04991)

**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 or C code.
2.  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](https://github.com/pyccel/pyccel-benchmarks) repository.
The results for the `devel` branch currently show the following performance on Python 3.10:
![Pyccel execution times for devel branch](https://raw.githubusercontent.com/pyccel/pyccel-benchmarks/main/version_specific_results/devel_performance_310_execution.svg)

If you are eager to try Pyccel out, we recommend reading our [quick-start guide](https://github.com/pyccel/pyccel/blob/devel/docs/quickstart.md).

## 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](https://github.com/pyccel/pyccel/blob/devel/pyccel.bib).

## 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](https://github.com/pyccel/pyccel/blob/devel/docs/installation.md).
Once all requirements are satisfied, the simplest way to install Pyccel is using PyPI.
Simply run:

```sh
python3 -m pip install --user pyccel
```

Alternative installation methods such as installing from source, or installing with a docker are described in the [documentation](https://github.com/pyccel/pyccel/blob/devel/docs/installation.md).

## 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](https://github.com/pyccel/pyccel/blob/devel/docs/CONTRIBUTING.md).

We can also be contacted via the [Pyccel Discord Server](https://discord.gg/2Q6hwjfFVb).

## User Documentation

-   [Quick-start Guide](https://github.com/pyccel/pyccel/blob/devel/docs/quickstart.md)

-   [Installation](https://github.com/pyccel/pyccel/blob/devel/docs/installation.md)

-   [Contributing](https://github.com/pyccel/pyccel/blob/devel/docs/CONTRIBUTING.md)

-   [C/Fortran Compilers](https://github.com/pyccel/pyccel/blob/devel/docs/compiler.md)

-   [Decorators](https://github.com/pyccel/pyccel/blob/devel/docs/decorators.md)

-   [Header Files](https://github.com/pyccel/pyccel/blob/devel/docs/header-files.md)

-   [Templates](https://github.com/pyccel/pyccel/blob/devel/docs/templates.md)

-   [N-dimensional Arrays](https://github.com/pyccel/pyccel/blob/devel/docs/ndarrays.md)

-   [Function-pointers as arguments](https://github.com/pyccel/pyccel/blob/devel/docs/function-pointers-as-arguments.md)

-   [Const keyword](https://github.com/pyccel/pyccel/blob/devel/docs/const_keyword.md)

-   Supported libraries/APIs
    -   [OpenMP](https://github.com/pyccel/pyccel/blob/devel/docs/openmp.md)
    -   [NumPy](https://github.com/pyccel/pyccel/blob/devel/docs/numpy-functions.md)

## Developer Documentation

-   [Overview](https://github.com/pyccel/pyccel/blob/devel/developer_docs/overview.md)
-   [How to solve an issue](https://github.com/pyccel/pyccel/blob/devel/developer_docs/how_to_solve_an_issue.md)
-   [Review Process](https://github.com/pyccel/pyccel/blob/devel/developer_docs/review_process.md)
-   [Development Conventions](https://github.com/pyccel/pyccel/blob/devel/developer_docs/development_conventions.md)
-   [Tips and Tricks](https://github.com/pyccel/pyccel/blob/devel/developer_docs/tips_and_tricks.md)
-   [Scope](https://github.com/pyccel/pyccel/blob/devel/developer_docs/scope.md)
-   [Type Inference](https://github.com/pyccel/pyccel/blob/devel/developer_docs/type_inference.md)
-   [Array Ordering](https://github.com/pyccel/pyccel/blob/devel/developer_docs/order_docs.md)

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "pyccel",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "math",
    "author": "Pyccel development team",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/fc/eb/4578c2f6e7a2962d948fb82cb5535c2aff446536e53108cefc2f45a3cb5a/pyccel-1.11.2.tar.gz",
    "platform": null,
    "description": "# Pyccel : write Python code,  get Fortran speed\n\n [![Linux unit tests](https://github.com/pyccel/pyccel/actions/workflows/linux.yml/badge.svg?branch=devel&event=push)](https://github.com/pyccel/pyccel/actions/workflows/linux.yml) [![MacOSX unit tests](https://github.com/pyccel/pyccel/actions/workflows/macosx.yml/badge.svg?branch=devel&event=push)](https://github.com/pyccel/pyccel/actions/workflows/macosx.yml) [![Windows unit tests](https://github.com/pyccel/pyccel/actions/workflows/windows.yml/badge.svg?branch=devel&event=push)](https://github.com/pyccel/pyccel/actions/workflows/windows.yml) [![Anaconda-Linux](https://github.com/pyccel/pyccel/actions/workflows/anaconda_linux.yml/badge.svg?branch=devel&event=push)](https://github.com/pyccel/pyccel/actions/workflows/anaconda_linux.yml) [![Anaconda-Windows](https://github.com/pyccel/pyccel/actions/workflows/anaconda_windows.yml/badge.svg?branch=devel&event=push)](https://github.com/pyccel/pyccel/actions/workflows/anaconda_windows.yml) [![Intel unit tests](https://github.com/pyccel/pyccel/actions/workflows/intel.yml/badge.svg?branch=devel&event=push)](https://github.com/pyccel/pyccel/actions/workflows/intel.yml) [![codacy](https://app.codacy.com/project/badge/Grade/9723f47b95db491886a0e78339bd4698)](https://www.codacy.com/gh/pyccel/pyccel?utm_source=github.com&utm_medium=referral&utm_content=pyccel/pyccel&utm_campaign=Badge_Grade) [![DOI](https://joss.theoj.org/papers/10.21105/joss.04991/status.svg)](https://doi.org/10.21105/joss.04991)\n\n**Pyccel** stands for Python extension language using accelerators.\n\nThe aim of **Pyccel** is to provide a simple way to generate automatically, parallel low level code. The main uses would be:\n\n1.  Convert a _Python_ code (or project) into a Fortran or C code.\n2.  Accelerate _Python_ functions by converting them to _Fortran_ or _C_ functions.\n\n**Pyccel** can be viewed as:\n\n-   _Python-to-Fortran/C_ converter\n-   a compiler for a _Domain Specific Language_ with _Python_ syntax\n\nPyccel 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:\n\n-   `numpy`\n-   `scipy`\n\nPyccel's acceleration capabilities lead to much faster code. Comparisons of Python vs Pyccel or other tools can be found in the [benchmarks](https://github.com/pyccel/pyccel-benchmarks) repository.\nThe results for the `devel` branch currently show the following performance on Python 3.10:\n![Pyccel execution times for devel branch](https://raw.githubusercontent.com/pyccel/pyccel-benchmarks/main/version_specific_results/devel_performance_310_execution.svg)\n\nIf you are eager to try Pyccel out, we recommend reading our [quick-start guide](https://github.com/pyccel/pyccel/blob/devel/docs/quickstart.md).\n\n## Citing Pyccel\n\nIf 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:\n\nBourne, G\u00fc\u00e7l\u00fc, 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\n\nThe associated bibtex can be found [here](https://github.com/pyccel/pyccel/blob/devel/pyccel.bib).\n\n## Installation\n\nPyccel has a few system requirements to ensure that the system where it is installed is capable of compiling Fortran code.\nThese requirements are detailed in the [documentation](https://github.com/pyccel/pyccel/blob/devel/docs/installation.md).\nOnce all requirements are satisfied, the simplest way to install Pyccel is using PyPI.\nSimply run:\n\n```sh\npython3 -m pip install --user pyccel\n```\n\nAlternative installation methods such as installing from source, or installing with a docker are described in the [documentation](https://github.com/pyccel/pyccel/blob/devel/docs/installation.md).\n\n## Contributing\n\nWe welcome any and all contributions.\n\nThere are many ways to help with the Pyccel project which are more or less involved.\nA summary can be found in the [documentation](https://github.com/pyccel/pyccel/blob/devel/docs/CONTRIBUTING.md).\n\nWe can also be contacted via the [Pyccel Discord Server](https://discord.gg/2Q6hwjfFVb).\n\n## User Documentation\n\n-   [Quick-start Guide](https://github.com/pyccel/pyccel/blob/devel/docs/quickstart.md)\n\n-   [Installation](https://github.com/pyccel/pyccel/blob/devel/docs/installation.md)\n\n-   [Contributing](https://github.com/pyccel/pyccel/blob/devel/docs/CONTRIBUTING.md)\n\n-   [C/Fortran Compilers](https://github.com/pyccel/pyccel/blob/devel/docs/compiler.md)\n\n-   [Decorators](https://github.com/pyccel/pyccel/blob/devel/docs/decorators.md)\n\n-   [Header Files](https://github.com/pyccel/pyccel/blob/devel/docs/header-files.md)\n\n-   [Templates](https://github.com/pyccel/pyccel/blob/devel/docs/templates.md)\n\n-   [N-dimensional Arrays](https://github.com/pyccel/pyccel/blob/devel/docs/ndarrays.md)\n\n-   [Function-pointers as arguments](https://github.com/pyccel/pyccel/blob/devel/docs/function-pointers-as-arguments.md)\n\n-   [Const keyword](https://github.com/pyccel/pyccel/blob/devel/docs/const_keyword.md)\n\n-   Supported libraries/APIs\n    -   [OpenMP](https://github.com/pyccel/pyccel/blob/devel/docs/openmp.md)\n    -   [NumPy](https://github.com/pyccel/pyccel/blob/devel/docs/numpy-functions.md)\n\n## Developer Documentation\n\n-   [Overview](https://github.com/pyccel/pyccel/blob/devel/developer_docs/overview.md)\n-   [How to solve an issue](https://github.com/pyccel/pyccel/blob/devel/developer_docs/how_to_solve_an_issue.md)\n-   [Review Process](https://github.com/pyccel/pyccel/blob/devel/developer_docs/review_process.md)\n-   [Development Conventions](https://github.com/pyccel/pyccel/blob/devel/developer_docs/development_conventions.md)\n-   [Tips and Tricks](https://github.com/pyccel/pyccel/blob/devel/developer_docs/tips_and_tricks.md)\n-   [Scope](https://github.com/pyccel/pyccel/blob/devel/developer_docs/scope.md)\n-   [Type Inference](https://github.com/pyccel/pyccel/blob/devel/developer_docs/type_inference.md)\n-   [Array Ordering](https://github.com/pyccel/pyccel/blob/devel/developer_docs/order_docs.md)\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "",
    "version": "1.11.2",
    "project_urls": {
        "Homepage": "https://github.com/pyccel/pyccel"
    },
    "split_keywords": [
        "math"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f516c120647494c3a73c925fc475eafa90bf5d5bf0c87aa9741217ab33b7d90d",
                "md5": "2c861e2a3eb745ea081b49a716f914e2",
                "sha256": "d0c7e9c33c560f475aac30d36e7cc4ed656ed744ccb9ac4b269af03b2a03f943"
            },
            "downloads": -1,
            "filename": "pyccel-1.11.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2c861e2a3eb745ea081b49a716f914e2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 501724,
            "upload_time": "2024-03-05T10:15:33",
            "upload_time_iso_8601": "2024-03-05T10:15:33.713524Z",
            "url": "https://files.pythonhosted.org/packages/f5/16/c120647494c3a73c925fc475eafa90bf5d5bf0c87aa9741217ab33b7d90d/pyccel-1.11.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fceb4578c2f6e7a2962d948fb82cb5535c2aff446536e53108cefc2f45a3cb5a",
                "md5": "99a73e7437efcab6c2c16ad4b70fb2d6",
                "sha256": "0582723f5f7d632ca5c2892248d31dde735f0bde6778721457c91671288f2a61"
            },
            "downloads": -1,
            "filename": "pyccel-1.11.2.tar.gz",
            "has_sig": false,
            "md5_digest": "99a73e7437efcab6c2c16ad4b70fb2d6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 652971,
            "upload_time": "2024-03-05T10:15:37",
            "upload_time_iso_8601": "2024-03-05T10:15:37.891271Z",
            "url": "https://files.pythonhosted.org/packages/fc/eb/4578c2f6e7a2962d948fb82cb5535c2aff446536e53108cefc2f45a3cb5a/pyccel-1.11.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-05 10:15:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pyccel",
    "github_project": "pyccel",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pyccel"
}
        
Elapsed time: 0.20708s