Skip to main content

Renus

Latest release PyPI version License

An async-first Python ASGI framework with routing, WebSockets, ORM, caching, scheduling, and CLI tools in one small core.

Features

  • ASGI application support for HTTP, WebSockets, and lifespan events
  • Decorator-based and fluent routing with typed path parameters
  • Text, HTML, JSON, redirect, file, streaming, and private responses
  • Application, router, and route-level middleware
  • Request parsing for headers, cookies, query parameters, JSON, forms, and uploads
  • Built-in XSS protection for form and WebSocket input helpers
  • Background tasks and startup/shutdown hooks
  • File- and Redis-backed caching, including route and function caching
  • Async ORM with models, validation, repositories, queries, mutations, and transactions
  • SQLite, MySQL, and MongoDB integrations through optional dependencies
  • Database migrations, backup/restore, and plugin hooks
  • Fluent task scheduling and a built-in renus CLI

Installation

Renus requires Python 3.11 or newer. Install the core package with pip:

python -m pip install renus

Renus is an ASGI framework. Install the server extra when you want to run an application with Uvicorn or with App.run():

python -m pip install "renus[server]"

Optional extras are available for additional integrations:

Extra Provides
server Uvicorn
mongo MongoDB support via pymongo
mysql MySQL support via aiomysql
redis Redis caching support
all All runtime integrations
dev Development and benchmarking dependencies

Install from source in editable mode:

git clone https://github.com/kak-smko/renus.git
cd renus
python -m pip install -e ".[dev]"

Quick start

Install Renus with its Uvicorn server extra:

python -m pip install "renus[server]"

Create main.py:

from renus.app import App
from renus.response import JsonResponse, TextResponse

app = App()


@app.get("/")
def home():
    return TextResponse("Hello, world!")


@app.get("/users/{username}")
def user(username):
    return JsonResponse({"name": username})

Run the application with Uvicorn:

uvicorn main:app --host 127.0.0.1 --port 8000 --reload

Then visit http://127.0.0.1:8000/ or call the parameterized route:

curl http://127.0.0.1:8000/users/renus
# {"name":"renus"}

You can also use Renus's convenience runner:

if __name__ == "__main__":
    app.run(host="127.0.0.1", port=8000, reload=True)
python main.py

WebSockets

WebSocket routes use @app.route(..., method="WS"):

from renus.websockets import WebSocketDisconnect


@app.route("/echo", method="WS")
async def echo(ws):
    await ws.accept()
    try:
        async for message in ws.iter_text():
            await ws.send_text(message)
    except WebSocketDisconnect:
        pass

Database example

Renus includes an async ORM. The following example uses the built-in SQLite adapter:

from renus.db import Database, DatabaseField, Field, Model, SQLiteAdapter


class User(Model):
    id: int = Field(database=DatabaseField(primary_key=True, generated=True))
    username: str = Field(database=DatabaseField(unique=True))
    email: str


async def create_user():
    async with Database(SQLiteAdapter({"database": "storage/app.sqlite"})) as db:
        await db.create_schema([User])
        users = db.repository(User)
        return await users.create(
            User(username="ada", email="ada@example.com")
        )

For production applications, initialize shared database resources in an application lifespan hook and use migrations for schema changes.

CLI

The package exposes both a renus command and a module entry point:

renus --help
renus --version
python -m renus --help

Project commands can be added under a project's commands/ directory. See the CLI documentation for command discovery, scaffolding, database commands, and extensions.

Documentation

The full documentation covers:

Benchmarks

The benchmark guide describes the cross-framework HTTP comparison. GitHub Actions runs it weekly; the latest results are published here.

Cross-Framework Benchmark Results

Real HTTP/1.1 keep-alive load test of renus vs other Python web frameworks. Each framework serves the same routes and is hammered single-process with the bundled stdlib load tester.

  • Python: 3.12.15
  • Concurrency: 64 keep-alive connections
  • Duration: 60.0s per endpoint

These are relative numbers for a single machine/run. Absolute throughput is machine-dependent; rerun and take the median before drawing conclusions.

plain (/plain)

Framework req/s p50 (ms) p90 (ms) p99 (ms) max (ms)
pur_uvicorn 23,779 2.68 2.80 3.35 6.92
renus 23,763 2.68 2.77 3.82 6.66
blacksheep 23,419 2.72 2.82 3.38 7.33
robyn 23,087 2.75 2.86 3.66 9.32
sanic 22,561 2.88 3.13 3.79 9.22
litestar 17,497 3.69 3.88 4.78 9.08
fastapi 13,587 4.75 4.91 6.43 11.35

json (/json)

Framework req/s p50 (ms) p90 (ms) p99 (ms) max (ms)
renus 23,713 2.69 2.79 3.25 6.50
pur_uvicorn 23,612 2.68 2.81 4.14 7.80
blacksheep 23,492 2.69 3.22 3.55 7.93
robyn 23,222 2.73 2.84 3.64 7.27
sanic 21,803 2.99 3.21 3.90 8.92
litestar 16,998 3.80 3.98 4.71 10.39
fastapi 12,647 5.12 5.29 6.02 10.53

user (/user/alice)

Framework req/s p50 (ms) p90 (ms) p99 (ms) max (ms)
blacksheep 23,710 2.67 3.18 3.51 8.30
pur_uvicorn 23,560 2.71 2.82 3.33 7.64
renus 23,431 2.72 2.88 3.63 7.30
sanic 21,538 3.01 3.27 3.99 9.10
robyn 17,031 3.72 3.83 4.80 8.87
litestar 15,150 4.22 4.43 6.56 12.01
fastapi 10,533 6.13 6.36 7.63 16.63

Development

Install the development dependencies and run the test suite:

python -m pip install -e ".[dev]"
pytest

Run a focused test module while developing:

pytest tests/test_routing.py

Contributing

Bug reports, documentation improvements, tests, and code contributions are welcome. Please keep changes focused, add regression tests for behavior changes, and follow the existing project style.

Support Renus

If Renus is useful to you, please consider giving the project a star on GitHub. It helps others discover the framework and supports continued development.

A GitHub star is appreciated but voluntary; it is not a condition of using, copying, modifying, or distributing Renus under the BSD 3-Clause License.

License

Renus is distributed under the BSD 3-Clause License.

Metadata

Release files for renus 3.1.1

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

Source distribution (sdist)

Source distribution for renus 3.1.1
File Size Uploaded Provenance
renus-3.1.1.tar.gz 304.4 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for renus 3.1.1
File
renus-3.1.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
renus-3.1.1-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
renus-3.1.1-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
renus-3.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
renus-3.1.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
renus-3.1.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
renus-3.1.1-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
renus-3.1.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
renus-3.1.1-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
renus-3.1.1-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
renus-3.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
renus-3.1.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details
renus-3.1.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
renus-3.1.1-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details

Total release size: 6.7 MB

Release files / renus-3.1.1.tar.gz

Download URL renus-3.1.1.tar.gz
Size 304.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8282925ea5f7e822dacb23734ee9ca2a63bb390c78c5c394c2a0782fc1cdc01f
BLAKE2b-256 checksum
How to use checksums
8666f7e39a35e83da09be70d59ca337b4bf8cba668e49e64f04ca088cdbbdb9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / renus-3.1.1-cp312-cp312-win_amd64.whl

Download URL renus-3.1.1-cp312-cp312-win_amd64.whl
Size 350.0 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
fa28f4d0dd28f7efef876bae28b3a7801a0ce7e257237539b69a13c08a682e39
BLAKE2b-256 checksum
How to use checksums
bd1571121db1784fc3060f64e3778c04cb722e0a37dc1d59d55a8f78c421b5b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / renus-3.1.1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL renus-3.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
Size 538.9 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
42d9b3fc7e70536af290cf922b02faa61caecf5316cf387420d20af84c6ef2d4
BLAKE2b-256 checksum
How to use checksums
e63e6139968a90db4171a203e4da8984bd68eb3874cc3e237b7852e1f4946bdc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / renus-3.1.1-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL renus-3.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
Size 532.2 kB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
ef7ab233da8bd6fa358f338941c5ba15a163e1393783c00032a8d87e60aa05a1
BLAKE2b-256 checksum
How to use checksums
86d01a8295b12084ef2d88e78dbed4beac5a9a7bdd8c8ffc09e0a107a4a53ae7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / renus-3.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL renus-3.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 533.5 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
38e8f46ca88529db3072838d938eecc8953b74a6634377265a8590cd2d38a970
BLAKE2b-256 checksum
How to use checksums
82724e876cf7aa8508c978f1b7e4c45a6c571d1c6c9249291b64263c24f86cca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / renus-3.1.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL renus-3.1.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 538.2 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
7e024de3526e976753ac7cdc17831e738ec3e067fb14efc6fb00a134fd7fd70b
BLAKE2b-256 checksum
How to use checksums
67075ca66c1d8273dd9796e3fb829bb4930c8e6f19b03bd66b24be81dd61211b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / renus-3.1.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL renus-3.1.1-cp312-cp312-macosx_11_0_arm64.whl
Size 354.8 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
869862c9cfcf15c7f910f3933e7c3aa8a565c3525e5791bdc5d9f7461c405d81
BLAKE2b-256 checksum
How to use checksums
052f6c085a62b220193e766121914b9bc9ea21a56bbccfe41ffdaf964de96b46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / renus-3.1.1-cp312-cp312-macosx_10_13_x86_64.whl

Download URL renus-3.1.1-cp312-cp312-macosx_10_13_x86_64.whl
Size 354.6 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
650476275410fd415e203905b42ec7a34a188287abae5acbae659ec8a427ad70
BLAKE2b-256 checksum
How to use checksums
4148740f31952ceba37cbac23bf099d8741ae287d7686c65231e894ad9e5a548
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / renus-3.1.1-cp311-cp311-win_amd64.whl

Download URL renus-3.1.1-cp311-cp311-win_amd64.whl
Size 349.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
f50fa6743a65e0038410860c0f862de355de139a8bf1e74ab90973500e0578f9
BLAKE2b-256 checksum
How to use checksums
622b77ac2148b2a2040440d16a2b6f3725cac8f960fd09522cb2298033de1d31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / renus-3.1.1-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL renus-3.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
Size 525.3 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
14b5c6f34e75ba05f3bddcf6077e7c0de8a64794bfe74f9e335fb7d617fb4c07
BLAKE2b-256 checksum
How to use checksums
50e12c8611e6721fb96bc4b68bc30ba86d7f4ecaac3a108a5ed2713f2096e28b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / renus-3.1.1-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL renus-3.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
Size 522.1 kB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
a4561ea131d89c6b3049845d7e77ad2bc4e46f88887015d4e7586b1c0bb34c88
BLAKE2b-256 checksum
How to use checksums
d0b8f7924f00f28edba7e1a21f7aed313dc546397f90124937f16086302af7ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / renus-3.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL renus-3.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 522.9 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
da17e30b7fa237be480dd3c9c49c02fb81da4cec7b4db0384e85e1cb6b6490f6
BLAKE2b-256 checksum
How to use checksums
72dbdf56426dfc1eb14a2ae545c1b4032eabc2f6331c08ed92e0087789f7e3e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / renus-3.1.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL renus-3.1.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 522.8 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
3737834d1a9724e6daa1888425ca8d39ab15246e5955fec39dfd133b28869b19
BLAKE2b-256 checksum
How to use checksums
6a0e6770bf99e0181f5ebf4234f384b2c0b1a45ef90fbe1665650c44010f1f1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / renus-3.1.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL renus-3.1.1-cp311-cp311-macosx_11_0_arm64.whl
Size 354.9 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
03a1b60ffad812df9135c8b9641fad7545d8ad49e349054115ba5840bb01af14
BLAKE2b-256 checksum
How to use checksums
d02bad918ada488fd932ff92ca1347d2973a193b6cdcf03989166d5da517c1ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / renus-3.1.1-cp311-cp311-macosx_10_9_x86_64.whl

Download URL renus-3.1.1-cp311-cp311-macosx_10_9_x86_64.whl
Size 354.7 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
048f951f1e9fbb4ddccad185c79b0a6c2e0d1a09ecb7c056df1aab81966b84e2
BLAKE2b-256 checksum
How to use checksums
71b0073bfce83fddac3d7e21efe99df9447176fbaeae5df73e7c4b6b92dba092
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Security for renus 3.1.1

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 15 files in this release have been uploaded with provenance metadata.

Select from 15 files

Attestation for renus-3.1.1.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 Oct 23, 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.

Release history Release notifications | RSS feed

This release

3.1.1 This release

15 release files Full provenance

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