Skip to main content

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

agnes_library-0.0.14.tar.gz (60.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

agnes_library-0.0.14-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

agnes_library-0.0.14-cp314-cp314-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.14Windows x86-64

agnes_library-0.0.14-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

agnes_library-0.0.14-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

agnes_library-0.0.14-cp314-cp314-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

agnes_library-0.0.14-cp314-cp314-macosx_10_12_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

agnes_library-0.0.14-cp313-cp313-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.13Windows x86-64

agnes_library-0.0.14-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

agnes_library-0.0.14-cp313-cp313-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

agnes_library-0.0.14-cp313-cp313-macosx_10_12_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

agnes_library-0.0.14-cp312-cp312-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.12Windows x86-64

agnes_library-0.0.14-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

agnes_library-0.0.14-cp312-cp312-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

agnes_library-0.0.14-cp312-cp312-macosx_10_12_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

agnes_library-0.0.14-cp311-cp311-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.11Windows x86-64

agnes_library-0.0.14-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

agnes_library-0.0.14-cp311-cp311-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

agnes_library-0.0.14-cp311-cp311-macosx_10_12_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

agnes_library-0.0.14-cp310-cp310-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.10Windows x86-64

agnes_library-0.0.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

agnes_library-0.0.14-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

agnes_library-0.0.14-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

agnes_library-0.0.14-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

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

Hashes for agnes_library-0.0.14.tar.gz
Algorithm Hash digest
SHA256 452b25e0b616057cae26183b89c1f9f512c37511427b8003df815a751b52471f
MD5 f2e702d687a5778ed53bb8b17bbef054
BLAKE2b-256 4512b9139bc87b93cbf4d06b4a04f5d09ad695215e21783555531c834d6b1b6a

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a5003bfc16590172ac9e3f44e2fd83bd56e0fe1376369e9a8fa07f0b7212b44c
MD5 ccdb824af1b1e87acde8f602f95db120
BLAKE2b-256 b0e0ca9b505bebd11841c0dcfeee17dc9aa1291f42d2608bdd342fb3fb258f7d

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 db147e91f8de4e0900c6b2670e46b08faf21cc5dbe30d76c19e1f8ec09ff908f
MD5 ea82ab7ed4c60cafe614b5df9d1e83c1
BLAKE2b-256 b55162093e72863b36fd5227a9bbaac7f7827be54e5e5fb48dcf5fc47280674d

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d74fd59fb951f5e24dddf1d92f7881bf3aca67be42218b014f413e01d436e606
MD5 17654717496c0c9b513c229fbcd95425
BLAKE2b-256 ce4fed7253ff48e71d1ca9c2c23f17c0e0d94ed1c8f6d434e8eb94848cbe7562

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cdabe33144a8e093f2b11f5fc4c9aef4d35566dccd3f8d0335f8ddec080e07b4
MD5 cd023447fb2c8dc1618ccc5f6ba93f81
BLAKE2b-256 814082b1c7bc13f8fe13a0f7a0445d673f3d3ef39e2ce1362916270626c56659

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5971e94d63debdb34511af313cab5d64f447ee0d51e65b35e77799dfb3004120
MD5 560616342d0ad2294ab0366164ab7e0a
BLAKE2b-256 b6f2555704a134fd2d0ce7ad7c714039d9a5fdcbb766045fb06259735c3f32ad

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 33c2fc283b45225dd0fde60a50acae17f54ba98706feea2a4502b5cdaf89afdf
MD5 0716d472971eb76291ed1a67c1036445
BLAKE2b-256 feca1eb18373a2b2ee3502a4e98e93206cb81f7ce9693b519521d75d04a7d466

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 10224969576f0eebb42128e5f828428ab8df364b8dce756005b2695c097bef57
MD5 e428eb66ef40234b4e4e2af09e789519
BLAKE2b-256 ba705d6510f92ead0a77871b2fb96b14525eb1efb9f997042a10b01bcec28f3b

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 83faa3eb3bac2fcea1c4a21d4d5cbfb54b65bf9dbd63b64126f3b4e462499211
MD5 87f1315c5574f212b35e92ae44835cda
BLAKE2b-256 51034feb4d4782f4a19c059fa1268e7b033f58937aee838cd2ea63ac0cddab11

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6e6fc5c84d231a08ccc4c104826910963dac16a11578484dadf8f1159620257e
MD5 3504c51fac101517898fb7dd9ad0ee08
BLAKE2b-256 efdf7b899dfc7c5a4b292f3977e74060da0d947262d9b99bd603f14000d91401

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a57a1cde3ac50fcd2fb0f02bceeb1939823f11e316976e0cd1ecb7958061b10d
MD5 ae5e3f34d067cfe4360735a047a50e08
BLAKE2b-256 d293bc809b219992781b0f7e2fe7b5f45777229097a56040984d0ce4ae530068

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c4b17fe8545f059d8a05a7cbc96a8c49dd9ebea61b111349b19b34631418cc67
MD5 676bdf7e27801113b1ffd1048646a5a5
BLAKE2b-256 ba67d97151fcfbf0bc33bf77ebcfad17b4b5ceece6ba8045457a0c9920269166

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8aaad8e1fd9816cf4690ac5a6a7916785a5d845bc6f9046e046adf6e9f0141cf
MD5 e442f0d0f2900b5cd16e2df2d7d3e067
BLAKE2b-256 cfd35a7b60d35f711e37b4c3b0e7272206058a98aaaa19ef701a21e418a0e95e

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5cda39e7b6cc487b26f198c9088f4dc3cb721a6883a3d8cc125958ec9b4d3134
MD5 135dc44801d406bfda25545c919f4719
BLAKE2b-256 3d83b8e505f998c5ee1764e8f335fe721fc9db7370f3245fbdca550eb6994487

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d84cbcffc6681f5a2a3ab011442055edf83f36b0b4de3c7a96918b735b99af80
MD5 a790bd8769c845946005ebc8bab6cd6f
BLAKE2b-256 99189343dd5ac06b4bd1414d5d9bc159d4eb169706aed6c453985e8fe490852c

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d04df9b7b3216f5d7b8fc647ee871fd9d2b94805ca3b98e1777dc139dd7c5449
MD5 95a494a6ddff1058ecfac4ac9b9372c5
BLAKE2b-256 22ee013d448a5b0101d066042afb7a841608cc4a4d6583dea06728fbe4dd66b0

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 25b8be09d1f1dd514a74656df2ae0be955d7c89b033601d38bf84a08638cafdd
MD5 7b5d0578c094bd6b3a1a126a30ccedc0
BLAKE2b-256 1fe9ebe56d59abdfc9a799a5f56ebc9af0cf2c84188da33adcf79cce23f6f1a2

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 be5e06392a210a7009e8565b1ae95b72dae07dc74e9132f76e31eb1597e7ba1d
MD5 2bd094c08738ff3d81cdb5a160d8f16c
BLAKE2b-256 8d2df36cb89d990956a71578590c2000a922c7f89a0923ba2bfb1280517d4181

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1dab3db1d409e8abb6514dbee677fa41bb89d9c22172cf82fce2a1bbc49ff704
MD5 4e11ee65d31a2f04bd405a640ba774d6
BLAKE2b-256 121fb45bf8963aa05adba55fe3452316b89d7104006b0c274d66a878926f8818

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 72e884b5a69c5b99ce1b4e9b53a5c4781eb7c68701a9ab3b5d0922d239eee95f
MD5 a6c2c34de647347779afde80ed5d893a
BLAKE2b-256 5d25ac670945096d5330a56afadf85d2adcc54d16569b33b5a7b9c3dd56af401

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 056bc0b0dd1e5f82c17775caa83c8e29d671ee18d1f01d766a2f526653490755
MD5 2bb643cba4b97c1cee77fdf36872d20b
BLAKE2b-256 959ff29dafa92894654e49c974c43e27e361197c4a70c765f69eb61ab46984cf

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 77d743d34c42378694a72c0b0db88a2667db05c4fa0b197a713404058471ab44
MD5 8818f1ee5afac1628819445801196969
BLAKE2b-256 42c16b79558f25c8bace666cfd42529c32c607ba0adf361ea353120283d6b40b

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 234169261fe345df4ea89a36a5ade02cb304159dfa2083cd1633c27795068344
MD5 d489d07884324e7714ed42a98db1c0d1
BLAKE2b-256 bc3cbcfe1ce31cb6eb322e83675757fa152f13d159f6ca5a44fd7766bc2bef47

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c16d4b178749b2b074119c9496f078ffcde7263a0c665d49b979fe21beff35d4
MD5 950bdb16ec87acd8806cf6555f68a536
BLAKE2b-256 342a78c4c47e007c579297147ffde78bfbc1e6497f26beed7e538b98ec0fabc9

See more details on using hashes here.

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

Hashes for agnes_library-0.0.14-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7ae15140265f6294b78c3dca04b27a13e60f2e64252de9a053075e7424c93a8f
MD5 1e214c7d8a2ef3eb6da80cc45a7f9e80
BLAKE2b-256 501fc98942eb0b7fd3daeddc29bdb06d387caf59ab40095c715f1299b46b37ce

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page