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

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

Uploaded CPython 3.14Windows x86-64

yara_orm-0.1.1-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.1-cp314-cp314-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

yara_orm-0.1.1-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.1-cp313-cp313-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

yara_orm-0.1.1-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.1-cp312-cp312-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

yara_orm-0.1.1-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.1-cp311-cp311-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

yara_orm-0.1.1-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.1-cp310-cp310-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

yara_orm-0.1.1-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.1-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-0.1.1.tar.gz.

File metadata

  • Download URL: yara_orm-0.1.1.tar.gz
  • Upload date:
  • Size: 144.3 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.1.tar.gz
Algorithm Hash digest
SHA256 25b51a9ef6a21a237c7bda859c42c3a00e98042d7a8dfa396f36edc94bf44a66
MD5 1784dd9609d08e5bfe620b17c4b362c3
BLAKE2b-256 0ab2d9fc269dc3e4ee84029f4a66c57ec20e082c893d2965c90be081ca60bbe6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-0.1.1-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.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 431ca16ce7c10d55b39f2b6171256b3e6957f72839e8538e593c2c50dc394e85
MD5 7414dbead28bf11749062b7a107f5a74
BLAKE2b-256 ddce5a7f95351d87d8e9cb008be2a3f8e425e53cc495d88b50692afd4ce98df9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 060b213710cb3cedd28d2fdee03ab755ad1a4ec6daa1979b109b56dfecbc63bf
MD5 bd7d22f2c6cb7773a14a5215a027a9d0
BLAKE2b-256 7c02afa5a8f914d8118de1e098577c9f232795f23e6dda7157b7fafe304226a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9e0ea53a13a20c1998ac27111f8ab14e61bae3eb8f5810f2aa3c5fd2d37afa63
MD5 9256fcac1fb366bb328e225638ce16b6
BLAKE2b-256 434a849af7b21e03269cf7d95370921cbbadcbd50bdc950ce81d5721a28625a6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-0.1.1-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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 876760531878b978e41a443c20610d79de870a4b58dfd3d3cc62ab5c0ce88f5b
MD5 bb2d575a0f6a59f7cbdb5e33c5bc30c5
BLAKE2b-256 9b4eab21df85fa00b8585e37fcd17f2ce334b11dbfb10c98ce06e8af72b4d5b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b8a28c879b34dc4291c6f0be3945a39a4f3045a83ad55dd85277eb3975d02b4d
MD5 5db5d30c41d1d41b884f84d741da201f
BLAKE2b-256 41b310d30543b43ac07b69905481f9e5d51faa0102a88ab57804c897812600fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c4caf5be1363531b84bd039f4c2466e5938d7df6f85d899a79b079bb26e888c
MD5 a2d1a03a124e0485e74bc7f857c726a8
BLAKE2b-256 05f9bdda62eac5ad02d8208d10f5918c574655410d44c7c0b372786728917bcc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-0.1.1-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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 acd27386b29f6453270369762e7b277f5d4918191f2f0b7464efcf85d1227efd
MD5 aac06a1dfe6084f04d8234a86bbd7be1
BLAKE2b-256 8068d0d3a6400aefc4d59d0d88689de1713bd8a15275db47af739713b822484e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 63d41c7d31cc7cf2ce5f55182a0f8afd33bf00e72d9c6bc637bef914bdd7605f
MD5 b10861801f725bd60b5e3a4141a0dc2d
BLAKE2b-256 3b887a240436d4ceafa15acd80e51df2f8f436d16f865c9a13b3a605853dbc50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1a5595a01745edcf37ceb8e168ffd4293a14a46886a1f9c8df4c35e35edeadc8
MD5 7b07c75d4f43cbe4db4868aa70ab365b
BLAKE2b-256 5b15d9eaecc2bb3b62c759c33c513b5f55b027f0da79244f200d71bf9e43dcfc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-0.1.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f0e67938e295ab65fa4048e68c263e09394088e358ebcb116d143759676ae505
MD5 bf99569ebd6b051adceaa03b68b2d32f
BLAKE2b-256 8a02bd40143093106f7d709ac924385cff12ccb9313ac0b42e761d2c4a79ec75

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7868a5defd73cb482acd3517502df6065ef26cca34166589a46f933d4e54c757
MD5 6ec7e4be79313981bec9b36c1fde7268
BLAKE2b-256 dd65fe20b7185db0059aac3b2f664eec78a4e41929865dc0d4b4b1df8ee940f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fdbdd87d583f6a2097937f35c9033690e88a9b518c3a3e3ec587f899ad7f1bd9
MD5 751cfe6f35c67a870b2943b742fc3351
BLAKE2b-256 e2ca8664a25d8f2d295c6530ae6a323190b618f0c9aa32ffa7252407488d0ad1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-0.1.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5014cc0f4a4a3404b9988bd55c7935c12b92ab0077b42f198aae52469648c403
MD5 8e35c39fab3b2dbcc511462a005cbc14
BLAKE2b-256 534dff3b6ea7952e798af8777a570c01b7172bcea9df56224f334dfdea436cdc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 86702e0a03601a5b1e33142244818307c4403220d2240a1f9d5a41c7922691cb
MD5 5fe13913032ce484bb8eb00c030d746b
BLAKE2b-256 083f866c6f21179555595bd768a0aa95421a3c32c53f22827dece583a165bb5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f5903df6da46eaa9aba3c1243b99bda90519b196d176f2f3ff8d6172a698e5d8
MD5 a309c6ffb5db00938b5757b983e92836
BLAKE2b-256 aee7b411851494e6205f64634355f786fb773449b395b4bd9efb1b2f089986dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yara_orm-0.1.1-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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 882c7f4dbab4393d4d76c534ed55827d2c0b93c627e133c0d28a8196c546145f
MD5 b21cdbd2a9f6bfa84a42b745999d011c
BLAKE2b-256 cdaea767221caab944f49fec45a9fc6e83a46f8ef5da9fdebe7fe9dbcc04c911

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9e9eff000cf39ca77fcbde1d109075e656707cf9ce4fdef82d579fa8bc2a3925
MD5 8f7d5d6112f10fe9b784e3cd6164beaa
BLAKE2b-256 e460626113e9069a6e7a680ee01ea4174d79f1f076b1d8837dc5a756083ed4b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yara_orm-0.1.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ec03bd78cd5ac887de399678f802bbced31bf05eea981c071bab31a376776b48
MD5 749f15344de2e561631b68542034fcd6
BLAKE2b-256 90c86c2be9c8d3b819d65de1174529c561c3383910dc8b1dca016c463a232d1b

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