Skip to main content

Yara ORM

A fast, async Python ORM with a Rust engine — Tortoise-style models, querysets, relations and migrations for PostgreSQL, MySQL, MariaDB, SQLite, Oracle and Microsoft SQL Server.

CI PyPI Python Coverage Docs License: MIT Sponsor

📖 Documentation: vsdudakov.github.io/yara-orm

✍️ Deep dive: How the GIL, PyO3 & asyncio cooperate — how the Rust engine bridges Python's event loop without the GIL collapsing it.

Yara ORM is a high-performance async ORM for Python that pairs the ergonomics of a Django/Tortoise-style API — models, querysets, relations, aggregation and migrations — with a hot path (connection pooling, parameter binding, row decoding) written in compiled Rust (PyO3 + tokio). It is a drop-in-feel alternative to Tortoise ORM and async SQLAlchemy: 2–9× faster than popular pure-Python ORMs on common operations, with first-class PostgreSQL, MySQL, MariaDB and SQLite backends — plus Oracle and Microsoft SQL Server (both beta) — full type hints, and 100% test coverage.

from yara_orm import Model, YaraOrm, fields

class User(Model):
    id = fields.IntField(pk=True)
    name = fields.CharField(max_length=120)

await YaraOrm.init("postgres://localhost/app")
await YaraOrm.generate_schemas()
await User.create(name="Ada")
print(await User.filter(name__icontains="ad").count())

Highlights

  • ⚡ Rust engine — pooling, binding and decoding in compiled code; the async bridge (PyO3 + tokio) keeps your event loop free.
  • 🧩 Familiar API — Tortoise/Django-style models, lazy chainable querysets, Q objects, aggregation, prefetch_related, transactions, signals. Coming from Tortoise? Most code moves across unchanged — see Migrating from Tortoise ORM.
  • 🗄️ Pluggable backends — PostgreSQL, MySQL/MariaDB and SQLite, plus beta Oracle and Microsoft SQL Server backends, selected by URL; a new database is one Rust trait + one Python dialect.
  • 🚚 Migrations — operation-based, auto-generated, backend-portable (makemigrations / upgrade / downgrade).
  • 🧪 Quality — fully typed, linted (ruff + ty) and 100% test coverage.

Installation

pip install yara-orm

Prebuilt wheels are published for Linux, macOS and Windows on CPython 3.9–3.14, so installation needs no Rust toolchain. (Installing the source distribution on an unsupported platform compiles the engine and requires a Rust toolchain — see Development.)

Quick start

import asyncio
from yara_orm import Model, YaraOrm, fields


class Tournament(Model):
    id = fields.IntField(pk=True)
    name = fields.CharField(max_length=100)
    created_at = fields.DatetimeField(auto_now_add=True)


class Event(Model):
    id = fields.IntField(pk=True)
    name = fields.CharField(max_length=100, index=True)
    tournament = fields.ForeignKeyField("Tournament", related_name="events")


async def main() -> None:
    await YaraOrm.init("postgres://localhost/app")   # or "mysql://…", "sqlite:///app.db"
    await YaraOrm.generate_schemas()

    cup = await Tournament.create(name="World Cup")
    await Event.create(name="Final", tournament=cup)

    # Lazy, chainable queries
    finals = await Event.filter(name__icontains="fin").order_by("-id")
    count = await Event.filter(tournament=cup).count()

    # Relations
    async for event in cup.events:
        print(event.name, "→", (await event.tournament).name)

    await YaraOrm.close()


asyncio.run(main())

Querying

# Lookups: exact, not, gt/gte/lt/lte, in, isnull, contains/icontains,
# startswith/endswith (+ case-insensitive `i` variants)
await User.filter(age__gte=18, name__icontains="a").order_by("-age").limit(10)

# Complex boolean filters with Q
from yara_orm import Q
await User.filter(Q(name="Ada") | Q(age__lt=30)).exclude(active=False)

# Aggregation + group by
from yara_orm import Count, Sum
await Author.annotate(books=Count("books")).filter(books__gte=1)
await Book.annotate(total=Sum("rating")).group_by("author_id").values("author_id", "total")

# Construction-free projections
await User.all().values("id", "name")
await User.all().values_list("name", flat=True)

Model methods: create, bulk_create, get, get_or_none, filter, exclude, all, annotate, prefetch_related, raw; instances save, delete, fetch_related.

Relations

class Author(Model):
    name = fields.CharField(max_length=100)

class Book(Model):
    title = fields.CharField(max_length=200)
    author = fields.ForeignKeyField("Author", related_name="books")
    tags = fields.ManyToManyField("Tag", related_name="books")

book = await Book.create(title="Compilers", author=author)
await book.tags.add(tag1, tag2)        # m2m add / remove / clear

await book.author                       # forward FK (awaitable)
async for b in author.books: ...        # reverse manager
await Author.all().prefetch_related("books")   # no N+1

ForeignKeyField, OneToOneField, ManyToManyField, recursive self-FK, related_name, Prefetch(rel, queryset=...).

Transactions, signals & more

from yara_orm import in_transaction, atomic, pre_save, connections

async with in_transaction():            # commit on success, rollback on error
    await Account.create(name="A")
    async with in_transaction():        # nesting opens a savepoint
        await Account.create(name="B")  # rolls back independently on error

@atomic(isolation="SERIALIZABLE")       # isolation levels (PostgreSQL/MySQL)
async def transfer(): ...

@pre_save(User)                          # lifecycle signals
async def on_save(sender, instance, using_db, update_fields): ...

await connections.get("default").execute("INSERT ...", [..])   # manual SQL

Also: enum fields (IntEnumField/CharEnumField), column/table comments (description=, Meta.table_description), and multi-database routing via a Router over multiple named connections.

Backends

Backends are selected by the connection URL; the abstraction is a single Rust trait (Backend) plus a Python BaseDialect subclass:

await YaraOrm.init("postgres://user@localhost/db")     # PostgreSQL (tokio-postgres)
await YaraOrm.init("mysql://user:pass@localhost/db")   # MySQL/MariaDB (mysql_async)
await YaraOrm.init("sqlite:///path/to/app.db")          # SQLite (rusqlite)
await YaraOrm.init("oracle://user:pass@localhost:1521/FREEPDB1")  # Oracle 23ai — beta (oracle-rs)
await YaraOrm.init("mssql://user:pass@localhost:1433/db")  # SQL Server 2017+ — beta (tiberius)

The SQLite backend maps rich types (uuid/json/datetime/decimal) onto SQLite's storage classes and reconstructs them on read from the declared column type, so the model layer is identical across backends.

Oracle and Microsoft SQL Server (both beta) ride on the same model/queryset API — both on pure-Rust drivers (oracle-rs TNS and tiberius TDS, no OCI/ODBC/Instant Client, so the wheels stay self-contained). The shared cross-backend suite runs against a live SQL Server 2022 and Oracle 23ai in CI. See the backends guide for their type maps and the driver caveats that keep them out of the stable tier.

Migrations

A Django/Tortoise-style, operation-based migration system. Migrations are auto-generated from model changes and backend-portable — the same operations render to PostgreSQL, MySQL, SQLite, Oracle or SQL Server DDL at apply time. Applied migrations are tracked in an orm_migrations table.

# autodetect model changes -> migrations/0001_initial.py
python -m yara_orm --models myapp.models makemigrations --name initial

# preview SQL without running it (per the target dialect)
python -m yara_orm --db sqlite:///app.db --models myapp.models sqlmigrate 0001_initial

# apply / revert / inspect
python -m yara_orm --db postgres://localhost/app --models myapp.models upgrade
python -m yara_orm --db postgres://localhost/app --models myapp.models downgrade
python -m yara_orm --db postgres://localhost/app --models myapp.models history

Each migration is a class Migration(m.Migration) whose operations are built from live field objects: CreateModel, DeleteModel, AddField, RemoveField, AlterField, AddIndex, RemoveIndex, plus hand-written renames (RenameModel / RenameField / RenameIndex), constraints (AddConstraint / RemoveConstraint / RenameConstraint with UniqueConstraint / CheckConstraint) and RunSQL / RunPython for data migrations. makemigrations emits the idempotent analogs (CreateModelIfNotExists, AddFieldIfNotExists, …) and detects AlterField automatically. The same commands are available programmatically via yara_orm.MigrationManager.

Performance

Median of 5 runs, Python 3.12, 5000 rows, against eight other Python ORMs (Tortoise, SQLAlchemy, Pony, Django, Peewee, SQLObject, Ormar, Piccolo) — Yara ORM is fastest or tied on every operation across PostgreSQL, MySQL, MariaDB and SQLite, losing only to leaner in-process sync ORMs on single-row point reads. Times in ms, lower is better. Full methodology, speedup tables and per-op notes in benchmarks/ and the performance docs.

PostgreSQL 18

Yara ORM vs eight Python ORMs on PostgreSQL — latency per operation, log scale, lower is better

operation yara-orm tortoise sqlalchemy pony django peewee sqlobject ormar piccolo
bulk_insert 15.2 25.2 80.8 223.8 40.5 51.1 513.3 227.5 100.7
single_insert 34.4 84.1 158.7 60.8 42.9 46.6 53.3 169.1 92.3
fetch_all 3.6 17.3 31.6 34.4 9.1 11.9 27.8 56.6 4.4
count 0.3 0.5 1.0 0.4 0.5 0.3 0.3 6.0 0.4
group_by 0.8 1.1 1.6 2.3 1.0 0.8 0.6 - 1.0
filter 2.2 9.1 8.4 17.5 5.3 6.8 9.3 21.2 2.6
get_by_pk 64.1 205.9 310.4 86.0 121.1 115.6 23.1 336.9 201.6
update 3.5 3.9 4.1 121.1 3.5 3.4 3.3 12.8 3.6
delete 0.7 0.9 1.1 95.5 0.8 0.7 0.6 2.2 0.8

MySQL 8.4

Same workload against MySQL (Tortoise over asyncmy, SQLAlchemy/Ormar over aiomysql, the sync ORMs over pymysql; Piccolo has no MySQL backend):

Yara ORM vs seven Python ORMs on MySQL — latency per operation, log scale, lower is better

operation yara-orm tortoise sqlalchemy pony django peewee sqlobject ormar
bulk_insert 46.8 48.2 596.1 443.5 100.0 82.1 1076.6 212.3
single_insert 638.7 660.6 985.1 800.6 783.4 743.5 773.8 1062.2
fetch_all 7.5 33.8 44.3 47.7 28.7 28.5 42.0 73.0
count 0.5 0.8 1.2 0.9 0.9 0.8 0.7 4.2
group_by 1.3 1.4 2.0 2.5 1.5 1.2 1.0 -
filter 3.2 17.5 15.5 24.6 15.1 14.9 16.8 31.3
get_by_pk 122.0 226.1 524.2 315.4 214.0 208.0 64.6 924.3
update 6.8 7.4 9.9 232.4 7.7 9.5 7.4 11.7
delete 4.9 4.8 5.6 207.0 5.8 4.8 6.6 6.1

(single_insert ~0.6–1.1 s is dominated by InnoDB's per-commit fsync — every ORM pays it; get_by_pk and single_insert include the Docker-network round trip.)

MariaDB 11

Every competitor connects through its MySQL driver; yara-orm auto-detects MariaDB and uses its RETURNING dialect. Piccolo has no MySQL backend:

Yara ORM vs seven Python ORMs on MariaDB — latency per operation, log scale, lower is better

operation yara-orm tortoise sqlalchemy pony django peewee sqlobject ormar
bulk_insert 25.6 38.4 101.2 473.5 100.8 59.6 1247.3 208.4
single_insert 311.9 345.2 476.6 403.7 296.3 299.0 345.6 573.5
fetch_all 5.8 36.1 43.2 48.1 32.1 31.0 42.7 71.6
count 0.4 0.8 1.3 0.8 0.9 0.7 0.6 5.8
group_by 1.3 1.3 2.1 2.2 1.8 1.3 0.9 -
filter 3.3 17.7 16.2 24.8 15.4 14.6 17.3 50.0
get_by_pk 120.8 224.8 541.4 310.9 217.8 210.7 64.8 914.8
update 3.8 3.3 6.6 264.7 4.5 4.3 4.2 7.3
delete 2.7 2.8 3.2 252.1 3.1 2.8 3.0 3.7

(single_insert, update and delete are near ties across every ORM here because they're database-bound — single inserts are paced by MariaDB's per-commit disk fsync, and update/delete are one server-side set statement each — so there's no client-side marshaling for the Rust hot path to speed up. MariaDB's single_insert ~310 ms is markedly faster than MySQL 8's — a lighter default commit path.)

SQLite

Yara ORM vs eight Python ORMs on SQLite — latency per operation, log scale, lower is better

SQLite is in-process, so these use its recommended sync_fast_path=1 config (statements run synchronously on the calling thread — no I/O to overlap):

operation yara-orm tortoise sqlalchemy pony django peewee sqlobject ormar piccolo
bulk_insert 7.5 14.1 612.6 50.8 57.3 28.2 221.3 160.7 75.7
single_insert 14.6 30.1 234.4 111.7 124.8 106.9 132.1 315.5 247.3
fetch_all 3.5 39.7 29.4 52.2 15.8 12.6 60.5 54.9 9.1
count 0.0 0.3 0.7 0.2 0.2 0.1 0.1 1.6 0.5
group_by 0.5 0.7 1.4 1.6 0.9 0.6 0.5 - 1.0
filter 2.0 20.1 7.6 25.7 8.6 7.0 17.7 42.7 5.0
get_by_pk 11.9 86.0 332.9 31.0 82.9 76.4 13.3 510.4 368.3
update 0.5 0.6 1.9 42.8 1.2 1.2 1.2 1.7 1.6
delete 0.3 0.4 1.2 35.3 0.8 0.7 0.8 1.2 1.1

With the fast path Yara ORM is fastest or tied on every operation (SQLObject's hand-written raw SQL ties the sub-millisecond group_by) — including the point reads it trailed on under the default async bridge (get_by_pk 1.1× vs SQLObject, 2.6× vs Pony), while staying far ahead on throughput (bulk_insert 1.9–82×, fetch_all 2.6–17×, filter 2.5–21×). On the default async path the per-statement bridge costs tens of µs on sequential point reads, so SQLObject's lean sync active-record leads get_by_pk there; sqlite://...?sync_fast_path=1 removes that bridge (~7× faster point queries).

Speed comes from the Rust hot path, positional row decoding (no per-row dict or column-name allocation), compiled-SQL + prepared-statement caching, and connection pooling (see Performance). Run it yourself with make bench / make bench-mysql / make bench-sqlite.

Architecture

┌─────────────────────────────────────────────┐
│ Python  (python/yara_orm) ................. │
│   Model / metaclass ....... schema + ORM API│
│   QuerySet ................ lazy SQL builder│
│   fields .................... abstract types│
│   dialects ................ per-DB SQL rules│
└───────────────┬─────────────────────────────┘
                │  sql + params  (PyO3 / asyncio bridge)
┌───────────────▼─────────────────────────────┐
│ Rust  (rust/src)  →  yara_orm._engine ..... │
│   Engine ...................... async facade│
│   Backend trait .............. pluggable DBs│
│     PgBackend ............... tokio-postgres│
│     MySqlBackend ................ mysql_async│
│     SqliteBackend ................. rusqlite│
│     OracleBackend ............... oracle-rs│
│     MsSqlBackend .................. tiberius│
│   Value .................. Py⇆Rust⇆SQL types│
└─────────────────────────────────────────────┘
  • Rust owns pooling (deadpool), binding, type conversion and decoding.
  • Python owns the model layer and SQL generation.
  • Adding a database = a new Backend impl + scheme match in rust/src/backend/mod.rs, plus a BaseDialect subclass in python/yara_orm/dialects.py. The model layer never changes.

Development

git clone https://github.com/vsdudakov/yara-orm
cd yara-orm
make dev        # create .venv313 and install dev tools (maturin, ruff, ty, pytest)
make build      # compile the Rust engine into the venv (maturin develop)
make lint       # ruff check + ruff format --check + ty
make test       # pytest against $DB (default postgres://localhost/orm_demo)
make cov        # tests with the 100% coverage gate
make bench      # cross-ORM benchmark (needs `make bench-setup` once; Python ≤ 3.12 for Pony)
make bench-mysql   # same comparison on MySQL
make bench-sqlite  # same comparison on SQLite

Requires a Rust toolchain (rustup), a local PostgreSQL for the Postgres tests and a local MySQL for the MySQL tests; the SQLite tests are self-contained.

Contributing

Issues and pull requests are welcome. Please run make lint and make cov (both must be green — lint clean and 100% coverage) before opening a PR.

Sponsor

Yara ORM is MIT-licensed and developed in the open. If it saves your project time — or you'd like to support continued work on the Rust engine, backends and docs — please consider sponsoring on GitHub. Every bit helps and is hugely appreciated. ❤️

License

MIT © Yara ORM contributors

Metadata

Release files for yara-orm 1.19.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 yara-orm 1.19.1
File Size Uploaded
yara_orm-1.19.1.tar.gz 911.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for yara-orm 1.19.1
File
yara_orm-1.19.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
yara_orm-1.19.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
yara_orm-1.19.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details
yara_orm-1.19.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
yara_orm-1.19.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
yara_orm-1.19.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
yara_orm-1.19.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
yara_orm-1.19.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
yara_orm-1.19.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
yara_orm-1.19.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
yara_orm-1.19.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
yara_orm-1.19.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
yara_orm-1.19.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
yara_orm-1.19.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
yara_orm-1.19.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
yara_orm-1.19.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
yara_orm-1.19.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
yara_orm-1.19.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
yara_orm-1.19.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
yara_orm-1.19.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
yara_orm-1.19.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
yara_orm-1.19.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
yara_orm-1.19.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details
yara_orm-1.19.1-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 145.3 MB

Release files / yara_orm-1.19.1.tar.gz

Download URL yara_orm-1.19.1.tar.gz
Size 911.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b2fe3fe530e175512c183b6ccfec2d89fce5e3d513b5b9b3796ba7d381023ee0
BLAKE2b-256 checksum
How to use checksums
fd424302ed906fc8ae739e7ca93fa4304225af5d622ec1ebfdb6583d229d2fd8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp314-cp314-win_amd64.whl

Download URL yara_orm-1.19.1-cp314-cp314-win_amd64.whl
Size 5.9 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
b10350b4be25df614227f418412ad4f71d30b69302241712e403e128c163f91e
BLAKE2b-256 checksum
How to use checksums
8ad6cd10523f26e1d9561dcc976068b7f538dfd224d56f80987f9d35a24f95cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yara_orm-1.19.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.4 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c67dc2c2d09816df063c5ec76cf83f2725f90461183b981ed350a4bb1deb5edf
BLAKE2b-256 checksum
How to use checksums
e0b6ff013f682cf5c2532f43ee8c6d739b9e22b60ee4c5e5f3176e06f991feab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yara_orm-1.19.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.0 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
31b3155dbbc6c713029927935cadca92d879a3f1cc928129a408428be0b5fc34
BLAKE2b-256 checksum
How to use checksums
26c6747b6f4f4296fbf804a589909a2cbbfe4307fb66b985e697270b242ebafc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL yara_orm-1.19.1-cp314-cp314-macosx_11_0_arm64.whl
Size 5.8 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6059f4816a7c6ab27d5a6fa80a7c4ccebc7d75bb720b5f696ebbd114eda18499
BLAKE2b-256 checksum
How to use checksums
c5846cac385e5f26c9adb1e7abfc925202ae1b55379ec9b67967b615eef489d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp313-cp313-win_amd64.whl

Download URL yara_orm-1.19.1-cp313-cp313-win_amd64.whl
Size 5.9 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
59a89ba71b2efd6f29e969605b5a877f92c219be8cde6430684a790229597e76
BLAKE2b-256 checksum
How to use checksums
45a3bb65de0e4dc7d60bb071ed7fee917f86bc94d0dee46ab55d2904b39ce723
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yara_orm-1.19.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.4 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b9c662139447571765e589ea9161314900ccda6838c448678805684a0af8067e
BLAKE2b-256 checksum
How to use checksums
72e42445e9c3c25cc1ce1c22c8dea0a90ad81c63338e11841e3b069c14f2ebe8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yara_orm-1.19.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.0 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
49f247f4705db2bb1493b09ce67e29cd768ba40b0c5b54c27dbc22de3e1f8792
BLAKE2b-256 checksum
How to use checksums
bc0a06a952f9d99b181bac2dfaf4aef9d96518b89f23d01ef227df8ac24927ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL yara_orm-1.19.1-cp313-cp313-macosx_11_0_arm64.whl
Size 5.8 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7775ad2c832109ebc69abc6a3af93a35eaee76f46ff9c04884efe1a808d882f5
BLAKE2b-256 checksum
How to use checksums
41ec1c2e6218c9e1dd9b56871f260f42d00771fbc7fc66f9d5a04b8d816983a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp312-cp312-win_amd64.whl

Download URL yara_orm-1.19.1-cp312-cp312-win_amd64.whl
Size 5.9 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
e7081d2368ce230eedab4b386b1f984db616d3849f7aa9cb198bc8850e3d1995
BLAKE2b-256 checksum
How to use checksums
099d3f8f652a48c97cd3d7e1717dd9d799fa0210341b39304e2f1f11773096c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yara_orm-1.19.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.4 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ebd2217320a17699ea7b34e930bc88a97b58340cc5a110f0c53035fd9469b951
BLAKE2b-256 checksum
How to use checksums
32095f3fbce9a7617c35a290697c7c7deb04dc29a774b8ca1a4257f08c549b9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yara_orm-1.19.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.0 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
4dcd6f44b1cb4dc8e2dbad08b061835373244055ef28059f922faba612a19d83
BLAKE2b-256 checksum
How to use checksums
6cfba66d5a40b314e60b09c6e277dde7ed9b4ce5aae8650878382f9217ac5101
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL yara_orm-1.19.1-cp312-cp312-macosx_11_0_arm64.whl
Size 5.8 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
03746d1499b62a3646ab811d9a225d180586afa99bcd9538708c95edf87d25ff
BLAKE2b-256 checksum
How to use checksums
95eda2955f4a8bd6cb1a4053b3b698a15abb875b5a7058859ffa0346a754c8ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp311-cp311-win_amd64.whl

Download URL yara_orm-1.19.1-cp311-cp311-win_amd64.whl
Size 5.9 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
5b7eee49537a767e04e44268791cfe04c4196f8ee9467cc58c907dc03d99f502
BLAKE2b-256 checksum
How to use checksums
5f629a691a4cdf4dcf5d26c4d3598b970d04b2ee5d390a8e977350f1c4f3ec01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yara_orm-1.19.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.4 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ede311e207b725eff19cb8a09d0483c528bee782a5e32f81f2b2dc4a294c0005
BLAKE2b-256 checksum
How to use checksums
6ed331ef086468e7c4044888e7f803340795f61c73cecceb28f1692e97c92c38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yara_orm-1.19.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.0 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
6bcaed1c25aa778da0b7f48fb96bb2bedb1970d59967aa1b5e562a75b3993058
BLAKE2b-256 checksum
How to use checksums
387a860ba27545a6c2c4832f08f0b975ec87e7c91ac8d0c5ad5cb63a94e97659
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL yara_orm-1.19.1-cp311-cp311-macosx_11_0_arm64.whl
Size 5.8 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bb5f1a318496c749d4a12b45fcad9459c2bc1bd5e44ff309ce8178018c53bf08
BLAKE2b-256 checksum
How to use checksums
1b269ae8a617a7d926f00c042bb1a0ee9d37a2a66e54bfa6b0bc1a599e475c48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp310-cp310-win_amd64.whl

Download URL yara_orm-1.19.1-cp310-cp310-win_amd64.whl
Size 5.9 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
74149ba5a09747c543e4917d7c17d90e96981c321b4cf334d0912f6e0cc76235
BLAKE2b-256 checksum
How to use checksums
91f75de79cff3b8e927782b7d5d042841b46e23c4a712ee5050e23c16f919fb6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yara_orm-1.19.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.4 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d96e3a3854ae59cb4ca7a7750fcdc0284bf952973a56b6595ba2dfafc747fd29
BLAKE2b-256 checksum
How to use checksums
0b6d7c6fbff40b3f62108c7132d9bf9d81749de3e60b9e3cb18f2fcc3d788edb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yara_orm-1.19.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.0 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
28c6b1feabcd86002964ff553c56f1cb3b3f2c19510fd2ae3dce7c17e0d9ce79
BLAKE2b-256 checksum
How to use checksums
98b931a4d80e17c0b85c2609f292dbe99f1adb3b0a54f38b465a4884f4c0a462
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL yara_orm-1.19.1-cp310-cp310-macosx_11_0_arm64.whl
Size 5.8 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f78fef7e7064114f12131d8bd083302862346e08538ed5271c73387b054f1826
BLAKE2b-256 checksum
How to use checksums
131db58dd0c8c2765f2e879b73fc206878448328362514bc6ef17c2ee78d88bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp39-cp39-win_amd64.whl

Download URL yara_orm-1.19.1-cp39-cp39-win_amd64.whl
Size 5.9 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
eb99890b097092099b42c0cefa6040d4d87408d67f7ff9ea01bb844da7d9e319
BLAKE2b-256 checksum
How to use checksums
aeb91eff69874846ec33391e9408dcbcbbb9eca623ac263d7d4a9defec609a7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yara_orm-1.19.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.4 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
00269773fdb9c05d2b1b4bcc1bc74ec363e5d1c258cb42d4a294edaea6f7d7aa
BLAKE2b-256 checksum
How to use checksums
be1614180618c8c53001b8c12aeec5b22a615ab66fbcd475bfb3fe767df9eff4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yara_orm-1.19.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.0 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
9f08341bd235380fb7945f7d53ab44152727c4ee98745812b3ab5bc0e95fc5a3
BLAKE2b-256 checksum
How to use checksums
a67aa76b1f0b837aab7a536bf40f37630052d97ac74f165065e08ffa98e66163
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.19.1-cp39-cp39-macosx_11_0_arm64.whl

Download URL yara_orm-1.19.1-cp39-cp39-macosx_11_0_arm64.whl
Size 5.8 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
24d72d42007d099d3a4759f16de980706c643da89078a7539576d5bb0c6c05d3
BLAKE2b-256 checksum
How to use checksums
1096ef476af9c09c0716427ad79bff6239c6babb67670040cb8382f60a2209ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14
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