Skip to main content

Python wrapper for Google's RE2 using Cython

Project description

Maintainer’s Note

This is an updated fork of [pyre2](https://github.com/andreasvc/pyre2). It has built wheels for newer Python versions.

All docs below are taken from the pyre2 package.

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-updated

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/tyteen4a03/pyre2.git
$ cd pyre2
$ make install

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).

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

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).

Documentation

Consult the docstrings in the source code or interactively through ipython or pydoc re2 etc.

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.

In the below example, I’m running the data against 8MB of text from the colossal Wikipedia XML file. I’m running them multiple times, being careful to use the timeit module. To see more details, please 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 list of ‘([a-zA-Z][a-zA-Z0-9]*)://([^ /]+)(/[^ ]*)?|([^ @]+)@([^ @]+)’

2

6.262

0.131

2.08%

5.119

2.55%

Replace WikiLinks

This test replaces links of the form [[Obama|Barack_Obama]] to Obama.

100

4.374

0.815

18.63%

1.176

69.33%

Remove WikiLinks

This test splits the data by the <page> tag.

100

4.153

0.225

5.43%

0.537

42.01%

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):

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyre2_updated-0.3.9.tar.gz (1.9 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyre2_updated-0.3.9-cp313-cp313-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.13Windows x86-64

pyre2_updated-0.3.9-cp313-cp313-win32.whl (1.5 MB view details)

Uploaded CPython 3.13Windows x86

pyre2_updated-0.3.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyre2_updated-0.3.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

pyre2_updated-0.3.9-cp313-cp313-macosx_14_0_arm64.whl (772.3 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

pyre2_updated-0.3.9-cp313-cp313-macosx_13_0_x86_64.whl (785.0 kB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

pyre2_updated-0.3.9-cp312-cp312-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.12Windows x86-64

pyre2_updated-0.3.9-cp312-cp312-win32.whl (1.5 MB view details)

Uploaded CPython 3.12Windows x86

pyre2_updated-0.3.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyre2_updated-0.3.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

pyre2_updated-0.3.9-cp312-cp312-macosx_14_0_arm64.whl (773.7 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

pyre2_updated-0.3.9-cp312-cp312-macosx_13_0_x86_64.whl (785.9 kB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

pyre2_updated-0.3.9-cp311-cp311-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.11Windows x86-64

pyre2_updated-0.3.9-cp311-cp311-win32.whl (1.5 MB view details)

Uploaded CPython 3.11Windows x86

pyre2_updated-0.3.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyre2_updated-0.3.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

pyre2_updated-0.3.9-cp311-cp311-macosx_14_0_arm64.whl (777.9 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

pyre2_updated-0.3.9-cp311-cp311-macosx_13_0_x86_64.whl (789.7 kB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

pyre2_updated-0.3.9-cp310-cp310-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.10Windows x86-64

pyre2_updated-0.3.9-cp310-cp310-win32.whl (1.5 MB view details)

Uploaded CPython 3.10Windows x86

pyre2_updated-0.3.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyre2_updated-0.3.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (989.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

pyre2_updated-0.3.9-cp310-cp310-macosx_14_0_arm64.whl (776.3 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

pyre2_updated-0.3.9-cp310-cp310-macosx_13_0_x86_64.whl (788.0 kB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

pyre2_updated-0.3.9-cp39-cp39-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.9Windows x86-64

pyre2_updated-0.3.9-cp39-cp39-win32.whl (1.5 MB view details)

Uploaded CPython 3.9Windows x86

pyre2_updated-0.3.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pyre2_updated-0.3.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (990.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

pyre2_updated-0.3.9-cp39-cp39-macosx_14_0_arm64.whl (776.4 kB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

pyre2_updated-0.3.9-cp39-cp39-macosx_13_0_x86_64.whl (788.3 kB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

File details

Details for the file pyre2_updated-0.3.9.tar.gz.

File metadata

  • Download URL: pyre2_updated-0.3.9.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyre2_updated-0.3.9.tar.gz
Algorithm Hash digest
SHA256 244d528c04ad8b14abbae725c3dc3e4f36da0c15adf7762e2c361df1ce2d6ff0
MD5 bea47ad0b34c61cc2db45e08c528d5ec
BLAKE2b-256 b03949643712e0cb3b6605d189cf1fa9ecbb1e214ee9d414633507f7466fb64b

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1cff0d1c7d35e492bac49e90f1d7a69f0e6ad06e15b7a45ff2846fd6974b2a10
MD5 26a8ddea59cc839113763986d8a24a37
BLAKE2b-256 51d4079dd54452cec4e110fd08359cf07820b6cfcd7d599e9a4833af648c3c14

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp313-cp313-win32.whl.

File metadata

  • Download URL: pyre2_updated-0.3.9-cp313-cp313-win32.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyre2_updated-0.3.9-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 9abda79235222d0d43382071214c63c461760ce7e1904425fa5c840ff51b6b53
MD5 b7ced353850accc904e2e51e3c2ef258
BLAKE2b-256 c0d6592c64d60cd5b52d7ac071040a982e7f6a27fd65e4914cd343f28e19f77d

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 936bbc07de61dfff6496c8fed121255cd4e15baed596d595930f811de04c9587
MD5 e5dc0fb0d1170664ff9fc346d642b20d
BLAKE2b-256 e9f93964c83d629b0035a0a384410ee3076201ccd139db81757be748cc51bf1c

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bbea3fd36ab667de26fff49136f810aed830811d6038e08547965fab4dedd7b5
MD5 cd14a427f45794e8ec887179ea41d014
BLAKE2b-256 ce09be06dcecff87f3e2e7534c2038739040158d0590ce6659fc6c803d52861b

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1133f24ef7aae5752f23d870ef1f1c2dc30c7bbdde7c229cc90a4f8aadc3abee
MD5 f36e88af14496d5284b72b95d50b663b
BLAKE2b-256 264cb2254ab30112d6fe08aa4420777d4f6798681541c50122c3005dc7ce245d

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 bd038bd43b47709f730a40531309e9f8407ba4db601d3ec1e3ce169f194ce2e0
MD5 361d4bace25fc484c3fc940d2a1c00ee
BLAKE2b-256 407810ab90a35669463fc579f6ad75470a64651dc52efa2af560586a85fe8b44

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a0ffb5101fc2872b897a0fb43a88b7d4637b72cc6e733c3221b2b3d14b5adb2d
MD5 c70519bfa56386ee0c8b8c62c002fc41
BLAKE2b-256 06201aa19ecdb5f848ba2aa989e56b6191f2f21175892c9d878efc4600e9c89b

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp312-cp312-win32.whl.

File metadata

  • Download URL: pyre2_updated-0.3.9-cp312-cp312-win32.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyre2_updated-0.3.9-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 6a8ff5b43966d634d6a48bb31b44fd05d983e43d02c23d08c540fce86673e208
MD5 0cfbef49954f1f81c2f207ff3374a883
BLAKE2b-256 7694dda36571326b917e2e3cb03ee3ecb2cbc83be62cf4ffdb99f4aee2d476f0

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e22731bea2bc322c0fd7152f6e900397b5df08d6a6cccb9e657f31f316df613c
MD5 b056e44c7a45a8893413239cc00c191b
BLAKE2b-256 02944426af235237cd5c1c133e425758a4ef15b08b55adf77ca1b07d68917ea9

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 040712ceb76d1f878a11fe34333b2c269ad35980729a0c527a16bee13f981cd9
MD5 8e53153c7362f0b6172bb8524a291123
BLAKE2b-256 b7ad623de7a70fc3cab029c14779996884be7eff7220cea91d9769e2a3eb5875

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b7666d4d8924a6667b32bf90b6703d42c2ae8e9865005eec35c396ee604f5526
MD5 d0161553c636a33793089272e5e31d51
BLAKE2b-256 812e1c1b6f9788370d900b80539541242b7d9da472cd478f56c3b71ad1e9a821

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a99493069c7372a7e986b1748ad114b9bf6697242d9b7c39d9851084ecc395b8
MD5 d8f4c993a4fb2bae5ee8d95902a03f46
BLAKE2b-256 10d5f4e91da1b27e384ddce6a989d8f4b5cd681d6d399a6992141eff0f09566a

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3f665b64e9b57809e9fbfdb77eb4c47b531726b2790f4bb7cf1d02f26aa2c177
MD5 65696e5c7baf4d50fef2cc4c38845e06
BLAKE2b-256 d8d0f5adcebc21a55e2f69a476833984674e36fb069e44c195b14125cb11e0cc

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp311-cp311-win32.whl.

File metadata

  • Download URL: pyre2_updated-0.3.9-cp311-cp311-win32.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyre2_updated-0.3.9-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 602827141f78221d4f3841739f52620ec66da62a1834d824c436b8bc6888e5f9
MD5 71a10cedfa54c95302cbe85676558ec2
BLAKE2b-256 fb81de0aba2ec7226db61ddd90bb86f9cc222a1485cef7cbd38aea52b74089e9

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 980ea397a072bc4775c27026503532353c48c633dddefeb6ca41bda76c0015c4
MD5 bc68c5b297df65346a104c903f8a4524
BLAKE2b-256 6f35b171641b48fb564fa47280e53f67b67ab1eb185db62c09f4c5b938c0fe49

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 475f2ce074d10a4bc88826dab619b84263ae0a5a886a6aae2cc4fa57ef7b96d4
MD5 8ff8c6a1e5576031b612d515e4094db6
BLAKE2b-256 031f12e13998539316ad834e8b7d0516a9a100557fe9a89aa2a025eb1d62efa8

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 be423427d39f36534b4c4d9b62e146b518c929575a2424c335e50236a202e2bc
MD5 35ed0baeb7649faf7aec539b7b192260
BLAKE2b-256 66512c663dfb8af950e0bfa9b092881e2ff6cfabcff124273e02953f108a4868

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 3b41d131be1a32ca43aa3c3f3c4b46c3884dae2f500de880ba8b49ffb6d8bbfd
MD5 d109bcec448ef19e7619b420df572734
BLAKE2b-256 5caa2c552162e0d1ae19aa1423ba4247b7bedd0370e8b0f4da372fe8e0ac0d7c

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 30fffd03ff7425b06916cbed1a273bbfbbad28f47b5619e249938cbee2fa83bc
MD5 3e1032347aef8d4a6301cbf99b40c933
BLAKE2b-256 666020957c7bea0ea6a1e69deefb5fb5aa58778bedd81474891b20bde2cd182c

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp310-cp310-win32.whl.

File metadata

  • Download URL: pyre2_updated-0.3.9-cp310-cp310-win32.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyre2_updated-0.3.9-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 bbbc896366a67266ab58255045b56e4458fe4e5a1f97a17c35454a867870a139
MD5 bc7ec18b54dde48e4e293d61da271749
BLAKE2b-256 262ebf7d9506403b8cfb12e5b92c2ea0ee9793dbf8c9b7415c20baa38073f9a5

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e7dc2bbba0f2818df9aeb21d3bd48ad0c43931a447115bdeef7e36a40264fa5
MD5 986941e0083f56187052afa19bacc8d8
BLAKE2b-256 7c4c93fc05ab250500e6e7796732ad404cd41e44dab6ba0ea2f8af37aba71b70

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 357c7fc826960c01f280e12d3fd3fa33b3f7fbe0fd210c8eff291171fe4cd0ca
MD5 776fab07fdaa0823bf823a28f4145348
BLAKE2b-256 cd72c808d898258ba80c3c9c021c38feaa1c441c1ead9c26d7add9b392b2f434

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2d4a0a5c7c3cef0beb75e3a83b1ef1b4c8b4e53d2b36df81f69581f0b7f1c8ed
MD5 dbce4310e14a57845d5f672dfa638798
BLAKE2b-256 202776b600e309a64d117e0322c9728ab449acf8b184c613b0bafee8c09f3901

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6d09cd5dea25ad1197125faf2c85baec0340249019af6cde2c4be292a638b30b
MD5 152bc2a342f73e2a5cfff24dd73a7f33
BLAKE2b-256 9b3bc2cbf6dd19721e12fd817f908b30f18a3faaa58f7f1fd93eceaa0e97347e

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b07568859c10fa14089d582e9ea1a2a6717e47eb80371d24616bf9ab25d19016
MD5 e99ce9421af66523115352edbe6d91a9
BLAKE2b-256 31fca794c08740fbb57d14aaca1bb17f0aad2cd09f8c54dc30c2c36dbbac67d3

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp39-cp39-win32.whl.

File metadata

  • Download URL: pyre2_updated-0.3.9-cp39-cp39-win32.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyre2_updated-0.3.9-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 64d06f81730001c9cfb51833e67c5a72899c4f64b77e24f6f1e114e4512b3082
MD5 4ce3ff2946b7fa901445bdede60728a9
BLAKE2b-256 363ed9cff86415e9a6032157862c14c9e4ca863cc63651293413c7114a3115b5

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c99b0b0138eef92b8ce2cf7092ac18e25eef3d72ef4169c8eb4ebbfeb292b2a1
MD5 d8d21e1ff5f72e328f8b3c5ab2458182
BLAKE2b-256 49001695cb86e2a648d95ca44e1ffecbf432518c199372d3d089d2f46feb131d

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ee29ba6ca3c79ee9e1fbab2f05091dff742e80e315a36dbdad61b7f37e619956
MD5 95528ca51067a25972ec2cb04ca1cc9a
BLAKE2b-256 4fc0eedfbba68c03f0aeccbbc56c249f4aed4638692055161035b83d3f87443a

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 17d5c45650da8c9a4e0fc6bfd30acb48544804c3b1ec105b16073d5594db1ec7
MD5 dcbbba4912f4486433928bcbee9384a8
BLAKE2b-256 2feaf788c72a33f42a06392931889297ed33d92fe8d9ca99b451022ba602f01a

See more details on using hashes here.

File details

Details for the file pyre2_updated-0.3.9-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pyre2_updated-0.3.9-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 1fbac33f4884ae540fcb8cbab86d642d28be0fcb5dc7cfd104bfa142c02d8181
MD5 6805d3d4b29b90659a45404b07ba3056
BLAKE2b-256 e12b86416d4808f1bd339886b1f45a4b453835e4f6eabf09486c258de06e3e12

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page