Skip to main content

rgapi

rgapi provides fd-style file discovery and rg-style text search from Python without starting a shell command.

It uses the same ignore, grep-regex, and grep-searcher crates that ripgrep uses for walking, regex matching, and file scanning. Walking and searching run in parallel by default. Most expensive work stays in Rust.

Overview

For common file discovery and search:

from rgapi import fd, ls, rg, rg_iter

fd(".", ext="py", exclude="test_*.py")
ls("src")
for row in rg_iter("TODO", ".", include="*.py", context=2): print(row.asdict())
rg("TODO", ".", ext="py", skip_dir=".venv", paths=True)

For cell-aware search of Jupyter notebooks (see Notebooks):

from rgapi import nbrg

nbrg("read_csv", ".", cell_context=1)

Walk and search functions have async versions. Streaming versions yield results as the search finds them. See Async:

from rgapi import fda, rga, rga_iter, nbrga, nbrga_iter

await rga("TODO", ".", ext="py", timeout_ms=200)
async for row in rga_iter("TODO", "."): print(row)

Use the lower-level functions to compile a regex, search text or a single file, or walk a directory:

from rgapi import compile, search_path, search_text, walk

matcher = compile("TODO")
matcher.is_match("TODO")
matcher.finditer("TODO TODO")

walk(".")
search_text(matcher, "alpha\nTODO\nomega\n", path="memory.txt", context=1)
search_path(matcher, "src/lib.rs", display_path="src/lib.rs")

Install

pip install rgapi

File discovery

fd and walk return slash-separated paths relative to root. Pass root as a str or pathlib.Path. The sync and async APIs expand ~ and accept ., ./, and paths containing ...

Discovery uses the ignore crate with ripgrep's default filters. It reads .gitignore, .ignore, and .rgignore files. .rgignore takes precedence over .gitignore. Pass ignore=False to disable all ignore-file filtering, including .rgignore.

Hidden files are skipped unless hidden=True. Symlinks are followed only with follow_links=True. Use same_file_system=True to avoid crossing filesystem boundaries.

Traversal runs in parallel without guaranteed result order. Use sorted(...) when order matters.

fd adds filename filters to walk. Its pattern is a smart-case regex matched against each basename. Lowercase patterns match case-insensitively. A pattern containing uppercase letters is case-sensitive. Use path_re to match the slash-separated relative path instead.

include and exclude use glob syntax. glob= is an alias for include=. A basename glob such as *.py also matches nested paths such as src/app.py.

Filter extensions with ext="py" or ext=["py", "rs"]. Extension and glob filters must both match. For example, include="src/*", ext="py" requires src/* and *.py, like combining rg -g with -t.

Set min_depth and max_depth to bound recursion. max_filesize skips files above a byte limit.

ls follows the shell command's listing conventions. It uses fd with max_depth=1, includes directories, disables ignore rules, and sorts by name. Set hidden=True for ls -a behaviour. All fd filters remain available.

fd_iter yields FileEntry paths as the walk finds them. It accepts every fd filter. Stopping iteration ends the walk. It does not accept timeout_ms.

path_re and skip_path_re filter slash-separated relative paths using regexes. They select returned paths or searched files without changing traversal. To skip entire subtrees, use skip_dir with a glob or skip_dir_re with a regex.

Text search

rg and rg_iter return structured SearchLine rows. They accept the same filters as fd: include, exclude, glob, ext, path_re, skip_path_re, skip_dir, skip_dir_re, min_depth, max_depth, max_filesize, follow_links, and same_file_system.

Search is case-sensitive by default, matching rg. Use smart_case=True for rg --smart-case behaviour. Use case_sensitive=False to force case-insensitive matching.

Each SearchLine has these fields:

kind         'match', 'before', 'after', or 'context'
path         path relative to root
line_number  1-based line number
lnhash       exhash-style `lineno|hash|` address for the line
line         line text without the trailing newline
matches      list of (start, end) byte offsets for match rows

rg, search_text, and search_path return SearchResults by default. This list subclass displays as rg-style multiline text in str() and notebook pretty output. rg_iter yields rows lazily.

SearchLine has a structured repr and an rg-style str. The string display truncates line to 180 characters with a trailing . repr and asdict() retain the full line. SearchLine.asdict() returns the fields as a plain Python dictionary.

Pass lnhashs=True to rg or rg_iter to display hash addresses instead of line numbers. The line_number field remains available.

For other result forms, use rg(..., paths=True) to return unique matched paths or rg(..., count=True) to count match spans. paths and count cannot both be set.

Path results

fd, walk, and ls return PathResults. So do rg and nbrg with paths=True. This is a list of FileEntry rows.

A FileEntry is a str subclass containing a relative path. Its stat property calls os.lstat on first access and caches the result. It returns None if the path has vanished. size, mtime, and is_dir use the cached stat result. The object also supports ordinary string operations.

PathResults displays as an ls -l-style listing of at most rgapi.MAX_REPR rows. A final … N more line reports omitted rows. Only displayed rows need stat calls. str() returns one plain path per line. list(res) also displays plain paths.

Limits and timeouts

Set timeout_ms on rg, fd, walk, or ls to stop at a deadline and return the results collected so far. Their async versions accept it too. Results report why the operation stopped:

  • stop_reason=None means the result is complete.
  • stop_reason="max_results" means max_results truncated the result.
  • stop_reason="timeout" means the deadline was reached.

complete is true exactly when stop_reason is None. count=True returns a plain integer without a completion flag. It cannot be combined with timeout_ms.

Context lines

before_context, after_context, and context correspond to rg -B, rg -A, and rg -C. Files containing NUL bytes or invalid UTF-8 are skipped.

Block summaries

rg(..., summary=True) returns one row per blank-line-delimited block instead of one row per matching line. Empty and whitespace-only lines delimit blocks. A block containing several matching lines appears once and keeps every matching SearchLine in matches.

rg("TODO", ".", summary=True, context=1, maxlen=120)

The result is BlockResults, a list of SearchBlock objects. Each block has path, block_index, start_line, end_line, start_lnhash, end_lnhash, kind, full source, and matches.

Matches display as path:start-end:source. Context displays as path:start-end-source. With lnhashs=True, the range uses copyable boundary addresses such as path:4|a3f2|,6|b1c3|:source. Newline runs display as . maxlen limits the displayed text without changing source or asdict().

In summary mode, before_context, after_context, and context count neighbouring blocks. max_results counts matching blocks and retains their context. summary=True cannot be combined with paths or count. It can be combined with lnhash for copyable block boundaries.

Notebooks

nbrg searches cell source in Jupyter .ipynb files and returns matching cells. Each result identifies the cell by its nbformat cell/message id, which stays stable across edits.

Plain rg searches escaped notebook JSON, including outputs and metadata. Its line numbers refer to that JSON file. nbrg searches the reconstructed cell source and identifies the cell you would edit.

from rgapi import nbrg

nbrg("read_csv", ".")                  # cells whose source matches, across all notebooks under "."
nbrg("read_csv", ".", cell_context=1)  # also include neighbouring cells as context

Notebook discovery, parsing, and matching run together in one parallel Rust pass. Matching uses rg's regex engine with the same case_sensitive and smart_case behaviour. nbrg accepts the discovery filters from fd and rg, including include, exclude, glob, hidden, max_depth, and skip_dir.

nbrg returns NbResults, a list of NbCell. Each NbCell has:

path         notebook path relative to root
cell_index   0-based position of the cell in the notebook
cell_id      nbformat cell id (falls back to the cell index for notebooks without ids)
cell_type    'code', 'markdown', or 'raw'
kind         'match' or 'context'
source       full cell source
matches      list of SearchLine rows for the matched lines within the cell

NbCell.asdict() returns these fields as a plain dictionary. Its matches field contains SearchLine dictionaries.

str() and pretty display show one line per cell. Matches use path:cell_id:source. Context uses path:cell_id-source. Newline runs display as .

A matching cell's display starts at its first matched line. Earlier lines are replaced by …[Ln], where n is the matched line's one-based number within the cell. A leading #| directive is retained, as in #| export…[L4]needle here.

maxlen limits displayed source and defaults to 120. The full source remains in source and asdict(). Each cell appears once even when it has multiple matches. All hits remain in matches.

cell_context=N includes the N cells before and after each match as kind="context" rows. Context cells are deduplicated within each notebook.

nbrg_iter yields NbCell rows as notebooks are parsed. For collected results, nbrg accepts these limits and result options:

  • max_results returns at most that many cells after sorting by path and cell index.
  • count=True returns the number of matching cells.
  • timeout_ms applies a deadline with the same stop_reason values as rg.

The parser reads only each cell's id, cell_type, and source. It skips outputs and metadata without loading embedded images or plots. search_nb(pattern, path, ...) searches a single notebook file in the same way.

rgapi-nbrg exposes notebook search without requiring a Python kernel:

rgapi-nbrg 'read_csv' .
rgapi-nbrg 'read_csv' . --cell-context 1
rgapi-nbrg 'read_csv' nbs --glob '*.ipynb' --max-results 20

Run rgapi-nbrg --help for its discovery, matching, and output options.

Async

fda, rga, and nbrga are async versions of fd, rg, and nbrg. The async generators fda_iter, rga_iter, and nbrga_iter yield rows as the search finds them. Async functions accept the same arguments and return the same types as their synchronous equivalents.

from rgapi import fda, rga, rga_iter

await fda(".", ext="py")
res = await rga("TODO", ".", timeout_ms=200)
if not res.complete: print(f"partial results: {res.stop_reason}")
async for row in rga_iter("TODO", "."): ...

Walking and searching use Rust threads, without asyncio.to_thread or the event loop's executor. A callback uses loop.call_soon_threadsafe to complete the awaited future or supply results to the generator's queue. The event loop remains unblocked, with normal contextvars behaviour.

Cancellation stops the Rust workers within about one row. This includes timeouts from asyncio.wait_for or asyncio.timeout. It also includes task cancellation, such as starlette cancelling a disconnected client's request.

Wrap an async iterator in contextlib.aclosing when leaving its loop early. break alone delays generator finalization until garbage collection. The context manager provides prompt cleanup:

async with aclosing(rga_iter("TODO", ".")) as it:
    async for row in it:
        if enough(row): break

Use streaming results for incremental display, such as sending batches to a browser as they arrive. Collected results with timeout_ms return what was found before the deadline. Use asyncio.wait_for when a timeout should raise instead.

Benchmarks

tools/bench.py compares the rg CLI with in-process rgapi. Run it against a release build. One run on this machine, using best time from seven repeats:

fixture rg rgapi
6 x 2 MB files, 2 matches 6.54 ms 1.44 ms
800 x 1.5 KB files, 2 matches 13.90 ms 10.94 ms
tiny dir, repeated 30x 5.92 ms 2.14 ms

Release files for rgapi 0.1.25

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

Source distribution (sdist)

Source distribution for rgapi 0.1.25
File Size Uploaded
rgapi-0.1.25.tar.gz 55.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for rgapi 0.1.25
File
rgapi-0.1.25-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
rgapi-0.1.25-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
rgapi-0.1.25-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
rgapi-0.1.25-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
rgapi-0.1.25-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
rgapi-0.1.25-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
rgapi-0.1.25-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
rgapi-0.1.25-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
rgapi-0.1.25-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
rgapi-0.1.25-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
rgapi-0.1.25-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
rgapi-0.1.25-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 17.5 MB

Release files / rgapi-0.1.25.tar.gz

Download URL rgapi-0.1.25.tar.gz
Size 55.4 kB
Tags Source
SHA-256 checksum
How to use checksums
0dbaf27f211cec3a66a83683b75c65595ed00f69b140b53da0cffd2caff5ff78
BLAKE2b-256 checksum
How to use checksums
571a22efb5d321c70e2cf90b04320cd562ade967f319b258567df08a882be014
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / rgapi-0.1.25-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rgapi-0.1.25-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.5 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
7668e12f227f37a41aa64a3399c6b417a1ebdaff18c2b39e07de6945aa2ae704
BLAKE2b-256 checksum
How to use checksums
92461b43315065d194a2d1824c1918225d2e26cf9f753775bf5b64787af9923e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / rgapi-0.1.25-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL rgapi-0.1.25-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.5 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
9952f31e4903594b8999299c655dca69468dd9e83993b10cfe2586a0fc5ef269
BLAKE2b-256 checksum
How to use checksums
afc7d52eb0291dc8196b4f5b99526a07be18fe28b8b7bb5012e6254ab93e2089
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / rgapi-0.1.25-cp313-cp313-macosx_11_0_arm64.whl

Download URL rgapi-0.1.25-cp313-cp313-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cddf5fbb17eb8e3ddb021f623d4cdf0038bf2f77e8093013e4e02fcdfbc0413a
BLAKE2b-256 checksum
How to use checksums
80187265737306528b6ce59f54f76a380a4bd8c563c36931b4b2276821d191aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / rgapi-0.1.25-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rgapi-0.1.25-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.5 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c3d0e01d6246d58070ec2fbda15126ebe4276ec45dcff66e7e845d8671cc79d0
BLAKE2b-256 checksum
How to use checksums
c4d5a7508cd15bf7a1471e9310044176f394b8f1259a90b7cc949512d24471a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / rgapi-0.1.25-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL rgapi-0.1.25-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.5 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
119c59c8487dd4afda115385dd118884310fef8646a6b3bc0e1bd132d5de5931
BLAKE2b-256 checksum
How to use checksums
4e380341f6f0c4ec2f7bd0367f95881dfb697f6b7a154382758bff273ac9e213
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / rgapi-0.1.25-cp312-cp312-macosx_11_0_arm64.whl

Download URL rgapi-0.1.25-cp312-cp312-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9d61d1d46b9a7c6da59064798a7817982c0df16374de581b2fe47b90718e2b17
BLAKE2b-256 checksum
How to use checksums
c8390ade8bb3b65d70f2d313641641fdf4743e7223a35f801cc8e97a33968058
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / rgapi-0.1.25-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rgapi-0.1.25-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.5 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
092b908e3dc625893d5086a2cedf940dfdec3739797a175f2897182970776620
BLAKE2b-256 checksum
How to use checksums
f1fd748343aad910741553d136c821ab7586da83027ebef666e80c39e8acdda1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / rgapi-0.1.25-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL rgapi-0.1.25-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.5 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
076e014c1a79e24ea1e0f7c102a2ed854bec327ff68c266c64bbf44829c34d87
BLAKE2b-256 checksum
How to use checksums
94ea847929f276ed1075f34041ab513784a01d8e8ff25020a4baeca71f359c26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / rgapi-0.1.25-cp311-cp311-macosx_11_0_arm64.whl

Download URL rgapi-0.1.25-cp311-cp311-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f5d9977ab60587a7999a00446804ccf2b8d00c3c7d263b5f495595616dc01a40
BLAKE2b-256 checksum
How to use checksums
9b57d3d240a71c8a1dc4a19e9f0c2c0dd082241ecb2ff19957e70d59cd46265d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / rgapi-0.1.25-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rgapi-0.1.25-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.5 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
dc25a13395995342b9eae0ed92d9dcde5aa7e6995dd059a418b217cb9259568b
BLAKE2b-256 checksum
How to use checksums
e49672147aacee4b6c3beac57650a465f32786cb7a1ed0334932a9881dfb93fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / rgapi-0.1.25-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL rgapi-0.1.25-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.5 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
3480c0ecd98668e7d0486b0f2f559512fb5a91247f283323aef1bdf48c4883d8
BLAKE2b-256 checksum
How to use checksums
5b27f19c2b863cb32ffd5acd73038fcc87d1a23cf4f301ba95b36eacdf2f319e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / rgapi-0.1.25-cp310-cp310-macosx_11_0_arm64.whl

Download URL rgapi-0.1.25-cp310-cp310-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6d534a25bb238cd9ed55b7ba7adcb27cab8fd9ef91bd7a54525942ddbc556240
BLAKE2b-256 checksum
How to use checksums
a9ece767d820f96a21dbc6efac31a3a6efe83e4d78269d15134ab09b6521825d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release history Release notifications | RSS feed

This release

0.1.25 This release

13 release files

0.1.21

9 release files

0.1.20

9 release files

0.1.19

9 release files

0.1.18

9 release files

0.1.17

9 release files

0.1.16

9 release files

0.1.15

9 release files

0.1.14

9 release files

0.1.11

9 release files

0.1.10

9 release files

0.1.9

9 release files

0.1.8

9 release files

0.1.6

9 release files

0.1.5

9 release files

0.1.4

9 release files

0.1.2

9 release files

0.1.1

9 release files

0.1.0

9 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