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

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

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.
  • 🗄️ 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/.

operation yara-orm vs Tortoise vs SQLAlchemy vs Pony
bulk_insert 11.0 ms 2.1× 6.2× 18.7×
single_insert 33.4 ms 2.5× 4.7× 1.8×
fetch_all 3.4 ms 4.7× 3.5× 8.9×
count 0.3 ms 2.1× 3.2× 1.7×
filter 2.2 ms 4.1× 10.0× 7.9×
get_by_pk 62.5 ms 3.1× 4.7× 1.3×
update 3.4 ms 1.1× 1.2× 36.5×
delete 0.7 ms 1.3× 1.6× 134.0×

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

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.0.0.tar.gz (200.2 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.0.0-cp314-cp314-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.14Windows x86-64

yara_orm-1.0.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

yara_orm-1.0.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

yara_orm-1.0.0-cp314-cp314-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

yara_orm-1.0.0-cp313-cp313-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.13Windows x86-64

yara_orm-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

yara_orm-1.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

yara_orm-1.0.0-cp313-cp313-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

yara_orm-1.0.0-cp312-cp312-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.12Windows x86-64

yara_orm-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

yara_orm-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

yara_orm-1.0.0-cp312-cp312-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

yara_orm-1.0.0-cp311-cp311-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.11Windows x86-64

yara_orm-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

yara_orm-1.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

yara_orm-1.0.0-cp311-cp311-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

yara_orm-1.0.0-cp310-cp310-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.10Windows x86-64

yara_orm-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

yara_orm-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

yara_orm-1.0.0-cp310-cp310-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

yara_orm-1.0.0-cp39-cp39-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.9Windows x86-64

yara_orm-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

yara_orm-1.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

yara_orm-1.0.0-cp39-cp39-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: yara_orm-1.0.0.tar.gz
  • Upload date:
  • Size: 200.2 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.0.0.tar.gz
Algorithm Hash digest
SHA256 573e994f631ca507dfeacb24db15ad1911764ab2df4472b9ee6c2f123adb586f
MD5 e4cf2dec4b00e6ce4a105ae5556771e1
BLAKE2b-256 f5a45356d1c905a03732d791ca46faa45a04c71d2a499edf72ef96406a266a7f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.0.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.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.0.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 54622e5cd8dc9d825d8560ce53ec48960da15e694cfd035a8797523051265e9b
MD5 7bd5e83f55b0a0d7c2b8bcba620005b4
BLAKE2b-256 2ccb539c327d6e13656d60d7de6744af3d9ba008b771c23ec5b1298b5e6696ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d1ed8ee71531e1aebb896492d686a5b8e5a506c23c70206a26fba8f4277fa4b
MD5 05b73e9f97bd00175cdde79d33637def
BLAKE2b-256 47f93aad1de5e7549f57d2badd9a78ca89932237f2d26a8ffc47a7da04db0491

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b147aa9b3ac9e4df66080cd0721087b473aaec8fb0f2696dbcd427ee3bcc6d08
MD5 e78edc8aa2b3842af4be26ed125b82da
BLAKE2b-256 5a2345759c5f831cfdc4ce927be1aa0f71eb1133258f981d66086cdd9a8c146e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e9da71e65196db71810316de4dfbadbb3c0ab84ce2d66dfbd572560543e11b5f
MD5 d73820b551d7edf908e9e91a022c9984
BLAKE2b-256 e083db2fd7d5797ea6663a67f36b114fcc093455c61875c80463d41d17726cb0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.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.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 72cb6ba0646d3d581e9cf43049a8783a138f5d7cd52dc0576d0dbb5ded4ccc52
MD5 699114cba05775e3592ff4b12b5e416d
BLAKE2b-256 2d4a83e3d1a9e49892c2b9a16e6c8b504c536d0821314403c642ff76b195655d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7377672c9e664c1edc53fcab929c4b34bcf678cad4c3f785f3075e942fb8718b
MD5 ba04828cfea29d1c60882211a7a08a19
BLAKE2b-256 c26f7a2470275cfad378170c60d7fd9349fcfe2607ff211e5adeb0829c465c4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e7a7dd0d73080c42661a28ac64979a332906f281bd6c7a696a5cc99d370963a9
MD5 e05c0610080e985758405b591c02086a
BLAKE2b-256 86683525fc333ecfbba0da2aeae1639d46a50557349709b6bb5a4f5689e82e8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4c81216275f010342b2cd8425cf0b072defac0b871ec5cfcc326f01077c2cbca
MD5 7e1ffb25a8318b29c140964a35941e2c
BLAKE2b-256 64fae0efe5914ed1f1601c636f06f54acfb288b4e11093633bdb48b502734e24

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.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.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c488d7b742ae30779a4a2d70c1af1cd7f7eeae8230064953a67179c1dfcb6144
MD5 1f9f9530372a942e0aab3b033d04d5ae
BLAKE2b-256 c198d910a7cac8617fab412c682fdcfd37a27c24284d08c7e0083b6afb9627de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0bb37c331ea8ed92cad53388de60a66edf94b34f3b9177b45fe6bfe04d4d8352
MD5 018fbb2dfad7170cef80038bdba215ee
BLAKE2b-256 6ff1c4908f130b0d6215b76475a78af756e1c4ad76bfa662c99a8e1d95eaba94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a83c244b9ded8fce91149b27872d7687ad1b779c4e8a971ffefedd01c2c4b7c6
MD5 0f93212e5dde3312d3bab8562b7bac06
BLAKE2b-256 9a7309c3a775c742890534abb053442aee8c835c6573d208da2c8a8c20b21485

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd96572f247b0558c846b19e0e86d610e733ca2ab300f4e9560452b5f45a51b0
MD5 01f810ae3b7a0ef04b3ed7718e995fb0
BLAKE2b-256 63d7dd4670cb14763013191c2637af896aa8cf1f4d91c750839f762606daabd8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.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.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b90f36d64effbe176833097b545b7e2234c007f3cb25649730c543ace6d66c54
MD5 7a1cc1c4f004e87aeccd370906d6ec67
BLAKE2b-256 496170de2faa9416de819c856a31b214c5b8d801a6fee195f98909179d2d0156

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1767e0b72454ef9504e88316fd1bf5e7c7871246ce4af71565977e17634f086a
MD5 24d9bc139afdb1cc1bc727926a1ac994
BLAKE2b-256 53f200503483089692f04f16eee38c753e709e78fd20596507e3c2b6e3b2bff2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 606dd30680779459d11a72cc469310aadb71e608677f824c01a4a3e632c9b4b7
MD5 398fa1f686fcc0af2c5f79f15decd75b
BLAKE2b-256 45b3d7cbbb2d18fc184893907611b376a630728d185fc177d0495dd2bf89cfe4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d36c175cb1ae16c01051341b748a2e31fc07481c1a5bc364575c0379485d9809
MD5 edd3e3c760c69dddc30e3c31a82a24b2
BLAKE2b-256 58045864eccbb38e12287bc46b16a2540d6a697877b5e772e4843fbfa5cf0962

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.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.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 96c85d98dc0b2ba7fb6f485dd94aa74e1bd12103fe1861a38fcae5f2eea20b05
MD5 0d2b543539df370c68c65ad1d8320f50
BLAKE2b-256 3c2cea62a1f1bb39d0f42fae921fc3cac05c8a392cd9749ef498462a03c293c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9d7a85f276d073b0de7fc5f68aab9e5ed69709d8d9ca4da24d6b2da8822dc218
MD5 2343ac455a03c45bead3d9874b199df5
BLAKE2b-256 290e2481475e73b34abe4eca84943140a53ac0d212d38febaec85f75f9965432

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fc23bf3b41577f4044f486c80037b3ef7e6abd98a5bb10315c47c6e6a721f772
MD5 3336b942ed318d52734787161f12d0db
BLAKE2b-256 3686aa10ff5ae59f8d8bac79135b3f1300a63465ee4aa01e5b9a3e45dd0b5cb1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bf5a90e61ba408d92f2ae160f567445a1ff8336763e60aba0ced9252deb29cf4
MD5 24089e95d419d5e0fbb8e8f2a8d09638
BLAKE2b-256 6b43803bfaa16543049b9b75a446dbc7d15c9ebb38537fddcacd055773b1591c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-1.0.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.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.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a6fa82dc1c8fc6d6b7b5045d358e3db2140a683eccbeb1c8bc8af668b3bac2db
MD5 f9efa023dd96e97e8242787e4397dbfc
BLAKE2b-256 61e97d52439cb26129d98efb8027818d1ff13140ed079d7423f3ef18a4835bdf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 96693b33be482628e846269470ae25e4945042e73adf34f95022c1f9c527307f
MD5 ea5461c69ce1b60749130323564f90ed
BLAKE2b-256 edc997cb3ccd00d3d90123f1b34a8cd4fe819ee01b4655abc5fde9696ea86bc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c310745c268b7b8d2833ef127c77e9962161514d5358a40ae493874f4b2dc1c6
MD5 5c51ba7dfce1ad64540a5a0d2dbdd1c0
BLAKE2b-256 846996ef30c45cb74559c415a4b2c7032e62dbb5fb4e638ca8243e1f0c37a350

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-1.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 969a6468ea49d86f820402d3222db836d25187c706bc214bdf9c2f103406c03e
MD5 35aa5ae6c4ca7384549a628406f817dc
BLAKE2b-256 987f733b23e00144216ff1aa5e228bb26b52d0810a2e23be6a211dde22102fa8

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