Skip to main content

pyre2: Python RE2 wrapper for linear-time regular expressions

Build CI Status Release CI Status GitHub tag (latest SemVer, including pre-release) https://badge.fury.io/py/pyre2.svg Conda CI Status License Python version version platforms downloads

Summary

pyre2 is a Python extension that wraps Google’s RE2 regular expression library. The RE2 engine compiles (strictly) regular expressions to deterministic finite automata, which guarantees linear-time behavior.

Intended as a drop-in replacement for re. Unicode is supported by encoding to UTF-8, and bytes strings are treated as UTF-8 when the UNICODE flag is given. For best performance, work with UTF-8 encoded bytes strings.

Installation

Normal usage for Linux/Mac/Windows:

$ pip install pyre2

Compiling from source

Requirements for building the C++ extension from the repo source:

  • A build environment with gcc or clang (e.g. sudo apt-get install build-essential)

  • Build tools and libraries: RE2, pybind11, and cmake installed in the build environment.

    • On Ubuntu/Debian: sudo apt-get install build-essential cmake ninja-build python3-dev cython3 pybind11-dev libre2-dev

    • On Gentoo, install dev-util/cmake, dev-python/pybind11, and dev-libs/re2

    • For a venv you can install the pybind11, cmake, and cython packages from PyPI

On MacOS, use the brew package manager:

$ brew install -s re2 pybind11

On Windows use the vcpkg package manager:

$ vcpkg install re2:x64-windows pybind11:x64-windows

You can pass some cmake environment variables to alter the build type or pass a toolchain file (the latter is required on Windows) or specify the cmake generator. For example:

$ CMAKE_GENERATOR="Unix Makefiles" CMAKE_TOOLCHAIN_FILE=clang_toolchain.cmake tox -e deploy

For development, get the source:

$ git clone git://github.com/andreasvc/pyre2.git
$ cd pyre2
$ make

This builds a wheel in dist/ using the active python3 interpreter. Build dependencies from pyproject.toml are installed in an isolated build environment, so they do not need to be installed manually. The RE2 library and compiler toolchain are system dependencies and must still be installed as described above.

To compile and install pyre2 into the active Python environment instead:

$ make install

Using a virtual environment is recommended. You can select a specific Python interpreter by overriding PYTHON, for example:

$ PYTHON=python3.12 make

The equivalent commands without make are:

$ python3 -m pip wheel --no-deps --wheel-dir dist .
$ python3 -m pip install .

To install the test dependencies and run the test suite with the selected interpreter:

$ make test
$ PYTHON=python3.15 make test

Use make clean to remove compiled extension and intermediate build files. Use make distclean to also remove distributions, tox environments, and pytest caches.

Platform-agnostic building with conda

An alternative to the above is provided via the conda recipe (use the miniconda installer if you don’t have conda installed already).

Documentation

Consult the documentation

Backwards Compatibility

The stated goal of this module is to be a drop-in replacement for re, i.e.:

try:
    import re2 as re
except ImportError:
    import re

That being said, there are features of the re module that this module may never have; these will be handled through fallback to the original re module:

  • lookahead assertions (?!...)

  • backreferences, e.g., \\1 in search pattern

  • possessive quantifiers *+, ++, ?+, {m,n}+

  • atomic groups (?>...)

  • \W and \S not supported inside character classes

On the other hand, unicode character classes are supported (e.g., \p{Greek}). Syntax reference: https://github.com/google/re2/wiki/Syntax

The re.Scanner helper is outside the scope of pyre2. Code that needs it should import it directly from Python’s standard-library re module:

from re import Scanner

However, there are times when you may want to be notified of a failover. The function set_fallback_notification determines the behavior in these cases:

try:
    import re2 as re
except ImportError:
    import re
else:
    re.set_fallback_notification(re.FALLBACK_WARNING)

set_fallback_notification takes three values: re.FALLBACK_QUIETLY (default), re.FALLBACK_WARNING (raise a warning), and re.FALLBACK_EXCEPTION (raise an exception).

You might also change the fallback module from re (default) to something else, like regex. You can achieve that with the function set_fallback_module:

>>> import re2
>>> re2.set_fallback_notification(re2.FALLBACK_WARNING)
>>> type(re2.compile(r"foo"))
<class 're2.Pattern'>
>>> type(re2.compile(r"foo(?!bar)"))
<stdin>:1: UserWarning: WARNING: Using re module. Reason: invalid perl operator: (?!
<class 're2.FallbackPattern'>
>>> import regex
>>> re2.set_fallback_module(regex)
>>> type(re2.compile(r"foo(?!bar)"))
<stdin>:1: UserWarning: WARNING: Using regex module. Reason: invalid perl operator: (?!
<class 're2.FallbackPattern'>

Unicode Support

Python bytes and unicode strings are fully supported, but note that RE2 works with UTF-8 encoded strings under the hood, which means that unicode strings need to be encoded and decoded back and forth. There are two important factors:

  • whether a unicode pattern and search string is used (will be encoded to UTF-8 internally)

  • the UNICODE flag: whether operators such as \w recognize Unicode characters.

To avoid the overhead of encoding and decoding to UTF-8, it is possible to pass UTF-8 encoded bytes strings directly but still treat them as unicode:

In [18]: re2.findall(u'\w'.encode('utf8'), u'Mötley Crüe'.encode('utf8'), flags=re2.UNICODE)
Out[18]: ['M', '\xc3\xb6', 't', 'l', 'e', 'y', 'C', 'r', '\xc3\xbc', 'e']
In [19]: re2.findall(u'\w'.encode('utf8'), u'Mötley Crüe'.encode('utf8'))
Out[19]: ['M', 't', 'l', 'e', 'y', 'C', 'r', 'e']

However, note that the indices in Match objects will refer to the bytes string. The indices of the match in the unicode string could be computed by decoding/encoding, but this is done automatically and more efficiently if you pass the unicode string:

>>> re2.search(u'ü'.encode('utf8'), u'Mötley Crüe'.encode('utf8'), flags=re2.UNICODE)
<re2.Match object; span=(10, 12), match='\xc3\xbc'>
>>> re2.search(u'ü', u'Mötley Crüe', flags=re2.UNICODE)
<re2.Match object; span=(9, 10), match=u'\xfc'>

Finally, if you want to match bytes without regard for Unicode characters, pass bytes strings and leave out the UNICODE flag (this will cause Latin 1 encoding to be used with RE2 under the hood):

>>> re2.findall(br'.', b'\x80\x81\x82')
['\x80', '\x81', '\x82']

Performance

Performance is of course the point of this module, so it better perform well. Regular expressions vary widely in complexity, and the salient feature of RE2 is that it behaves well asymptotically. This being said, for very simple substitutions, I’ve found that occasionally python’s regular re module is actually slightly faster. However, when the re module gets slow, it gets really slow, while this module buzzes along.

The example below runs against 5 MB of Wikipedia XML data. Each operation is run multiple times with timeit. These results were generated with Python 3.13.5 and GCC 14.2.0; relative performance depends on the pattern, Python and RE2 versions, compiler, and hardware. To reproduce the results, see the performance script.

Test

Description

# total runs

re time(s)

re2 time(s)

% re time

regex time(s)

% regex time

Findall URI/Email

Find URIs and emails

2

4.950

0.049

0.99%

7.641

0.64%

Replace WikiLinks

Replace links of the form [[Obama|Barack_Obama]] with Obama

100

4.621

4.206

91.03%

5.018

83.81%

Remove WikiLinks

Remove links of the form [[Obama|Barack_Obama]]

100

2.141

3.940

184.06%

2.320

169.85%

Split pages

Split the data by the <page> tag

100

0.472

0.148

31.39%

0.623

23.77%

Feel free to add more speed tests to the bottom of the script and send a pull request my way!

Current Status

The tests show the following differences with Python’s re module:

  • The $ operator in Python’s re matches twice if the string ends with \n. This can be simulated using \n?$, except when doing substitutions.

  • The pyre2 module and Python’s re may behave differently with nested groups. See tests/test_emptygroups.txt for the examples.

Please report any further issues with pyre2.

Tests

If you would like to help, one thing that would be very useful is writing comprehensive tests for this. It’s actually really easy:

  • Come up with regular expression problems using the regular python ‘re’ module.

  • Write a session in python traceback format Example.

  • Replace your import re with import re2 as re.

  • Save it with as test_<name>.txt in the tests directory. You can comment on it however you like and indent the code with 4 spaces.

Credits

This code builds on the following projects (in chronological order):

Release files for pyre2 0.3.14

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

Source distribution (sdist)

Source distribution for pyre2 0.3.14
File Size Uploaded
pyre2-0.3.14.tar.gz 1.9 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyre2 0.3.14
File
pyre2-0.3.14-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details
pyre2-0.3.14-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
pyre2-0.3.14-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ x86-64 Details
pyre2-0.3.14-cp315-cp315-macosx_14_0_arm64.whl CPython 3.15 CPython 3.15 macOS 14.0+ ARM64 Details
pyre2-0.3.14-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
pyre2-0.3.14-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
pyre2-0.3.14-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
pyre2-0.3.14-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details
pyre2-0.3.14-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pyre2-0.3.14-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
pyre2-0.3.14-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
pyre2-0.3.14-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details
pyre2-0.3.14-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pyre2-0.3.14-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
pyre2-0.3.14-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
pyre2-0.3.14-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details
pyre2-0.3.14-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pyre2-0.3.14-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
pyre2-0.3.14-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
pyre2-0.3.14-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details

Total release size: 30.3 MB

Release files / pyre2-0.3.14.tar.gz

Download URL pyre2-0.3.14.tar.gz
Size 1.9 MB
Tags Source
SHA-256 checksum
How to use checksums
7a8db45ada19b1673f60c1307d440708ef98cb53712aa559c856e7b172c8746a
BLAKE2b-256 checksum
How to use checksums
7ffeca5f14637f8edf32352995282bc6807c6c6395b61bab3da775c8f1c20efb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp315-cp315-win_amd64.whl

Download URL pyre2-0.3.14-cp315-cp315-win_amd64.whl
Size 2.6 MB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
2551bd3e8825aa6398d02bc79ee9935e71ccae24dcb98e02f01457ba5bddcafa
BLAKE2b-256 checksum
How to use checksums
da8b7898006f90fbf3a833b1a43770c7b06a75bcdc2bb3ccb8d2cd71714475db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pyre2-0.3.14-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.2 MB
Tags CPython 3.15 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2d3eace1cdbe981edd850dbdb58db8818a03a71b9005a30ea42858fe2e7aab55
BLAKE2b-256 checksum
How to use checksums
f6037ec9a7087ed91e078ac15de8d547c137ae54cd578010262a1089010291a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pyre2-0.3.14-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.2 MB
Tags CPython 3.15 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3f34711ec2b6da6be5ac572b1d7fd56c4a67fa668d67f2c3f4f92cf5bfca3b4d
BLAKE2b-256 checksum
How to use checksums
30b8df3d09c29cf5606dbe9006b0b873273473a6087d7bebe457db4df8a89385
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp315-cp315-macosx_14_0_arm64.whl

Download URL pyre2-0.3.14-cp315-cp315-macosx_14_0_arm64.whl
Size 792.5 kB
Tags CPython 3.15 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
92b919c61c720a7c8746e921f9431cf44adfde332e961046f5f4638055154e78
BLAKE2b-256 checksum
How to use checksums
05e8ae408bc085e3d55e5b205728efec08ab2924e10b9054eca0fad10c9e130e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp314-cp314-win_amd64.whl

Download URL pyre2-0.3.14-cp314-cp314-win_amd64.whl
Size 2.6 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
21572493adf1875832b08f6024f390ba3425d0328c7e7509e9c283ce5aec884f
BLAKE2b-256 checksum
How to use checksums
e0b9e748d5bc8c9d324bbb18821b00590394e17434c3ca43e14dbfe6982aa28f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pyre2-0.3.14-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.2 MB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
75eaf51004d1bae126a3617beea69989c87da52d165e0b27890de482d24301a0
BLAKE2b-256 checksum
How to use checksums
6fd06d0d0eae6f115f35647d0c1d4f32dea9b133993f8b8a9b2d2a9e2520bd36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pyre2-0.3.14-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.2 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a1522bc9ee51e672ae99d1452c193dfafc60aff50c36f1454235ae42733be14e
BLAKE2b-256 checksum
How to use checksums
88e7bd40f4c5981ea7c944fa17a654a69e3aa0e205ef0f0667b8ea0e57634816
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp314-cp314-macosx_14_0_arm64.whl

Download URL pyre2-0.3.14-cp314-cp314-macosx_14_0_arm64.whl
Size 792.1 kB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
65cb604ca3ac7215c76addf497dff89115dde78bf383a13ebcdfe587bbfab655
BLAKE2b-256 checksum
How to use checksums
a90029a899a1bd0f0a419426b25405c0fd4c200b5abfff769bff0f640b581c10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp313-cp313-win_amd64.whl

Download URL pyre2-0.3.14-cp313-cp313-win_amd64.whl
Size 2.5 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
c020a39c879a30adb537c51f40863c44c2778b69398b6119ecd40e39da80519a
BLAKE2b-256 checksum
How to use checksums
1c21fa6660154de774cfa260ee8b213d64c0be6828d06f122d246ea4b6a2b047
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pyre2-0.3.14-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.2 MB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
34058ecbd3cad3529d79905b2a946ff891fbc5558a8bd958c036c3f2b6dd6d7a
BLAKE2b-256 checksum
How to use checksums
bfe3e3e3520c8738b60a07a03ed28976c757a3474fa818801463d7ee7d128304
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pyre2-0.3.14-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.2 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c5581ec69b40249292936bb6664b3889fdfdb97e22020b4177644ca07c5a31f1
BLAKE2b-256 checksum
How to use checksums
08f86b1007fe22ae7aee2885c4c1f2fc8024f81b4eb029a20c569b1f3bb849b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp313-cp313-macosx_14_0_arm64.whl

Download URL pyre2-0.3.14-cp313-cp313-macosx_14_0_arm64.whl
Size 791.2 kB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
3404fd72366d67253f9c60eabc8a88e8ba6e5e8de8c1cdf579f0817600bddb0c
BLAKE2b-256 checksum
How to use checksums
7e4057e48ab7857f234afe779f717c275c45581f8e05ac75ce3126e96e32863d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp312-cp312-win_amd64.whl

Download URL pyre2-0.3.14-cp312-cp312-win_amd64.whl
Size 2.5 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
2edfba86298ca92c9fb6f111aa3b3fb8fb6859a86eb68c03c5bcf71d81b0f3cf
BLAKE2b-256 checksum
How to use checksums
ee4802eb79a7b756841600a04ad3c62e1ef65b0c36c0826b4256c41ea06d913b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pyre2-0.3.14-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.2 MB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
11eca0c6217c80de12e3f833f2dbf13bb4347486923abe80b2311bca2a5aca55
BLAKE2b-256 checksum
How to use checksums
6e5e5acfc7e31e2d63d50e8410d452cf566c0f142a531da4defe9e3de380b948
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pyre2-0.3.14-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.2 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d827f2007bfe9b33c73dfcc4505e9622810e3ad54ba374da2a2bfc958331e557
BLAKE2b-256 checksum
How to use checksums
ea0180a6d498ac47040e7f6f349a84be8791c2ee22da00f9d8a4095234856d9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp312-cp312-macosx_14_0_arm64.whl

Download URL pyre2-0.3.14-cp312-cp312-macosx_14_0_arm64.whl
Size 789.5 kB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
853db388cdc9cd0af807deb8306a83f8768087cf12ca98157c5225e1b6b76647
BLAKE2b-256 checksum
How to use checksums
c9b5e992ebe36caf69829df7c60182dcb4a730ded209fc4cda9b2049d4427417
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp311-cp311-win_amd64.whl

Download URL pyre2-0.3.14-cp311-cp311-win_amd64.whl
Size 2.5 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
0bf89eb62a8d10f26d7f01315d14b3842e09d32213d2989a7a1b48a01ec6f2e6
BLAKE2b-256 checksum
How to use checksums
59a3bb46dc400ca6e21c895bcbcf1385bfe5989d6f336112d71f2c63e4693ddb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pyre2-0.3.14-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
827d88d8dffc8a74b95be6edc4faba172421ed6a2483c754c5591675029c76d4
BLAKE2b-256 checksum
How to use checksums
c59d5cdff48967110d75ea00d3eb4737bda77beacf4b71758570a9c81361e926
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pyre2-0.3.14-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a2053fb9bba360c9b3c09a47f76283efecd87d059a42b82fc43dd6ce2bbfc906
BLAKE2b-256 checksum
How to use checksums
8bc784465e5c867acbc8f4dfdcfc3b45cbe0cab65f8fd848bafb23bf00f32aa1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyre2-0.3.14-cp311-cp311-macosx_14_0_arm64.whl

Download URL pyre2-0.3.14-cp311-cp311-macosx_14_0_arm64.whl
Size 796.6 kB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
a05f5d647da9cd8a8cf3598e6933a32bdb903cd4fc1a6a570e9872fdab20ad25
BLAKE2b-256 checksum
How to use checksums
db43095dbb6fd4f89e4913c8ea7028802860af41f2c103642f87d43dbe9830ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.3.14 This release

21 release files

0.3.5

16 release files

0.3.3

17 release files

0.3.2

10 release files

0.3.1

10 release files

0.3

1 release file

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