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 License: MIT

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

@atomic()
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

Operations: CreateTable, DropTable, AddColumn, DropColumn, CreateIndex, DropIndex, plus hand-written RunSQL / RunPython for data migrations. 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.5 ms 2.0× 5.9× 18.1×
single_insert 32.8 ms 2.4× 4.7× 1.8×
fetch_all 3.5 ms 4.5× 3.5× 8.6×
count 0.4 ms 1.5× 3.1× 1.3×
filter 2.2 ms 3.9× 9.5× 7.2×
get_by_pk 63.2 ms 3.1× 4.6× 1.3×
update 3.3 ms 1.0× 1.3× 35.7×

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-0.1.0.tar.gz (106.0 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-0.1.0-cp314-cp314-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.14Windows x86-64

yara_orm-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

yara_orm-0.1.0-cp314-cp314-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

yara_orm-0.1.0-cp313-cp313-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.13Windows x86-64

yara_orm-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

yara_orm-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

yara_orm-0.1.0-cp312-cp312-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.12Windows x86-64

yara_orm-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

yara_orm-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

yara_orm-0.1.0-cp311-cp311-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.11Windows x86-64

yara_orm-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

yara_orm-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

yara_orm-0.1.0-cp310-cp310-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.10Windows x86-64

yara_orm-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

yara_orm-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

yara_orm-0.1.0-cp39-cp39-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.9Windows x86-64

yara_orm-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

yara_orm-0.1.0-cp39-cp39-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: yara_orm-0.1.0.tar.gz
  • Upload date:
  • Size: 106.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for yara_orm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ed0c412248ba5a3626a455508c6f2c64bc3b14f74f696dee873b3274219e375d
MD5 937b464fe9f3451ed9b2a3ed4b522ff0
BLAKE2b-256 ff555b7e5a51753c49eccc3c1db83daac24d06bac65dce4a666adc4843177222

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-0.1.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.2 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-0.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ce3856015266330c2a0f3840d3d1b33a87aa5aed3775e34842260551226aa9e7
MD5 0176252e84f001ce18e516d0d41d8b44
BLAKE2b-256 455198918eba27eef6a31bc0c2a58c1a3782bc5a13bbbe337f52514cb0124f9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2b5d67b5095f40fb0d4ffdd56985736762eaa3014b0c08d82018ebf204b83584
MD5 56c2808c6482991137b1ad91f8d34b7f
BLAKE2b-256 4c83a8abaa23019cb0bbdab63560efe666fd33a8072b6679c1653c1abff123d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5d00bf01d885417831fc8d2f5c7163f58ef037c213f9f7373c8e75a8df06dfa
MD5 9691888d9dcc1252a7ee503ef0ab9779
BLAKE2b-256 fd4c00e205cee9f5ebbf545b14b89dfaea3e343235038e189c1397c9bdb7a8cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-0.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.2 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-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 de72f6bfae4248cafa64dbeff2c36ce9fe625cbd1598b8c1899cf27ca47e0c44
MD5 b09b5ea1d8941051be176684ecac7751
BLAKE2b-256 8f249b533ae0c9fc1485dd4e800846283ab1d3bc25be7c5813b1afc3cc023d86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 07fc7abfb274a9416dd41f6e53f8fb493a21e78a7e33f10577ef3b3ec6c7f279
MD5 2e85aa05da01ae7f4eaebed9349332ef
BLAKE2b-256 a36768efaef11b79791248b301bf351b83a7740640fc4599683aaa496dad94ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 765500a7c639d693d6be640cf24672ad5c41fa093efab66372d261cc616e6d94
MD5 6d3ac45cff5bb2f6f0bafd21f1d06c37
BLAKE2b-256 bee6727e3986073a238aeede4ba1f42dfddb52de208ad86b69f2820f285dbc5c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.2 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-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 74e121637b011d43025fae24ddb12d8f4e5f084d5dde74ecdd057a72ae4afa29
MD5 01dbe06badf54cfa84314dad4d31ee49
BLAKE2b-256 ee8a1c87d507f2d3398766335e6fccf9b869f6736a0103526d64ed816ea0907f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8110394f65fa7a04700bb68f45aa1a8db071c23de904d9abd67db506b506c15c
MD5 22e2541c9c10aa8b3bc2ba7515da6864
BLAKE2b-256 ebcc798fbdec875427458c9dee5c394ebf894356488132a0fc503bfc8f4c7ff0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 294d0063e2ba43d919f5947872eb459ebb7d158ef8691effabbde16719fb8296
MD5 51e80f458de11e71946682882e9408d8
BLAKE2b-256 08dbbc127de9c853c7a11ce26a22d7e9b4ae90b0f69c92f5e7c9f8487cba5058

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.2 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-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 74c701df9fcebbd5c3ca031ac3fe7200c2868fb08d6a129b7ef3283167bfc00f
MD5 224f817d8c5e0c0eabfa7b62f9c770f6
BLAKE2b-256 e1fb285330e5912d419d965c3421e93f472d103fb19ab6a9f81032c8a89ac696

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1854dfddee1b8187167ea9992e59d886cfccbaaf2d3ffdc7eff70863b6bf0111
MD5 38840ffd5595c136811a3604aee5f9f3
BLAKE2b-256 d9b3bc72d206a69c52521c3a6d8403c930c1629f98930a29cc63f43f26c92d66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3b65ea5c6caae3ecbb7de8c4b3fa9f8fbb28f9f84828be7de646b025bb4d288a
MD5 68bae2ff79d017dc01f5152095cffd12
BLAKE2b-256 9be6cbf599a4dd78e604f76f0fdbc8749eebc765a859bf03ba0e301a295fffd5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.2 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-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1374708e9e2c77cc1d201821f8b4cb19f67442e7557a8ddc954c5574c6677997
MD5 227d02680adeec004b8b0fb1a60f4b38
BLAKE2b-256 8dacc098df433323f738eb14f2ce929f6d803e30727c402a113096386ef6aa2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1949c892d669aeed90d31ccc86d5f26aa2b8070008f0b8dd15c98d5ccc2a9763
MD5 cb069b816bea2fd3dd826791d68fa599
BLAKE2b-256 5fef7deecafca7f89f977b47a0dfe270e9e141b7808396d05d4cc02face43429

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 229869a6f85bd5e389f8bc9ab6bb755eed8fc21d7e67ae3d4ab048a99830df24
MD5 66dd3c2dc4f5386caf8f4619258f3424
BLAKE2b-256 2b19418344e3d20552ac3b8b93a3ee9cd23f21ed8851b6cfbef82d4cc5be69e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-0.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.2 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-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ac37c4475155eb75ac2c06b2271495a48662c6466f2dc5114fd24864d888c4e4
MD5 1bc9392e65963cd2fd26d89f65178ca2
BLAKE2b-256 6521618cb59237b91594db7a1ee8cf1ff452df95642b0f8f5841c9ea6562a877

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e15b810f527d76cf379ae5716ad550decb162567453ee31ae1ef7a8096c2bc3
MD5 6a985dc1cbc2d4b99c9768562d2ed008
BLAKE2b-256 9e045308136793b26a021d320a60224c1e2056798e5771ad16e3a5bdfb8c6509

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 112d297f81eefffb5497e7452a21be443c95014f23f0b162cfd98f336b849a5e
MD5 2f4f68ebee21401e49d52623a0ca7de1
BLAKE2b-256 c0ded436830185302de02e3393d017f449bb2a247f37f2648cdbe3422929b287

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