Skip to main content

SymPDE

CI status Run notebooks in Binder Documentation Status

SymPDE is a symbolic calculus library for partial differential equations and variational forms. It can be used to have similar capabilities as the fenics project, by extending and writing your own printing functions.

An example of use can be found in psydac or gelato.

Installation

Set up a virtual environment

We always recommend working in a Python virtual environment. To create a new one we recommend the venv package:

python3 -m venv <ENV-PATH>

where <ENV-PATH> is the location to create the virtual environment. (A new directory will be created at the required location.)

In order to activate the environment from a new terminal session just run the command

source <ENV-PATH>/bin/activate

Option 1: Install from PyPI

Make sure that the preferred virtual environment is activated. Then simply run

pip3 install sympde

This will download the correct version of SymPDE from PyPI and install it in the virtual environment.

Option 2: Install from sources

First, clone the repository with Git to download the source files, and change the current directory:

git clone https://github.com/pyccel/sympde.git
cd sympde

To check out a specific branch/tag/commit named <TAG>, just use git checkout <TAG>.

  • Static mode

    To install the source files in the virtual environment just run:

    python3 -m pip install .

    Further changes to the cloned directory are not reflected in the installed package. This is why we call it a static installation.

  • Editable mode

    In order to make changes to the library, and see these changes when the package is imported, SymPDE should be installed in editable mode:

    python3 -m pip install --editable .

For developers

Because many important features of SymPDE are only tested in Psydac, new PRs should also be tested against the test suite of Psydac. This can be done by opening a PR in Psydac, where the only change consists of installing the corresponding branch of SymPDE. To achieve this, one just needs to modify the line corresponding to sympde in the pyproject.yaml file.

For instance, to test a new SymPDE branch called my_feature, one should write

# Our packages from PyPi
'sympde @ https://github.com/pyccel/sympde/archive/refs/heads/my_feature.zip',

Similarly, to test an unreleased version of SymPDE called v0.18.4-trunk, one should write

# Our packages from PyPi
'sympde @ https://github.com/pyccel/sympde/archive/refs/tags/v0.18.4-trunk.zip',

Do not forget the comma at the end of the line, as this is an item in a list. Also, pay attention to the words head and tags in the path: the former is used for Git branches, the latter is used for Git tags (which may or may not correspond to GitHub releases).

Metadata

Release files for sympde 0.20.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sympde 0.20.0
File Size Uploaded
sympde-0.20.0.tar.gz 109.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sympde 0.20.0
File Interpreter ABI Platform
sympde-0.20.0-py3-none-any.whl Python 3 none any Details

Total release size: 237.6 kB

Release files / sympde-0.20.0.tar.gz

Download URL sympde-0.20.0.tar.gz
Size 109.7 kB
Tags Source
SHA-256 checksum
How to use checksums
8a089b436f861e239ed639f8251608bc37caa9e66da6b00a0d1d08b6a416a928
BLAKE2b-256 checksum
How to use checksums
ed6babaecfc765cc88ba678200a1923c532e7db05f5bc91a737d087e5e6b9bc9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.2

Release files / sympde-0.20.0-py3-none-any.whl

Download URL sympde-0.20.0-py3-none-any.whl
Size 127.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c6bdf538571b4a146d3f29cafa380fb23a66fcc5de4cffbffff2f124d838a416
BLAKE2b-256 checksum
How to use checksums
f1e6a855b595cd7e687887551eb08eb14719a14e3fa8b65690da7d439f70145e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.2
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page