Skip to main content

rurex — faster, linear-time regular expressions for Python with a re-compatible API

CI

Python bindings to the Rust regex crate: linear-time matching — catastrophic backtracking (ReDoS) is impossible by construction — and faster than re in every measured regime: up to ×13 on scans, ahead on extraction, and inputs that hang re forever answer in ~250 ns. The API — names, flags, keyword arguments, Match semantics, even error messages and positions — matches re, verified continuously against CPython's own test suite.

Use it as re

If your patterns stay inside the supported syntax, rurex is a drop-in.

import rurex as re        # that's it

Not supported — rejected at compile time with a clear error (rurex.PatternError):

  • Lookaround: (?=...), (?!...), (?<=...), (?<!...)
  • Backreferences: \1, (?P=name)
  • Conditional groups: (?(1)yes|no)
  • Atomic groups: (?>...)
  • \Z (spelled \z here); octal escapes (\101); LOCALE/DEBUG flags

Divergences that compile anyway (rare, but know them):

  • Possessive quantifiers (a*+) compile as nested repetition with different semantics — grep your codebase for *+, ++, ?+ before swapping in rurex
  • $ does not match before a trailing newline (use \n?$ to emulate re)
  • Capture groups in unbounded loops report the last non-empty iteration: ^((x|y)*)* gives "xyy" where re gives ""
  • Under VERBOSE, Unicode whitespace is ignored too (re ignores ASCII only)

Compatibility is verified continuously against a vendored, pinned copy of CPython's re test suite plus a differential suite; every remaining gap falls into one of the categories above.

  • Linear-time guarantee. Worst-case O(m·n) matching — catastrophic backtracking is impossible by construction, so rurex is safe on untrusted patterns and untrusted input.
  • re-compatible API. compile, search, fullmatch, findall, finditer, split, sub, module-level shortcuts with a pattern cache — same names, same flags (re.IGNORECASE works as-is), same Match semantics, same error style.

Differences from re

Read this before porting:

  • No backreferences, no lookaround. The engine cannot express them in linear time; patterns using them fail to compile with rurex.error.
  • prefixmatch() is the Python 3.15 preferred name for match(); both ship with identical behavior, exactly like Python 3.15.
  • The absolute-end anchor is \z (re spells it \Z), and $ matches at the end of the haystack only — not before a trailing newline.
  • Octal escapes (\141) are rejected; use \xNN.
  • LOCALE is not supported (the engine has no locale mode).
  • Everything else mirrors re down to the details: zero-width-match stepping, findall returning '' for unmatched groups, re.error-style attributes (msg, pattern, pos, lineno, colno).

Beyond re:

  • Unicode-first: \p{Greek}-style classes and full case folding by default.
  • RegexSet: compile many patterns and scan for all of them in a single pass.
  • Bytes with an opt-in: bytes patterns use ASCII semantics like re, and a (?u:...) group opts a region into UTF-8-aware matching.

Installation

pip install rurex

The first binary release (0.1.0) is pending; until it ships, install from source — you will need a Rust toolchain:

git clone https://github.com/lorien/rurex
cd rurex
pip install .

Quickstart

Matching, ported from re muscle memory:

import rurex

rx = rurex.compile(r"(?P<year>\d{4})-(\d{2})", rurex.IGNORECASE)

rx.search("released 2024-10-07")        # first match anywhere
rx.prefixmatch("2024-10-07: log")       # anchored at the start (re.match)
rx.match("2024-10-07: log")             # same method, historic name
rx.fullmatch("2024-10-07")              # the whole string

m = rx.search("released 2024-10-07")
m["year"], m.span(1)                    # '2024', (9, 13)
m.group(0, 2), m.groupdict()            # ('2024-10', '10'), {'year': '2024'}

Iteration, splitting, substitution:

rurex.findall(r"\d+", "a1b22c333")                   # ['1', '22', '333']
[m.span() for m in rurex.finditer(r"a*", "baac")]    # [(0,0), (1,3), (3,3), (4,4)]

rurex.split(r"[\s,]+", "a b, c")                     # ['a', 'b', 'c']
rurex.sub(r"(\w+) (\w+)", r"\2 \1", "hello world")   # 'world hello'
rurex.subn(r"a", "b", "banana", count=2)             # ('bbnbna', 2)

Module functions work like re's, with the same kind of bounded pattern cache:

rurex.search(r"\d+", "ab123").span()                 # (2, 5)

Many patterns, one pass:

patterns = rurex.compile_set([r"\d+", r"[a-z]+"])
patterns.is_match("abc 12")                          # True
patterns.matches("abc 12")                           # [True, True]

Bytes: ASCII semantics like re, with an opt-in for UTF-8-aware regions:

data = "café".encode()                               # b'caf\xc3\xa9'
rurex.findall(rb"\w+", data)                         # [b'caf']
rurex.compile(rb"(?u:\w+)").search(data).group()     # b'caf\xc3\xa9'

Unsupported constructs fail loudly, not silently:

>>> rurex.compile(r"(\w+)\1")     # backreference: not supported
rurex.error: backreferences are not supported at position 5

Why linear time?

re is a backtracking engine: for patterns like (a+)+b on adversarial input, matching time grows exponentially — the classic ReDoS denial-of-service. rurex's engine compiles patterns to finite automata and guarantees O(m·n) worst-case time (m: pattern size, n: input size). The trade-off is exactly the differences list above: constructs that cannot be matched in linear time — backreferences and lookaround — are not offered.

Development

See docs/benchmarks.md for benchmark results and methodology (rurex vs re, parameter sweeps measured end to end).

python -m venv .venv && source .venv/bin/activate
pip install maturin pytest
maturin develop
pytest

Design documents live in spec/docs/ (the API contract is spec/docs/api.md). CI runs fmt, clippy, and the full test suite across Python 3.10–3.15 on every push.

License

MIT — see LICENSE.

Metadata

Release files for rurex 0.1.0

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

Source distribution (sdist)

Source distribution for rurex 0.1.0
File Size Uploaded
rurex-0.1.0.tar.gz 87.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for rurex 0.1.0
File
rurex-0.1.0-cp315-cp315t-manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64 Details
rurex-0.1.0-cp315-cp315t-manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ ARM64 Details
rurex-0.1.0-cp315-cp315-manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ x86-64 Details
rurex-0.1.0-cp315-cp315-manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ ARM64 Details
rurex-0.1.0-cp314-cp314t-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Details
rurex-0.1.0-cp314-cp314t-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64 Details
rurex-0.1.0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
rurex-0.1.0-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
rurex-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
rurex-0.1.0-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
rurex-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
rurex-0.1.0-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
rurex-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
rurex-0.1.0-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
rurex-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
rurex-0.1.0-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details
rurex-0.1.0-cp310-abi3-manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.28+ x86-64 Details
rurex-0.1.0-cp310-abi3-manylinux_2_28_aarch64.whl CPython 3.10 abi3 Linux glibc 2.28+ ARM64 Details

Total release size: 15.6 MB

Release files / rurex-0.1.0.tar.gz

Download URL rurex-0.1.0.tar.gz
Size 87.6 kB
Tags Source
SHA-256 checksum
How to use checksums
37e3f51445abea03744ab5cfdde106d00698836e29aa7a420296f8c25ca0570f
BLAKE2b-256 checksum
How to use checksums
bcf0dbaf59ca7d5c22aeb9674e7f8dd8bb15e874e35a78259ab0ad47f25edec6
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp315-cp315t-manylinux_2_28_x86_64.whl

Download URL rurex-0.1.0-cp315-cp315t-manylinux_2_28_x86_64.whl
Size 884.1 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6f64b1033a73579a79034226753df07a2a76aac7e099fba0f37708157c1d3ee8
BLAKE2b-256 checksum
How to use checksums
437d1cd3d0c9c1eda8a07ce32274a02c161acb043bf5c97dc4b84278c5ae979a
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp315-cp315t-manylinux_2_28_aarch64.whl

Download URL rurex-0.1.0-cp315-cp315t-manylinux_2_28_aarch64.whl
Size 829.6 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
518791645d28c0b0ff0737f1d9af202460e5b57ae414e53013096138c5d9af60
BLAKE2b-256 checksum
How to use checksums
f82236a2cad0ec536932c61e56a9580f29772e2cb094f0b681d6c4791e9eb351
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp315-cp315-manylinux_2_28_x86_64.whl

Download URL rurex-0.1.0-cp315-cp315-manylinux_2_28_x86_64.whl
Size 885.7 kB
Tags CPython 3.15 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3f08601374da67d567896b931ce4ace4416fad8c2613dba32dbe276bd9d4133a
BLAKE2b-256 checksum
How to use checksums
102c924e31d858aca16f88d50afc32bc547f91253329a1c990b6bf5dfd4eefce
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp315-cp315-manylinux_2_28_aarch64.whl

Download URL rurex-0.1.0-cp315-cp315-manylinux_2_28_aarch64.whl
Size 832.2 kB
Tags CPython 3.15 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
91c17448001373a76da67a6b472bcba91da412fd668154896d86407326151a88
BLAKE2b-256 checksum
How to use checksums
65dbf9cb812d0a92c6e2054ee2d832e3a5217e1e1d35ce0876b67d243b9dec1e
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp314-cp314t-manylinux_2_28_x86_64.whl

Download URL rurex-0.1.0-cp314-cp314t-manylinux_2_28_x86_64.whl
Size 884.4 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
15d12e054fd8133df9c00b4f5929415282a52a38c393ae71d9809d4b3e5a920c
BLAKE2b-256 checksum
How to use checksums
de79802435fc3cd9c3ee71a4936777c389886cc284d6d61ef570641c775fcc03
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp314-cp314t-manylinux_2_28_aarch64.whl

Download URL rurex-0.1.0-cp314-cp314t-manylinux_2_28_aarch64.whl
Size 829.7 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
654c22fb0b6ab2e139355e7c7afcda23c8304e956ce0eb0acb8f6df5422ae68f
BLAKE2b-256 checksum
How to use checksums
29da49c250cdaa1bf10a310d39a66e88388d53b74e35fefea82335d7bbadc692
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL rurex-0.1.0-cp314-cp314-manylinux_2_28_x86_64.whl
Size 885.9 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
015c3ec6fdbd909a32a1dc367ef8ef2ee2db0cfb4a5ddc22d04d3c757f89633e
BLAKE2b-256 checksum
How to use checksums
5fb84b54c9c198c3b185479d399c53cba9f170ac4db2e2fba47b6eb1e6b43465
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL rurex-0.1.0-cp314-cp314-manylinux_2_28_aarch64.whl
Size 832.6 kB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
fb487d823ff0d4ba6f41044d1f674f3de28fd654677af5e4ae535362ab37ce66
BLAKE2b-256 checksum
How to use checksums
38b4697ea280ce7fb71ad20df02f457cb91b73bf2dd9bb1264f97048a150bbc6
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL rurex-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 885.7 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c5400916641c2712ad3611cbd8f74ec0421875b2c85136e832065cb634734c9f
BLAKE2b-256 checksum
How to use checksums
e68954bba5e70bc208e9ebc7b91031f34c015e9e6812e63a47c380e7cec9bb06
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL rurex-0.1.0-cp313-cp313-manylinux_2_28_aarch64.whl
Size 832.2 kB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
6f420226f8fc3ab73602b1da0d80e36c5e57b272a65da5efa2328acbe82051a6
BLAKE2b-256 checksum
How to use checksums
3b89d8fea65c67b40788685038ad87d1dc4a84a6d2c09bd2477aad80033a7957
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL rurex-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 885.5 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b5b0a63c3c639e1ff9ef8f84fa4b45f458b29c507fcf9e5d0fbe005e7cf8238b
BLAKE2b-256 checksum
How to use checksums
592f3adfeaac9e0cddc5c288df0783bcb08ff6d2b0874c83d9f765ad22be5262
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL rurex-0.1.0-cp312-cp312-manylinux_2_28_aarch64.whl
Size 831.7 kB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
4ce5b0167da42664586457b6f90d98cf19e9049af3471f92300c2d0dcbde4147
BLAKE2b-256 checksum
How to use checksums
b65c9de0cf0e84edcc3c9ba9d8ba851a8ef0800c021a2c8cf2e10e0204519a84
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL rurex-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 886.6 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
17642c9e9f77af55e09527d6474057dc45d2cfc4f791d2768494118a961df04c
BLAKE2b-256 checksum
How to use checksums
dc6900c195cc33d1761fd3edb48030bad5e2ae606729fed3cc55f626348671b3
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL rurex-0.1.0-cp311-cp311-manylinux_2_28_aarch64.whl
Size 835.2 kB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9648a8c10ef76757d645d6e88eb2559b94b538a82dadd5563a5a166f47aab347
BLAKE2b-256 checksum
How to use checksums
0965eb84ceb5ad55a67fc5e5f425f6800d626ccb0588451a1470066b6da2d5f5
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL rurex-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl
Size 887.0 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2535807488de99e446233797dc657891efbcfafb787de51808456101c8d23447
BLAKE2b-256 checksum
How to use checksums
4494b66573f69e1275c56f93ff229969dd6cf99bdbb6cad3cfc11911f3ecc27e
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp310-cp310-manylinux_2_28_aarch64.whl

Download URL rurex-0.1.0-cp310-cp310-manylinux_2_28_aarch64.whl
Size 835.9 kB
Tags CPython 3.10 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2d4412fdcf10d4c68b4d5b431a67b10c38f2d006b9cf74ca76663c0f1f7830ab
BLAKE2b-256 checksum
How to use checksums
34e15bbceba2eb518fd833d7e149eea476610415e6bbe297fdfc3b73726421b6
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL rurex-0.1.0-cp310-abi3-manylinux_2_28_x86_64.whl
Size 887.9 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
239d88c20a420e0173f3c353f352f5693d34d7957dd6c9fa61bba56d87cd0078
BLAKE2b-256 checksum
How to use checksums
c693602a11e3f5de15170eb41d1708cb86a780ecd90fb6b6c1c490ccda980b0c
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 Oct 16, 2026.

Transparency log

Release files / rurex-0.1.0-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL rurex-0.1.0-cp310-abi3-manylinux_2_28_aarch64.whl
Size 834.6 kB
Tags CPython 3.10 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
6c8cba150e34514f71db6b357493f040718dd2c5110f212272aebd80c3a5f91e
BLAKE2b-256 checksum
How to use checksums
3b18f1f1d04962360a5b3445cfe79412dd8639e03f781111fe2bf58a010aa4dd
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 Oct 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

19 release files

0.0.1

2 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