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 and SQLite.

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 and SQLite backends, 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 today, 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)

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.

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 or SQLite 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 — Yara ORM is fastest (or tied) on every operation measured on PostgreSQL and MySQL, and wins everything throughput-shaped on SQLite. Cells show Yara ORM's time and each competitor's slowdown factor (>1 means Yara ORM is faster). Full methodology and tables in benchmarks/.

PostgreSQL 18

Yara ORM vs Tortoise, SQLAlchemy and Pony on PostgreSQL — latency per operation, log scale, lower is better

operation yara-orm vs Tortoise vs SQLAlchemy vs Pony
bulk_insert 14.7 ms 1.6× 4.6× 14.9×
single_insert 34.2 ms 2.3× 4.4× 1.8×
fetch_all 3.5 ms 4.8× 6.1× 9.8×
count 0.3 ms 1.9× 3.2× 1.5×
group_by 0.7 ms 1.6× 1.9× 3.1×
filter 2.2 ms 3.9× 3.5× 8.1×
get_by_pk 65.0 ms 3.0× 4.4× 1.3×
update 3.2 ms 1.1× 1.2× 37.3×
delete 0.7 ms 1.2× 1.6× 135.6×

MySQL 8.4

Same workload against MySQL (Tortoise over asyncmy, SQLAlchemy over aiomysql, Pony over pymysql):

Yara ORM vs Tortoise, SQLAlchemy and Pony on MySQL — latency per operation, log scale, lower is better

operation yara-orm vs Tortoise vs SQLAlchemy vs Pony
bulk_insert 46.0 ms 1.0× 17.4× 9.4×
single_insert 693.7 ms 1.1× 1.3× 1.1×
fetch_all 5.6 ms 6.0× 6.9× 8.4×
count 0.7 ms 1.4× 1.7× 1.1×
group_by 1.2 ms 1.2× 1.7× 2.0×
filter 3.4 ms 5.3× 4.8× 7.3×
get_by_pk 110.9 ms 2.1× 4.9× 2.8×
update 7.2 ms 1.1× 1.5× 32.5×
delete 4.9 ms 1.0× 1.1× 42.9×

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

SQLite

Yara ORM vs Tortoise, SQLAlchemy and Pony on SQLite — latency per operation, log scale, lower is better

Yara ORM wins everything throughput-shaped (fetch_all 6–16×, filter 4–14×, bulk_insert 1.8–80×) and trails only the two latency-bound point ops, where the per-statement asyncio bridge costs tens of µs against in-process sync drivers — the opt-in sqlite://...?sync_fast_path=1 URL flag removes that bridge entirely (point queries ~7× faster).

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│
│   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      # 4-way benchmark (needs `make bench-setup` once; Python ≤ 3.12 for Pony)
make bench-mysql   # same 4-way comparison on MySQL
make bench-sqlite  # same 4-way 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.13.1.tar.gz (684.9 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.13.1-cp314-cp314-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.14Windows x86-64

yara_orm-1.13.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

yara_orm-1.13.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

yara_orm-1.13.1-cp314-cp314-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

yara_orm-1.13.1-cp313-cp313-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.13Windows x86-64

yara_orm-1.13.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

yara_orm-1.13.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

yara_orm-1.13.1-cp313-cp313-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

yara_orm-1.13.1-cp312-cp312-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.12Windows x86-64

yara_orm-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

yara_orm-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

yara_orm-1.13.1-cp312-cp312-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

yara_orm-1.13.1-cp311-cp311-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.11Windows x86-64

yara_orm-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

yara_orm-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

yara_orm-1.13.1-cp311-cp311-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

yara_orm-1.13.1-cp310-cp310-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.10Windows x86-64

yara_orm-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

yara_orm-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

yara_orm-1.13.1-cp310-cp310-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

yara_orm-1.13.1-cp39-cp39-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.9Windows x86-64

yara_orm-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

yara_orm-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

yara_orm-1.13.1-cp39-cp39-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: yara_orm-1.13.1.tar.gz
  • Upload date:
  • Size: 684.9 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.13.1.tar.gz
Algorithm Hash digest
SHA256 961160327d07e61ce2a264e8e177c1a3138110217b61b90bc17c422e991ea17c
MD5 12019d6401125137a8e2b797edf89c16
BLAKE2b-256 09d06aa477ab06aa7bb47751c6c186fddfb0188c36f5d5f06c8a12b206483470

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.13.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 4.3 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.13.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 0b2096c9dcb12eaaba4b16b06cbfbe2a25d58ffd2b6dbc05b0f3bcd3b14504b7
MD5 f9405013b5bd4db2fdf0cf7c62721809
BLAKE2b-256 09991dc003164399b422b26501e57c1fd7edda695deb9abc38f78514c6bde39c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6af91e0092d8ced0df7cd72393161d027a3a618f6fb639fd05573079b783c1ae
MD5 12343558ae919b34ac78c773c42a2346
BLAKE2b-256 e05425a1bb2c5d49a1b1f25d45d895353c12079fe61cea2b2b07372aef7b8542

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 181c85d93a62a287ee9a670b1876a6b6783f4cba9572ecdb6ac5c78612c93019
MD5 587b2db6b0611ff583400a7b991dd361
BLAKE2b-256 aff7a348e5e3016e0e783779e7b03da60f8b875c5cdedc012d6e5e3b36e6d2f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a28581c09ce1bb099066a130284bd6f868add8738aed863f5eec4d2d6cc6f09a
MD5 25f2990f6b1fe2425b99c5d20a76bfa6
BLAKE2b-256 4f2838409c18c7e76ccb5c9ddb97760b28d4ebd6a307f8b43b1c1bb9e6f163b8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.13.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 4.3 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.13.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a6fe13594cbaad102c3c445c044a3f86782ef3f933814a169630723331bb4d30
MD5 5cb37d447ddefbd5911f6aadeb4fdea7
BLAKE2b-256 4973f71c058c4186db1fb5271c2b2593daa415298ca42dbbd0ba3d18c5d87af2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ce613d20bc44a4f7deb606f08c8b7c415b5c0e18257a67c4110a060ddfd6c64e
MD5 7747bac8f04a5f501c71e616c03d4453
BLAKE2b-256 49aa9887fff370c67eea4c0160303ae97a405b1b152dd8a86fdd210158c70e54

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cebcf3c69dc88a37ef1d4d94382010e4df4dcdc4e360b9c78db4028540c4eb0c
MD5 592131433f18e55c2dbbc4697d3ec222
BLAKE2b-256 7607ce15bbe6e6ad7a0e5794a2e31fd32b88a32723eb1cf1727eb71ffd9b9477

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f008d562280ee839e2bf8700767dbafca596ed82ca3fdba1c21abbb507957fe7
MD5 fb6211d2c83ecd8985be67c991a4c03a
BLAKE2b-256 f84bdceacadb55e0f047a637f0c610ddad68cc746a4c80eb200a8617f25b8b02

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.13.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 4.3 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.13.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 31927122dab5600ece34e63e4a0969feeb3af2a77fc0083de26961fe8de0faf9
MD5 c15d27ca70042679d6a7b3d24f36098f
BLAKE2b-256 b3e4c929eb08c86d0dfad5a0ad031403b56aeb824cdfd707f5fdcd4c99215c3b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ded0c519b5ac4d8323c5a8789bd18d642a3e76eae1e78a28a419662f9edeef0d
MD5 0a5e5c33881fc94b55152d2005847d4c
BLAKE2b-256 346b29381d353d5bf7f8f37e61227ab5bd07ccdcb8cea4996d6f450bb56eab59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 62dd05558747a9aacb09da8e131ea48add769ca0dca0c08d0067e8a020a428d2
MD5 fff440a11a690c1269055a5cd76cc292
BLAKE2b-256 4358a1c10687e42c1a2c7137685e1a7224d0f129953f87bad8c22febdc159db4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 188fd6c69d11cb81a8e3d85d4968153bdbfab90a6a7ce9d7ecacbd2819158779
MD5 5e2e7a08ead3890a7e0e557cc748aa1d
BLAKE2b-256 34f16786e2057257b468f32d6ad96e02515056afd1c90d83031206069bee959e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.13.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 4.3 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.13.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 af26319cf864a048157e642f5f2139009a2ad4241254913168ee015e501c08f9
MD5 437582c0912ad9de3f6ab3586f5ff5b8
BLAKE2b-256 f9e46ea21574b16393701b929a9c90147b2c25d4b6e7cbed3f87d158c0eb9fd9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 27a57cea342044a4e2870a0daf2010cb1a0ca0f9194e394539a9fac0d7a494f5
MD5 cd78e5d468fb007f53a12676f258619c
BLAKE2b-256 a6db9856d068d269a058363a4fe0c467629708d23272675f45acb5bba014439a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 73486f15aa4a4ac5d9116473789235c23729b154048a167c3cefe51a46c03d26
MD5 c1dcdd87a4ddf13473c59a1566541a23
BLAKE2b-256 71f847b704c25ef76ace3239cac68091f68aa2793813eca1880c7a2f4d7f286d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9336449e375b4671d5a54cabd314133151d96649f49b2e51fd94cad51ff33015
MD5 aa468589e8783701f858cfa7d32db9ed
BLAKE2b-256 be1c8198a911a353dabaf09417e618ba60b0b326f6c7f3a2efc6bda25f2d0f84

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.13.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 4.3 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.13.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cb9610da4ccd80f51baa030afcf2140662fcf196e15202cef4ef3c7fface7614
MD5 7eda7736e28b96fb5cd719368703d7c6
BLAKE2b-256 3968d98e74c6785d49d2c86a2f593841726cd06493164c9cff7519c7cf6a42e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 411adeffc5ac909d560384576f47cc9cda2c9e2c4ecd206d25f92a162dbbbe7b
MD5 4a61b47ccbfeb52d19ef799c9f3cd6b1
BLAKE2b-256 fafd8b69d6e38a698f1580961801a91b6286a3c10bed0a8ee67f965912a5f7d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 28f3eb9269d58cdf158f48e5d6a50a76d56be255402678d04867e069eed6630c
MD5 10e32a552d3be7e642d941eefcf49c8a
BLAKE2b-256 28030bc8621d295aca722020d414f57b7b3353a1e58718b62d006abb9320439a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ca9fce78bd36fc8494bec9e6f3d2f82158ad8fed2f157e25bdf3cacb5acbf0b4
MD5 d3f8d93f90969781004209a918863320
BLAKE2b-256 9b48ee25d9ad378c4b1c3af324185776da1d0579fac54251ef4c4e6d15e3e3eb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.13.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 4.3 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.13.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ed2f14b7ffc4c1dcfaf70ed79436952952621b55feea8e20efe2e5787c55ecb8
MD5 085650a76cd3fc6ceac0f2a3ec54a5bd
BLAKE2b-256 39cca493a0345f316dd56006ba0df2fa0f3ec4128528af043206266529a5e747

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2dd51beeb73f6692a8b537ca4790a8da6d49e569125ad5b491e791e3370bb321
MD5 f6663a3002710e732eaf9c3499ebe3c3
BLAKE2b-256 f3a0108749681f3fdc6a321c4053b8f01e8a0442ab774c56cf1450fd4c881da3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 500b4f2f7a2750c02ef745ec33cf4dbe77d6958bed834a243a5b328fe83ff9d6
MD5 7b3e1378d719036e880c3ca65f47ee3f
BLAKE2b-256 575efc4908fe823a20e140c15aeaaf8695e195df8e99865b13d5ac5506106ed0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 48d226850f3e1aa96eaf2f6bc3ee763f3ac8ffb6836a4c2cf95eda3e8c5b11cb
MD5 8de3f798d8be5a03ea4b5ed29d4ea21c
BLAKE2b-256 809d9abd7ce9109c193521d9d252846251e5c2caa6f7e734e0639b5db2fc3709

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