Skip to main content

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 via tracemalloc.
  • 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, Esc to 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

Metadata

Release files for rabbitinspect 2.0.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 rabbitinspect 2.0.0
File Size Uploaded Provenance Actions
rabbitinspect-2.0.0.tar.gz 172.6 kB With provenance Details for rabbitinspect-2.0.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for rabbitinspect 2.0.0
File Actions
rabbitinspect-2.0.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for rabbitinspect-2.0.0-cp314-cp314-win_amd64.whl
rabbitinspect-2.0.0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details for rabbitinspect-2.0.0-cp314-cp314-manylinux_2_28_x86_64.whl
rabbitinspect-2.0.0-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details for rabbitinspect-2.0.0-cp314-cp314-manylinux_2_28_aarch64.whl
rabbitinspect-2.0.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for rabbitinspect-2.0.0-cp314-cp314-macosx_11_0_arm64.whl
rabbitinspect-2.0.0-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details for rabbitinspect-2.0.0-cp314-cp314-macosx_10_12_x86_64.whl
rabbitinspect-2.0.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for rabbitinspect-2.0.0-cp313-cp313-win_amd64.whl
rabbitinspect-2.0.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details for rabbitinspect-2.0.0-cp313-cp313-manylinux_2_28_x86_64.whl
rabbitinspect-2.0.0-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details for rabbitinspect-2.0.0-cp313-cp313-manylinux_2_28_aarch64.whl
rabbitinspect-2.0.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for rabbitinspect-2.0.0-cp313-cp313-macosx_11_0_arm64.whl
rabbitinspect-2.0.0-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details for rabbitinspect-2.0.0-cp313-cp313-macosx_10_12_x86_64.whl
rabbitinspect-2.0.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for rabbitinspect-2.0.0-cp312-cp312-win_amd64.whl
rabbitinspect-2.0.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details for rabbitinspect-2.0.0-cp312-cp312-manylinux_2_28_x86_64.whl
rabbitinspect-2.0.0-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details for rabbitinspect-2.0.0-cp312-cp312-manylinux_2_28_aarch64.whl
rabbitinspect-2.0.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for rabbitinspect-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
rabbitinspect-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details for rabbitinspect-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl
rabbitinspect-2.0.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for rabbitinspect-2.0.0-cp311-cp311-win_amd64.whl
rabbitinspect-2.0.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details for rabbitinspect-2.0.0-cp311-cp311-manylinux_2_28_x86_64.whl
rabbitinspect-2.0.0-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details for rabbitinspect-2.0.0-cp311-cp311-manylinux_2_28_aarch64.whl
rabbitinspect-2.0.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for rabbitinspect-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
rabbitinspect-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details for rabbitinspect-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl
rabbitinspect-2.0.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for rabbitinspect-2.0.0-cp310-cp310-win_amd64.whl
rabbitinspect-2.0.0-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details for rabbitinspect-2.0.0-cp310-cp310-manylinux_2_28_x86_64.whl
rabbitinspect-2.0.0-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details for rabbitinspect-2.0.0-cp310-cp310-manylinux_2_28_aarch64.whl
rabbitinspect-2.0.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for rabbitinspect-2.0.0-cp310-cp310-macosx_11_0_arm64.whl
rabbitinspect-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64 Details for rabbitinspect-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl

Total release size: 37.2 MB

Release files / rabbitinspect-2.0.0.tar.gz

Download URL rabbitinspect-2.0.0.tar.gz
Size 172.6 kB
Tags Source
SHA-256 checksum
How to use checksums
3cf8d422002202ed73b44871a85607abb721c62742272835549d31778a2b11b7
BLAKE2b-256 checksum
How to use checksums
ffa9e38f26ff32935b4fdef9623face2409658ace4347d8f6d69a4b855b48971
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp314-cp314-win_amd64.whl

Download URL rabbitinspect-2.0.0-cp314-cp314-win_amd64.whl
Size 1.5 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
1e7e7156b1fe2486993ede3f1e7f699ba4280eca477d187e65923bcdd8937f38
BLAKE2b-256 checksum
How to use checksums
15952795689455a0a78d0c4898e249b5ab1ea8263eaaa7bd2fc1ee6eed5db4e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL rabbitinspect-2.0.0-cp314-cp314-manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
31d71450ff92f3d393e1399b25804e6e3d2992315403a0eab958a38672820d92
BLAKE2b-256 checksum
How to use checksums
80ecb7b3dbc2f6d719a2f0745316761e9607c3d4a82bbeee72a45baade5c091a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL rabbitinspect-2.0.0-cp314-cp314-manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
1ee2948347fff2dee1b11d1afe437ae3c65c3c283fc673a32ec250f9b9c25c52
BLAKE2b-256 checksum
How to use checksums
9de503eae25d684edc1c2deb7245d7767395ccb02b2ed01ccb224c32f7164d60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL rabbitinspect-2.0.0-cp314-cp314-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f213fa408052a14e5b6be98fd66c58ad1e04f4d8d78873b10e967e04467a7c78
BLAKE2b-256 checksum
How to use checksums
1517f6f7ee99683566b06249a76f7e6939ea9fe659158a36f1ceb9bc60aac8b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp314-cp314-macosx_10_12_x86_64.whl

Download URL rabbitinspect-2.0.0-cp314-cp314-macosx_10_12_x86_64.whl
Size 1.5 MB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
0532046adfe52b75c566346ef58077a32bbf4009e4fc55155060b8ac01d002e8
BLAKE2b-256 checksum
How to use checksums
8f17db137e789467c67d7e765c626d96e8723eeeacb6b44096d41961c8c32108
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp313-cp313-win_amd64.whl

Download URL rabbitinspect-2.0.0-cp313-cp313-win_amd64.whl
Size 1.5 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
77d97861e5c50eb6d1e6e3c95c6b01d12e45dc0dcd333c6979f43bcfc1523623
BLAKE2b-256 checksum
How to use checksums
2a4386521ae7bb308f179f73278a6a5072ff699e770653ced789ce2116d1689e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL rabbitinspect-2.0.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
896a6b1115b9805619bec17aa2473235b041811dc0ee210f9ba28ef1456ed336
BLAKE2b-256 checksum
How to use checksums
ebbc6c0197f50d2930e836245e4c6ce332c407835d9793bb2309e2bcaf16e497
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL rabbitinspect-2.0.0-cp313-cp313-manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
dbef1940cc9b8246bf1a60ac9f9801333c54ccc09f238fbadae43b108b16e40a
BLAKE2b-256 checksum
How to use checksums
9243df2ede6708c16ad07e06bf7bf93739e4ccf7cdcc40852ec0f5a6778156c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL rabbitinspect-2.0.0-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
15f8523677b5786b26ba36c10b0dfbf647a6a40137589050925c38e18390716e
BLAKE2b-256 checksum
How to use checksums
6649922f4d3681aa992b826b1259cc0af46d05d14d2a87ae9963c141b76cda0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp313-cp313-macosx_10_12_x86_64.whl

Download URL rabbitinspect-2.0.0-cp313-cp313-macosx_10_12_x86_64.whl
Size 1.5 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
2cc86ad1572195bc32084fb793bf0d252c3d24a5582bdc261dcc601c82cf329d
BLAKE2b-256 checksum
How to use checksums
2e66d74650366858d40549f294d30b677752b538d019dc70153df92eae161439
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp312-cp312-win_amd64.whl

Download URL rabbitinspect-2.0.0-cp312-cp312-win_amd64.whl
Size 1.5 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
3634e1741934414716e8bf4218a43c2cc01d1716e7c7ec48c01fdc3bcadbb123
BLAKE2b-256 checksum
How to use checksums
c65fa1fb6290cdacdf45aded27970712d6ecd3b068cc41200a5d056ea4bd1cdc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL rabbitinspect-2.0.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f1035f5b03a86565f2f7f5a39e1b137983b50ef4171b29542d862aebc5360c3b
BLAKE2b-256 checksum
How to use checksums
7162be235234a74cbf699bba53197566a422d175d724c7498f7a6bda2e9b0071
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL rabbitinspect-2.0.0-cp312-cp312-manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
cb1f11063dff6c66eca2130b230acb31c7608796c41edc4e104db5ba1d252ab6
BLAKE2b-256 checksum
How to use checksums
eed3953072548848ef985d4b6a29c899e189d000fe18caa45013a31b6fc6b9d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL rabbitinspect-2.0.0-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
b340ab8bc47e05f385b6df5ff42a66ec0e237544e49b2054d6c498f0d5a766fc
BLAKE2b-256 checksum
How to use checksums
a2857bd5b25d0eec13583c53a50bcc2794ec125a2b8b4b5c4e13e5898e2079bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl

Download URL rabbitinspect-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl
Size 1.5 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
8892cc9ff8df4c750cf1432e26477267c39fac2b0e4ca02613aaca9fbdf47639
BLAKE2b-256 checksum
How to use checksums
6f056fe39f76a3ea4a664c2eb6ae812d70a04db4c01066eb87c03605b789e869
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp311-cp311-win_amd64.whl

Download URL rabbitinspect-2.0.0-cp311-cp311-win_amd64.whl
Size 1.5 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
bdd368ea115eead1e816b2364737d00ba32129685a150113395ee90ebb65b6c7
BLAKE2b-256 checksum
How to use checksums
c9b4e339e33e4339b242d9f7c0bd68480548f69d26a687d8488bc8cc2a04a93a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL rabbitinspect-2.0.0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
68a8d85762358a7b3a49ef5b9380739b071df2e7a0bffbe754ad9612ca5d3649
BLAKE2b-256 checksum
How to use checksums
057311d25fe9e6120656e2b623af95fdb80e0da62156731f227ca33ac4991a47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL rabbitinspect-2.0.0-cp311-cp311-manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
58dcfc813d4744cab79206514052a0da4c0d9e857be296653f720c0d43b990de
BLAKE2b-256 checksum
How to use checksums
e91ccd7c8ea5d22eebe8cc1ef7b8a36aa48eff12314f598056f59265a2d9b319
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL rabbitinspect-2.0.0-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
8b521b7dd2297c69c3a4066fc877088c64e3dc083d05221f21478b586bbf3d04
BLAKE2b-256 checksum
How to use checksums
d1afbd9e676ac367b420127c2a7d991a31c51f53805af4b57c33847e8079852d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl

Download URL rabbitinspect-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl
Size 1.5 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
a93278b1e66ed8bdfbf317838b33042679805ed69532a43f397423e42d405617
BLAKE2b-256 checksum
How to use checksums
4a36b9f7355be0ba097707fdd19305472a3d042d0fe6aebb4fbd4395238d7a62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp310-cp310-win_amd64.whl

Download URL rabbitinspect-2.0.0-cp310-cp310-win_amd64.whl
Size 1.5 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
a0cdc470a60c43d3262a50fd58cf6102dca9b3c21876459a859c37b09efeb54f
BLAKE2b-256 checksum
How to use checksums
5868853cfbf7c2939cfc6927aab37b8ae8a5a030e057e2ed9260cc4ed2e012a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL rabbitinspect-2.0.0-cp310-cp310-manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ef52adf70c04ab0e78c8c5fa4e2f7bf94b97d6b6fbfd639e4fbf09a3a36fbad0
BLAKE2b-256 checksum
How to use checksums
1c89235eac1db3c6e5296eccc25433b664344a452a8f1847bc5c55be844be86c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp310-cp310-manylinux_2_28_aarch64.whl

Download URL rabbitinspect-2.0.0-cp310-cp310-manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c2c5837729b7706e91a89049b4854fa3ccc9439626d65598b9e954b896791e52
BLAKE2b-256 checksum
How to use checksums
273e991490871ae66950e1f50c7009515f0d41ceb57d7b4dcc2e561b504f7881
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL rabbitinspect-2.0.0-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
a065dce8b40e1249b7c54445267d3139ef84961eba88ca064ed4c224c35b487e
BLAKE2b-256 checksum
How to use checksums
390dcc517f69969294a8b5486e05aac5fc433228d666d4b85638aacb93236d44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Release files / rabbitinspect-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl

Download URL rabbitinspect-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl
Size 1.5 MB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
a6aa885d4d27948cfc596a935d116067350004fc6f4be684ea13112709f951af
BLAKE2b-256 checksum
How to use checksums
821feb8f56c6c1dea1fba3a60279171d7dd73d44354a978f37631a97c3338a60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 2, 2026.

Transparency log

Security for rabbitinspect 2.0.0

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.

Full provenance

All 26 files in this release have been uploaded with provenance metadata.

Select from 26 files

Attestation for rabbitinspect-2.0.0.tar.gz

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 Jun 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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