Skip to main content

Fast async Python ORM with a Rust engine — Tortoise-style models, querysets, relations and migrations for PostgreSQL and SQLite

Project description

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 "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)
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) and a local PostgreSQL for the Postgres 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

Project details


Download files

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

Source Distribution

yara_orm-1.13.0.tar.gz (682.5 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.0-cp314-cp314-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.14Windows x86-64

yara_orm-1.13.0-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.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

yara_orm-1.13.0-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.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

yara_orm-1.13.0-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.0-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.0-cp312-cp312-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

yara_orm-1.13.0-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.0-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.0-cp311-cp311-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

yara_orm-1.13.0-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.0-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.0-cp310-cp310-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

yara_orm-1.13.0-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.0-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.0-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.0.tar.gz.

File metadata

  • Download URL: yara_orm-1.13.0.tar.gz
  • Upload date:
  • Size: 682.5 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.0.tar.gz
Algorithm Hash digest
SHA256 78247fbeefc248c6e07b8dd90f2341894e2b5da24fb47efe1dbe5f8e05743172
MD5 b27cb679992d168ee544ad798456f0bf
BLAKE2b-256 adf5118ea93eb1a100352f7aa27d003c9476ec02bb1cbe4a1e7eeab62f7a8f3c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.13.0-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.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 283c27e234076fe30a5e4a43333a4b077b8a1681a3f1063f9a77b66c4930076f
MD5 d699772e2e5a35e1575440d8677443d7
BLAKE2b-256 c77768de86745a48dd868716689b5e88dc6180123fb3719f1bd2b7f88d56bb6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f44e8b43f55053b37b7286ef952e316de679b50cd90ba11b0eddc7d708e9646c
MD5 42a55ff5dc3d630dfcdd7ec3384daac1
BLAKE2b-256 4e89f87b53459ee15ed62dcf9985dcdaec24d54cdea89add61a9b7b2a51f2dbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e77ce22a9293f9e058932ba56878b5c827e75d52c58a9772ea522862d2f4a729
MD5 6ffde99b32a6e1dc610ad77cc465c526
BLAKE2b-256 46552a79ce8ca8f95533c9206115aa1a43c7b9434dfd91faa6ee49f0023a4238

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 914e41b36527d2b9e919cbc1a43b4945cce7e1e78cf04cf78f43feb8a7d83ce6
MD5 be612931378fe10f0945ea6ca1c7f118
BLAKE2b-256 2c5042e4f486a7f1e0a2f2defdae3c470d5542a2b8bf965e3fd813d7f2057386

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.13.0-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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8d9872bce3cd372675d840233896468bbbb8489e16ab5d26001bad9f320f8f11
MD5 69b17e2e60e1b4849b43a2c676c53e73
BLAKE2b-256 870f408a0f0bfc1bbe8a334bb77f8404b0685080fa5aad5fad24092d0bade561

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8d20108f2a924fb18669edf8ef081a6f951cc8e494d4f9cd26ad6aed39c885c9
MD5 e93a29082375632f62deecaea6cbebc4
BLAKE2b-256 ee42d0e6b33ef52558cffd1bb12ca31111dc71ade4bd2cfa6aa7dbe41ca63b05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f99d4ef6997e99858f9cf840e01eb831088235346457c170723a1bf07c16ae75
MD5 cb8869cabd96e11067331e51c1afffef
BLAKE2b-256 644be5c027544c811cb913cef0ef6b3217636285ff8d0bb647e23a41d4a1b810

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c9123e716cc5eb35ab21a7f24aba6ee2a90c907aecfef5241d5039677a80ad2f
MD5 3d733ddef7866c255b1067ae5a925f25
BLAKE2b-256 be9f02b401e1468db20de0435a8c7460eeacffb40dfe166b4570b4dcc304d33b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.13.0-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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f6a9f13b85dfb4c35cccc238a6e3849887b75786b286d3a76a9d23bba4ae9190
MD5 cb615abb67a214e4e47a6259ef691e5d
BLAKE2b-256 8b4cadbe7da0003d30b0014b262561d9fbc78fb801830293ebb0cd9b047425ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f3997fa4ebed51144433393f469da012c6e6bc2e3dc83db02b92304a97a81e50
MD5 61977882057ec9ad356ca854a1858d3b
BLAKE2b-256 7eb9dc429dbee70f342d137bce37a0a93e7fdd8e1ad6b8c64b43f7132692ba4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c847b2befe143a513d470980964c1c24e3e8c9329935cffa53cfee9503c9a9b3
MD5 ba540da2e1e85dc14a955b5cf2cf3f5c
BLAKE2b-256 5fe43e7b025c8dafe84dbae95904fc950e93f57542c240cd530d7ad46e68c573

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2545db2ab262254b5e4b836b09e19013ebc06ac63c5aefe3c69ea40a4e92a129
MD5 105903c347619f8e7cbc2ffd9d685e35
BLAKE2b-256 475b64111b68eb7777b3d746498444bcd17aa074603658a8adb0c3ff6e0b7ea4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.13.0-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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 75197c18be0b8b00cff543f491ba922639a221565c2ccb2299613cb7c31215e0
MD5 20a095b97c9b1de0d298affced37df40
BLAKE2b-256 59acb696e670c00a977fd1f652e11df8680ebe06595177f919c918866471e94c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b1af175b87d76cc0f3ffcb09e3b2c90859204361e9e0998676ef8b310716f45f
MD5 2d737c7f424e48cbdb69ca4d43cd8d81
BLAKE2b-256 6e1bf4b0503e3587a59af703207ae9ae251c14e0e0c06be64fe87830cdf8cd4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e6aa3d1fc2218c838dd60300a341497b004a6eae8762728bcda7b55ed915d215
MD5 7c74943843e74222443ff6f250b89961
BLAKE2b-256 069628cfa21490fc0d3844e3a55ccbced741c645b66772b11bf51d1b3f230611

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c0b84a84343ef53f4c6b8561e202a75e296ddd5ed344912f38bf589c6843de56
MD5 46aba1d09aa49e30be3ff5af3d8239e2
BLAKE2b-256 afa5478d182019fa8e13129063e7849c03bc4e7975b69d07f371ad1883f1e555

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.13.0-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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 615f4865dbd732b9e53fce9590054b8db491c904d10814091bb0c3ee8a1fdc20
MD5 c58709f3bbb098e5275b8ac39bcc01d5
BLAKE2b-256 7b52a59a782c34a33d2a584a2cc89f6ff91c9aeea29edc7db57fe11245b8dbfd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 72f3f64c72c3b39bc981a369cfd800fad41dcdf3637bbe7b96cfa3b1a686a199
MD5 87bba08bcc1ffcaf9a49e05c5dd50248
BLAKE2b-256 12a778d2e276520f7026e4ec9da53c56d4b74360996226a737d1de16e2f97848

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e1da3fb36879013874bd0fffa2d1385667a840e3ef9c8e5c52f4788da87051d5
MD5 d29b83d2eb5666996b44638c6ee51135
BLAKE2b-256 b7c768b2d576b3b32ac12d9d03d7155e7dfa3140be26ebd390a5b859a099d932

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a1b2dc9e9f672c0f1dc8afacb97eb086874f63646e7619925ceca4c75736c526
MD5 a6952698d19c3b8b4a91df4a387f140f
BLAKE2b-256 36657049324b49293028c6c034c0bd1104aec7c93e3ef5bb59b217ab97d6ab0d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.13.0-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.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6cd504ad0eca4486beb39e4e549885e8908a89815ab391e6e94fc838e79adbbc
MD5 37850d6569a7e64225b6968f0fd03076
BLAKE2b-256 8f2b7b3f2e1983b0b5a5dcc319e851e18c55a79219387213390d0d7a15eefaa8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a26fab8ae57c667ff2edf87994f9ed49eda4fde29da492ab57758d75effdcfa7
MD5 f8460fb2ea8c2ef876ef5273a5155d36
BLAKE2b-256 d31b1bcf53f827fc2606aafd29523ee3f4725f8d0d4dee8e61cdec75f9fb9db6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 801b7a92e2773941c3479b95f5b0a1cdd5ed02e0b2e990fbec1b6b2b1852f610
MD5 1a3f6b5346e737f87270fe4f1fa53959
BLAKE2b-256 601d41996a96c7f8d83eb2deb2be3f5e36911a8ccd35a8ae3a62456180b54db1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.13.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6a550acb689dd74e875d932ae5539537b7b7b8aceec33e977501f1b26da639f7
MD5 e69144b3f8aa98712ca0f9f6ff519f78
BLAKE2b-256 2d9179515f1b1c2f005ce298d6b3881bd02742cfdd26464614aa3913d03f42a1

See more details on using hashes here.

Supported by

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