Type-hinted database toolkit with a Rust core and a self-invalidating query cache
Project description
agnes (Python)
Python port of agnes-library — a type-hinted database
toolkit with a Rust core (pool, SQL parser, self-invalidating cache) exposed
via PyO3. Same schema DSL, query builder, relations and cache
as the TypeScript version; synchronous API.
Install
pip install agnes-library # imports as `agnes`
Build from source (needs Rust + maturin):
cd agnes-py && maturin develop --release
Schema
table(def, "physical_name"). Columns: int_, bigint, text, bool_, float_, bytes_, json_
(trailing _ avoids shadowing builtins). Modifiers: .primary(), .nullable(),
.default(v), .autoincrement(), .index("n"), .unique_index("n").
Relations: one(target, local_key, target_key, OnAction, OnAction), many(target, fk).
from agnes import table, int_, text, bool_, one, many, OnAction
schema = {
"user": table({
"id": int_("id").primary().autoincrement(),
"name": text("name").index("name_idx"),
"email": text("email").unique_index("email_idx"),
"active": bool_("active").default(True),
"posts": many("post", "userId"),
}, "users"),
"post": table({
"id": int_("id").primary().autoincrement(),
"userId": int_("user_id"),
"user": one("user", "userId", "id", OnAction.NONE, OnAction.CASCADE),
}, "posts"),
}
Grouped (multi-schema) form flattens to a dotted key you select by — the
relation target must use that dotted key:
schema = {"legislativo": {"etapas": table({...}, "legislativo.etapas")}}
# db.select("legislativo.etapas"); many("legislativo.etapas", "...")
Client
from agnes import AgnesClient, eq, gt, query
db = AgnesClient.create(
{
"driver": "postgres", # "postgres" | "mysql" | "sqlite"
"url": "postgres://user:pass@host/db",
# connection pool tuning (all optional):
"max_connections": 10, # hard cap (default 10)
"min_connections": 0, # kept warm while idle (default 0)
"acquire_timeout_secs": 30, # wait for a free connection
"idle_timeout_secs": 600, # close after this idle time
"max_lifetime_secs": 1800, # recycle after this lifetime
"strip_timezone": True, # optional: timestamps as naive ISO (no offset)
"cache": {"enabled": True, "wal_path": ".agnes/cache.wal"},
# read/write splitting (master/slave), all optional:
"replicas": ["postgres://replica-1/db", "postgres://replica-2/db"],
"master_read_penalty": 100, # bias reads toward replicas (default 100)
"replica_cooldown_secs": 5, # skip a replica this long after it errors
},
schema,
)
# With `replicas`, `url` is the write master: writes/transactions go there,
# reads are load-balanced to the least-busy node (master included, penalized).
U = db._schema["user"].c # column accessor: U.age, U["age"]
rows = (db.select("user")
.where(gt(U.age, 18), eq(U.active, True))
.order_by(U.name, "asc")
.limit(50)
.ttl(60) # cache 60s, auto-invalidated on write
.all())
with_posts = db.select("user").include({"posts": query().limit(3)}).all()
# pagination: limit/offset, or page(page, per_page) (1-based) — pair with order_by
page3 = db.select("user").order_by(U.id).page(3, 20).all() # rows 41–60
same = db.select("user").order_by(U.id).limit(20).offset(40).all()
# choosing columns — two styles (`from_` has a trailing _ since `from` is a keyword):
db.select("user").all() # table-first, all columns
db.select().from_("user").all() # projection-first, all columns
db.select("name", "email").from_("user").all() # only these columns
db.select().from_("user").omit("password").all() # everything except password
# read-your-writes: force this read onto the master (skips lagging replicas)
fresh = db.select().from_("user").fresh_read().all()
# stream large results row-by-row (constant memory; server-side cursor on Postgres)
for user in db.select("user").where(gt(U.age, 18)).stream(batch_size=1000):
process(user)
# not available in a transaction; incompatible with include()
db.insert_into("user").values({"name": "Ana", "age": 30})
# bulk insert — one statement, auto-chunked to the param limit; missing keys → NULL
db.insert_into("user").values([{"name": "Ana"}, {"name": "Bia", "age": 20}])
# upsert — on_conflict(*cols) with merge()/ignore()
db.insert_into("user").on_conflict(U.id).merge().values({"id": 1, "name": "Ana"})
db.insert_into("user").on_conflict(U.email).merge(U.name).values({"email": "a@x", "name": "Ana"})
db.insert_into("user").on_conflict(U.id).ignore().values({"id": 1, "name": "Ana"})
db.update("user", {"active": False}).where(eq(U.id, 1)).run()
db.delete_from("post").where(eq(db._schema["post"].c.id, 2)).run()
# returning() — get the affected rows back (Postgres/SQLite; raises on MySQL)
created = db.insert_into("user").returning().values({"name": "Ana"})
updated = db.update("user", {"age": 31}).where(eq(U.id, 5)).returning(U.id, U.age).run()
deleted = db.delete_from("post").where(eq(P.id, 9)).returning().run()
# raw SQL fallback
db.query("SELECT * FROM users WHERE age > $1", [18], {"ttl": 30})
db.mutate("UPDATE users SET active = $1 WHERE id = $2", [False, 1])
Schema push
Create the tables and indexes the schema describes — idempotent (CREATE ... IF NOT EXISTS), dependency-ordered so foreign-key targets come first. Only
creates what's missing; never alters or drops (diff migrations are separate).
db.push_schema() # create missing tables + indexes
sql = db.schema_ddl() # inspect the statements (list[str])
Types map per-dialect; .autoincrement() → SERIAL / AUTO_INCREMENT /
INTEGER PRIMARY KEY AUTOINCREMENT; one(...) relations emit FOREIGN KEY
constraints with their on-update/delete actions.
Transactions
Interactive transactions, Prisma-style. db.transaction(fn) calls fn(tx) with
the same query API on one connection; commits when it returns, rolls back and
re-raises if it raises.
def transfer(tx):
tx.update("account", {"balance": 60}).where(eq(acc.id, 1)).run()
tx.update("account", {"balance": 40}).where(eq(acc.id, 2)).run()
# raise here → both updates roll back
db.transaction(transfer)
Operators (leaves): eq, neq, gt, gte, lt, lte, like, ilike,
in_array(col, [...]), not_in_array(col, [...]), is_null(col),
is_not_null(col), between(col, lo, hi). Combine/nest with and_(...),
or_(...), not_(...). where(a, b) means a AND b.
from agnes import eq, or_, in_array, is_null, not_
db.select("user").where(
eq(U.active, True),
or_(in_array(U.role, ["admin", "mod"]), is_null(U.role)),
not_(eq(U.age, 0)),
).all()
Aggregations — count, sum_, avg, min_, max_ with .group_by(...) and
.having(agg, op, value); terminal .aggregate({...}) returns one row per group:
from agnes import count, sum_, avg
db.select("order") \
.where(gt(O.total, 0)) \
.group_by(O.user_id) \
.having(sum_(O.total), ">", 100) \
.aggregate({"spent": sum_(O.total), "orders": count(), "avg_total": avg(O.total)})
count() with no argument is COUNT(*). (sum_/min_/max_ are underscored to
avoid shadowing Python builtins.)
query() (for include) has .where, .order_by, .limit,
.select(*cols), .type("left"|"inner"). SQL joins:
.left_join/.inner_join/.right_join/.full_join("tbl", on(a, b)).
Prior art
The query API is inspired by Drizzle (fluent
builder, eq/gt-style condition helpers) and Prisma
(typed relations, interactive transactions). The feel is deliberately
familiar, but the entire implementation is original work written from scratch —
no source code from those projects is used or derived. "Drizzle" and "Prisma"
are trademarks of their respective owners.
License
MIT OR Apache-2.0
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 agnes_library-0.0.14.tar.gz.
File metadata
- Download URL: agnes_library-0.0.14.tar.gz
- Upload date:
- Size: 60.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
452b25e0b616057cae26183b89c1f9f512c37511427b8003df815a751b52471f
|
|
| MD5 |
f2e702d687a5778ed53bb8b17bbef054
|
|
| BLAKE2b-256 |
4512b9139bc87b93cbf4d06b4a04f5d09ad695215e21783555531c834d6b1b6a
|
File details
Details for the file agnes_library-0.0.14-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: agnes_library-0.0.14-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 3.1 MB
- Tags: PyPy, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5003bfc16590172ac9e3f44e2fd83bd56e0fe1376369e9a8fa07f0b7212b44c
|
|
| MD5 |
ccdb824af1b1e87acde8f602f95db120
|
|
| BLAKE2b-256 |
b0e0ca9b505bebd11841c0dcfeee17dc9aa1291f42d2608bdd342fb3fb258f7d
|
File details
Details for the file agnes_library-0.0.14-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.14t, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db147e91f8de4e0900c6b2670e46b08faf21cc5dbe30d76c19e1f8ec09ff908f
|
|
| MD5 |
ea82ab7ed4c60cafe614b5df9d1e83c1
|
|
| BLAKE2b-256 |
b55162093e72863b36fd5227a9bbaac7f7827be54e5e5fb48dcf5fc47280674d
|
File details
Details for the file agnes_library-0.0.14-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d74fd59fb951f5e24dddf1d92f7881bf3aca67be42218b014f413e01d436e606
|
|
| MD5 |
17654717496c0c9b513c229fbcd95425
|
|
| BLAKE2b-256 |
ce4fed7253ff48e71d1ca9c2c23f17c0e0d94ed1c8f6d434e8eb94848cbe7562
|
File details
Details for the file agnes_library-0.0.14-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.3 MB
- Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdabe33144a8e093f2b11f5fc4c9aef4d35566dccd3f8d0335f8ddec080e07b4
|
|
| MD5 |
cd023447fb2c8dc1618ccc5f6ba93f81
|
|
| BLAKE2b-256 |
814082b1c7bc13f8fe13a0f7a0445d673f3d3ef39e2ce1362916270626c56659
|
File details
Details for the file agnes_library-0.0.14-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.14, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5971e94d63debdb34511af313cab5d64f447ee0d51e65b35e77799dfb3004120
|
|
| MD5 |
560616342d0ad2294ab0366164ab7e0a
|
|
| BLAKE2b-256 |
b6f2555704a134fd2d0ce7ad7c714039d9a5fdcbb766045fb06259735c3f32ad
|
File details
Details for the file agnes_library-0.0.14-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33c2fc283b45225dd0fde60a50acae17f54ba98706feea2a4502b5cdaf89afdf
|
|
| MD5 |
0716d472971eb76291ed1a67c1036445
|
|
| BLAKE2b-256 |
feca1eb18373a2b2ee3502a4e98e93206cb81f7ce9693b519521d75d04a7d466
|
File details
Details for the file agnes_library-0.0.14-cp314-cp314-macosx_10_12_x86_64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp314-cp314-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.14, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10224969576f0eebb42128e5f828428ab8df364b8dce756005b2695c097bef57
|
|
| MD5 |
e428eb66ef40234b4e4e2af09e789519
|
|
| BLAKE2b-256 |
ba705d6510f92ead0a77871b2fb96b14525eb1efb9f997042a10b01bcec28f3b
|
File details
Details for the file agnes_library-0.0.14-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83faa3eb3bac2fcea1c4a21d4d5cbfb54b65bf9dbd63b64126f3b4e462499211
|
|
| MD5 |
87f1315c5574f212b35e92ae44835cda
|
|
| BLAKE2b-256 |
51034feb4d4782f4a19c059fa1268e7b033f58937aee838cd2ea63ac0cddab11
|
File details
Details for the file agnes_library-0.0.14-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e6fc5c84d231a08ccc4c104826910963dac16a11578484dadf8f1159620257e
|
|
| MD5 |
3504c51fac101517898fb7dd9ad0ee08
|
|
| BLAKE2b-256 |
efdf7b899dfc7c5a4b292f3977e74060da0d947262d9b99bd603f14000d91401
|
File details
Details for the file agnes_library-0.0.14-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a57a1cde3ac50fcd2fb0f02bceeb1939823f11e316976e0cd1ecb7958061b10d
|
|
| MD5 |
ae5e3f34d067cfe4360735a047a50e08
|
|
| BLAKE2b-256 |
d293bc809b219992781b0f7e2fe7b5f45777229097a56040984d0ce4ae530068
|
File details
Details for the file agnes_library-0.0.14-cp313-cp313-macosx_10_12_x86_64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp313-cp313-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.13, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4b17fe8545f059d8a05a7cbc96a8c49dd9ebea61b111349b19b34631418cc67
|
|
| MD5 |
676bdf7e27801113b1ffd1048646a5a5
|
|
| BLAKE2b-256 |
ba67d97151fcfbf0bc33bf77ebcfad17b4b5ceece6ba8045457a0c9920269166
|
File details
Details for the file agnes_library-0.0.14-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8aaad8e1fd9816cf4690ac5a6a7916785a5d845bc6f9046e046adf6e9f0141cf
|
|
| MD5 |
e442f0d0f2900b5cd16e2df2d7d3e067
|
|
| BLAKE2b-256 |
cfd35a7b60d35f711e37b4c3b0e7272206058a98aaaa19ef701a21e418a0e95e
|
File details
Details for the file agnes_library-0.0.14-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5cda39e7b6cc487b26f198c9088f4dc3cb721a6883a3d8cc125958ec9b4d3134
|
|
| MD5 |
135dc44801d406bfda25545c919f4719
|
|
| BLAKE2b-256 |
3d83b8e505f998c5ee1764e8f335fe721fc9db7370f3245fbdca550eb6994487
|
File details
Details for the file agnes_library-0.0.14-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d84cbcffc6681f5a2a3ab011442055edf83f36b0b4de3c7a96918b735b99af80
|
|
| MD5 |
a790bd8769c845946005ebc8bab6cd6f
|
|
| BLAKE2b-256 |
99189343dd5ac06b4bd1414d5d9bc159d4eb169706aed6c453985e8fe490852c
|
File details
Details for the file agnes_library-0.0.14-cp312-cp312-macosx_10_12_x86_64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp312-cp312-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.12, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d04df9b7b3216f5d7b8fc647ee871fd9d2b94805ca3b98e1777dc139dd7c5449
|
|
| MD5 |
95a494a6ddff1058ecfac4ac9b9372c5
|
|
| BLAKE2b-256 |
22ee013d448a5b0101d066042afb7a841608cc4a4d6583dea06728fbe4dd66b0
|
File details
Details for the file agnes_library-0.0.14-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25b8be09d1f1dd514a74656df2ae0be955d7c89b033601d38bf84a08638cafdd
|
|
| MD5 |
7b5d0578c094bd6b3a1a126a30ccedc0
|
|
| BLAKE2b-256 |
1fe9ebe56d59abdfc9a799a5f56ebc9af0cf2c84188da33adcf79cce23f6f1a2
|
File details
Details for the file agnes_library-0.0.14-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be5e06392a210a7009e8565b1ae95b72dae07dc74e9132f76e31eb1597e7ba1d
|
|
| MD5 |
2bd094c08738ff3d81cdb5a160d8f16c
|
|
| BLAKE2b-256 |
8d2df36cb89d990956a71578590c2000a922c7f89a0923ba2bfb1280517d4181
|
File details
Details for the file agnes_library-0.0.14-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1dab3db1d409e8abb6514dbee677fa41bb89d9c22172cf82fce2a1bbc49ff704
|
|
| MD5 |
4e11ee65d31a2f04bd405a640ba774d6
|
|
| BLAKE2b-256 |
121fb45bf8963aa05adba55fe3452316b89d7104006b0c274d66a878926f8818
|
File details
Details for the file agnes_library-0.0.14-cp311-cp311-macosx_10_12_x86_64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp311-cp311-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.11, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72e884b5a69c5b99ce1b4e9b53a5c4781eb7c68701a9ab3b5d0922d239eee95f
|
|
| MD5 |
a6c2c34de647347779afde80ed5d893a
|
|
| BLAKE2b-256 |
5d25ac670945096d5330a56afadf85d2adcc54d16569b33b5a7b9c3dd56af401
|
File details
Details for the file agnes_library-0.0.14-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
056bc0b0dd1e5f82c17775caa83c8e29d671ee18d1f01d766a2f526653490755
|
|
| MD5 |
2bb643cba4b97c1cee77fdf36872d20b
|
|
| BLAKE2b-256 |
959ff29dafa92894654e49c974c43e27e361197c4a70c765f69eb61ab46984cf
|
File details
Details for the file agnes_library-0.0.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.3 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77d743d34c42378694a72c0b0db88a2667db05c4fa0b197a713404058471ab44
|
|
| MD5 |
8818f1ee5afac1628819445801196969
|
|
| BLAKE2b-256 |
42c16b79558f25c8bace666cfd42529c32c607ba0adf361ea353120283d6b40b
|
File details
Details for the file agnes_library-0.0.14-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
234169261fe345df4ea89a36a5ade02cb304159dfa2083cd1633c27795068344
|
|
| MD5 |
d489d07884324e7714ed42a98db1c0d1
|
|
| BLAKE2b-256 |
bc3cbcfe1ce31cb6eb322e83675757fa152f13d159f6ca5a44fd7766bc2bef47
|
File details
Details for the file agnes_library-0.0.14-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c16d4b178749b2b074119c9496f078ffcde7263a0c665d49b979fe21beff35d4
|
|
| MD5 |
950bdb16ec87acd8806cf6555f68a536
|
|
| BLAKE2b-256 |
342a78c4c47e007c579297147ffde78bfbc1e6497f26beed7e538b98ec0fabc9
|
File details
Details for the file agnes_library-0.0.14-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: agnes_library-0.0.14-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.8, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ae15140265f6294b78c3dca04b27a13e60f2e64252de9a053075e7424c93a8f
|
|
| MD5 |
1e214c7d8a2ef3eb6da80cc45a7f9e80
|
|
| BLAKE2b-256 |
501fc98942eb0b7fd3daeddc29bdb06d387caf59ab40095c715f1299b46b37ce
|