Skip to main content

Python bindings for Yak. Yak is a modern container file library, useful for quickly building your own binary file formats. A file system in a file, focused on performance and ease of use.

Project description

An icon of a yak coming out of a square

Yak - Yet Another Kontainer

Yak is a library that helps you to easily build your own binary file formats.

Yak is a bit like the Compound File Binary File, but without the legacy.

Yak is a file system, inside a file:

  • A Yak file can have many streams.
  • Organise streams into Yak directories - stream names cannot clash inside the same directory.
  • Treat streams like you would files - write to them, read from them, truncate them, delete them, move them (inside the Yak file).
  • Streams can grow or shrink inside the Yak file - Yak will figure out how to organise it efficiently.
  • Seek in streams with O(log n) efficiency due to Yak's pyramid storage structure.
  • Streams can be optionally compressed - Yak handles this transparently, compressing and decompressing as you read and write.
  • Yak files can be optionally encrypted - Yak handles this transparently too, encrypting and decrypting as you read and write.
from libyak import Yak, OpenMode

path = "example.yak"

# Create a new Yak file with default settings
yk = Yak.create(path)

# Write a demonstration text buffer
s1 = yk.create_stream("hello.txt")
yk.write(s1, b"The yak does not speak, but its presence speaks volumes.")
yk.close_stream(s1)

# Close the Yak file
yk.close()

# Read back the text stream
yk = Yak.open(path, OpenMode.Read)

# We stored it as "hello.txt" but you can use whatever
h = yk.open_stream("hello.txt", OpenMode.Read)

# Read into buffer
buf = yk.read(h, 56)

# We've shown text here, but you can write all types of data
assert buf == b"The yak does not speak, but its presence speaks volumes."

yk.close_stream(h)
yk.close()

Yak is implemented in Rust and published on crates.io but can be used in many languages:

  • C/C++ via the included yak_c library, which builds to a static lib and a .h file using CBindGen.
  • Python via yak_python library, which is published as a PyPI wheel, using PyO3 to create native Python bindings.
  • Any language that can use C libraries (dynamic or static), such as Objective-C, Zig, D, Lua & LuaJIT, C#, Haskell, Node.js etc.

Ready to go

Yak is reasonably well optimized and pulls a number of tricks to balance these desired features:

  • A simple, name-based filing system.
  • Automatic space management - even after you've written a stream and closed it, you can reopen the same stream much later and write more stuff to it.
  • Fast seeking within streams, without holding lots of extra data - the underlying pyramid data structure wastes very little space and is still very efficient.
  • Minimal disk IO - Yak will optimize for long, contiguous segments of data to get near-raw-buffer reading & writing speed and use a configurable write-through cache to avoid disk IO altogether for hotspots in the file.
  • Thread safety - multiple threads can write to multiple streams at the same time.
  • Endian aware - if you need a Yak file to move between little endian and big endian systems, it can.
  • Transparent, fast compression - using LZ4, any data written to a stream gets automatically compressed and any data read gets automatically decompressed.
  • Transparent, fast encryption - using AES-XTS with hardware based encryption/decryption (where hardware is available).

... but due to the architecture of Yak, you can optionally write a new layer that rethinks how streams are linked together from blocks, how blocks are handled and how streams are addressed. By default, Yak is ready to go, but it can also be a toolbox for you to do something custom. Yak includes a broad test suite (~200 tests) that'll help you stress-test anything custom you write.

Yak includes a command line utility to create, modify and optimize Yak files.

~/yak-test> yak create testfile.yak
Created Yak file: testfile.yak
~/yak-test> yak put testfile.yak test3.mp4 test3.mp4
Imported 64435159 bytes from test3.mp4 to test3.mp4 (4875.2 MB/s)
~/yak-test> yak putc testfile.yak test6.md test6.md
Imported 4283120 bytes from test6.md to test6.md (compressed, 182.3 MB/s)
~/yak-test> yak ls testfile.yak
STREAM test3.mp4
STREAM test6.md
~/yak-test> yak mkdir testfile.yak "folder1"
Created directory: folder1
~/yak-test> yak put testfile.yak test5.pdf "folder1/test5.pdf"
Imported 51739870 bytes from test5.pdf to folder1/test5.pdf (6122.1 MB/s)
~/yak-test> yak ls testfile.yak
DIR    folder1
STREAM test3.mp4
STREAM test6.md
~/yak-test> yak ls testfile.yak "folder1"
STREAM test5.pdf
~/yak-test>

In addition it includes a broad benchmark suite you can use to understand Yak's default performance and the performance of any customised layers you build:

~/yak-test> yak bench
Usage: yak bench <scenario> [--block-shift N] [--index-width N] [--cbss N] [--threads N] [--case CASES]

Each scenario runs once per selected case (default: all four).

Scenarios:
  large-write      Write 5 streams of 30MB each
  small-write      Write 180 streams of 10KB each
  large-read       Read back 17x10MB + 17x20MB (510MB total)
  small-read       Read back 2750 streams of 10KB each
  threaded-write   T threads writing streams concurrently
  threaded-read    T threads reading streams concurrently
  threaded-mixed   T/2 readers + T/2 writers concurrently
  churn            Write then delete many streams (5 rounds)
  reuse            Fresh vs recycled-block read throughput
  single-stream    Write + read one 64MB stream (contiguous I/O test)
  warm-read        Write then read 2750x10KB streams (same instance, warm cache)
  overwrite        Write 10MB then 5000 overwrites (compress/decompress stress)
  all              Run all scenarios in sequence

Options:
  --block-shift N  Block size as power of 2 (default: 12 = 4KB blocks)
                   Examples: 10 = 1KB, 12 = 4KB, 16 = 64KB
  --index-width N  Block index size (default: 4 = 4B index / 32 bits)
                   Examples: 2 = 2B index, 4 = 4B index, 8 = 8B index
  --cbss N         Compressed block size shift for compression (default: 15 = 32KB)
                   Examples: 13 = 8KB, 15 = 32KB, 17 = 128KB
  --threads N      Thread count for threaded scenarios (default: 4)
  --case CASES     Which cases to run (default: necb = all four)
                   n = normal, e = encrypted, c = compressed, b = both
                   Examples: --case nc (normal + compressed)
                             --case c  (compressed only)

Yak is not ...

  • A database - Yak thinks in binary only and doesn't care or know what you write to your streams.
  • ACID compliant - but then neither is your homegrown file format (most likely). If you need Atomic, Consistent, Isolated and Durable writes to your file, you should choose a different format. Yak does include functionality to verify the integrity of a Yak file.
  • An archive format - To optimize for speed, random seeks within streams and mutability of streams, Yak will not achieve the same compression ratio as a modern archive.

... but Yak could be

  • How you save your app's data
  • How you load your game's assets
  • How you compactly receive a bunch of streaming data
  • How you rewire that other library's file-spew into a single location
  • How you get started writing data to a file, until you've got that perfect, custom solution
  • How you handle a number of threads writing to the same file, at the same time
  • An alternative to rust-cfb

Want to know more about how Yak works?

Read the Architecture Overview

Quick Start

Building

# Build all crates (library, C FFI, CLI)
cargo build

# Build just the CLI tool
cargo build --package yak_cl

Testing

cd yak_pytest

# Run all tests (thread safety tests burn for 10s by default, but you can override)
python -m pytest tests/ -v --burn-seconds=1

Project Structure

yak/             - Core Rust library (L4 + L3 + L2 traits and implementations)
yak_c/           - C FFI wrapper for language interop
yak_pytest/      - Python bindings and test suite
yak_cl/          - Command-line tool
docs/            - Architecture and design documentation
graphics/        - Yak logo

Mock Backends (for debugging)

Yak includes a couple of supporting debugging layers to simply development of your own file format, should you choose to fork.

  • YakBlockFileBacked = Yak<StreamsFromBlocks<BlocksFromFiles>> -- L2 mock (numbered .block files)
  • YakFileBacked = Yak<StreamsFromFiles> -- L3 mock (numbered .stream files)

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

libyak-0.11.0.tar.gz (81.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

libyak-0.11.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (483.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

libyak-0.11.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (467.7 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

libyak-0.11.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (462.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

libyak-0.11.0-cp314-cp314-win_amd64.whl (317.7 kB view details)

Uploaded CPython 3.14Windows x86-64

libyak-0.11.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (478.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

libyak-0.11.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (462.9 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

libyak-0.11.0-cp314-cp314-macosx_11_0_arm64.whl (430.4 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

libyak-0.11.0-cp314-cp314-macosx_10_12_x86_64.whl (443.2 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

libyak-0.11.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (462.7 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

libyak-0.11.0-cp313-cp313-win_amd64.whl (317.5 kB view details)

Uploaded CPython 3.13Windows x86-64

libyak-0.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (478.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

libyak-0.11.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (462.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

libyak-0.11.0-cp313-cp313-macosx_11_0_arm64.whl (430.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

libyak-0.11.0-cp313-cp313-macosx_10_12_x86_64.whl (442.9 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

libyak-0.11.0-cp312-cp312-win_amd64.whl (317.9 kB view details)

Uploaded CPython 3.12Windows x86-64

libyak-0.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (479.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

libyak-0.11.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (463.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

libyak-0.11.0-cp312-cp312-macosx_11_0_arm64.whl (431.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

libyak-0.11.0-cp312-cp312-macosx_10_12_x86_64.whl (443.2 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

libyak-0.11.0-cp311-cp311-win_amd64.whl (320.6 kB view details)

Uploaded CPython 3.11Windows x86-64

libyak-0.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (482.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

libyak-0.11.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (466.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

libyak-0.11.0-cp311-cp311-macosx_11_0_arm64.whl (433.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

libyak-0.11.0-cp311-cp311-macosx_10_12_x86_64.whl (445.7 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

libyak-0.11.0-cp310-cp310-win_amd64.whl (320.4 kB view details)

Uploaded CPython 3.10Windows x86-64

libyak-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (482.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

libyak-0.11.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (466.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

Details for the file libyak-0.11.0.tar.gz.

File metadata

  • Download URL: libyak-0.11.0.tar.gz
  • Upload date:
  • Size: 81.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for libyak-0.11.0.tar.gz
Algorithm Hash digest
SHA256 0bc9ee76f54dfaa6bb891b92f45174d9cf38df0c75fac417fa6b3c5b1bcae480
MD5 48f665e5854e8b4a7dec9ef0f5bb7aeb
BLAKE2b-256 3d33860c3e3e7dee3a5c7c30f701d5baa3b29c12f8dbb57ba8421eaf5f35c21f

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff2e9e5f7e49717cbd983272a52dd686827abcd727d51d4e0033226e60603821
MD5 3dad9756920d1d153387a0fefeff2199
BLAKE2b-256 d714abce679f11a4dc3864265a79e0e085b483254ba35dc87994c66190619777

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 19310380f5c760304781e034d98fc83a31c2a2cc2f68c9a33fd7c08e8177cf54
MD5 aa99cb810fcb7fc1547b3d019c61d197
BLAKE2b-256 2e8f2ff37cd654481f78f8c1ff43edea77c23a2475747742798c6e70cc099c74

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 03574dc202ebcee4c54e02a8134d3585cb81003d2b11a1683ff2ecd15993e69a
MD5 f8d932716c7e7341292fc815cedd0e31
BLAKE2b-256 e66d94e8a36622f44ec6a147411848c5091b3f7c556fc5120d366ec72ff9527f

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: libyak-0.11.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 317.7 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for libyak-0.11.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 2d625cd8b78648c1e4db355a62445404f01d38507a88962199164bf863704ca0
MD5 ed276eb325c83f68fbdbfd4277f466e9
BLAKE2b-256 24b4b974612e80caef8a790b303955737b7d1fdc10ddc6fd4ce1efdb16a6e9ec

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8ca86d7a9088ff4a6cb31bc8ca5c0df9fa2e1c5d46da0b9cfcdde7f8dc82f5a1
MD5 88e01ea6a5f2b73f8f147fda4acd24de
BLAKE2b-256 850f728ca50d655cb19ea173daff0f77e4e531d98fe24771631244caf68766e7

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1404cdf47fe2348c988ae701be29a6a1d611b81bfbfe1a82ac86e4cc4487c0e6
MD5 bde5947fd25253696b4d7743bfa3d900
BLAKE2b-256 9e6a274a795c9c2ce572fef92e5c1db73ca3a7577b2500a4491b26e9b24f1f62

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7cd56ec4d4bf4dbcd4771e7da445b61fc1f8d264e1427f754e36870f9db5e2d3
MD5 e77e73450657a0c94a0ed5fd347a744b
BLAKE2b-256 8dee1fc7611ac4759f46bf41797521514b2986cd9e5ebbb87d03d2bb3edf8026

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6d167b20aa599985d15fb29c96cfaf7cd76825194ef1dce47bf2d0fb924d3bf8
MD5 65af926eb348c0fd42237306750ea24f
BLAKE2b-256 858ba5d7e4863e3178aec071cb7f9dd1fb16b630568e22f9f6a4230a7498e3d2

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b727779890bdb28443e75d23caaa5f7e05d680bd83150fd579ce52c5fe815898
MD5 e807c679b6954586f054bee36df3f622
BLAKE2b-256 0b578396ac3c4cab6a77bcbf84c4153a2b1ee68e657515327b68887a53f2c79d

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: libyak-0.11.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 317.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for libyak-0.11.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4ae85077354fbdbf4d3735975c2459052e5cfc04ce84e25713872fdab24fd3d4
MD5 86d33ee3223f48eb2a7ebf9de9b8c4d1
BLAKE2b-256 b45d0e08861b2857df9cec6927af6d58296b9186a4101cc09cf5216e2272a917

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 905b4ba92ca62f571877ed9e586b940870fda4b2ce32700bcdde4bc209338726
MD5 e35e29a8d2ae98beb7f27ea9e58d09b9
BLAKE2b-256 b0759efd29bd6d2077c427cc80ae70549f89299eeb8c04139eeae754f8377a89

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6bd9f3c492d41c19804116041e8d9681a68f271d79463855480ff89506f2ce57
MD5 2780a0e4f98549eaa491398ae58189d5
BLAKE2b-256 33c95c18cb92966ead0cdd8fc8617d3e87695d8d46e0f10c8a145b44ad542684

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b8871daf7ef316e706f237c387804b49f9d30e3ec9b6b164a6159d487b3fa1f
MD5 b58ea963d08076397594a3c50ffe1471
BLAKE2b-256 9d9804b2b656f0dc0b42f7cd0863009e1917d9560d6acf13a2c555c9dd6998e0

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ed33bdd3a41da2c47ae9e2082d460110af34e99ffb725b8c266ff8dfbd776fe3
MD5 44452d8ed4f4ec1b3d950fe92fb24c1a
BLAKE2b-256 a8a7bb894622651b6db9de70d07cbb2fd342db4d9fb31be017d54aa7833a8820

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: libyak-0.11.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 317.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for libyak-0.11.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8db5a587565232595f6f89191fbfa639dd3f7c6d5d9447da13b87c0365206a1c
MD5 80ab9644555cfedb1abe7fa23bdfa789
BLAKE2b-256 46dd04ec0ffab0f5ebff1900bdd183450f7a2b29f62e3d9cd6e255d86a62803d

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8ee91b55784cb8c3bc37576bf72070b2ae8f8f3250fa25814bf7ec1c7913ec63
MD5 51bf2c07aecdb023f5cc48dadab6e3be
BLAKE2b-256 35d23a9d09fdf4ca22e1e445cadc058b2c55629001496e836f7d0f10db8f89ce

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 36f9d50ef6e392f37b93cc87a7fbfdc9abdca789629f6903ce19f8c9aa82f02a
MD5 000fc12d3dcc7cebcb3bbc3595838189
BLAKE2b-256 b57a1354d11ae5a372759cbc14eec4bfd8807ac8347768398120d3407a8fbba8

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6a011e763d3553e9414454158d9b51854b8abe12b183f13cf6c5f6403c242e48
MD5 f8f4c9d516a323336517522e308ce118
BLAKE2b-256 9429a45b2ed1f9900fc810ad57234b37e0330023a296759e1da365795da5e69c

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c3743167b3c25e98a0a8a10ac1ac705daae2b9fcb6b92123e38c95fbc98323af
MD5 43f53b7e461dc1df2be95035088d06a6
BLAKE2b-256 89c72bc1790234428cd446c565ba11ff25a28e76565b0674e1ccc1ae219b4c18

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: libyak-0.11.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 320.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for libyak-0.11.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8ed2c6a59251210aafe618b0abcf8fd5676ca475c6377bb5f2694fc9102aa337
MD5 0bf4a46af0b4556c60c8143b80c844ba
BLAKE2b-256 e8a96f030e847c6c7c530dcd92d936c86ca9dd601b48c60404cd2930c84b976d

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 df940fa2cd38bbd048270fca36cd9201d02b49a3476ed7e0389eb902bddb30ed
MD5 410c0b60548309ae07a1771d33fb00af
BLAKE2b-256 c0c2ee71b050b221e34f261919b099d060c6826dc89b6e9e6258cd1c614324d7

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0107ea46063a3dab25da3b7e7f9403f3ae7d30143ad7a3a296b493767fa7d01d
MD5 489d14e16b931fd9a5662c5d179cd21f
BLAKE2b-256 dc23f5e959c86338185e77f9a0df95cc5b8bed2e336e48989fbbdb20be30dd0b

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 300846ba568fc02174a3dc1d3ff86c2468ea9c3b3ca3bdf7407c6d87af6e1528
MD5 f30103376349bbeba02edd9f061791d3
BLAKE2b-256 e6fb3aad03cf6730195d558b898a1cdb6bfab023c9a625a290a573d0b99a776c

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fcdfc4e98c78cfc4cbe788b4648445a0001dad1128da3c6d3e1cfbc63989f2ca
MD5 264243536770cb75b537019db57ae3ce
BLAKE2b-256 7fa73f948ea24af0d82f7480edb069513fc73ac21e19a662c678546917c782f4

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: libyak-0.11.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 320.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for libyak-0.11.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 610ea65f216f20aa9d056ebb58f8bad0d9d43f43a7ea14671c2666a4e90147c5
MD5 6fd355c8d50ba3d455f56a7ed8e20a09
BLAKE2b-256 1b9cbac73e09f28fff262de9039f03fc1056bec06a530836df69b749e349d9b3

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6205bc24112152a6defe46b248c2a87c82e828159479d2dc1166347f4148a3a3
MD5 d530a26b3b26ce2db8e397522d447ec3
BLAKE2b-256 84c640ba0f35abfa42a2282925d65f875d02a9e8344aa3fe26d7139546330f32

See more details on using hashes here.

File details

Details for the file libyak-0.11.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libyak-0.11.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d97e961c446b488945c842254c932b6fa14f9cb6d14aa97c240d4bf90e361e4f
MD5 1d636025014fc3f647419aa6427b8cea
BLAKE2b-256 926469ebd981bf66fd3d4627d5346a2e6ce2c1a2eb41a38603329ba2c7f29cd1

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