Python code performance toolkit written in Rust — static perf/correctness lints plus a sampling runtime profiler
Project description
rabbitinspect
A Python code performance analyzer written in Rust (via PyO3). It scans your Python source code and points out patterns that can be made faster, more memory-efficient, or more idiomatic — with optional automatic fixes.
Installation
pip install rabbitinspect
The package ships pre-compiled wheels — no Rust toolchain required.
Usage
CLI
# Check a single file
rabbitinspect file.py
# Check an entire directory
rabbitinspect src/
# Auto-fix detected issues
rabbitinspect file.py --fix
# Select specific checks only
rabbitinspect file.py --select RAB002,RAB003
# Ignore specific checks
rabbitinspect file.py --ignore RAB022,RAB101
# JSON output
rabbitinspect file.py --format json
# Disable colored output
rabbitinspect file.py --no-color
Output (ruff-style):
file.py:10:5: RAB002 Use 'is' instead of '==' for None comparison
file.py:25:8: RAB003 Use 'not x' instead of 'len(x) == 0' for emptiness check
Available commands
| Command | Description |
|---|---|
rabbitinspect . |
Analyze all Python files recursively |
rabbitinspect file.py --fix |
Analyze and auto-fix |
rabbitinspect --explain RAB002 |
Show detailed explanation for a check |
rabbitinspect --list |
List all available checks grouped by category |
rabbitinspect --select RAB002,RAB003 file.py |
Run only specific checks |
rabbitinspect --ignore RAB022,RAB101 file.py |
Skip specific checks |
rabbitinspect --only-category correctness file.py |
Run only checks in given categories |
rabbitinspect --ignore-category style,complexity file.py |
Skip entire categories |
rabbitinspect --format json file.py |
JSON output |
rabbitinspect --no-color file.py |
Disable colored output |
Suppressing checks
Inline with # noqa:
x = 42 # noqa: RAB067
try:
pass
except:
pass # noqa: RAB012, RAB013
Or globally in pyproject.toml:
[tool.rabbitinspect]
select = ["RAB002", "RAB003", "RAB006"]
ignore = ["RAB022", "RAB101"]
x = 42 # noqa: RAB067
try:
pass
except:
pass # noqa: RAB012, RAB013
Configuration via pyproject.toml
[tool.rabbitinspect]
select = ["RAB002", "RAB003", "RAB006"]
ignore = ["RAB022", "RAB101"]
only-categories = ["correctness", "performance"]
ignore-categories = ["style", "complexity"]
Python API
from rabbitinspect import analyze_code, apply_fixes
source = """
def foo(x):
if x == None:
return True
return False
"""
findings = analyze_code(source)
for f in findings:
print(f"{f['code']}:{f['line']}:{f['col']} {f['message']}")
# Apply fixes
fixes = [f['fix'] for f in findings if f.get('fix')]
fixed = apply_fixes(source, fixes)
Rule Categories
Rules are grouped into categories so you can enable or disable related checks together:
| Category | Description | Count |
|---|---|---|
| correctness | Potential bugs and correctness issues | 51 |
| performance | Performance improvements | 35 |
| style | Code style and conventions | 25 |
| typesafety | Type annotation rules | 7 |
| complexity | Code complexity metrics | 4 |
| import | Import-related rules | 3 |
| unused | Unused variables and imports | 1 |
Use --only-category to run only checks in specific categories, or --ignore-category to skip entire categories:
# Only show correctness and performance issues
rabbitinspect src/ --only-category correctness,performance
# Skip style and complexity checks
rabbitinspect src/ --ignore-category style,complexity
Checks
correctness — Potential bugs and correctness issues
| Code | Check | Auto-fix |
|---|---|---|
| RAB002 | x == None instead of x is None |
✅ |
| RAB003 | len(x) == 0 instead of not x |
✅ |
| RAB006 | type(x) == T instead of isinstance(x, T) |
✅ |
| RAB007 | Unnecessary else after return/raise/break/continue |
✅ |
| RAB011 | Mutable default argument (x=[], x={}) |
❌ |
| RAB012 | Bare except: clause |
❌ |
| RAB013 | Bare except: pass |
❌ |
| RAB025 | Long if-elif chain (> 3 branches) | ❌ |
| RAB029 | x == True / x == False instead of x / not x |
✅ |
| RAB030 | if cond: return True else: return False → return cond |
✅ |
| RAB031 | if k in d: return d[k] → d.get(k) |
✅ |
| RAB034 | assert True / assert False |
✅ |
| RAB035 | x[:] → x.copy() for list copies |
✅ |
| RAB045 | open() without context manager (with) |
❌ |
| RAB048 | not x is None → x is not None |
✅ |
| RAB052 | type(x) == A or type(x) == B → isinstance(x, (A, B)) |
✅ |
| RAB054 | if not x: x = y → x = x or y |
✅ |
| RAB057 | s.startswith('a') or s.startswith('b') → s.startswith(('a', 'b')) |
✅ |
| RAB059 | while True: without break → infinite loop |
❌ |
| RAB063 | x is 5 / x is "str" → x == 5 / x == "str" |
✅ |
| RAB064 | __init__ returning non-None value |
✅ |
| RAB065 | if True: / if False: dead code |
❌ |
| RAB068 | raise Exc() without from inside except |
❌ |
| RAB070 | x == "" / x == [] / x == {} → not x / x |
✅ |
| RAB072 | Except handler only re-raises | ❌ |
| RAB075 | isinstance(x, (A,)) → isinstance(x, A) |
✅ |
| RAB076 | str() on value already a string |
✅ |
| RAB077 | assert on a tuple literal (always true) |
✅ |
| RAB078 | except Exception: pass — silent swallow |
❌ |
| RAB079 | __del__ method defined |
❌ |
| RAB081 | return/break/continue inside finally |
❌ |
| RAB082 | except BaseException too broad |
✅ |
| RAB083 | Nested ternary expression | ❌ |
| RAB084 | Bare raise outside an except block |
❌ |
| RAB099 | Duplicate key/element in dict/set literal | ❌ |
| RAB100 | Redundant elif after return/raise/break/continue |
❌ |
| RAB103 | Self-comparison (x == x) always True/False |
❌ |
| RAB105 | Inconsistent return statements (mixed bare and valued) | ❌ |
| RAB106 | Too broad except Exception: catch |
❌ |
| RAB108 | __all__ contains non-string elements |
❌ |
| RAB113 | eval() / exec() detected (security risk) |
❌ |
| RAB114 | pickle.load() / pickle.loads() on untrusted data |
❌ |
| RAB115 | yaml.load() without Loader= (security risk) |
❌ |
| RAB118 | del on exception variable (Python 3.12+ clears chain) |
❌ |
| RAB119 | __init__ in subclass missing super().__init__() |
❌ |
| RAB120 | Modifying iterable during iteration | ❌ |
| RAB123 | Deprecated asyncio.get_event_loop() / ensure_future() |
❌ |
| RAB124 | Blocking call inside async function | ❌ |
| RAB127 | Redundant else in loop with break |
❌ |
| RAB128 | not ... in → not in (PEP 8) |
✅ |
| RAB129 | f-string in logging call (eager evaluation) | ✅ |
performance — Performance improvements
| Code | Check | Auto-fix |
|---|---|---|
| RAB004 | any([...]) / all([...]) with list comprehension |
✅ |
| RAB005 | for k in d.keys() instead of for k in d |
✅ |
| RAB008 | for i in range(len(x)) instead of enumerate(x) |
❌ |
| RAB009 | String concatenation in a loop (s += str(x)) |
❌ |
| RAB010 | set(list(x)) — unnecessary list() call |
❌ |
| RAB015 | k in d.keys() instead of k in d |
✅ |
| RAB019 | os.system() instead of subprocess.run() |
❌ |
| RAB020 | time.time() for benchmarking |
❌ |
| RAB024 | Deep comprehension (> 2 nested for clauses) |
❌ |
| RAB036 | x**2 / x**3 → x * x / x * x * x |
✅ |
| RAB037 | map(lambda, ...) / filter(lambda, ...) |
✅ |
| RAB038 | x in [const, ...] → x in {const, ...} |
✅ |
| RAB040 | @dataclass without slots=True |
✅ |
| RAB041 | re.compile() inside a function |
❌ |
| RAB042 | for line in f.readlines() → for line in f |
✅ |
| RAB043 | Manual for loop with .append() instead of comprehension |
❌ |
| RAB046 | sorted(x)[0] → min(x) |
✅ |
| RAB047 | sorted(x)[-1] → max(x) |
✅ |
| RAB050 | for i in range(len(seq)) — iterate directly |
❌ |
| RAB051 | d.setdefault(k, []).append(v) → defaultdict |
❌ |
| RAB056 | Nested with statements |
❌ |
| RAB060 | sorted(x).sort() → x.sort() |
✅ |
| RAB066 | Function definition inside a loop | ❌ |
| RAB071 | List comp inside str.join() → generator |
✅ |
| RAB085 | reversed(sorted(x)) → sorted(x, reverse=True) |
✅ |
| RAB087 | {k: v for k, v in zip(...)} → dict(zip(...)) |
✅ |
| RAB088 | while len(x) > 0 → while x |
✅ |
| RAB089 | copy.copy(x) → x.copy() |
✅ |
| RAB104 | Pass-through generator list(x for x in y) → list(y) |
❌ |
| RAB130 | len([... for ...]) → sum(1 for ...) |
✅ |
| RAB131 | set([...]) / tuple([...]) / sorted([...]) → generator |
✅ |
| RAB132 | x = x + [..] in a loop (O(n²)) → .append() / .extend() |
✅ |
| RAB133 | list.pop(0) / list.insert(0, …) → collections.deque |
❌ |
| RAB134 | sorted(x)[:k] / sorted(x)[-k:] → heapq.nsmallest/nlargest |
❌ |
| RAB135 | for … in list(range(…)) → iterate range(…) directly |
✅ |
style — Code style and conventions
| Code | Check | Auto-fix |
|---|---|---|
| RAB014 | class Foo(object) in Python 3 |
❌ |
| RAB016 | .format() instead of f-string |
❌ |
| RAB023 | Redundant .call() method call |
❌ |
| RAB026 | sorted(list(x)) / reversed(tuple(x)) — redundant collection |
✅ |
| RAB032 | bool(x) inside a boolean context |
✅ |
| RAB039 | List[X] / Dict[K,V] → list[X] / dict[K,V] |
✅ |
| RAB044 | Optional[X] / Union[A, B] → X | None / A | B |
✅ |
| RAB049 | x = x + 1 → x += 1 |
✅ |
| RAB055 | Unused loop variable → _ |
✅ |
| RAB058 | return True if cond else False → return cond |
✅ |
| RAB062 | Redundant pass after docstring |
✅ |
| RAB067 | Variable/function shadows built-in name | ✅ |
| RAB069 | dict() / list() / tuple() → {} / [] / () |
✅ |
| RAB073 | Old-style % string formatting |
❌ |
| RAB074 | os.path.* → pathlib.Path |
❌ |
| RAB080 | list(d.keys()) / list(d.values()) → list(d) |
✅ |
| RAB086 | x == a or x == b → x in (a, b) |
✅ |
| RAB107 | TODO/FIXME/HACK/XXX comment left in code | ❌ |
| RAB109 | Class name should use CamelCase convention | ❌ |
| RAB110 | Function name should use snake_case convention | ❌ |
| RAB111 | Module-level constant should use UPPER_CASE naming | ❌ |
| RAB112 | Unnecessary pass in non-empty body |
✅ |
| RAB126 | Magic number literal, assign to named constant | ❌ |
typesafety — Type annotation rules
| Code | Check | Auto-fix |
|---|---|---|
| RAB022 | Public function missing return type hint | ❌ |
| RAB090 | Public function parameter missing type annotation | ❌ |
| RAB091 | Function missing return type annotation | ❌ |
| RAB092 | Class attribute missing type annotation | ❌ |
| RAB093 | Module-level variable missing type annotation | ❌ |
| RAB094 | Any type annotation used, prefer concrete type |
❌ |
| RAB095 | Default value incompatible with type annotation | ❌ |
complexity — Code complexity metrics
| Code | Check | Auto-fix |
|---|---|---|
| RAB017 | Function too long (> 30 statements) | ❌ |
| RAB018 | Too many parameters (> 6) | ❌ |
| RAB101 | Cyclomatic complexity > 10 | ❌ |
| RAB102 | Cognitive complexity > 15 | ❌ |
import — Import-related rules
| Code | Check | Auto-fix |
|---|---|---|
| RAB061 | from module import * — wildcard import |
❌ |
| RAB096 | Unused import | ❌ |
| RAB098 | Import inside function/class body, move to module level | ❌ |
unused — Unused variables and imports
| Code | Check | Auto-fix |
|---|---|---|
| RAB001 | Variable assigned but never used | ❌ |
Runtime profiler (2.0 preview)
Beyond static analysis, rabbitinspect ships a sampling runtime profiler written in Rust. A background thread snapshots the Python stack via sys._current_frames() (robust across CPython 3.10–3.14) and samples resident memory, with near-zero changes to your code. On stop it writes a self-contained HTML report.
# Profile a script and write an HTML report
rabbitinspect perf run myscript.py --out report.html
# Also export an interactive flamegraph for https://speedscope.app
rabbitinspect perf run myscript.py --speedscope profile.speedscope.json
# Attach to an already-running process — no code changes, no restart (Linux)
rabbitinspect perf attach --pid 12345 --duration 5 --out report.html
# ...and cut through framework/idle noise — show only your own code
rabbitinspect perf attach --pid 12345 --duration 5 --app-root /path/to/project --out report.html
# Compare two runs (before / after an optimization) — diff has a differential flamegraph
rabbitinspect perf run myscript.py --json before.json
# … make your change …
rabbitinspect perf run myscript.py --json after.json
rabbitinspect perf diff before.json after.json --out diff.html
# Other run outputs: per-function CSV, speedscope JSON
rabbitinspect perf run myscript.py --csv functions.csv --speedscope profile.json
# Sample several forked workers at once (gunicorn) and merge them
rabbitinspect perf attach --pid 12345 --also-pid 12346 --also-pid 12347 --duration 10 --out report.html
The report includes:
- Top functions by self/total time, an interactive flamegraph (click to zoom), and a memory-over-time chart.
- Flame chart (time order) + call timings: each call shown separately along a time axis (a function called twice appears twice); hover for the call's duration. The table gives calls / total / avg / max ms per function.
- Per-line breakdown: click a function in the report to expand its self-time line by line, with the source text — pinpoints which statement spent the time.
- Per-function memory (
perf run --memory): live allocations attributed to functions viatracemalloc. - On-CPU vs off-CPU split (attach mode): how much self time was real CPU work vs waiting on sleep / I/O / locks.
- Per-endpoint flamegraphs: a flamegraph per route, from the samples taken while that endpoint was serving (web middleware installed).
- Request timeline + per-endpoint p50/p95/p99.
- Database section: slowest queries with the app line that issued each query, and N+1 detection (repeated query shapes within one request).
- Hotspots with lint findings: the hottest functions cross-referenced against rabbitinspect's own static rules — the static perf rules pointed straight at the code that dominates runtime.
- Report UX: a sticky section nav (jump links + back-to-top), sortable function tables (click a column header), a function search box (
/to focus,Escto clear), a "my code" toggle that hides stdlib/dependency rows, a dark-mode toggle, a run metadata sub-header (Python version, platform, timestamp, sampling interval), and a one-click functions.csv download.
Exact per-line timing (@line_profile)
The sampler can't see lines that run in microseconds. For a function you can edit, @line_profile times every line exactly via tracing (high overhead — opt-in):
from rabbitinspect.perf import line_profile, line_profile_html
@line_profile
def handler(req):
rows = db.query(...) # time on this line includes the call it makes
return render(rows)
handler(req)
open('lines.html', 'w').write(line_profile_html(handler))
Dump a running process on demand
Profile a long-running server and grab a report whenever you want — no stop, no restart:
from rabbitinspect.perf import install_dump_handler
install_dump_handler(out='dump.html') # writes dump.html on SIGUSR1
kill -USR1 <pid> # → dump.html
Async (asyncio)
The CPU sampler only sees threads that are running Python, so await-ing coroutines are invisible to it. profile_asyncio samples the event loop's tasks directly — its flamegraph shows where coroutines are parked on await.
from rabbitinspect.perf import profile_asyncio
async def main():
await do_async_work()
result = profile_asyncio(main) # runs main() and samples awaiting tasks
open('async.html', 'w').write(result.to_html())
Web frameworks
Drop-in middleware records one span per request (method, route, status, duration). Both are no-ops when the profiler is off, so they are safe to leave installed.
# Django (wsgi.py)
from rabbitinspect.perf_web import WSGIProfilerMiddleware
application = WSGIProfilerMiddleware(application)
# FastAPI / Starlette
from rabbitinspect.perf_web import ASGIProfilerMiddleware
app.add_middleware(ASGIProfilerMiddleware)
# Auto-capture a report for any request slower than 1s:
application = WSGIProfilerMiddleware(application, slow_request_ms=1000, dump_dir='slow/')
For forked workers (gunicorn/uvicorn), call enable_fork_profiling() in the parent so each worker gets its own live sampler (OS threads don't survive fork()). It stops the sampler around each fork() so the fork is single-threaded (no deadlock hazard).
Database queries
from rabbitinspect.perf_db import instrument_sqlalchemy, instrument_django, query_timer
instrument_sqlalchemy(engine) # SQLAlchemy
instrument_django() # Django (call once at startup)
with query_timer('SELECT ...'): # generic
cursor.execute('SELECT ...')
Each query is tagged with the application line that issued it (file:line), so the slowest queries and N+1 groups point straight at your code.
Timings are statistical (sampling), not exact per-call. Attach mode is Linux-only and supports CPython 3.13+ (validated on 3.13 and 3.14; 3.11/3.12 predate CPython's remote-debug offsets). Per-function memory attribution is on the roadmap.
Performance rationale
Why Rust?
Parsing and analyzing Python source is a CPU-bound operation. Rust's zero-cost abstractions and lack of a garbage collector make it ideal for this kind of static analysis. The core engine uses rustpython-parser to build a full AST and walks it with pattern matching — all without any Python overhead at analysis time.
Specific improvements
| Pattern | Inefficiency | Fix |
|---|---|---|
x == None |
Calls x.__eq__(None), may be overridden |
x is None — direct pointer comparison |
any([x for x in items]) |
Builds full list in memory | any(x for x in items) — generator yields one at a time |
len(x) == 0 |
Calls x.__len__(), may be O(n) |
not x — uses __bool__ protocol |
for k in d.keys() |
Creates a dict_keys view object |
for k in d: — iterates dict directly |
type(x) == T |
Ignores subclass relationships | isinstance(x, T) — correct for inheritance |
for i in range(len(x)) |
Double lookup x[i] overhead |
for i, item in enumerate(x) |
s += str(x) in loop |
O(n²) string allocations | "".join(...) — single allocation |
set(list(x)) |
Intermediate list allocation | set(x) — builds directly from iterator |
k in d.keys() |
Creates view for membership test | k in d — direct hash lookup |
sorted(list(x)) |
Intermediate list before sort | sorted(x) — sorts iterable directly |
if k in d: return d[k] |
Two dict lookups | return d.get(k) — single lookup |
x[:] for list copy |
Slice intent unclear | x.copy() — explicit intent |
sorted(x)[0] |
O(n log n) sort for min | min(x) — O(n) single pass |
sorted(x)[-1] |
O(n log n) sort for max | max(x) — O(n) single pass |
List[int] / Dict[str, int] |
Requires typing import |
list[int] / dict[str, int] — Python 3.9+ |
for line in f.readlines() |
Loads entire file into memory | for line in f — line by line, O(1) memory |
d.setdefault(k, []).append(v) |
Creates default on every call | defaultdict(list) — default only on missing key |
type(x) == A or type(x) == B |
Multiple type() calls |
isinstance(x, (A, B)) — single check |
reversed(sorted(x)) |
Two passes over data | sorted(x, reverse=True) — single pass |
{k: v for k, v in zip(...)} |
Comprehension overhead | dict(zip(...)) — direct constructor |
Development
# Setup
git clone https://github.com/rroblf01/rabbitinspect
cd rabbitinspect
# Build the Rust extension (requires Rust toolchain)
cargo build --release
cp target/release/librabbitinspect.so python/rabbitinspect/_core.cpython-314-x86_64-linux-gnu.so
# Run tests
uv run pytest tests/
# Build distributable wheels
uv run maturin build
License
MIT
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rabbitinspect-2.0.0.tar.gz.
File metadata
- Download URL: rabbitinspect-2.0.0.tar.gz
- Upload date:
- Size: 172.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3cf8d422002202ed73b44871a85607abb721c62742272835549d31778a2b11b7
|
|
| MD5 |
99f38f7a9a483e3fb4ebbc5815555d03
|
|
| BLAKE2b-256 |
ffa9e38f26ff32935b4fdef9623face2409658ace4347d8f6d69a4b855b48971
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0.tar.gz:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0.tar.gz -
Subject digest:
3cf8d422002202ed73b44871a85607abb721c62742272835549d31778a2b11b7 - Sigstore transparency entry: 1702252781
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e7e7156b1fe2486993ede3f1e7f699ba4280eca477d187e65923bcdd8937f38
|
|
| MD5 |
c865e98b2c6f7477e0ceaf1f0642d4c8
|
|
| BLAKE2b-256 |
15952795689455a0a78d0c4898e249b5ab1ea8263eaaa7bd2fc1ee6eed5db4e1
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp314-cp314-win_amd64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp314-cp314-win_amd64.whl -
Subject digest:
1e7e7156b1fe2486993ede3f1e7f699ba4280eca477d187e65923bcdd8937f38 - Sigstore transparency entry: 1702253333
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp314-cp314-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp314-cp314-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31d71450ff92f3d393e1399b25804e6e3d2992315403a0eab958a38672820d92
|
|
| MD5 |
8c2575946e2fbfe7ab63fc1cccab8e4e
|
|
| BLAKE2b-256 |
80ecb7b3dbc2f6d719a2f0745316761e9607c3d4a82bbeee72a45baade5c091a
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp314-cp314-manylinux_2_28_x86_64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp314-cp314-manylinux_2_28_x86_64.whl -
Subject digest:
31d71450ff92f3d393e1399b25804e6e3d2992315403a0eab958a38672820d92 - Sigstore transparency entry: 1702253416
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp314-cp314-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp314-cp314-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.14, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ee2948347fff2dee1b11d1afe437ae3c65c3c283fc673a32ec250f9b9c25c52
|
|
| MD5 |
f5549ee1f5f4ff6b6d385e66dc9c734b
|
|
| BLAKE2b-256 |
9de503eae25d684edc1c2deb7245d7767395ccb02b2ed01ccb224c32f7164d60
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp314-cp314-manylinux_2_28_aarch64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp314-cp314-manylinux_2_28_aarch64.whl -
Subject digest:
1ee2948347fff2dee1b11d1afe437ae3c65c3c283fc673a32ec250f9b9c25c52 - Sigstore transparency entry: 1702253374
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f213fa408052a14e5b6be98fd66c58ad1e04f4d8d78873b10e967e04467a7c78
|
|
| MD5 |
c4979122a1b9367307d14fc66938e223
|
|
| BLAKE2b-256 |
1517f6f7ee99683566b06249a76f7e6939ea9fe659158a36f1ceb9bc60aac8b0
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp314-cp314-macosx_11_0_arm64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp314-cp314-macosx_11_0_arm64.whl -
Subject digest:
f213fa408052a14e5b6be98fd66c58ad1e04f4d8d78873b10e967e04467a7c78 - Sigstore transparency entry: 1702253457
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp314-cp314-macosx_10_12_x86_64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp314-cp314-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.14, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0532046adfe52b75c566346ef58077a32bbf4009e4fc55155060b8ac01d002e8
|
|
| MD5 |
011f8f2c9867ade4fb1a4c04478dfdee
|
|
| BLAKE2b-256 |
8f17db137e789467c67d7e765c626d96e8723eeeacb6b44096d41961c8c32108
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp314-cp314-macosx_10_12_x86_64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp314-cp314-macosx_10_12_x86_64.whl -
Subject digest:
0532046adfe52b75c566346ef58077a32bbf4009e4fc55155060b8ac01d002e8 - Sigstore transparency entry: 1702253361
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77d97861e5c50eb6d1e6e3c95c6b01d12e45dc0dcd333c6979f43bcfc1523623
|
|
| MD5 |
1766103b7c50472c41b6f23f2d15c2c4
|
|
| BLAKE2b-256 |
2a4386521ae7bb308f179f73278a6a5072ff699e770653ced789ce2116d1689e
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp313-cp313-win_amd64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp313-cp313-win_amd64.whl -
Subject digest:
77d97861e5c50eb6d1e6e3c95c6b01d12e45dc0dcd333c6979f43bcfc1523623 - Sigstore transparency entry: 1702253309
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
896a6b1115b9805619bec17aa2473235b041811dc0ee210f9ba28ef1456ed336
|
|
| MD5 |
d54a236c3782b97095f4cdc072f374ef
|
|
| BLAKE2b-256 |
ebbc6c0197f50d2930e836245e4c6ce332c407835d9793bb2309e2bcaf16e497
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp313-cp313-manylinux_2_28_x86_64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp313-cp313-manylinux_2_28_x86_64.whl -
Subject digest:
896a6b1115b9805619bec17aa2473235b041811dc0ee210f9ba28ef1456ed336 - Sigstore transparency entry: 1702253576
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp313-cp313-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp313-cp313-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbef1940cc9b8246bf1a60ac9f9801333c54ccc09f238fbadae43b108b16e40a
|
|
| MD5 |
3d121f54b0e8b78544a803de29cb1bf9
|
|
| BLAKE2b-256 |
9243df2ede6708c16ad07e06bf7bf93739e4ccf7cdcc40852ec0f5a6778156c3
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp313-cp313-manylinux_2_28_aarch64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp313-cp313-manylinux_2_28_aarch64.whl -
Subject digest:
dbef1940cc9b8246bf1a60ac9f9801333c54ccc09f238fbadae43b108b16e40a - Sigstore transparency entry: 1702252903
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15f8523677b5786b26ba36c10b0dfbf647a6a40137589050925c38e18390716e
|
|
| MD5 |
1c9546fe731dd44c41d9319385ab3a19
|
|
| BLAKE2b-256 |
6649922f4d3681aa992b826b1259cc0af46d05d14d2a87ae9963c141b76cda0b
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
15f8523677b5786b26ba36c10b0dfbf647a6a40137589050925c38e18390716e - Sigstore transparency entry: 1702253014
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp313-cp313-macosx_10_12_x86_64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp313-cp313-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.13, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cc86ad1572195bc32084fb793bf0d252c3d24a5582bdc261dcc601c82cf329d
|
|
| MD5 |
30a2bd6d3143c5be9f0d8e6c1bc3461b
|
|
| BLAKE2b-256 |
2e66d74650366858d40549f294d30b677752b538d019dc70153df92eae161439
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp313-cp313-macosx_10_12_x86_64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp313-cp313-macosx_10_12_x86_64.whl -
Subject digest:
2cc86ad1572195bc32084fb793bf0d252c3d24a5582bdc261dcc601c82cf329d - Sigstore transparency entry: 1702253272
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3634e1741934414716e8bf4218a43c2cc01d1716e7c7ec48c01fdc3bcadbb123
|
|
| MD5 |
d6094dfd50fb388d9f9b9cb2acf88e4c
|
|
| BLAKE2b-256 |
c65fa1fb6290cdacdf45aded27970712d6ecd3b068cc41200a5d056ea4bd1cdc
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp312-cp312-win_amd64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp312-cp312-win_amd64.whl -
Subject digest:
3634e1741934414716e8bf4218a43c2cc01d1716e7c7ec48c01fdc3bcadbb123 - Sigstore transparency entry: 1702253397
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1035f5b03a86565f2f7f5a39e1b137983b50ef4171b29542d862aebc5360c3b
|
|
| MD5 |
fcf420ea7e7b79332fa0c4dfd1955bc0
|
|
| BLAKE2b-256 |
7162be235234a74cbf699bba53197566a422d175d724c7498f7a6bda2e9b0071
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp312-cp312-manylinux_2_28_x86_64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp312-cp312-manylinux_2_28_x86_64.whl -
Subject digest:
f1035f5b03a86565f2f7f5a39e1b137983b50ef4171b29542d862aebc5360c3b - Sigstore transparency entry: 1702252881
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp312-cp312-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp312-cp312-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb1f11063dff6c66eca2130b230acb31c7608796c41edc4e104db5ba1d252ab6
|
|
| MD5 |
e606c29558e8b65442bab6da9f4384ac
|
|
| BLAKE2b-256 |
eed3953072548848ef985d4b6a29c899e189d000fe18caa45013a31b6fc6b9d6
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp312-cp312-manylinux_2_28_aarch64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp312-cp312-manylinux_2_28_aarch64.whl -
Subject digest:
cb1f11063dff6c66eca2130b230acb31c7608796c41edc4e104db5ba1d252ab6 - Sigstore transparency entry: 1702253139
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b340ab8bc47e05f385b6df5ff42a66ec0e237544e49b2054d6c498f0d5a766fc
|
|
| MD5 |
46d6f99428faf05b75fb127880d0e93a
|
|
| BLAKE2b-256 |
a2857bd5b25d0eec13583c53a50bcc2794ec125a2b8b4b5c4e13e5898e2079bc
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
b340ab8bc47e05f385b6df5ff42a66ec0e237544e49b2054d6c498f0d5a766fc - Sigstore transparency entry: 1702253186
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.12, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8892cc9ff8df4c750cf1432e26477267c39fac2b0e4ca02613aaca9fbdf47639
|
|
| MD5 |
328c79153cb768d88a89ec2960897c1e
|
|
| BLAKE2b-256 |
6f056fe39f76a3ea4a664c2eb6ae812d70a04db4c01066eb87c03605b789e869
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl -
Subject digest:
8892cc9ff8df4c750cf1432e26477267c39fac2b0e4ca02613aaca9fbdf47639 - Sigstore transparency entry: 1702252972
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bdd368ea115eead1e816b2364737d00ba32129685a150113395ee90ebb65b6c7
|
|
| MD5 |
b5d44bd2b9527ed6c6dc0f67a8eb1208
|
|
| BLAKE2b-256 |
c9b4e339e33e4339b242d9f7c0bd68480548f69d26a687d8488bc8cc2a04a93a
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp311-cp311-win_amd64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp311-cp311-win_amd64.whl -
Subject digest:
bdd368ea115eead1e816b2364737d00ba32129685a150113395ee90ebb65b6c7 - Sigstore transparency entry: 1702253554
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68a8d85762358a7b3a49ef5b9380739b071df2e7a0bffbe754ad9612ca5d3649
|
|
| MD5 |
542cdc154901d97083cc8d2c1b6d73bf
|
|
| BLAKE2b-256 |
057311d25fe9e6120656e2b623af95fdb80e0da62156731f227ca33ac4991a47
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp311-cp311-manylinux_2_28_x86_64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp311-cp311-manylinux_2_28_x86_64.whl -
Subject digest:
68a8d85762358a7b3a49ef5b9380739b071df2e7a0bffbe754ad9612ca5d3649 - Sigstore transparency entry: 1702253104
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp311-cp311-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp311-cp311-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58dcfc813d4744cab79206514052a0da4c0d9e857be296653f720c0d43b990de
|
|
| MD5 |
aba8f7d805a02d8ac38ead9f5c677bee
|
|
| BLAKE2b-256 |
e91ccd7c8ea5d22eebe8cc1ef7b8a36aa48eff12314f598056f59265a2d9b319
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp311-cp311-manylinux_2_28_aarch64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp311-cp311-manylinux_2_28_aarch64.whl -
Subject digest:
58dcfc813d4744cab79206514052a0da4c0d9e857be296653f720c0d43b990de - Sigstore transparency entry: 1702252801
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b521b7dd2297c69c3a4066fc877088c64e3dc083d05221f21478b586bbf3d04
|
|
| MD5 |
54ffdeee81367cccb78950bb4860ea8e
|
|
| BLAKE2b-256 |
d1afbd9e676ac367b420127c2a7d991a31c51f53805af4b57c33847e8079852d
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
8b521b7dd2297c69c3a4066fc877088c64e3dc083d05221f21478b586bbf3d04 - Sigstore transparency entry: 1702253236
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.11, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a93278b1e66ed8bdfbf317838b33042679805ed69532a43f397423e42d405617
|
|
| MD5 |
ce038a2bdfd1e4ede5cbbd713fd3d83e
|
|
| BLAKE2b-256 |
4a36b9f7355be0ba097707fdd19305472a3d042d0fe6aebb4fbd4395238d7a62
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl -
Subject digest:
a93278b1e66ed8bdfbf317838b33042679805ed69532a43f397423e42d405617 - Sigstore transparency entry: 1702252824
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0cdc470a60c43d3262a50fd58cf6102dca9b3c21876459a859c37b09efeb54f
|
|
| MD5 |
c5865675bef63fadbef4e976ef1ec23f
|
|
| BLAKE2b-256 |
5868853cfbf7c2939cfc6927aab37b8ae8a5a030e057e2ed9260cc4ed2e012a0
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp310-cp310-win_amd64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp310-cp310-win_amd64.whl -
Subject digest:
a0cdc470a60c43d3262a50fd58cf6102dca9b3c21876459a859c37b09efeb54f - Sigstore transparency entry: 1702253055
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef52adf70c04ab0e78c8c5fa4e2f7bf94b97d6b6fbfd639e4fbf09a3a36fbad0
|
|
| MD5 |
ceaf22d404a933729504fbdf484e545c
|
|
| BLAKE2b-256 |
1c89235eac1db3c6e5296eccc25433b664344a452a8f1847bc5c55be844be86c
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp310-cp310-manylinux_2_28_x86_64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp310-cp310-manylinux_2_28_x86_64.whl -
Subject digest:
ef52adf70c04ab0e78c8c5fa4e2f7bf94b97d6b6fbfd639e4fbf09a3a36fbad0 - Sigstore transparency entry: 1702253494
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp310-cp310-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp310-cp310-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2c5837729b7706e91a89049b4854fa3ccc9439626d65598b9e954b896791e52
|
|
| MD5 |
fdef6a86115a27d3e63bb8618e0ba665
|
|
| BLAKE2b-256 |
273e991490871ae66950e1f50c7009515f0d41ceb57d7b4dcc2e561b504f7881
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp310-cp310-manylinux_2_28_aarch64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp310-cp310-manylinux_2_28_aarch64.whl -
Subject digest:
c2c5837729b7706e91a89049b4854fa3ccc9439626d65598b9e954b896791e52 - Sigstore transparency entry: 1702252857
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a065dce8b40e1249b7c54445267d3139ef84961eba88ca064ed4c224c35b487e
|
|
| MD5 |
5fc60cca48d1dacbfda1338402a08ed9
|
|
| BLAKE2b-256 |
390dcc517f69969294a8b5486e05aac5fc433228d666d4b85638aacb93236d44
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
a065dce8b40e1249b7c54445267d3139ef84961eba88ca064ed4c224c35b487e - Sigstore transparency entry: 1702252930
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rabbitinspect-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl.
File metadata
- Download URL: rabbitinspect-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.10, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6aa885d4d27948cfc596a935d116067350004fc6f4be684ea13112709f951af
|
|
| MD5 |
a7261afc3191b65cf8cced377c5e9859
|
|
| BLAKE2b-256 |
821feb8f56c6c1dea1fba3a60279171d7dd73d44354a978f37631a97c3338a60
|
Provenance
The following attestation bundles were made for rabbitinspect-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl:
Publisher:
publish.yml on rroblf01/rabbitinspect
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rabbitinspect-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl -
Subject digest:
a6aa885d4d27948cfc596a935d116067350004fc6f4be684ea13112709f951af - Sigstore transparency entry: 1702253525
- Sigstore integration time:
-
Permalink:
rroblf01/rabbitinspect@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/rroblf01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a9a5bf530d9f40d0551a1c6d040342e7ce6002 -
Trigger Event:
push
-
Statement type: