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 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 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 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("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 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, PostgreSQL 18, Python 3.12, 5000 rows — Yara ORM is fastest on every operation measured. Cells show Yara ORM's time and each competitor's slowdown factor (>1 means Yara ORM is faster). Full methodology in benchmarks/.

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×

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. On SQLite, the opt-in sync_fast_path=1 URL flag removes the per-statement asyncio bridge entirely (point queries ~7× faster — see Performance). Run it yourself with make bench.

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│
│     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)

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.12.0.tar.gz (547.6 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.12.0-cp314-cp314-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.14Windows x86-64

yara_orm-1.12.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

yara_orm-1.12.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

yara_orm-1.12.0-cp314-cp314-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

yara_orm-1.12.0-cp313-cp313-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.13Windows x86-64

yara_orm-1.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

yara_orm-1.12.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

yara_orm-1.12.0-cp313-cp313-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

yara_orm-1.12.0-cp312-cp312-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.12Windows x86-64

yara_orm-1.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

yara_orm-1.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

yara_orm-1.12.0-cp312-cp312-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

yara_orm-1.12.0-cp311-cp311-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.11Windows x86-64

yara_orm-1.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

yara_orm-1.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

yara_orm-1.12.0-cp311-cp311-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

yara_orm-1.12.0-cp310-cp310-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.10Windows x86-64

yara_orm-1.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

yara_orm-1.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

yara_orm-1.12.0-cp310-cp310-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

yara_orm-1.12.0-cp39-cp39-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.9Windows x86-64

yara_orm-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

yara_orm-1.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

yara_orm-1.12.0-cp39-cp39-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: yara_orm-1.12.0.tar.gz
  • Upload date:
  • Size: 547.6 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.12.0.tar.gz
Algorithm Hash digest
SHA256 ce924daf7770a3557c099c00209037bf333f3554a2d52e4f6837c379e8b59455
MD5 1661c15fe31945c349df85270fa2c6c8
BLAKE2b-256 8737f4943564d8140973131039668e2fa87368d9f7a910e4816b187e2c03f1a7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.12.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 3.1 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.12.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 0fd42053089432f641af9cd81afbb851ee5e2b79ef51f3cd9d602555bb0e971c
MD5 8a8722504a27bbaa898476b40c0d56af
BLAKE2b-256 e37ca5532565e871e367cb9f8573bb8f5df8b897e0c9ace69ba48e4d0c4c75de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6c0b1621544393f5ac2675afbf4517dc5656dab6e96bd8d26c6c29ea7be42395
MD5 953a6ba0db2d5b2c990e7798e715c558
BLAKE2b-256 e0739f12a38dbc490f0240151713b864537a7491050a006a37cb2ab4eaafdfe6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0f97b10fa8667833444797648b1457f935527847f9bb8be1cfda2bc29b998702
MD5 b85428b3f28aa9e4a3a742e5f904e456
BLAKE2b-256 87aa8c2eb441af91edad4e6704b20c0e5b0b3152a5e1e35194b76a1020c8ee08

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a442d724ceb5da3beecb3e5e33d9ac6448144d503f837fc5fc3ad18971d41d7a
MD5 7bb221eb12f64f0ea1a9a42d6c6bcbbb
BLAKE2b-256 f5764e4644599dee3a79564ec2b5dffc61cb921e02264149b65a868bb85b3b24

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.12.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 3.1 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.12.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 520826b4c5e686d315e46160f49556911ffd15d1b64c85cf89238ab512f7f011
MD5 f917efaebad8f66750e317794e00009a
BLAKE2b-256 23957bf5931cad0af3f762de2f41358e4168c15d478d971aa032e84a10a432eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2567cf5da7656279d1b4686a167381f4051bc027174bced81dabb9d40293ed2f
MD5 25f1500d984848582c06c5f3d74e8b2d
BLAKE2b-256 b2772cc7445e27076060fdf9748759a9a5f9143d77ba6e0a270d23d0e1e8810b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e8dd3d7cb9a65aa71f26fcc302a10b3a677c66510379e810bb75993b13695569
MD5 4dca3babd449a3b91181ebdff46e6e1c
BLAKE2b-256 9161141473fff18d449d01f9208294436ed1725ef53385089f1bb6f07d47dee5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7a83cdebcd42458992827fdea66ce81afd8dc0cb345e0111f72bec3ea7a39f15
MD5 81f180dfe8b4d5177b83da0862db7cde
BLAKE2b-256 c94f7891b063dcb2c14458b493b4a5bd04c9e0d110c16ae5bac7743337b83d4d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.12.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.1 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.12.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f788af8ed6e4475e05ceeb265f5aba3c0fdcdf4e93f5293195f9b996f6f9a271
MD5 28360a08c7f2c4bfd5e966b6b4f56265
BLAKE2b-256 9204ef82f8784e89c9bd0234c4bd0696c906e9c708f74a1be90c2c593ab2acc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8fc80dd4be7a74fb8ddfdcea980073aa251c2a29076ca5101d720fbbf6b0f864
MD5 7659cbf92add3d60eddb0c2021ab213d
BLAKE2b-256 97f16471007b5d34e92dce7d5f3fdbe2c0ed99b9505a26a11ee5ca8e58c2da23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 da3867ae25d2c88c0af68450d912b45b2bf765267a9d4945c059ee027e02fb2e
MD5 185d1a2247692c829075769ab942c84e
BLAKE2b-256 04c8e8a2f56a52c34d8024a0b8898e1d0d86b74cc878707bbdda565dfc51a284

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 39252de496591797381cfad1341c9b8d01d3ea37b1cc20548988669a6333c4fb
MD5 dc30e98f89a914a7a10e30d630da5737
BLAKE2b-256 3eac484edc5eccf0606b0e2049082bf6d6908bdd106a38cbda22a9019916d928

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.12.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.1 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.12.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d2fef4dc1c1f3ec2850fe2deb6326a5d14189ab1a94e74d55a194bd0764dd175
MD5 3257b32e4c5ab2625a7840ded0c47340
BLAKE2b-256 d24463cbb586f9b4c1afa0fcbbf33415a46a0cbd85cdf476031e4bf92194a420

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e685f4ae2686240163b3c45f0d348535e061158046175388ddabae9c3d1932c
MD5 f628bef651e632dcafdf83cf05cad675
BLAKE2b-256 b09c7d044f1ad74d8beb840b8e60df225b6465af745cab1983a2dc2eb277876d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 54c7667aa0dd6e7ef87dfe8eb72a3858ca5f95554cb577c53cb8a6ecaea6ffba
MD5 b51321042dfa7bd3a54757fdc50ea157
BLAKE2b-256 7194db61f263fc92552d32b23cd0abd3848eaa31f6d7d6b7d943be5c2fb5716e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e816c92c2dc3e0078a556296faca407cd4832b121f7cf12e8573d740432253d0
MD5 59573cf63144b1c8de0a065eb686f770
BLAKE2b-256 1a4b8464a64629c111b532259cb31c002f9b233967c1601adff0468da04b2662

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.12.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.1 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.12.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ff7f0bf7eb56f16d20c647669602669af7a6725080ab105585ddeebde8ea8c25
MD5 7f697578f6431bac3c074925d2c64bc2
BLAKE2b-256 9e9fb070bae476eeb27f1897da7288b389559f55198dba1c7b7d9dfdb3000f4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 70519fe9a094eec78caee5c41a8a98180da55827019b9f0769dc0518c9642448
MD5 b09a47fdba4bc9e3db46b4c6e427a260
BLAKE2b-256 f3e85762c5374566c5597b08b5b1aaab143180048cf8dbb9a27fdadb64bb7ae2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 06be62f06fb7e398e179d89afb0a550641bc850b726036a073b5ecc68d555ab3
MD5 55ccdd5aa237f36c7a942271c5ec8579
BLAKE2b-256 a0c9f1f6bc31c77463907c71ba7a2c6f5c45ee5645503de2fa4e0f84d3c6e347

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3dd5f63d7eef7b3ca6daa3f0e5a95f9ac1c12b5cc34c8b2445ab30145de22f64
MD5 1b6d54d31e1506a8fb457d16cb049201
BLAKE2b-256 2b426f8c0e55d096d3b911fb43a7c1636e3016c3b8cad016c8272330a8631675

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.12.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.1 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.12.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 fc8019636d9a24d568f3e4696547b3375bea98e283e9437f8b6645a937a7e157
MD5 492d2ee99c62806d4a3f3ed17099bb9d
BLAKE2b-256 5fe4f658b0c87844b8261b25122d898a79ec2520f87f44a8e9c3014830733088

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1e18ada83708fbef1e4965a320d45ddafaf25304c5f82a03902fad9200db0df1
MD5 37613dc1689cbbb659c4ecc4243cc17f
BLAKE2b-256 e4d98254c75b0979ef6de943fd7e4785f8f3b12d1ac698504eed7bcc9607cb57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bd793382eb175540af2177a61e7ff765edb2db09b7d06d898ed4ef3d16598728
MD5 909db28cc15096d7e813fdf6bb80c6ec
BLAKE2b-256 1a9fb438182acf7d0e197cf2eea040042c576463c5b6d680e48fe63a79fbf008

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.12.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aa81a21dee128208e21ce84e81df264715550d0f830f24a22cbd50ace7bb80f3
MD5 ac73f834947021d981cb49f4a57107af
BLAKE2b-256 6c96dc3d12a233d2e8159d7d061bdefc76992218fe2073727c00a0b59f613b6d

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