Skip to main content

pyre

release PyPI version conda version mm cmake conda pypi source wheels

A framework for building scientific applications in Python. Visit the project homepage for more info

Getting started

If you are reading this from within pyre, you should be able to skip to the launching instructions at the end of this section.

Similarly, if you are lucky enough to work on a machine that is managed professionally, pyre may already be installed. Please contact the system administrators for instructions about how to access it, and skip to the end of this section.

If you are comfortable with jupyter notebooks, the current release tarball contains a notebook that can walk you through the installation procedure with minimal tweaking. It is located in etc/mamba/pyre.ipynb. Please report any difficulties you encounter.

The same tarball has instructions on how to build a docker instance with a pyre installation. You will find support for many recent ubuntu distributions in etc/docker.

If none of these options work for you, read on to the next section for a walk through of how to build pyre from source.

Dependencies

The easiest way to install the pyre dependencies is using micromamba and conda-forge. The following configuration file will install everything pyre needs in an environment named pyre. Feel free to add these packages to an existing environment, rather than building one from scratch, although it might be easier at first if you avoid any potential conflicts with your existing environment.

# -*- yaml -*-

name: pyre

channels:
  - conda-forge

dependencies:
  # python and runtime packages
  - python
  - pyyaml
  - ruamel.yaml
  # optional: external libraries
  - gsl
  - hdf5
  - libpq
  # optional: building from source
  - git
  - gcc
  - gxx
  - make
  - nodejs
  - pybind11

# end of file

Save this as pyre.yaml, then create the environment from it and activate it:

~> micromamba create --file pyre.yaml
~> micromamba activate pyre

On macOS, you will want to use clang instead of gcc. Keeping this environment active as you proceed is important: it is what puts the conda-forge compilers on your PATH, and mm reads the install prefix and dependency locations from it. If you open a new shell at any point, re-activate it with micromamba activate pyre before running mm.

It is also possible to use other package managers to install these dependencies. pyre has been tested on both ubuntu and macOS using their native environments, as well as macports, homebrew, and spack. Please keep in mind that most enterprise systems provide compilers and packages that are too old to build this code, so you will have to lean on something else to satisfy the dependencies. Further, you may have to adjust your PATH, LD_LIBRARY_PATH, PYTHONPATH, and perhaps other environment variables that control access to binaries, shared objects, and python packages on your machine.

Cloning the repositories

We will need a place to clone the necessary source repositories. For the sake of concreteness, let's pick ~/dv as the source directory.

~> mkdir ~/dv
~> cd ~/dv

GitHub allows access through ssh or https, with slightly different syntax. If you already have your ssh key installed on your GitHub account, you can clone the two repositories using

~/dv> git clone git@github.com:aivazis/mm
~/dv> git clone git@github.com:pyre/pyre

Alternatively, you can use the https protocol for anonymous access:

~> mkdir ~/dv
~> cd ~/dv
~/dv> git clone https://github.com/aivazis/mm
~/dv> git clone https://github.com/pyre/pyre

You can probably get away with installing pyre from conda-forge, but pyre is currently evolving rather quickly. Being tied to a slower release cycle may delay access to the latest features. Generally speaking, the HEAD of the two repositories is a safe place to pull from, as they are thoroughly tested.

Setting up the build system

Recent versions of mm interrogate the active conda environment and configure the build automatically. The two key settings are:

  • mode: conda tells mm to resolve the installation prefix and the python site-packages location directly from the active environment (via $CONDA_DEFAULT_ENV), so you don't have to specify these locations by hand.
  • pkgdb: conda tells mm to discover the external dependencies by reading the environment's conda-meta database, so you no longer need to hand-write a package database of versions and install locations.

We will place them in a small ~/.config/pyre/mm.yaml configuration file that also records your preferred compilers and build targets:

~/dv> cd ~
~> mkdir -p .config/pyre
# -*- yaml -*-

# mm configuration
mm:

  # resolve locations and externals from the active conda environment
  pkgdb: conda
  # install the build assets back into the active conda environment
  mode: conda

  # compilers
  compilers: "gcc, python/python3"
  # build target: turn optimizations on, and build shared libraries
  target: "opt, shared"

  # misc
  # the name of GNU make; may be 'gmake' on your machine
  make: make
  # local makefiles with build hooks; you can ignore this
  local: Make.mmm

# end of file

You may need to replace gcc with whatever is available in your environment; on macOS use clang. Incidentally, the directory ~/.config/pyre is the home for configuration files for all pyre applications, including yours, so we will be adding more files here later on.

Building

The next step is to build pyre. We will invoke mm a few times, so you may find it convenient to create an alias for it.

~/dv> alias mm='python3 ${HOME}/dv/mm/mm'

You might want to make this more permanent by also adding it to your shell startup file, e.g. your ~/.bash_profile.

First, build the external package database from the active environment. This is a one-time step; re-run it whenever you add or update the environment's dependencies:

~/dv> cd pyre
~/dv/pyre> mm --setup

The first time you run this, the package database is empty and make issues many warnings about undefined variables; this is normal and can be safely ignored.

Now let's verify that everything is ok so far by asking mm to show details about the build. This should generate a few lines of output similar to the following, with the prefix pointing at your active conda environment:

~/dv/pyre> mm builder.info

    mm 5.3.0
    Michael Aïvázis <michael.aivazis@para-sim.com>
    copyright 1998-2026 all rights reserved

builder directory layout:
  staging layout:
           tmp = /Users/mga/dv/pyre/builds/pyre/clang/opt-shared-darwin-arm64/
  install layout:
        prefix = /Users/mga/.local/envs/pyre
           bin = /Users/mga/.local/envs/pyre/bin/
           doc = /Users/mga/.local/envs/pyre/doc/
           inc = /Users/mga/.local/envs/pyre/include/
           lib = /Users/mga/.local/envs/pyre/lib/
         share = /Users/mga/.local/envs/pyre/share/
           pyc = /Users/mga/.local/envs/pyre/lib/python3.13/site-packages/
~/dv/pyre>

The prefix shown here is the root of your active conda environment. Depending on how micromamba (or mamba/conda) was configured when it was installed, the home of its environments may differ slightly from what is shown above — common locations include ~/.local/envs, ~/micromamba/envs, or ~/miniconda3/envs. Whatever the location, mm discovers it from the active environment, so the paths in your output will reflect your own setup.

You may see mm download a pyre archive from github to bootstrap the process. This is normal, as mm is itself a pyre application.

If anything goes wrong at this stage that cannot be resolved by retracing your steps looking for typos, please file an issue at the pyre repository, and attach a log file or a screenshot to help diagnose the problem.

If everything looks ok, let's build and install pyre. If you are on a linux system, mm will automatically discover the number of cores on your machine and launch a parallel build:

~/dv/pyre> mm

On macOS, it needs some help until pyre is built, so use something like:

~/dv/pyre> mm --slots=20

Don't worry if you don't have twenty cores on your machine. Most modern machines will be able to handle this load. Feel free to up the count if you are on a machine with more cores. If all goes well, you will have a functional pyre in the site-packages directory of your python installation. Let's verify:

~/dv/pyre> python3
>>> import pyre
>>> pyre.__file__

Both statements should succeed, and the latter should print out the pyre installation location.

Metadata

Release files for pyre 1.13.1

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

Source distribution (sdist)

Source distribution for pyre 1.13.1
File Size Uploaded
pyre-1.13.1.tar.gz 3.7 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyre 1.13.1
File
pyre-1.13.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyre-1.13.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
pyre-1.13.1-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
pyre-1.13.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyre-1.13.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
pyre-1.13.1-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
pyre-1.13.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
pyre-1.13.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
pyre-1.13.1-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
pyre-1.13.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
pyre-1.13.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
pyre-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details

Total release size: 56.3 MB

Release files / pyre-1.13.1.tar.gz

Download URL pyre-1.13.1.tar.gz
Size 3.7 MB
Tags Source
SHA-256 checksum
How to use checksums
756dddfbcf1be70f350b0826550a90057e1d993331c7887b128b634a417c2f75
BLAKE2b-256 checksum
How to use checksums
84a96221f12418d8958c0f8ddc6d7ab98d004feb730472add163ff273c6a5395
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / pyre-1.13.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyre-1.13.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 4.7 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
61023f24cefe39bfc57a46e6ec412e9c96ad83a2a2afd59b38aac4398e68ace4
BLAKE2b-256 checksum
How to use checksums
647e625d85bbda6fd8c2c3d9171c6fc34e59886b94c6a5e37407be1dd302f940
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / pyre-1.13.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL pyre-1.13.1-cp314-cp314-macosx_11_0_arm64.whl
Size 4.1 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
39f8123b10382e87df6bd44d9b074965ec1843a73d4f49efd6d1261cc3800c4c
BLAKE2b-256 checksum
How to use checksums
2f909c3ea44a8b1ea92aa9ad391da7d5e68c13a341afdd14a37289d9defe32fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / pyre-1.13.1-cp314-cp314-macosx_10_15_x86_64.whl

Download URL pyre-1.13.1-cp314-cp314-macosx_10_15_x86_64.whl
Size 4.3 MB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
9117e450464ee306fa03e2932af750c8a64ff0b139ec1de3309a8be183dbe5ce
BLAKE2b-256 checksum
How to use checksums
270be86db4f913d8951e90205dcac4324c170439bc1614aadf42e3b95d267987
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / pyre-1.13.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyre-1.13.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 4.7 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b8eb447f80ae488317ab4b9b2ca582208b4452d49e0d08d33ad4b563842239ff
BLAKE2b-256 checksum
How to use checksums
fa3cca44e9502ca20d0db1b08ab8f1371c930c2963a67c65cbf19af26b809a29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / pyre-1.13.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL pyre-1.13.1-cp313-cp313-macosx_11_0_arm64.whl
Size 4.1 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
962dcf40cfd5f05c9b11392881badc8409cf6dbfa4ac83d6867434621b8f2150
BLAKE2b-256 checksum
How to use checksums
6522b6ed94425dd722ac48908c6744fec9cbd6f2bcbfb793d1412153c0924e67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / pyre-1.13.1-cp313-cp313-macosx_10_13_x86_64.whl

Download URL pyre-1.13.1-cp313-cp313-macosx_10_13_x86_64.whl
Size 4.3 MB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
557323eefb5f56637a774b9f1faea15fd2e906b314cbba07adb18b05827e51c9
BLAKE2b-256 checksum
How to use checksums
8c8e425687a1f2d6f6dd7c8706b5bb26972f73fd8cd5a6312a6af8ad43197482
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / pyre-1.13.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyre-1.13.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 4.7 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
10ecc6db1d617523651b22f9cfadcbfd7ed04a5b26c613773f7e5c05ebb44b76
BLAKE2b-256 checksum
How to use checksums
1165a9b486f4bfc0cc6c7ab9e495d234646cad92e98a8008819ead98657a231c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / pyre-1.13.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL pyre-1.13.1-cp312-cp312-macosx_11_0_arm64.whl
Size 4.1 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b14f69db91271777612e4a421d52fe28a1d6b7091235583d24f873f3a5b5aecb
BLAKE2b-256 checksum
How to use checksums
5e03dc435ef0988228ed319bb5d6baef99c480c973235ab4f6bd43c689cf7752
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / pyre-1.13.1-cp312-cp312-macosx_10_13_x86_64.whl

Download URL pyre-1.13.1-cp312-cp312-macosx_10_13_x86_64.whl
Size 4.3 MB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
541975fca07f44923d3bb459188928a677fc487c548d03bb6d5a4163ec3896b3
BLAKE2b-256 checksum
How to use checksums
5625e8e7bca72a16a2aeaca8c61b6a63d0c6e4b23f49e37322d2e2257d8eb2c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / pyre-1.13.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyre-1.13.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 4.7 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
20c14cf2f43aab9c68544ae2bb7159e27f2a1c6e3024160484bf755a1ac41414
BLAKE2b-256 checksum
How to use checksums
0f8b7fdb8c96e369ce0ec06c9a93b1004745784e146c28f60281f432d0770ab7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / pyre-1.13.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL pyre-1.13.1-cp311-cp311-macosx_11_0_arm64.whl
Size 4.1 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0c686741e55309c6e18d7e7b3f7bb9b2ccc5a098cc209d17e63efabdc29f4ea3
BLAKE2b-256 checksum
How to use checksums
cb85cf35b1ca77cdbbfcbc4e714e23b0de2c583863f0c98568521c079fe35814
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / pyre-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl

Download URL pyre-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl
Size 4.3 MB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
d29d174cfd07de87fde7e1ac405417593011566d755a25d1059d78f011a899fa
BLAKE2b-256 checksum
How to use checksums
f4f90f18f59557f5bfd1ec036f8d7717f1ae21f2282f1a3d5cef3e1cad2b2a9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.13.1 This release

13 release files

1.13.0

1 release file

1.12.5

9 release files

1.12.2

1 release file

1.11.2

2 release files

1.0

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