Skip to main content

grex


build status codecov demo supported Python versions pypi license


1. What does this library do?

grex is a library that is meant to simplify the often complicated and tedious task of creating regular expressions. It does so by automatically generating a single regular expression from user-provided test cases. The resulting expression is guaranteed to match the test cases which it was generated from.

This project has started as a Rust port of the JavaScript tool regexgen written by Devon Govett. Although a lot of further useful features could be added to it, its development was apparently ceased several years ago. The Rust library offers new features and extended Unicode support. With the help of PyO3 and Maturin, the library has been compiled to a Python extension module so that it can be used within any Python software as well.

The philosophy of this project is to generate the most specific regular expression possible by default which exactly matches the given input only and nothing else. With the use of preprocessing methods, more generalized expressions can be created.

The produced expressions are Perl-compatible regular expressions which are also compatible with the regular expression module in Python's standard library.

There is a demo website available where you can give grex a try.

demo website

2. Do I still need to learn to write regexes then?

Definitely, yes! Using the standard settings, grex produces a regular expression that is guaranteed to match only the test cases given as input and nothing else. However, if the conversion to shorthand character classes such as \w is enabled, the resulting regex matches a much wider scope of test cases. Knowledge about the consequences of this conversion is essential for finding a correct regular expression for your business domain.

grex uses an algorithm that tries to find the shortest possible regex for the given test cases. Very often though, the resulting expression is still longer or more complex than it needs to be. In such cases, a more compact or elegant regex can be created only by hand. Also, every regular expression engine has different built-in optimizations. grex does not know anything about those and therefore cannot optimize its regexes for a specific engine.

So, please learn how to write regular expressions! The currently best use case for grex is to find an initial correct regex which should be inspected by hand if further optimizations are possible.

3. Current Features

  • literals
  • character classes
  • detection of common prefixes and suffixes
  • detection of repeated substrings and conversion to {min,max} quantifier notation
  • alternation using | operator
  • optionality using ? quantifier
  • escaping of non-ascii characters, with optional conversion of astral code points to surrogate pairs
  • case-sensitive or case-insensitive matching
  • capturing or non-capturing groups
  • optional anchors ^ and $
  • fully compliant to Unicode Standard 16.0
  • correctly handles graphemes consisting of multiple Unicode symbols
  • produces more readable expressions indented on multiple using optional verbose mode
  • optional syntax highlighting for nicer output in supported terminals

4. How to install?

grex is available in the Python Package Index and can be installed with:

pip install grex

The current version 1.0.2 corresponds to the latest version 1.4.6 of the Rust library and command-line tool.

5. How to use?

This library contains a single class named RegExpBuilder that can be imported like so:

from grex import RegExpBuilder

5.1 Default settings

pattern = RegExpBuilder.from_test_cases(["a", "aa", "aaa"]).build()
assert pattern == "^a(?:aa?)?$"

5.2 Convert to character classes

pattern = (RegExpBuilder.from_test_cases(["a", "aa", "123"])
    .with_conversion_of_digits()
    .with_conversion_of_words()
    .build())
assert pattern == "^(?:\\d\\d\\d|\\w(?:\\w)?)$"

5.3 Convert repeated substrings

pattern = (RegExpBuilder.from_test_cases(["aa", "bcbc", "defdefdef"])
    .with_conversion_of_repetitions()
    .build())
assert pattern == "^(?:a{2}|(?:bc){2}|(?:def){3})$"

By default, grex converts each substring this way which is at least a single character long and which is subsequently repeated at least once. You can customize these two parameters if you like.

In the following example, the test case aa is not converted to a{2} because the repeated substring a has a length of 1, but the minimum substring length has been set to 2.

pattern = (RegExpBuilder.from_test_cases(["aa", "bcbc", "defdefdef"])
    .with_conversion_of_repetitions()
    .with_minimum_substring_length(2)
    .build())
assert pattern == "^(?:aa|(?:bc){2}|(?:def){3})$"

Setting a minimum number of 2 repetitions in the next example, only the test case defdefdef will be converted because it is the only one that is repeated twice.

pattern = (RegExpBuilder.from_test_cases(["aa", "bcbc", "defdefdef"])
    .with_conversion_of_repetitions()
    .with_minimum_repetitions(2)
    .build())
assert pattern == "^(?:bcbc|aa|(?:def){3})$"

5.4 Escape non-ascii characters

pattern = (RegExpBuilder.from_test_cases(["You smell like 💩."])
    .with_escaping_of_non_ascii_chars(use_surrogate_pairs=False)
    .build())
assert pattern == "^You smell like \\U0001f4a9\\.$"

Old versions of JavaScript do not support unicode escape sequences for the astral code planes (range U+010000 to U+10FFFF). In order to support these symbols in JavaScript regular expressions, the conversion to surrogate pairs is necessary. More information on that matter can be found here.

pattern = (RegExpBuilder.from_test_cases(["You smell like 💩."])
    .with_escaping_of_non_ascii_chars(use_surrogate_pairs=True)
    .build())
assert pattern == "^You smell like \\ud83d\\udca9\\.$"

5.5 Case-insensitive matching

The regular expressions that grex generates are case-sensitive by default. Case-insensitive matching can be enabled like so:

pattern = (RegExpBuilder.from_test_cases(["big", "BIGGER"])
    .with_case_insensitive_matching()
    .build())
assert pattern == "(?i)^big(?:ger)?$"

5.6 Capturing Groups

Non-capturing groups are used by default. Extending the previous example, you can switch to capturing groups instead.

pattern = (RegExpBuilder.from_test_cases(["big", "BIGGER"])
    .with_case_insensitive_matching()
    .with_capturing_groups()
    .build())
assert pattern == "(?i)^big(ger)?$"

5.7 Verbose mode

If you find the generated regular expression hard to read, you can enable verbose mode. The expression is then put on multiple lines and indented to make it more pleasant to the eyes.

import inspect

pattern = (RegExpBuilder.from_test_cases(["a", "b", "bcd"])
    .with_verbose_mode()
    .build())

assert pattern == inspect.cleandoc("""
    (?x)
    ^
      (?:
        b
        (?:
          cd
        )?
        |
        a
      )
    $
    """
)

5.8 Disable anchors

By default, the anchors ^ and $ are put around every generated regular expression in order to ensure that it matches only the test cases given as input. Often enough, however, it is desired to use the generated pattern as part of a larger one. For this purpose, the anchors can be disabled, either separately or both of them.

pattern = (RegExpBuilder.from_test_cases(["a", "aa", "aaa"])
    .without_anchors()
    .build())
assert pattern == "a(?:aa?)?"

6. How to build?

In order to build the source code yourself, you need the stable Rust toolchain installed on your machine so that cargo, the Rust package manager is available.

git clone https://github.com/pemistahl/grex.git
cd grex
cargo build

To build the Python extension module, create a virtual environment and install Maturin.

python -m venv /path/to/virtual/environment
source /path/to/virtual/environment/bin/activate
pip install maturin
maturin build

The Rust source code is accompanied by an extensive test suite consisting of unit tests, integration tests and property tests. For running them, simply say:

cargo test

Additional Python tests can be run after installing pytest which is an optional dependency:

maturin develop --extras=test
pytest tests/python/test_grex.py

Metadata

Release files for grex 1.0.2

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

Built distributions (wheels)

Table of built distributions (wheels) for grex 1.0.2
File
grex-1.0.2-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux musl 1.2+ x86-64 Details
grex-1.0.2-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl PyPy 3.11 PyPy 3.11 7.3 Linux musl 1.2+ ARM64 Details
grex-1.0.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-64 Details
grex-1.0.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ ARM64 Details
grex-1.0.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl PyPy 3.11 PyPy 3.11 7.3 macOS 11.0+ ARM64 Details
grex-1.0.2-pp311-pypy311_pp73-macosx_10_12_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 macOS 10.12+ x86-64 Details
grex-1.0.2-cp314-cp314-win_arm64.whl CPython 3.14 CPython 3.14 Windows ARM64 Details
grex-1.0.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
grex-1.0.2-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
grex-1.0.2-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
grex-1.0.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
grex-1.0.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details
grex-1.0.2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
grex-1.0.2-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details
grex-1.0.2-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details
grex-1.0.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
grex-1.0.2-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
grex-1.0.2-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
grex-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
grex-1.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
grex-1.0.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
grex-1.0.2-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
grex-1.0.2-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details
grex-1.0.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
grex-1.0.2-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
grex-1.0.2-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
grex-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
grex-1.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
grex-1.0.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
grex-1.0.2-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details

Total release size: 33.5 MB

Release files / grex-1.0.2-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl

Download URL grex-1.0.2-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Size 1.4 MB
Tags Linux musl 1.2+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
a3cced9d51f763f40df96e7aeb17d17ae73cefdb0a1751b985b2cba5db6a0405
BLAKE2b-256 checksum
How to use checksums
ff0cdeeb934e208437e0bd1873796e455dfb9ca42c1259a55ebf729eb3f0bdd6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl

Download URL grex-1.0.2-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Size 1.3 MB
Tags Linux musl 1.2+ ARM64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
c5ae86fd4f6f2bc39a542bcdd36d2aaaa9452bd628c56373c2ed4a71ef360e0c
BLAKE2b-256 checksum
How to use checksums
82853bd00481191ad3a5501eb2076b928ab0b2bc18bef61a4d5cd1b693861530
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL grex-1.0.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
acb6cd07df5aaea64282753b6c0580ce0c4048c897fbadc7d95a4fdfb94e6068
BLAKE2b-256 checksum
How to use checksums
ddf615950baf80be8336f5e8caa96e3143252cba8d36198621bfe56c192474bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL grex-1.0.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.1 MB
Tags Linux glibc 2.17+ ARM64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
916a9b35fcd4a5787cf28d4644a4352bb411b972eca9028f4571f2058028e872
BLAKE2b-256 checksum
How to use checksums
82ef771cee99beffb46aa426d87dcb289bfbd89f06a05150a7e9033b9ff6a10d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl

Download URL grex-1.0.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl
Size 1.0 MB
Tags PyPy 3.11 PyPy 3.11 7.3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0616cd666c192598749d69a84519a4516dbee7a140a068c9a2137d9f3de31830
BLAKE2b-256 checksum
How to use checksums
0d65803df406e7c352b579c898c4aba6fe35e23695d20622e4b1356c44be9820
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-pp311-pypy311_pp73-macosx_10_12_x86_64.whl

Download URL grex-1.0.2-pp311-pypy311_pp73-macosx_10_12_x86_64.whl
Size 1.1 MB
Tags PyPy 3.11 PyPy 3.11 7.3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
ab7e6d31cf8408b01a471693139c5f52774e5835ae5846f82a30cbd6616200f9
BLAKE2b-256 checksum
How to use checksums
ed2ecc5fd4b358d428a3a15666054df9ae80f0ed80e71f6dc3e033e85df121f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp314-cp314-win_arm64.whl

Download URL grex-1.0.2-cp314-cp314-win_arm64.whl
Size 841.4 kB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
538b4498bb879e4209fb2497836302fe7be1568496ad1d75919cabac34d3e18a
BLAKE2b-256 checksum
How to use checksums
fd8302d5a3da0c03bcd5651ed6bb21960ba190f6c13b99f48613597ee8c6a1e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp314-cp314-win_amd64.whl

Download URL grex-1.0.2-cp314-cp314-win_amd64.whl
Size 909.6 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
bf9c3be6bfd4e28ab8eeb9eb6ff6f7d3579db5a03ca613845e8445624ac355d9
BLAKE2b-256 checksum
How to use checksums
930f43d5895f49bb0c7357b1528ba94629e981b0c2630a254c23db0505bc2116
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL grex-1.0.2-cp314-cp314-musllinux_1_2_x86_64.whl
Size 1.4 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
5bbb5f48446632b361658ce79e43fdacda89c93944886b3374bd74183e64412b
BLAKE2b-256 checksum
How to use checksums
3a86b7c263bd9644ceb8a7004d06e5a08fa2392f89af852147e44f0b59247f5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL grex-1.0.2-cp314-cp314-musllinux_1_2_aarch64.whl
Size 1.3 MB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
594fd1c3f4e310330a223f088ccbedd289148e74d0e213f00d265f45b8d3a607
BLAKE2b-256 checksum
How to use checksums
0dd79282cc624b8f2a78cd12a72d3af9a4925b4662b0924120ab52529274bd0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL grex-1.0.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f80bb501a28b560780c78b69ae2ad8f8bba861e05c8a2507abe1d383772a9bbd
BLAKE2b-256 checksum
How to use checksums
c4b0ffeae07ee466fdb17888ff7f181693e0f1741eaa463442426ebaff4bf7b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL grex-1.0.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.1 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
9eb091b96913485a55498f6a15ca13694ec9d9479143b5f973c044cb8a40e092
BLAKE2b-256 checksum
How to use checksums
1c1f78340b899e0fb142377fbcfccea590dca091ae1e855da6b84012739e4230
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp314-cp314-macosx_11_0_arm64.whl

Download URL grex-1.0.2-cp314-cp314-macosx_11_0_arm64.whl
Size 1.0 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9ea809fd2534369b4cc7d41b67b474af05d8fda8277f31258e6864d1e8385c87
BLAKE2b-256 checksum
How to use checksums
c42cbc433860f82d7403593eac4057525889a4128981776c0a9c8bf846819ea4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp314-cp314-macosx_10_12_x86_64.whl

Download URL grex-1.0.2-cp314-cp314-macosx_10_12_x86_64.whl
Size 1.1 MB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
47ce10641329b59670e95535f233317dccfbb51267e3d632bd7324012d0a96a5
BLAKE2b-256 checksum
How to use checksums
5bfe571fc3f8189267d7377b79da9581e010de9db7f72f91f586963ad411f447
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp313-cp313-win_arm64.whl

Download URL grex-1.0.2-cp313-cp313-win_arm64.whl
Size 842.3 kB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
c0cf90c17efa84508b09c4417aafc10c21863d08e82b5bb6921aeb2b2c77e3f6
BLAKE2b-256 checksum
How to use checksums
18f8cba1d87827ae46e78636f331661f3393f89485bd30129e4a8b1745d0df63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp313-cp313-win_amd64.whl

Download URL grex-1.0.2-cp313-cp313-win_amd64.whl
Size 912.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
86b7a03cdf6d495368f0d552ef979957b008ae5a1f7fc1d7acd8c2b93e57b2ca
BLAKE2b-256 checksum
How to use checksums
f8eee6d83b8ec7086996f98317b1eea76a505204fa5eed8b19f39030fe23cb7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL grex-1.0.2-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.4 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
d933a884d5513106e53791405b2cd78ae8d5765a879a720ecc937837df3e3ef2
BLAKE2b-256 checksum
How to use checksums
7bff2ae260c93476d07a898ffaa051c3320e56206f321e14a766e7cc6161bed2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL grex-1.0.2-cp313-cp313-musllinux_1_2_aarch64.whl
Size 1.3 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
860e6a96198b792017d844485815b6e1cbb1ac3fad85fd893884f6746769477c
BLAKE2b-256 checksum
How to use checksums
da7befc6f81e382ab5ed1f8eb5838205fba76342e1d6fa67aa5fe80cbffe1a11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL grex-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
75e0540127fc038d61b17c91b41e6c0e0c7d9f676ec98e031ad9bc6d2cf058b2
BLAKE2b-256 checksum
How to use checksums
d4e44b7168a9630fc7914e5bfe39ddb41cccfc614741ecc40322e159759785ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL grex-1.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.1 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
c2de4976f5a29c29d85e2fbd5da8c73150cc61f286aceede6bbaa950040cbe53
BLAKE2b-256 checksum
How to use checksums
d6b477d7c092193c5cae23f6dcb7eb4dc28749172dc5af23b956d66b147a9ce9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL grex-1.0.2-cp313-cp313-macosx_11_0_arm64.whl
Size 1.0 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
06ca0094e7577a2f0e9d18b86a3988d0ccdcf73f96f5fbd26984142dfa7230ef
BLAKE2b-256 checksum
How to use checksums
81c06aed2c7d944efa44bcdea641527392d9b59d5db057f79ccf67915e4a1d19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp313-cp313-macosx_10_12_x86_64.whl

Download URL grex-1.0.2-cp313-cp313-macosx_10_12_x86_64.whl
Size 1.1 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
cdc7d24234e7c37a4e640a1dd4beead073302324efefed60c5f39d1db2c3e7c1
BLAKE2b-256 checksum
How to use checksums
08137b2457f9bf2c7c0dcb09427d077e459d0547fecd801c0dce897d5b405429
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp312-cp312-win_arm64.whl

Download URL grex-1.0.2-cp312-cp312-win_arm64.whl
Size 842.7 kB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
eb4d0593bace565da50eb05552818a2270cd670e73c071d878685809edba2ea2
BLAKE2b-256 checksum
How to use checksums
a3d3ffc1ab471eb6757f2380d6edbcf42b5a0b507e2391655b72ed9cabb0d4ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp312-cp312-win_amd64.whl

Download URL grex-1.0.2-cp312-cp312-win_amd64.whl
Size 912.3 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
b0cc3fa05c9df1452ca1cfcbc1a24c2086776ded10f89f24589846ea42f03d6f
BLAKE2b-256 checksum
How to use checksums
b3ca9d649e195c150530f49b91f178d49e57d28a9a56d74fbc4a8e6850c309f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL grex-1.0.2-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.4 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
3cd729adb670a0356d742e84cce17f16b661acc88dd1be79cc6ed6fa37f74f62
BLAKE2b-256 checksum
How to use checksums
f428c21646e7e550fea8ec0c933975bba3377e7573767949b02bde9968e84fe1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL grex-1.0.2-cp312-cp312-musllinux_1_2_aarch64.whl
Size 1.3 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
c79f988d272e41f38c404c9efef6fa34774aba05f1eb528f1e9ae3e4d187e3c4
BLAKE2b-256 checksum
How to use checksums
4f00d5479b3fb31e1f9c0472283d6f6dd7ae3a534d9e7929586a654422f8e5c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL grex-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
88fb10b8e6471cf0efe76b1c7859058f77e0f9ea17d196fd10f4951d49837c72
BLAKE2b-256 checksum
How to use checksums
782833ed2f2aeadef8f206a6ada8484aa5be7a687eb7c05813d30e9dc9e962ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL grex-1.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.1 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
95a7cdbe312b9af7992758cac41d7e27e87026a4adc5e36d726ffeea362a9d71
BLAKE2b-256 checksum
How to use checksums
052e434c978eb449a0c51ebe50dcbe1c3a7f058b9340189e41ae81c45cbbed71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL grex-1.0.2-cp312-cp312-macosx_11_0_arm64.whl
Size 1.0 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ccfe8b16efe4757e5382d40989a2ae6001800fd8465a194d0ddcb33a1643fda3
BLAKE2b-256 checksum
How to use checksums
99b8ad2e38d473459d26b061555f80c47343bf839ef790ec81486ac16be0b058
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release files / grex-1.0.2-cp312-cp312-macosx_10_12_x86_64.whl

Download URL grex-1.0.2-cp312-cp312-macosx_10_12_x86_64.whl
Size 1.1 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
d737e64fe4bcec8da0fae3e4c49a028c899623336d1500e8c0996f5c9b7963c5
BLAKE2b-256 checksum
How to use checksums
85ef70fba80ac31a53946f8bf27575469c541d9622b26eb22f0a8120b2220394
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.1

Release history Release notifications | RSS feed

This release

1.0.2 This release

30 release files

1.0.0

60 release files

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