Skip to main content

Yara ORM

A fast, async Python ORM with a Rust engine — Tortoise-style models, querysets, relations and migrations for PostgreSQL, MySQL, MariaDB, SQLite, Oracle and Microsoft SQL Server.

CI PyPI Python Coverage Docs License: MIT Sponsor

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

✍️ Deep dive: How the GIL, PyO3 & asyncio cooperate — how the Rust engine bridges Python's event loop without the GIL collapsing it.

Yara ORM is a high-performance async ORM for Python that pairs the ergonomics of a Django/Tortoise-style API — models, querysets, relations, aggregation and migrations — with a hot path (connection pooling, parameter binding, row decoding) written in compiled Rust (PyO3 + tokio). It is a drop-in-feel alternative to Tortoise ORM and async SQLAlchemy: 2–9× faster than popular pure-Python ORMs on common operations, with first-class PostgreSQL, MySQL, MariaDB and SQLite backends — plus Oracle and Microsoft SQL Server (both beta) — full type hints, and 100% test coverage.

from yara_orm import Model, YaraOrm, fields

class User(Model):
    id = fields.IntField(pk=True)
    name = fields.CharField(max_length=120)

await YaraOrm.init("postgres://localhost/app")
await YaraOrm.generate_schemas()
await User.create(name="Ada")
print(await User.filter(name__icontains="ad").count())

Highlights

  • ⚡ Rust engine — pooling, binding and decoding in compiled code; the async bridge (PyO3 + tokio) keeps your event loop free.
  • 🧩 Familiar API — Tortoise/Django-style models, lazy chainable querysets, Q objects, aggregation, prefetch_related, transactions, signals. Coming from Tortoise? Most code moves across unchanged — see Migrating from Tortoise ORM.
  • 🗄️ Pluggable backends — PostgreSQL, MySQL/MariaDB and SQLite, plus beta Oracle and Microsoft SQL Server backends, selected by URL; a new database is one Rust trait + one Python dialect.
  • 🚚 Migrations — operation-based, auto-generated, backend-portable (makemigrations / upgrade / downgrade).
  • 🧪 Quality — fully typed, linted (ruff + ty) and 100% test coverage.

Installation

pip install yara-orm

Prebuilt wheels are published for Linux, macOS and Windows on CPython 3.9–3.14, so installation needs no Rust toolchain. (Installing the source distribution on an unsupported platform compiles the engine and requires a Rust toolchain — see Development.)

Quick start

import asyncio
from yara_orm import Model, YaraOrm, fields


class Tournament(Model):
    id = fields.IntField(pk=True)
    name = fields.CharField(max_length=100)
    created_at = fields.DatetimeField(auto_now_add=True)


class Event(Model):
    id = fields.IntField(pk=True)
    name = fields.CharField(max_length=100, index=True)
    tournament = fields.ForeignKeyField("Tournament", related_name="events")


async def main() -> None:
    await YaraOrm.init("postgres://localhost/app")   # or "mysql://…", "sqlite:///app.db"
    await YaraOrm.generate_schemas()

    cup = await Tournament.create(name="World Cup")
    await Event.create(name="Final", tournament=cup)

    # Lazy, chainable queries
    finals = await Event.filter(name__icontains="fin").order_by("-id")
    count = await Event.filter(tournament=cup).count()

    # Relations
    async for event in cup.events:
        print(event.name, "→", (await event.tournament).name)

    await YaraOrm.close()


asyncio.run(main())

Querying

# Lookups: exact, not, gt/gte/lt/lte, in, isnull, contains/icontains,
# startswith/endswith (+ case-insensitive `i` variants)
await User.filter(age__gte=18, name__icontains="a").order_by("-age").limit(10)

# Complex boolean filters with Q
from yara_orm import Q
await User.filter(Q(name="Ada") | Q(age__lt=30)).exclude(active=False)

# Aggregation + group by
from yara_orm import Count, Sum
await Author.annotate(books=Count("books")).filter(books__gte=1)
await Book.annotate(total=Sum("rating")).group_by("author_id").values("author_id", "total")

# Construction-free projections
await User.all().values("id", "name")
await User.all().values_list("name", flat=True)

Model methods: create, bulk_create, get, get_or_none, filter, exclude, all, annotate, prefetch_related, raw; instances save, delete, fetch_related.

Relations

class Author(Model):
    name = fields.CharField(max_length=100)

class Book(Model):
    title = fields.CharField(max_length=200)
    author = fields.ForeignKeyField("Author", related_name="books")
    tags = fields.ManyToManyField("Tag", related_name="books")

book = await Book.create(title="Compilers", author=author)
await book.tags.add(tag1, tag2)        # m2m add / remove / clear

await book.author                       # forward FK (awaitable)
async for b in author.books: ...        # reverse manager
await Author.all().prefetch_related("books")   # no N+1

ForeignKeyField, OneToOneField, ManyToManyField, recursive self-FK, related_name, Prefetch(rel, queryset=...).

Transactions, signals & more

from yara_orm import in_transaction, atomic, pre_save, connections

async with in_transaction():            # commit on success, rollback on error
    await Account.create(name="A")
    async with in_transaction():        # nesting opens a savepoint
        await Account.create(name="B")  # rolls back independently on error

@atomic(isolation="SERIALIZABLE")       # isolation levels (PostgreSQL/MySQL)
async def transfer(): ...

@pre_save(User)                          # lifecycle signals
async def on_save(sender, instance, using_db, update_fields): ...

await connections.get("default").execute("INSERT ...", [..])   # manual SQL

Also: enum fields (IntEnumField/CharEnumField), column/table comments (description=, Meta.table_description), and multi-database routing via a Router over multiple named connections.

Backends

Backends are selected by the connection URL; the abstraction is a single Rust trait (Backend) plus a Python BaseDialect subclass:

await YaraOrm.init("postgres://user@localhost/db")     # PostgreSQL (tokio-postgres)
await YaraOrm.init("mysql://user:pass@localhost/db")   # MySQL/MariaDB (mysql_async)
await YaraOrm.init("sqlite:///path/to/app.db")          # SQLite (rusqlite)
await YaraOrm.init("oracle://user:pass@localhost:1521/FREEPDB1")  # Oracle 23ai — beta (oracle-rs)
await YaraOrm.init("mssql://user:pass@localhost:1433/db")  # SQL Server 2017+ — beta (tiberius)

The SQLite backend maps rich types (uuid/json/datetime/decimal) onto SQLite's storage classes and reconstructs them on read from the declared column type, so the model layer is identical across backends.

Oracle and Microsoft SQL Server (both beta) ride on the same model/queryset API — both on pure-Rust drivers (oracle-rs TNS and tiberius TDS, no OCI/ODBC/Instant Client, so the wheels stay self-contained). The shared cross-backend suite runs against a live SQL Server 2022 and Oracle 23ai in CI. See the backends guide for their type maps and the driver caveats that keep them out of the stable tier.

Migrations

A Django/Tortoise-style, operation-based migration system. Migrations are auto-generated from model changes and backend-portable — the same operations render to PostgreSQL, MySQL, SQLite, Oracle or SQL Server DDL at apply time. Applied migrations are tracked in an orm_migrations table.

# autodetect model changes -> migrations/0001_initial.py
python -m yara_orm --models myapp.models makemigrations --name initial

# preview SQL without running it (per the target dialect)
python -m yara_orm --db sqlite:///app.db --models myapp.models sqlmigrate 0001_initial

# apply / revert / inspect
python -m yara_orm --db postgres://localhost/app --models myapp.models upgrade
python -m yara_orm --db postgres://localhost/app --models myapp.models downgrade
python -m yara_orm --db postgres://localhost/app --models myapp.models history

Each migration is a class Migration(m.Migration) whose operations are built from live field objects: CreateModel, DeleteModel, AddField, RemoveField, AlterField, AddIndex, RemoveIndex, plus hand-written renames (RenameModel / RenameField / RenameIndex), constraints (AddConstraint / RemoveConstraint / RenameConstraint with UniqueConstraint / CheckConstraint) and RunSQL / RunPython for data migrations. makemigrations emits the idempotent analogs (CreateModelIfNotExists, AddFieldIfNotExists, …) and detects AlterField automatically. The same commands are available programmatically via yara_orm.MigrationManager.

Performance

Median of 5 runs, Python 3.12, 5000 rows, against eight other Python ORMs (Tortoise, SQLAlchemy, Pony, Django, Peewee, SQLObject, Ormar, Piccolo) — Yara ORM is fastest or tied on every operation across PostgreSQL, MySQL, MariaDB and SQLite, losing only to leaner in-process sync ORMs on single-row point reads. Times in ms, lower is better. Full methodology, speedup tables and per-op notes in benchmarks/ and the performance docs.

PostgreSQL 18

Yara ORM vs eight Python ORMs on PostgreSQL — latency per operation, log scale, lower is better

operation yara-orm tortoise sqlalchemy pony django peewee sqlobject ormar piccolo
bulk_insert 15.2 25.2 80.8 223.8 40.5 51.1 513.3 227.5 100.7
single_insert 34.4 84.1 158.7 60.8 42.9 46.6 53.3 169.1 92.3
fetch_all 3.6 17.3 31.6 34.4 9.1 11.9 27.8 56.6 4.4
count 0.3 0.5 1.0 0.4 0.5 0.3 0.3 6.0 0.4
group_by 0.8 1.1 1.6 2.3 1.0 0.8 0.6 - 1.0
filter 2.2 9.1 8.4 17.5 5.3 6.8 9.3 21.2 2.6
get_by_pk 64.1 205.9 310.4 86.0 121.1 115.6 23.1 336.9 201.6
update 3.5 3.9 4.1 121.1 3.5 3.4 3.3 12.8 3.6
delete 0.7 0.9 1.1 95.5 0.8 0.7 0.6 2.2 0.8

MySQL 8.4

Same workload against MySQL (Tortoise over asyncmy, SQLAlchemy/Ormar over aiomysql, the sync ORMs over pymysql; Piccolo has no MySQL backend):

Yara ORM vs seven Python ORMs on MySQL — latency per operation, log scale, lower is better

operation yara-orm tortoise sqlalchemy pony django peewee sqlobject ormar
bulk_insert 46.8 48.2 596.1 443.5 100.0 82.1 1076.6 212.3
single_insert 638.7 660.6 985.1 800.6 783.4 743.5 773.8 1062.2
fetch_all 7.5 33.8 44.3 47.7 28.7 28.5 42.0 73.0
count 0.5 0.8 1.2 0.9 0.9 0.8 0.7 4.2
group_by 1.3 1.4 2.0 2.5 1.5 1.2 1.0 -
filter 3.2 17.5 15.5 24.6 15.1 14.9 16.8 31.3
get_by_pk 122.0 226.1 524.2 315.4 214.0 208.0 64.6 924.3
update 6.8 7.4 9.9 232.4 7.7 9.5 7.4 11.7
delete 4.9 4.8 5.6 207.0 5.8 4.8 6.6 6.1

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

MariaDB 11

Every competitor connects through its MySQL driver; yara-orm auto-detects MariaDB and uses its RETURNING dialect. Piccolo has no MySQL backend:

Yara ORM vs seven Python ORMs on MariaDB — latency per operation, log scale, lower is better

operation yara-orm tortoise sqlalchemy pony django peewee sqlobject ormar
bulk_insert 25.6 38.4 101.2 473.5 100.8 59.6 1247.3 208.4
single_insert 311.9 345.2 476.6 403.7 296.3 299.0 345.6 573.5
fetch_all 5.8 36.1 43.2 48.1 32.1 31.0 42.7 71.6
count 0.4 0.8 1.3 0.8 0.9 0.7 0.6 5.8
group_by 1.3 1.3 2.1 2.2 1.8 1.3 0.9 -
filter 3.3 17.7 16.2 24.8 15.4 14.6 17.3 50.0
get_by_pk 120.8 224.8 541.4 310.9 217.8 210.7 64.8 914.8
update 3.8 3.3 6.6 264.7 4.5 4.3 4.2 7.3
delete 2.7 2.8 3.2 252.1 3.1 2.8 3.0 3.7

(single_insert, update and delete are near ties across every ORM here because they're database-bound — single inserts are paced by MariaDB's per-commit disk fsync, and update/delete are one server-side set statement each — so there's no client-side marshaling for the Rust hot path to speed up. MariaDB's single_insert ~310 ms is markedly faster than MySQL 8's — a lighter default commit path.)

SQLite

Yara ORM vs eight Python ORMs on SQLite — latency per operation, log scale, lower is better

SQLite is in-process, so these use its recommended sync_fast_path=1 config (statements run synchronously on the calling thread — no I/O to overlap):

operation yara-orm tortoise sqlalchemy pony django peewee sqlobject ormar piccolo
bulk_insert 7.5 14.1 612.6 50.8 57.3 28.2 221.3 160.7 75.7
single_insert 14.6 30.1 234.4 111.7 124.8 106.9 132.1 315.5 247.3
fetch_all 3.5 39.7 29.4 52.2 15.8 12.6 60.5 54.9 9.1
count 0.0 0.3 0.7 0.2 0.2 0.1 0.1 1.6 0.5
group_by 0.5 0.7 1.4 1.6 0.9 0.6 0.5 - 1.0
filter 2.0 20.1 7.6 25.7 8.6 7.0 17.7 42.7 5.0
get_by_pk 11.9 86.0 332.9 31.0 82.9 76.4 13.3 510.4 368.3
update 0.5 0.6 1.9 42.8 1.2 1.2 1.2 1.7 1.6
delete 0.3 0.4 1.2 35.3 0.8 0.7 0.8 1.2 1.1

With the fast path Yara ORM is fastest or tied on every operation (SQLObject's hand-written raw SQL ties the sub-millisecond group_by) — including the point reads it trailed on under the default async bridge (get_by_pk 1.1× vs SQLObject, 2.6× vs Pony), while staying far ahead on throughput (bulk_insert 1.9–82×, fetch_all 2.6–17×, filter 2.5–21×). On the default async path the per-statement bridge costs tens of µs on sequential point reads, so SQLObject's lean sync active-record leads get_by_pk there; sqlite://...?sync_fast_path=1 removes that bridge (~7× faster point queries).

Speed comes from the Rust hot path, positional row decoding (no per-row dict or column-name allocation), compiled-SQL + prepared-statement caching, and connection pooling (see Performance). Run it yourself with make bench / make bench-mysql / make bench-sqlite.

Architecture

┌─────────────────────────────────────────────┐
│ Python  (python/yara_orm) ................. │
│   Model / metaclass ....... schema + ORM API│
│   QuerySet ................ lazy SQL builder│
│   fields .................... abstract types│
│   dialects ................ per-DB SQL rules│
└───────────────┬─────────────────────────────┘
                │  sql + params  (PyO3 / asyncio bridge)
┌───────────────▼─────────────────────────────┐
│ Rust  (rust/src)  →  yara_orm._engine ..... │
│   Engine ...................... async facade│
│   Backend trait .............. pluggable DBs│
│     PgBackend ............... tokio-postgres│
│     MySqlBackend ................ mysql_async│
│     SqliteBackend ................. rusqlite│
│     OracleBackend ............... oracle-rs│
│     MsSqlBackend .................. tiberius│
│   Value .................. Py⇆Rust⇆SQL types│
└─────────────────────────────────────────────┘
  • Rust owns pooling (deadpool), binding, type conversion and decoding.
  • Python owns the model layer and SQL generation.
  • Adding a database = a new Backend impl + scheme match in rust/src/backend/mod.rs, plus a BaseDialect subclass in python/yara_orm/dialects.py. The model layer never changes.

Development

git clone https://github.com/vsdudakov/yara-orm
cd yara-orm
make dev        # create .venv313 and install dev tools (maturin, ruff, ty, pytest)
make build      # compile the Rust engine into the venv (maturin develop)
make lint       # ruff check + ruff format --check + ty
make test       # pytest against $DB (default postgres://localhost/orm_demo)
make cov        # tests with the 100% coverage gate
make bench      # cross-ORM benchmark (needs `make bench-setup` once; Python ≤ 3.12 for Pony)
make bench-mysql   # same comparison on MySQL
make bench-sqlite  # same comparison on SQLite

Requires a Rust toolchain (rustup), a local PostgreSQL for the Postgres tests and a local MySQL for the MySQL tests; the SQLite tests are self-contained.

Contributing

Issues and pull requests are welcome. Please run make lint and make cov (both must be green — lint clean and 100% coverage) before opening a PR.

Sponsor

Yara ORM is MIT-licensed and developed in the open. If it saves your project time — or you'd like to support continued work on the Rust engine, backends and docs — please consider sponsoring on GitHub. Every bit helps and is hugely appreciated. ❤️

License

MIT © Yara ORM contributors

Metadata

Release files for yara-orm 1.18.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for yara-orm 1.18.0
File Size Uploaded
yara_orm-1.18.0.tar.gz 907.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for yara-orm 1.18.0
File
yara_orm-1.18.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
yara_orm-1.18.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
yara_orm-1.18.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details
yara_orm-1.18.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
yara_orm-1.18.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
yara_orm-1.18.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
yara_orm-1.18.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
yara_orm-1.18.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
yara_orm-1.18.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
yara_orm-1.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
yara_orm-1.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
yara_orm-1.18.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
yara_orm-1.18.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
yara_orm-1.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
yara_orm-1.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
yara_orm-1.18.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
yara_orm-1.18.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
yara_orm-1.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
yara_orm-1.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
yara_orm-1.18.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
yara_orm-1.18.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
yara_orm-1.18.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
yara_orm-1.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details
yara_orm-1.18.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 145.1 MB

Release files / yara_orm-1.18.0.tar.gz

Download URL yara_orm-1.18.0.tar.gz
Size 907.3 kB
Tags Source
SHA-256 checksum
How to use checksums
4aa8aa3081a18f25f91008786e8cf1de739d7812235af515dc8bb5f60a633d7d
BLAKE2b-256 checksum
How to use checksums
16756da6ba01d75ea00ec9d62ea7ef4d16434ebc8583068f460e9967ecb4b291
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp314-cp314-win_amd64.whl

Download URL yara_orm-1.18.0-cp314-cp314-win_amd64.whl
Size 5.8 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
21551f18d974049d47511862ddee43a8d334e24761174767dfa1222e000ac4d0
BLAKE2b-256 checksum
How to use checksums
6379911fb32b626994af74195512f6a69b4065c9ed8dfc43d164e06370ef6679
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yara_orm-1.18.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.4 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b46cb48f146f80860f3660395bc005c814411477f490cef0ad5f74e356b6c82f
BLAKE2b-256 checksum
How to use checksums
a0fa1292b8c92410571a6636aaa6babdcbba1c33b99314bf19a27d334610d8a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yara_orm-1.18.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.0 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
ad2ce62f153e08ead0ba2fe539a30543a361e1ed6c33ba68337601b0c456a296
BLAKE2b-256 checksum
How to use checksums
4c44787647a5e4fb4c4f5ada530e9cddf8ea098c26998d8c9bc3f449102fb60b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL yara_orm-1.18.0-cp314-cp314-macosx_11_0_arm64.whl
Size 5.8 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cce1ad496d778e28803c13451724a630ccac3c131a44efc12cd6985fc3cb47ec
BLAKE2b-256 checksum
How to use checksums
db8664dafc4c0c4a9e6efd7acf0756bcaf9a0e40882fb5b6c8866f2e025b86ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp313-cp313-win_amd64.whl

Download URL yara_orm-1.18.0-cp313-cp313-win_amd64.whl
Size 5.8 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
f567240b3c3cc7bde598b345d26e8c2c5544ff223ef9ef36ebcb34d2f6d36de7
BLAKE2b-256 checksum
How to use checksums
796cbfcd8ce2d144fb7beb8132e3a7259575b3c670fc589d28aa63fd688f613b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yara_orm-1.18.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.4 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d7c990c5c61e4e7c48b0a75e8d669eea0aa4d3bc8dae7d10f80a39df15c57559
BLAKE2b-256 checksum
How to use checksums
5da2eb41e9ce3934e8b0c79c9b4452a6bdad518a2388141415c6bdc4aba0cccc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yara_orm-1.18.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.0 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
30041ed4dc7ea2d7217d15ae067cc93a8449c6b2541e563afefd690926cb7956
BLAKE2b-256 checksum
How to use checksums
1de57eb7e050e8a578cfb3febc832e87a2f88671d4c83e0e9b9d3723c584e0b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL yara_orm-1.18.0-cp313-cp313-macosx_11_0_arm64.whl
Size 5.8 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
941f7a104ab978bf963d63f971615301664f5456aec9d65e103bf0f000d45f88
BLAKE2b-256 checksum
How to use checksums
f0824852ecc6ed92b42815a03cb7420beb0be302101823718b650e2ce9ace2cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp312-cp312-win_amd64.whl

Download URL yara_orm-1.18.0-cp312-cp312-win_amd64.whl
Size 5.8 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
b4ce056ca71c695ae84cc4d5cceef42966f266a824d3ac06a6da1f1c908bc820
BLAKE2b-256 checksum
How to use checksums
efbe2d11e2240c1a4147557d8214046e3d4f3e8bb804218c5652d101b34872a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yara_orm-1.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.4 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
78f574587e2f7a2dc9fd8c178096cf0a4dc95dbf626f09b7a33ec8fa7a5235bd
BLAKE2b-256 checksum
How to use checksums
da608857f255836ba06387c07d30bfedca6560b4c0922124e995819c51043261
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yara_orm-1.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.0 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
9e833a9d5286340614ed8377c13235c94eaa5d3720745dabdf6d79a7a1bb7593
BLAKE2b-256 checksum
How to use checksums
3f8e81530b40888a37cec363b788d88c8efac45f6d9711a4cb74527f45f64917
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL yara_orm-1.18.0-cp312-cp312-macosx_11_0_arm64.whl
Size 5.8 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
48b2983bb7cd55204ff09b4953d4c8457376e168a1d6d0666c908603ac162f0c
BLAKE2b-256 checksum
How to use checksums
c51018e987d02239595a2bd96a4cd75a69f765dd141ad838637b9a2116366420
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp311-cp311-win_amd64.whl

Download URL yara_orm-1.18.0-cp311-cp311-win_amd64.whl
Size 5.9 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
e20e5ca42f1b702c7195ef9535af7150e52094d3ec35b45c669574a9fbc43c2b
BLAKE2b-256 checksum
How to use checksums
0d61f2ffdfa0af3398f3e09fa2b72f6331529eab7a478155cd07814b2d6aae64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yara_orm-1.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.4 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
14564323040b26c148b5cbb5a266ec3814a266b040f4a647ffc66d3127972059
BLAKE2b-256 checksum
How to use checksums
5bfcf822f366e82cf49d94c2fe2289b06ec7cc220015c4f3f76546ff2a9a96bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yara_orm-1.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.0 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
74ada98ce9340ec04a306d2c9c2919351bcd8da8e8db09283b22ea010daa561b
BLAKE2b-256 checksum
How to use checksums
b4b98de083516c2799c9fe7406ba66d0fc3de14edabd5bf264e5e156405670c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL yara_orm-1.18.0-cp311-cp311-macosx_11_0_arm64.whl
Size 5.8 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
336417b6c1803cfc4491cb01de1219720160b3427d0fd6ed18f0551eaf28e962
BLAKE2b-256 checksum
How to use checksums
83e3d8b9a24dff6f551560956a7d749a41878ab1e2579442aa861361b70c8b5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp310-cp310-win_amd64.whl

Download URL yara_orm-1.18.0-cp310-cp310-win_amd64.whl
Size 5.9 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
f035c6409388221cabe70553e5325241103b0be28f41d94c78df952954c1cf06
BLAKE2b-256 checksum
How to use checksums
34b280ffd9413713b380dee8e3b062d6092daf01a7f0046df3dcccbe7f6cc193
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yara_orm-1.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.4 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
602f2ce9cf8754313b5ecc166efd61aa9cadfbacc36cc3dbac9a8d880e347bd5
BLAKE2b-256 checksum
How to use checksums
a992f906d0fb603875239984fb8a85e9e90303caa1ab98ad8a06711fe218e200
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yara_orm-1.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.0 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
1762c74ab0f11d2b0803f3ab33166201776e90ebc2b41d2c650fdae99af9f01d
BLAKE2b-256 checksum
How to use checksums
da7c5a05a53cdd6c9005cd3effa85bd51be833a1b149d4e17be57ae74e8430a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL yara_orm-1.18.0-cp310-cp310-macosx_11_0_arm64.whl
Size 5.8 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
10d86a7fa85cc42a5b7edaf8279182d9d2ed91dba295d78c1c09a52d907407f9
BLAKE2b-256 checksum
How to use checksums
4cc2f247d908e8f6550bc1a3feb4fe296b89f6b45f0e4fa494d3018aef171f6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp39-cp39-win_amd64.whl

Download URL yara_orm-1.18.0-cp39-cp39-win_amd64.whl
Size 5.9 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
c02f32616adb08a3a4056393b6c09c0d979881abd1a1b7c14407ec04f28e96dd
BLAKE2b-256 checksum
How to use checksums
530e82abfe4484336c66ff70f8a33ad89951f224d0ae7dedc59d5a4ccb52b748
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yara_orm-1.18.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.4 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
07b32f5ec6513be7fed866550df33b14c06fd88a0a540cfd9259de39a741b7f3
BLAKE2b-256 checksum
How to use checksums
e6f743bddd3d84dc4672148fb9b942721322c149a824c499200ff54e6f3865cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yara_orm-1.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.0 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
fd6da78ed6ef8edde9f27bbac961ed4955e2bd25b3c9ccc1eeac024d331b9c14
BLAKE2b-256 checksum
How to use checksums
50f0e3f605d5004a8647b660b95e707ca54c9112b98a11ac320c94f5e9eb05c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / yara_orm-1.18.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL yara_orm-1.18.0-cp39-cp39-macosx_11_0_arm64.whl
Size 5.8 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
767091ca36e8582b89702bb0ae906c45b385e9296c0ec209ffffb6c8d474c728
BLAKE2b-256 checksum
How to use checksums
b2c2d3b189299d332f17223a00fe1827e3db22c4ffe9ae0a522064aba61a5948
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page