Skip to main content

Cross-platform async file API for Python. Blazing fast like Shameimaru Aya.

Project description


ayafileio

License Python Version Platform Version

当前是英文 | chinese version

"The fastest file I/O in Gensokyo, swift as the Wind God Maiden."
— Aya Shameimaru, always flying at full speed

Cross-platform asynchronous file I/O library using native async I/O where available.
Windows leverages IOCP (I/O Completion Ports), Linux uses io_uring (kernel 5.1+), and macOS uses Dispatch I/O (GCD) for truly non-blocking file operations.

changes

see -> CHANGES

🏆 The Only True Async on All Three Major Platforms

Platform Backend True Async Description
Windows IOCP NT kernel native I/O Completion Ports
Linux io_uring Next-gen async I/O (kernel 5.1+)
macOS Dispatch I/O GCD kernel-level async I/O

ayafileio is the only Python library providing true async file I/O on Windows, Linux, and macOS.

📸 Key Features

Feature Description
🍃 Zero thread overhead No background threads on true async platforms
📰 Kernel-level completion IOCP / io_uring / Dispatch I/O direct to kernel
High concurrency Handles thousands of concurrent file operations
🎴 Familiar API aiofiles-compatible, supports async/await
📖 Text & binary support Automatic encoding/decoding in text modes
🔧 Unified configuration Runtime tunable parameters for all backends
🌍 Cross-platform Windows, Linux, and macOS
🐍 Latest Python Supports 3.10–3.14, including 3.14t free-threading

🛠️ Installation

pip install ayafileio

System requirements:

  • Python 3.10+
  • Windows 7+ / Linux (kernel 5.1+ for io_uring) / macOS 10.10+
  • No external dependencies, precompiled wheels available

🚀 Quick Start

import asyncio
import ayafileio

async def main():
    # Write to a file — fast as the wind
    async with ayafileio.open("example.txt", "w") as f:
        await f.write("Hello, async world!\n")

    # Read with automatic decoding
    async with ayafileio.open("example.txt", "r", encoding="utf-8") as f:
        content = await f.read()
        print(content)

    # Binary operations
    async with ayafileio.open("data.bin", "rb") as f:
        data = await f.read(1024)
        await f.seek(0, 0)

asyncio.run(main())

⚡ Performance Best Practice

ayafileio's file open/close overhead is already in the microsecond range, but for maximum performance, avoid reopening the same file in a loop.

# ❌ DO NOT DO THIS: repeated open/close in a loop
for i in range(10000):
    async with ayafileio.open("data.bin", "rb") as f:
        data = await f.read()

# ✅ DO THIS: open once, operate many times
async with ayafileio.open("data.bin", "rb") as f:
    for i in range(10000):
        await f.seek(0)
        data = await f.read()

The latter is ~6x faster — it eliminates 9999 unnecessary coroutine scheduling round-trips.

🔍 Backend Information

Check which backend is currently in use:

import ayafileio

info = ayafileio.get_backend_info()
print(info)
# Windows: {'platform': 'windows', 'backend': 'iocp', 'is_truly_async': True}
# Linux:   {'platform': 'linux', 'backend': 'io_uring', 'is_truly_async': True}
# macOS:   {'platform': 'macos', 'backend': 'dispatch_io', 'is_truly_async': True}

⚙️ Unified Configuration

ayafileio provides a unified configuration system that allows runtime tuning:

import ayafileio

# View current configuration
config = ayafileio.get_config()
print(config)

# Update configuration
ayafileio.configure({
    "io_worker_count": 8,
    "buffer_size": 131072,      # 128KB buffer
    "close_timeout_ms": 2000,
})

# Reset to defaults
ayafileio.reset_config()

Configuration Options

Option Default Description
handle_pool_max_per_key 64 Max cached handles per file (Windows)
handle_pool_max_total 2048 Max total cached handles (Windows)
io_worker_count 0 IO worker threads, 0=auto
buffer_pool_max 512 Max cached buffers
buffer_size 65536 Buffer size in bytes
close_timeout_ms 4000 Close timeout for pending I/O (ms)
iocp_batch_size 64 IOCP batch completion harvest size (Windows, 1–256)
io_uring_queue_depth 256 io_uring queue depth (Linux)
io_uring_sqpoll False Enable SQPOLL mode (Linux)

📚 API Reference

AsyncFile class

class AsyncFile(Generic[T]):
    def __init__(
        self, path: str | Path, mode: str = "rb",
        encoding: str | None = None,
        newline: str | None = None,
        errors: str | None = None,
        auto_flush: bool = False
    ): ...

    # 读取
    async def read(self, size: int = -1) -> T: ...
    async def readline() -> T: ...
    async def readlines(hint: int = -1) -> list[T]: ...
    async def readall() -> T: ...                        # read(-1) 别名
    async def readinto(buf: bytearray | memoryview) -> int: ...  # 零拷贝 [仅二进制]

    # 写入
    async def write(self, data: str | bytes) -> int: ...
    async def writelines(lines) -> None: ...              # 批量写入

    # 位置
    async def seek(self, offset: int, whence: int = 0) -> int: ...
    async def tell() -> int: ...
    async def truncate(size: int) -> None: ...

    # 控制
    async def flush(self) -> None: ...
    async def close(self) -> None: ...

    # 属性
    @property
    def closed(self) -> bool: ...
    @property
    def name(self) -> str: ...
    @property
    def mode(self) -> str: ...

    # 状态
    def readable() -> bool: ...
    def writable() -> bool: ...
    def seekable() -> bool: ...
    def fileno() -> int: ...
    def isatty() -> bool: ...

    # 迭代器
    def __aiter__(self) -> AsyncFile[T]: ...
    async def __anext__(self) -> T: ...

Supported Modes

Mode Description
"r", "rb" Read (text/binary)
"w", "wb" Write (text/binary)
"a", "ab" Append (text/binary)
"x", "xb" Exclusive create (text/binary)
+ added Read/write combinations

Configuration Functions

def configure(options: dict) -> None: ...      # Unified configuration
def get_config() -> dict: ...                   # Get current configuration
def reset_config() -> None: ...                 # Reset to defaults
def get_backend_info() -> dict: ...             # Get backend information

File Wrapping

def wrap_file(fd: int, mode: str = "rb", *, owns_fd: bool = False) -> AsyncFile[bytes]: ...

Wrap an existing file descriptor (int) or a file-like object with fileno() as an AsyncFile, backed by the optimal platform backend. Binary mode only.

Pool Management

def drain_handle_pool() -> None: ...            # Drain all cached file handles
def drain_buffer_pool() -> None: ...            # Drain all cached I/O buffers

Use drain_handle_pool() / drain_buffer_pool() to release pooled resources at runtime — useful after bulk tempfile operations or between benchmark rounds.

🧪 Performance Comparison

Simulating Crawlee's Dataset append pattern (5,000 records, 50 concurrent):

Platform ayafileio aiofiles Speedup
Windows (NVMe SSD) 41,336 items/s 9,658 items/s 4.28x
Linux (NVMe SSD) 17,688 items/s 11,455 items/s 1.54x
macOS (NVMe SSD) 29,837 items/s 25,522 items/s 1.17x
Windows (6yr old HDD) 20,251 items/s 13,011 items/s 1.56x

Key findings:

  • On Windows enterprise SSD, ayafileio achieves 42x lower P99 latency (0.044ms vs 1.854ms)
  • aiofiles shows 96.7% jitter under load; ayafileio only 16.2%
  • Even on degraded hardware, ayafileio maintains predictable performance

Test environment: Windows 10/11, Ubuntu 22.04, macOS 14; GitHub Actions enterprise NVMe SSD

🤝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Add tests
  4. Ensure benchmarks pass
  5. Open a pull request

📄 License

MIT License — see LICENSE for details.


"Slow is a crime, right?"
— Aya Shameimaru, editor-in-chief of Bunbunmaru News


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

ayafileio-1.3.1-cp314-cp314t-win_amd64.whl (103.6 kB view details)

Uploaded CPython 3.14tWindows x86-64

ayafileio-1.3.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (117.3 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ayafileio-1.3.1-cp314-cp314t-macosx_13_0_x86_64.whl (85.7 kB view details)

Uploaded CPython 3.14tmacOS 13.0+ x86-64

ayafileio-1.3.1-cp314-cp314t-macosx_13_0_arm64.whl (81.2 kB view details)

Uploaded CPython 3.14tmacOS 13.0+ ARM64

ayafileio-1.3.1-cp314-cp314-win_amd64.whl (98.7 kB view details)

Uploaded CPython 3.14Windows x86-64

ayafileio-1.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (115.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ayafileio-1.3.1-cp314-cp314-macosx_13_0_x86_64.whl (83.9 kB view details)

Uploaded CPython 3.14macOS 13.0+ x86-64

ayafileio-1.3.1-cp314-cp314-macosx_13_0_arm64.whl (79.2 kB view details)

Uploaded CPython 3.14macOS 13.0+ ARM64

ayafileio-1.3.1-cp313-cp313-win_amd64.whl (96.6 kB view details)

Uploaded CPython 3.13Windows x86-64

ayafileio-1.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (115.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ayafileio-1.3.1-cp313-cp313-macosx_13_0_x86_64.whl (83.8 kB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

ayafileio-1.3.1-cp313-cp313-macosx_13_0_arm64.whl (79.2 kB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

ayafileio-1.3.1-cp312-cp312-win_amd64.whl (96.7 kB view details)

Uploaded CPython 3.12Windows x86-64

ayafileio-1.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (115.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ayafileio-1.3.1-cp312-cp312-macosx_13_0_x86_64.whl (83.9 kB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

ayafileio-1.3.1-cp312-cp312-macosx_13_0_arm64.whl (79.2 kB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

ayafileio-1.3.1-cp311-cp311-win_amd64.whl (97.3 kB view details)

Uploaded CPython 3.11Windows x86-64

ayafileio-1.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (116.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ayafileio-1.3.1-cp311-cp311-macosx_13_0_x86_64.whl (84.6 kB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

ayafileio-1.3.1-cp311-cp311-macosx_13_0_arm64.whl (80.3 kB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

ayafileio-1.3.1-cp310-cp310-win_amd64.whl (97.4 kB view details)

Uploaded CPython 3.10Windows x86-64

ayafileio-1.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (116.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ayafileio-1.3.1-cp310-cp310-macosx_13_0_x86_64.whl (84.6 kB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

ayafileio-1.3.1-cp310-cp310-macosx_13_0_arm64.whl (80.5 kB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

File details

Details for the file ayafileio-1.3.1-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: ayafileio-1.3.1-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 103.6 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ayafileio-1.3.1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 231dc617f50959bff6151caa5699c2a15fc4513045bcc76506a833b67ec79818
MD5 924300f9a389aaa0ccd98e360b0035eb
BLAKE2b-256 df54a37881e6746459e8660db39a86898c61f2b8e98f9d08219e035eab21b616

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp314-cp314t-win_amd64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 118db4268cc0c76be0bad994515ee02a992c20f9e1e52dd44a6450a94bfa55a4
MD5 e458f3e5b7bfa8eb91cde1118945849c
BLAKE2b-256 501d4c8a6be0d8eba6d80bc22db53c099f25a5f4f3543215e5c8a398cb9d1ea7

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp314-cp314t-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp314-cp314t-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 b05e1ee55469dcd8c1eca8c8d007b250f176c2986c6f71d66918777a15e696b4
MD5 b8ba30af655d87094b1602bd81c9d204
BLAKE2b-256 7bb12faa0a2fe492bcff06e1ac1beb676e4cc56cb0b8da8ce60eaea36b8361ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp314-cp314t-macosx_13_0_x86_64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp314-cp314t-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp314-cp314t-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 438f2a82ff968980ce4238e0899c0a3637b123fce9d7ec20b30ff1716548cb00
MD5 85d4fe0847614160a257de97b56d2cdd
BLAKE2b-256 5a8e922e365d01a5de6eec9961b806f39131cbe9d9223b614e67af2ece811183

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp314-cp314t-macosx_13_0_arm64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: ayafileio-1.3.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 98.7 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ayafileio-1.3.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 730cd1a4cd2f5ccf851b53a0ab622a2f0e701a6abb9ea8e89f46ec1e19816ef7
MD5 6476d5f6335e653c9cd715c4a42c3f71
BLAKE2b-256 e6aed8856a54dd931732510ed159056ceaa9fa512680773d8fe98a927269053d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp314-cp314-win_amd64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 696508326736a7bcdb38a912d7e11df2ad4b5fa63b8eb5d3b8b7d11b9f24adf5
MD5 8d99b794f91ca2ece0aab7f341a521cf
BLAKE2b-256 50dc2c56b72aef40f5fb9b772f96f532e0d63543f93bcca4e70cbd7dde87df1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp314-cp314-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp314-cp314-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 0078c9ed4d92d9ef8e0176cadd1720c07a72325e50fce21fb295bc7ee3009c22
MD5 7d8c2875df1a695e260bd1fa9a107cfc
BLAKE2b-256 43c6948d9af81cf395cd24b6c5da89b5362410fcfdf5a336cee095b43b0620d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp314-cp314-macosx_13_0_x86_64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp314-cp314-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp314-cp314-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 d20f598576282b5c1598ede5254a3dd4054a13495f1bf60c9c724fbdc05fe0d2
MD5 b8b5bd6b1884082dc76e2be5e383f09e
BLAKE2b-256 8fd417288dc682892285ef13b738bfef4ca6ff11e8ece643e37479d187350712

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp314-cp314-macosx_13_0_arm64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ayafileio-1.3.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 96.6 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ayafileio-1.3.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e70b4832571f2241a1d5e5dcd77148780c2623d19004f8ff926683ffd0e70e43
MD5 202355fb7777278387d2a62c3a725c08
BLAKE2b-256 71ad5ab205ba6ccf0e9236520c7e6279b44d3eadfdf1251711480c9647f94b0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp313-cp313-win_amd64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b297beaa502b56c6af474cc4714a9d0795f8b23afe93d645eca757d6a3583bb2
MD5 916e0e8d7930abaaa3753ce2fc5f8d81
BLAKE2b-256 65ffe1b10534a182eb3415136a6e89ff2355b16d9b8dbc9d6f8f89aaaabc1d60

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a0955da2d81c17ae2a09e7599b9ad1b5653895afa3b976a76d83d2842df9b384
MD5 8f5079f8cc9d93949465832d29aaafad
BLAKE2b-256 fd75521d17e54f60d8e6846f135d5927c6a830130556f815d19345f0abf7ef67

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp313-cp313-macosx_13_0_x86_64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 e9161a5b66aa6ad4cdb8b8151e624378241c90646bbd853f10ebb73a3e5ce63a
MD5 d21118928cfaf56186319d8b9ebb57ff
BLAKE2b-256 bd9982e9e8b944ab9ae6fc4700168387bdb9356eb3cc8af0b1c1c2417de4cf2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp313-cp313-macosx_13_0_arm64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ayafileio-1.3.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 96.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ayafileio-1.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a80813f049e0b268bd79eead579ed2f55bbe2f6b06d8c81a88c6b4e63542b4f5
MD5 1ca257c81c8b5ae041d77b00b6675829
BLAKE2b-256 f88f08a63bc571720c41cf64a9336d8eb9529167c1b4adfa3963e7177964e03b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp312-cp312-win_amd64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 edcca35d124550db2b59d89f4962648081d983fb9c4c39fc413af214a3b6bc35
MD5 d96dd1fad7bbf41a236d7c873c9fc2bb
BLAKE2b-256 02e384e86f1a66246f39b76bc35fe11212ef3631371ccfa3bbe3b8613e840e58

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c10ec82dc2880801f1831e4fba4f1222012dfa4627d399a5b128db5cbce81876
MD5 fef65090b65297c17308121372f56514
BLAKE2b-256 cb85c6eb4d8d69d03db1597516cba5153a983449138bbf9ae79b6ef7f6c06f12

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp312-cp312-macosx_13_0_x86_64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 7a2344cf7a80ae33c10925778d419cbffb3b4406e6c769d684df00d504b2e1d2
MD5 67f931c6aace246cac3d63e6e1a8758d
BLAKE2b-256 8a3a76241914faa961fa5cd728a17c5380b34b2ea7af0ef0617fe8b674f976aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp312-cp312-macosx_13_0_arm64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ayafileio-1.3.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 97.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ayafileio-1.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f5333d88b681033295875bf20a3aeb96465d6c243fa31a66c6e4cc29390551a0
MD5 263869da287cf8aaaea3529e97ce39cc
BLAKE2b-256 f728289f5093493cffec29b4e944f44281e10ae77ca9abcc81484ae313f7f730

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp311-cp311-win_amd64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 edd30b77a32392cb7c4224bbd1f729a6f1728403e3e538650c44f49651e0cc26
MD5 17933af9d44efbcdf5b1dbb34f7d99fc
BLAKE2b-256 151a3fc3f43313616f4dd0f912e963fad509b58cc3c65fd460cc50cd9f67949e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 260611f67bd02001860534bf17c281cd806ff46ba539cc7e60c4b9117de442e5
MD5 b6ed0b7eb895dc2499d54517ad259de7
BLAKE2b-256 a5bf025b7dc8f862970104a7724a703a4068ee4c2f957429cc9ebf50d0627fc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp311-cp311-macosx_13_0_x86_64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 45ac40aa4211774b6427e1aa9b31fb7c0ab26bcdae31c2c5de0f7cb6373df9cd
MD5 9b7029b9ec72ff9fc8bdae525698ab5a
BLAKE2b-256 f85f6aaceb8efc7d271816c7cfd6b956064e9d8ceb0b8dcca3fff70ca9ed4270

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp311-cp311-macosx_13_0_arm64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ayafileio-1.3.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 97.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ayafileio-1.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a5f05bda25f72a6441f164b3fdaf584dba4d09bbf036761c2ee2bad07673497e
MD5 3e912d65a35d61542cb084de9deae457
BLAKE2b-256 38b8cd11859d7792f6a81bc8619834d8a935eef5bb382661cbfa2824d8f67537

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp310-cp310-win_amd64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9af48271b395f009c20152b4a73ac721213658db0c748df71529f277b66b62d7
MD5 523e53de21ced42031d1cf9d0dad0110
BLAKE2b-256 8fd2676120b83658fa54bc6492d6c55df098426e90baafc7a8dd5ad44c370019

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 170fbc243697bd5848cbc64395102515c104ea90f7a15cb35a9538b0f37c5f6a
MD5 e0036fc4bba2815ed277065e15444515
BLAKE2b-256 3e559a12619b2833f495f24fa273be9f3591c3d5a83920ec7e9b3d5845d115f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp310-cp310-macosx_13_0_x86_64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ayafileio-1.3.1-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for ayafileio-1.3.1-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 5a99dedc60240c303d7841988d0df8e309f1f78b4ee488b6efd4fc7b480254c7
MD5 e1ad22c7847d407e1d149e03230e3fa1
BLAKE2b-256 5635cfccd2ebe37f86bd5d033dc7b99350fd986a275baa6d560f003c3515f625

See more details on using hashes here.

Provenance

The following attestation bundles were made for ayafileio-1.3.1-cp310-cp310-macosx_13_0_arm64.whl:

Publisher: release.yml on Patchouli-CN/ayafileio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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