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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yara_orm-1.14.5.tar.gz (888.4 kB view details)

Uploaded Source

Built Distributions

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

yara_orm-1.14.5-cp314-cp314-win_amd64.whl (5.2 MB view details)

Uploaded CPython 3.14Windows x86-64

yara_orm-1.14.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

yara_orm-1.14.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

yara_orm-1.14.5-cp314-cp314-macosx_11_0_arm64.whl (5.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

yara_orm-1.14.5-cp313-cp313-win_amd64.whl (5.2 MB view details)

Uploaded CPython 3.13Windows x86-64

yara_orm-1.14.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

yara_orm-1.14.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

yara_orm-1.14.5-cp313-cp313-macosx_11_0_arm64.whl (5.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

yara_orm-1.14.5-cp312-cp312-win_amd64.whl (5.2 MB view details)

Uploaded CPython 3.12Windows x86-64

yara_orm-1.14.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

yara_orm-1.14.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

yara_orm-1.14.5-cp312-cp312-macosx_11_0_arm64.whl (5.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

yara_orm-1.14.5-cp311-cp311-win_amd64.whl (5.2 MB view details)

Uploaded CPython 3.11Windows x86-64

yara_orm-1.14.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

yara_orm-1.14.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

yara_orm-1.14.5-cp311-cp311-macosx_11_0_arm64.whl (5.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

yara_orm-1.14.5-cp310-cp310-win_amd64.whl (5.2 MB view details)

Uploaded CPython 3.10Windows x86-64

yara_orm-1.14.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

yara_orm-1.14.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

yara_orm-1.14.5-cp310-cp310-macosx_11_0_arm64.whl (5.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

yara_orm-1.14.5-cp39-cp39-win_amd64.whl (5.2 MB view details)

Uploaded CPython 3.9Windows x86-64

yara_orm-1.14.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

yara_orm-1.14.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

yara_orm-1.14.5-cp39-cp39-macosx_11_0_arm64.whl (5.0 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file yara_orm-1.14.5.tar.gz.

File metadata

  • Download URL: yara_orm-1.14.5.tar.gz
  • Upload date:
  • Size: 888.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for yara_orm-1.14.5.tar.gz
Algorithm Hash digest
SHA256 63592d3eaac35b7491899f999f7281f02cf499b1560b28f5db79b35ec1c0a5df
MD5 33789cd7cafd0f4ad355b1c9663533d2
BLAKE2b-256 34a1802337d626bcda6ea35fdc76b648cdf16adfd439415e76aed853965eed60

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: yara_orm-1.14.5-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 5.2 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for yara_orm-1.14.5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 9aa3aa1345b2ebd4a245754a16798a623e9b01b9c36e616e220c50574be15717
MD5 98a1b0177922554c6af17a9a1dd12a5d
BLAKE2b-256 b45f42c75c4837f7ca972f0929ebfddb25bf6991ffe9701234801de85df61472

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a7c4d2f67086b2fa02a99be10c3519b748a4c4197e543fa9eb7053ad8c5b216
MD5 189bd7d200fc9f0ffc4f9f3a73c966db
BLAKE2b-256 9f4d0743fed01fc74faad52652550ff237629d0117d3dfb0e4229d42ee855046

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 59d7b7ac467b69da5be5aa3bd8e132fca16a283a4701e9f2576ef27e5faf0fec
MD5 601092653c849c407bf9dcaef7b772b1
BLAKE2b-256 2ed33135d85ef43151897188c8ecd72a540a0943311389f5d2e817512a1b02bb

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f21902aa2d52499c72da3c78aa5d09c4deeaba98ba3b2573b15d2130bdd4515
MD5 652e1dcacd355d592099352649b6a254
BLAKE2b-256 8b5ca8667cddfab3a0f24e0b71b3e769d182a49c2eb21f18d2766fa271d564fe

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: yara_orm-1.14.5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 5.2 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for yara_orm-1.14.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ac48c3dd6cc7597d7c75bf0954586dc62b57b07ef47cb5b3ad601afa374be30a
MD5 c0e52ba6519edc99a7385505bb2ee191
BLAKE2b-256 0210bab2d1e914d41fa96e475f3f06ffa83dea10b47be921ad578a564c76a94c

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e1ef2656bca6c0ed803e2fccdf98966968e19f95e4828d4fcccd312840408312
MD5 bf87ff985582ee59ae72ff49ae6b1926
BLAKE2b-256 0889812cfe9cceed2660ce6ebe3cfc61880140e533e75b2a143e01379c971daf

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 075ab3b77dd5caa8d71b824056ac265e785497c8b4c3b66b733de17813a887ab
MD5 f8fa7abc98f8fe92de027d1660ff98fe
BLAKE2b-256 7f08e94ef6be267db86765c1996b7b3ca561662fd13c31251728131a59e2b8f4

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c561f2beccb4923b0f1a076e3c7b60506eaa263358b76f441c5354cbb50473d8
MD5 a0e153d72d8106f9f7fecad1a7d1eeea
BLAKE2b-256 6369bbf01343ea4794903171f009de90ba8867ebf47a8e26059e56e587b98f74

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: yara_orm-1.14.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 5.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for yara_orm-1.14.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 be9ab34e1d3830f9a7acfcbb96f42c82822fc9f40c1fc665567b91855527702f
MD5 8d7e2ae22eceb6df39642e6d88e39630
BLAKE2b-256 c9f2aa51044ce71ff6909c45b55308fbd11423839fc109f19818dd4f101970e4

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f656ac14b6f931125ffe8de7d16172aa04b9689acae4fcefc7eb90bf77941d73
MD5 0a2e012a476bc5150d3910de556b9dba
BLAKE2b-256 b552712899e13edc55fde4538ac491d1ac0753dedfe24ffe2b11ffa25b74b4a0

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 66483779153486562066709122ba2c518403e5910749a008b1a4a3d1db966a8d
MD5 c976dd7601292077ee9b203f3e563573
BLAKE2b-256 29fe2d54b1d4ca5bea89b852ddf89f59e292779c82d4532c427fedc82fb1b70e

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eae02461a079d5f96b18b4b6cab7f6c3cda18dd983c1193078da5d9f11343291
MD5 cff72a7916edd98d630913346fc0fbe4
BLAKE2b-256 e56146bd254798be3028b9c2f09a0682b3e40d10afe6817d0620c6faf1223e6f

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: yara_orm-1.14.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 5.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for yara_orm-1.14.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b60b07f8a3c6feeb3a90d3087995420e824fe516857d2332d0434da531e1f348
MD5 5fdb17c218b55ede20df54938d4d01eb
BLAKE2b-256 42bd4b0670742078fb8487209679a2ba41902dd171120537c0e152816cd3cefd

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5351b4dfc6c1c9757eeba6294651d7665421cbedbddd5c282a0f6c307bdf56ed
MD5 7e2fbd0a6cd8dcb6843de3a1d8e246d9
BLAKE2b-256 23e72b247cf9a17c48032c1072c529f826da92617ef9dfd1b45ebea629f208c8

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 399c4969d8bcde33a85cd6c18f4115b4d9c84e3c65d0bae6fc747816cdf2dc5a
MD5 ed55810f8c5f4a3ce0f1676a61520301
BLAKE2b-256 4a9432a075e77fefaf519af0f8872c10b94cc48d7b7546863c9958c630d7e11a

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 37877403d94ad47d1a24840ee51f8c1f3a6f094fd7ec6df7def8f18eb14a7eb3
MD5 eb23a0b40c950a52b3b68c1bc0f80ae3
BLAKE2b-256 23f9b51ff199288b211d143781ddeac15fdb159297fb0161b00a816887d2da67

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: yara_orm-1.14.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 5.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for yara_orm-1.14.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4d5d95e7638ea71ff518e0790e3a491fee6ab0d79561dcc395bb5817873c753f
MD5 f2e1f006e1317216b6312d86b1579c18
BLAKE2b-256 4afdd5d1b92f0caac966c98a5dd53caddf37a138ab24efbab8b22082d093f98e

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a6a0ae3f1296ce62cc58697fb6e782856099d9d42f53433e1b085ba7bc68c429
MD5 82496fe7e445ded6b907c87d8fe365eb
BLAKE2b-256 f8aee3db8a289b3a337746250f00aca55cff93b7c42a84c6b6297601c79fb0f6

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8db8bbb118282b3915948831d0d491a07bb187678757ca53c3eff3aa545a0083
MD5 5ee3149ffd95cb6a790e4e26dfaf4b8b
BLAKE2b-256 472d2b5cec6d38152ed16750aaa3e1e72d342e81796e7519ad7485d7160799c4

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d1cb906e3a380ef9214f1dd34a2958416796dae3186193b28e4c5f6e4d2c7e06
MD5 941bb89793294c614d05a66639189f8e
BLAKE2b-256 fdada77c3f61a68968452a4ab87487d44ecabab318e1296c53abcfcdcf29e080

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: yara_orm-1.14.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 5.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for yara_orm-1.14.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 16d86bfc2c41466fd4d08fbbbf86163a1906d652ae36b605813cedea17f60109
MD5 a171a6b4f0fe46738ec13ff5d696c015
BLAKE2b-256 618b582604a88d23d67bc1c525be03ca1212e652646e8f1839639a2bd5d85104

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fd7030f09cbcd5cc37f024bcb1b366394485b2439ecd5091590ec4459dcbbcce
MD5 169f92fa422de257039b3f221935cd94
BLAKE2b-256 6ecfa5525957b940c7af2c8f384ea21211df2491a6eb6c0c9b143c14d4f06f53

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 45ca1a365a8b5ecbcb9fc08407df584ec78bf9e179e727f3d7014159b2d0af91
MD5 85a237dfe8fe601a47e5d786de835a40
BLAKE2b-256 8b0432719f9064202627a2fca6ed77231ec858cb84207980eae2b865305a7aa9

See more details on using hashes here.

File details

Details for the file yara_orm-1.14.5-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yara_orm-1.14.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 97d076b0548a2285d16f7d426885736e4303008a94e0181ab195c668dcf904be
MD5 3a61183e467180650b38a3bc450577d5
BLAKE2b-256 681ce6b251fb9d3379ccde564e8b86b9f5cb215ef42fdeb0fce68ef044b57ec1

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 Sentry Error logging StatusPage Status page