Skip to main content

True async filesystem I/O — no fake async, no GIL stalls.

Project description

rapfiles

True async filesystem I/O — no fake async, no GIL stalls.

PyPI version Downloads Python 3.8+ License: MIT

Overview

rapfiles provides true async filesystem I/O operations for Python, backed by Rust and Tokio. Unlike libraries that wrap blocking I/O in async syntax, rapfiles guarantees that all I/O work executes outside the Python GIL, ensuring event loops never stall under load.

Roadmap Goal: Achieve drop-in replacement compatibility with aiofiles, enabling seamless migration with true async performance. See docs/ROADMAP.md for details.

Why rap*?

Packages prefixed with rap stand for Real Async Python. Unlike many libraries that merely wrap blocking I/O in async syntax, rap* packages guarantee that all I/O work is executed outside the Python GIL using native runtimes (primarily Rust). This means event loops are never stalled by hidden thread pools, blocking syscalls, or cooperative yielding tricks. If a rap* API is async, it is structurally non-blocking by design, not by convention. The rap prefix is a contract: measurable concurrency, real parallelism, and verifiable async behavior under load.

See the rap-manifesto for philosophy and guarantees.

Features

  • True async file reads and writes
  • Native Rust-backed execution (Tokio)
  • Zero Python thread pools
  • Event-loop-safe concurrency under load
  • GIL-independent I/O operations
  • Verified by Fake Async Detector
  • File handles with async context managers (async with)
  • Directory operations (create, remove, list, walk)
  • File metadata (stat, size, timestamps)
  • Path operations (rapfiles.ospath module)
  • File manipulation (copy, move, rename, remove, links, canonicalize)
  • Atomic operations (atomic writes and moves)
  • File locking (shared/exclusive advisory locks)
  • Batch operations (concurrent read/write/copy of multiple files)
  • aiofiles compatibility (Phase 1 complete)

Requirements

  • Python 3.8+ (including Python 3.13 and 3.14)
  • Rust 1.70+ (for building from source)

Installation

pip install rapfiles

Building from Source

git clone https://github.com/eddiethedean/rapfiles.git
cd rapfiles
pip install maturin
maturin develop

Usage

Basic File Operations

import asyncio
from rapfiles import read_file, write_file

async def main():
    # Write file asynchronously (true async, GIL-independent)
    await write_file("example.txt", "Hello from rapfiles!")
    
    # Read file asynchronously (true async, GIL-independent)
    content = await read_file("example.txt")
    print(content)  # Output: Hello from rapfiles!
    
    # Write another file
    await write_file("output.txt", content)

asyncio.run(main())

File Handles (aiofiles compatible)

import asyncio
from rapfiles import open

async def main():
    # Open file with async context manager
    async with open("file.txt", "r") as f:
        content = await f.read()
        print(content)
    
    # Write mode
    async with open("output.txt", "w") as f:
        await f.write("Hello, world!")
    
    # Binary mode
    async with open("image.png", "rb") as f:
        data = await f.read()
    
    # Read lines
    async with open("file.txt", "r") as f:
        line = await f.readline()
        lines = await f.readlines()

asyncio.run(main())

Directory Operations

import asyncio
from rapfiles import create_dir, list_dir, exists, is_file, is_dir, walk_dir

async def main():
    # Create directories
    await create_dir("new_dir")
    await create_dir_all("path/to/nested/dir")
    
    # Check if path exists
    if await exists("file.txt"):
        print("File exists!")
    
    # Check file/directory type
    if await is_file("file.txt"):
        print("It's a file")
    if await is_dir("directory"):
        print("It's a directory")
    
    # List directory contents
    files = await list_dir(".")
    print(files)
    
    # Recursively walk directory
    for path, is_file in await walk_dir("."):
        print(f"{path}: {'file' if is_file else 'dir'}")

asyncio.run(main())

File Metadata

import asyncio
from rapfiles import stat, FileMetadata

async def main():
    # Get file statistics
    metadata: FileMetadata = await stat("file.txt")
    print(f"Size: {metadata.size} bytes")
    print(f"Is file: {metadata.is_file}")
    print(f"Modified: {metadata.modified}")
    print(f"Created: {metadata.created}")

asyncio.run(main())

Concurrent File Operations

import asyncio
from rapfiles import read_file, write_file

async def main():
    # Process multiple files concurrently
    tasks = [
        write_file("file1.txt", "Content 1"),
        write_file("file2.txt", "Content 2"),
        write_file("file3.txt", "Content 3"),
    ]
    await asyncio.gather(*tasks)
    
    # Read all files concurrently
    contents = await asyncio.gather(
        read_file("file1.txt"),
        read_file("file2.txt"),
        read_file("file3.txt"),
    )
    print(contents)  # ['Content 1', 'Content 2', 'Content 3']

asyncio.run(main())

File Manipulation Operations

import asyncio
from rapfiles import copy_file, move_file, remove_file, symlink, canonicalize

async def main():
    # Copy files
    await copy_file("source.txt", "destination.txt")
    
    # Move/rename files
    await move_file("old_name.txt", "new_name.txt")
    await rename("old.txt", "new.txt")  # Alias for move_file
    
    # Remove files
    await remove_file("unwanted.txt")
    
    # Create symbolic links
    await symlink("/path/to/original", "/path/to/link")
    
    # Resolve paths (canonicalize)
    abs_path = await canonicalize("./relative/path/../file.txt")
    print(abs_path)  # /absolute/path/to/file.txt

asyncio.run(main())

Atomic File Operations

import asyncio
from rapfiles import atomic_write_file, atomic_move_file

async def main():
    # Atomic write ensures file is never partially written
    await atomic_write_file("important.txt", "Critical data")
    
    # Atomic move ensures destination is never in partial state
    await atomic_move_file("source.txt", "destination.txt")

asyncio.run(main())

File Locking

import asyncio
from rapfiles import lock_file, lock_file_shared

async def main():
    # Exclusive lock for writing
    async with lock_file("data.txt", exclusive=True) as lock:
        await write_file("data.txt", "Exclusive access")
    # Lock automatically released
    
    # Shared lock for reading
    async with lock_file_shared("data.txt") as lock:
        content = await read_file("data.txt")
        # Multiple readers can hold shared locks simultaneously

asyncio.run(main())

Batch Operations

import asyncio
from rapfiles import read_files, write_files, copy_files

async def main():
    # Write multiple files concurrently
    files = {
        "file1.txt": b"Content 1",
        "file2.txt": b"Content 2",
        "file3.txt": b"Content 3",
    }
    await write_files(files)
    
    # Read multiple files concurrently
    paths = ["file1.txt", "file2.txt", "file3.txt"]
    results = await read_files(paths)  # Returns [(path, bytes), ...]
    
    # Or as a dictionary
    content_dict = await read_files_dict(paths)  # Returns {path: bytes}
    
    # Copy multiple files concurrently
    copy_pairs = [
        ("src1.txt", "dst1.txt"),
        ("src2.txt", "dst2.txt"),
    ]
    await copy_files(copy_pairs)

asyncio.run(main())

API Reference

File Operations

read_file(path: str) -> str

Read a file asynchronously and return its contents as a string.

Parameters:

  • path (str): Path to the file to read

Returns:

  • str: File contents as UTF-8 decoded string

Raises:

  • FileNotFoundError: If the file does not exist
  • IOError: If the file cannot be read
  • ValueError: If the path is invalid

write_file(path: str, contents: str) -> None

Write content to a file asynchronously.

Parameters:

  • path (str): Path to the file to write
  • contents (str): Content to write to the file

Raises:

  • IOError: If the file cannot be written
  • PermissionError: If write permission is denied
  • ValueError: If the path is invalid

read_file_bytes(path: str) -> bytes

Read a file asynchronously and return its contents as bytes.

Parameters:

  • path (str): Path to the file to read

Returns:

  • bytes: File contents as raw bytes

Raises:

  • FileNotFoundError: If the file does not exist
  • IOError: If the file cannot be read

write_file_bytes(path: str, contents: bytes) -> None

Write bytes to a file asynchronously.

Parameters:

  • path (str): Path to the file to write
  • contents (bytes): Bytes to write to the file

Raises:

  • IOError: If the file cannot be written
  • PermissionError: If write permission is denied

append_file(path: str, contents: str) -> None

Append content to a file asynchronously.

Parameters:

  • path (str): Path to the file to append to
  • contents (str): Content to append to the file

Raises:

  • IOError: If the file cannot be written
  • PermissionError: If write permission is denied

File Handles

open(file: Union[str, bytes], mode: str = "r", ...) -> AsyncFile

Open a file asynchronously (aiofiles.open() compatible).

Parameters:

  • file (Union[str, bytes]): Path to the file
  • mode (str): File mode (r, r+, w, w+, a, a+, rb, rb+, wb, wb+, ab, ab+)
  • buffering (int): Buffer size (accepted for compatibility, not yet implemented)
  • encoding (Optional[str]): Text encoding (accepted for compatibility, not yet implemented)
  • errors (Optional[str]): Error handling (accepted for compatibility, not yet implemented)
  • newline (Optional[str]): Newline handling (accepted for compatibility, not yet implemented)
  • closefd (bool): Close file descriptor (accepted for compatibility, not yet implemented)
  • opener (Optional[Any]): Custom opener (accepted for compatibility, not yet implemented)

Returns:

  • Async context manager that yields an AsyncFile instance

Example:

async with open("file.txt", "r") as f:
    content = await f.read()

AsyncFile Class

An async file handle for true async I/O operations.

Methods:

  • read(size: int = -1) -> Union[str, bytes]: Read from file (returns str for text mode, bytes for binary)
  • write(data: Union[str, bytes]) -> int: Write to file, returns number of bytes written
  • readline(size: int = -1) -> Union[str, bytes]: Read a single line
  • readlines(hint: int = -1) -> List[Union[str, bytes]]: Read all lines
  • seek(offset: int, whence: int = 0) -> int: Seek to position (0=start, 1=current, 2=end)
  • tell() -> int: Get current file position
  • close() -> None: Close the file (automatic on context exit)

Directory Operations

create_dir(path: str) -> None

Create a directory asynchronously. Parent directories must exist.

Raises:

  • FileExistsError: If the directory already exists
  • IOError: If the directory cannot be created

create_dir_all(path: str) -> None

Create a directory and all parent directories asynchronously.

Raises:

  • IOError: If the directory cannot be created

remove_dir(path: str) -> None

Remove an empty directory asynchronously.

Raises:

  • FileNotFoundError: If the directory does not exist
  • IOError: If the directory is not empty or cannot be removed

remove_dir_all(path: str) -> None

Remove a directory and all its contents asynchronously.

Raises:

  • FileNotFoundError: If the directory does not exist
  • IOError: If the directory cannot be removed

list_dir(path: str) -> List[str]

List directory contents asynchronously.

Returns:

  • List[str]: List of file and directory names

Raises:

  • FileNotFoundError: If the directory does not exist
  • IOError: If the directory cannot be read

exists(path: str) -> bool

Check if a path exists asynchronously.

Returns:

  • bool: True if path exists, False otherwise

is_file(path: str) -> bool

Check if a path is a file asynchronously.

Returns:

  • bool: True if path is a file, False otherwise

Raises:

  • IOError: If the path does not exist

is_dir(path: str) -> bool

Check if a path is a directory asynchronously.

Returns:

  • bool: True if path is a directory, False otherwise

Raises:

  • IOError: If the path does not exist

walk_dir(path: str) -> List[Tuple[str, bool]]

Recursively walk a directory asynchronously.

Parameters:

  • path (str): Directory path to walk

Returns:

  • List[Tuple[str, bool]]: List of (path, is_file) tuples for all files and directories found

Raises:

  • FileNotFoundError: If the directory does not exist
  • IOError: If the directory cannot be read

File Metadata

stat(path: str) -> FileMetadata

Get file statistics asynchronously.

Returns:

  • FileMetadata: File metadata object with size, timestamps, and type information

Raises:

  • FileNotFoundError: If the path does not exist
  • IOError: If metadata cannot be retrieved

metadata(path: str) -> FileMetadata

Get file metadata asynchronously (alias for stat).

FileMetadata Class

File metadata structure (aiofiles.stat_result compatible).

Properties:

  • size (int): File size in bytes
  • is_file (bool): True if path is a file
  • is_dir (bool): True if path is a directory
  • modified (float): Modification time as Unix timestamp
  • accessed (float): Access time as Unix timestamp
  • created (float): Creation time as Unix timestamp

File Manipulation Operations

copy_file(src: str, dst: str) -> None

Copy a file asynchronously from source to destination.

move_file(src: str, dst: str) -> None

Move or rename a file asynchronously (atomic within same filesystem).

rename(src: str, dst: str) -> None

Rename a file asynchronously (alias for move_file).

remove_file(path: str) -> None

Remove a file asynchronously.

hard_link(src: str, dst: str) -> None

Create a hard link asynchronously.

symlink(src: str, dst: str) -> None

Create a symbolic link asynchronously.

canonicalize(path: str) -> str

Resolve all symbolic links and return the canonical absolute path.

Atomic Operations

atomic_write_file(path: str, contents: str) -> None

Write a file atomically using a temporary file, ensuring the target is never partially written.

atomic_write_file_bytes(path: str, contents: bytes) -> None

Write bytes to a file atomically.

atomic_move_file(src: str, dst: str) -> None

Move a file atomically.

File Locking

lock_file(path: str, exclusive: bool = True) -> FileLock

Acquire an advisory file lock (exclusive or shared) as an async context manager.

lock_file_shared(path: str) -> FileLock

Acquire a shared (read) file lock as an async context manager.

FileLock Class

File lock object returned by lock_file() and lock_file_shared(). Use with async with syntax.

Methods:

  • release() -> None: Manually release the lock

Batch Operations

read_files(paths: List[str]) -> List[Tuple[str, bytes]]

Read multiple files concurrently. Returns list of (path, bytes) tuples.

read_files_dict(paths: List[str]) -> Dict[str, bytes]

Read multiple files concurrently. Returns dictionary mapping paths to file contents.

write_files(files: Dict[str, bytes]) -> None

Write multiple files concurrently. Accepts dictionary of {path: bytes}.

copy_files(files: List[Tuple[str, str]]) -> None

Copy multiple files concurrently. Accepts list of (src_path, dst_path) tuples.

Path Operations

The rapfiles.ospath module provides synchronous path operations compatible with aiofiles.ospath:

  • exists(path) -> bool
  • isfile(path) -> bool
  • isdir(path) -> bool
  • getsize(path) -> int
  • join(*paths) -> str
  • normpath(path) -> str
  • abspath(path) -> str
  • dirname(path) -> str
  • basename(path) -> str
  • splitext(path) -> Tuple[str, str]
  • split(path) -> Tuple[str, str]

Benchmarks

This package passes the Fake Async Detector. Benchmarks are available in the rap-bench repository.

Run the detector yourself:

pip install rap-bench
rap-bench detect rapfiles

Documentation

Comprehensive documentation is available in the docs/ directory:

Roadmap

See docs/ROADMAP.md for detailed development plans. Key goals include:

  • Drop-in replacement for aiofiles (Phase 1)
  • Comprehensive filesystem operations (directories, metadata, permissions)
  • Advanced I/O patterns and zero-copy optimizations
  • Filesystem traversal and watching capabilities

Related Projects

Changelog

See CHANGELOG.md for detailed version history.

v0.2.0 (2026-01-17)

Phase 2 Complete - Advanced Filesystem Operations:

  • ✅ File manipulation operations (copy, move, rename, remove, links, canonicalize)
  • ✅ Atomic operations (atomic writes and moves)
  • ✅ File locking (shared/exclusive advisory locks)
  • ✅ Batch operations (concurrent read/write/copy of multiple files)
  • ✅ 188+ comprehensive tests
  • ✅ Full documentation and type stubs

v0.1.1 (2026-01-16)

Python 3.14 Support:

  • ✅ Added Python 3.14 classifier to pyproject.toml
  • ✅ Updated CI/CD workflows to test for Python 3.14
  • ✅ Added ABI3 forward compatibility for Python 3.14

Python 3.13 Support:

  • ✅ Added Python 3.13 classifier to pyproject.toml
  • ✅ Updated CI/CD workflows to test for Python 3.13

Compatibility:

  • Python 3.8 through 3.14 supported
  • All platforms: Ubuntu (x86-64, aarch64), macOS (aarch64, x86-64), Windows (x86-64, aarch64)

v0.1.0 (2025-01-12)

Current Status (v0.1.2)

Phase 1 Complete ✅:

  • ✅ File handle operations (AsyncFile class with async with support)
  • ✅ File operations: read(), write(), readline(), readlines(), seek(), tell()
  • ✅ Binary file operations: read_file_bytes(), write_file_bytes()
  • ✅ Append operations: append_file()
  • ✅ Directory operations: create_dir(), create_dir_all(), remove_dir(), remove_dir_all(), list_dir()
  • ✅ Path checking: exists(), is_file(), is_dir()
  • ✅ Directory traversal: walk_dir() for recursive directory walking
  • ✅ File metadata: stat(), metadata(), FileMetadata class
  • ✅ Path operations: rapfiles.ospath module (aiofiles.ospath compatible)
  • ✅ aiofiles compatibility: Drop-in replacement for basic aiofiles operations

Phase 2 Complete ✅:

  • ✅ File manipulation: copy_file(), move_file(), rename(), remove_file()
  • ✅ Link operations: hard_link(), symlink(), canonicalize()
  • ✅ Atomic operations: atomic_write_file(), atomic_write_file_bytes(), atomic_move_file()
  • ✅ File locking: lock_file(), lock_file_shared() with FileLock class
  • ✅ Batch operations: read_files(), write_files(), copy_files() with concurrent execution
  • ✅ Comprehensive test suite: 188+ tests covering all Phase 1 and Phase 2 features
  • ✅ Type stubs: Complete .pyi files for IDE support
  • ✅ Type checking: Full mypy support with Python 3.8+ compatibility
  • ✅ Code quality: Ruff formatted and linted, clippy checked

Known Limitations:

  • buffering, encoding, errors, newline, closefd, opener parameters accepted for API compatibility but not yet fully implemented
  • No streaming operations for large files (planned for Phase 3)
  • No file watching capabilities (planned for future phases)
  • No advanced I/O patterns like zero-copy (planned for future phases)

Roadmap: See docs/ROADMAP.md for planned improvements. Phase 1 (aiofiles compatibility) and Phase 2 (advanced operations) are complete. Future phases will add streaming operations and advanced optimizations.

Contributing

Contributions are welcome! Please see our contributing guidelines (coming soon).

License

MIT

For detailed release notes, see docs/PYPI_RELEASE_NOTES.md.

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

rapfiles-0.2.0.tar.gz (69.9 kB view details)

Uploaded Source

Built Distributions

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

rapfiles-0.2.0-cp314-cp314-win_arm64.whl (858.0 kB view details)

Uploaded CPython 3.14Windows ARM64

rapfiles-0.2.0-cp314-cp314-win_amd64.whl (985.7 kB view details)

Uploaded CPython 3.14Windows x86-64

rapfiles-0.2.0-cp314-cp314-manylinux_2_28_x86_64.whl (943.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

rapfiles-0.2.0-cp314-cp314-manylinux_2_28_aarch64.whl (928.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

rapfiles-0.2.0-cp314-cp314-macosx_11_0_arm64.whl (885.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rapfiles-0.2.0-cp314-cp314-macosx_10_12_x86_64.whl (890.7 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

rapfiles-0.2.0-cp313-cp313-win_arm64.whl (858.3 kB view details)

Uploaded CPython 3.13Windows ARM64

rapfiles-0.2.0-cp313-cp313-win_amd64.whl (985.4 kB view details)

Uploaded CPython 3.13Windows x86-64

rapfiles-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl (942.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

rapfiles-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl (929.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

rapfiles-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (884.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rapfiles-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl (890.5 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

rapfiles-0.2.0-cp312-cp312-win_arm64.whl (865.6 kB view details)

Uploaded CPython 3.12Windows ARM64

rapfiles-0.2.0-cp312-cp312-win_amd64.whl (988.0 kB view details)

Uploaded CPython 3.12Windows x86-64

rapfiles-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl (942.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

rapfiles-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl (928.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

rapfiles-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (887.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rapfiles-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl (893.3 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

rapfiles-0.2.0-cp311-cp311-win_arm64.whl (867.0 kB view details)

Uploaded CPython 3.11Windows ARM64

rapfiles-0.2.0-cp311-cp311-win_amd64.whl (988.6 kB view details)

Uploaded CPython 3.11Windows x86-64

rapfiles-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl (944.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

rapfiles-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl (934.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

rapfiles-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (890.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rapfiles-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl (892.7 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

rapfiles-0.2.0-cp310-cp310-win_amd64.whl (988.3 kB view details)

Uploaded CPython 3.10Windows x86-64

rapfiles-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl (944.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

rapfiles-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl (934.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

rapfiles-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (889.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

rapfiles-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl (892.1 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

rapfiles-0.2.0-cp39-cp39-win_amd64.whl (989.8 kB view details)

Uploaded CPython 3.9Windows x86-64

rapfiles-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl (946.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

rapfiles-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl (936.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

rapfiles-0.2.0-cp39-cp39-macosx_11_0_arm64.whl (892.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

rapfiles-0.2.0-cp39-cp39-macosx_10_12_x86_64.whl (894.7 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

rapfiles-0.2.0-cp38-cp38-win_amd64.whl (992.3 kB view details)

Uploaded CPython 3.8Windows x86-64

rapfiles-0.2.0-cp38-cp38-manylinux_2_28_x86_64.whl (948.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

rapfiles-0.2.0-cp38-cp38-manylinux_2_28_aarch64.whl (937.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

rapfiles-0.2.0-cp38-cp38-macosx_11_0_arm64.whl (894.6 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

rapfiles-0.2.0-cp38-cp38-macosx_10_12_x86_64.whl (899.7 kB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

Details for the file rapfiles-0.2.0.tar.gz.

File metadata

  • Download URL: rapfiles-0.2.0.tar.gz
  • Upload date:
  • Size: 69.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rapfiles-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9caf21135b7c1b23b3d555cf7225f779b9c3031d68981827ba7ba1374e84bd8b
MD5 bb1f143756a69f29551166c43a745bbd
BLAKE2b-256 f84adb40913ac71466b6244f59f878b19a9ebd98de950a84759ce92be79aba1e

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: rapfiles-0.2.0-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 858.0 kB
  • Tags: CPython 3.14, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rapfiles-0.2.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 c7b603e35b42a7139bca20458942c45ea7fb64e7ee9bf95e3bc29ecbfbcca909
MD5 37b636c2b220cc94bdf1478a9b966004
BLAKE2b-256 09b73a113415209fb2772976f55cf780e77acec13d8615a477d93885771a4ebf

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: rapfiles-0.2.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 985.7 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rapfiles-0.2.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a1cdf6eaf0aa2f6ee04c16c0b8cb64b2a00543c0796ffea3840b0116fb4c1be3
MD5 ba86ac0246c96fbae7cd4d73c67e5a57
BLAKE2b-256 ed49a794bc8bb7edfcb6be616e2c5c257055f7b077e6f10843cb9fde42f29fcb

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8b78a70b3eb1f1d5fb741476e50c9d4bf7e0d9d55ef08a5c926e95eeefe38e38
MD5 decc27cf9dc67826d1c50e5fc2387018
BLAKE2b-256 0dcdd34c73ff24e140c8bad70b7ca320de5925a050d82df13234a4901e0139dc

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c429e2019c146b8d522e5b83ea1426ada66ac83100f273383879d8d28e75e547
MD5 8a07cef9bf0388adf78f47d03dab03d5
BLAKE2b-256 77ff99352c0f07563ce256f29011c0fc5035ea68a16bb9c289c52e6a87a8dcb2

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 66c2467fd7cd5e70ef90c6a4cae39f9272c5f874f9daf756e921140d3e38621f
MD5 f664f984c0cd1b365ef91ecff99db982
BLAKE2b-256 285d785612541d6b2afdc7c8cb0cd59a0bac19188bcc80db216708ce55674bfd

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 17d9eeec67bec3396110b4e70d197874cc06073a58ef2abe8597020f1d67d686
MD5 b1e0a38c8a7d77bcc48070f963c28ba1
BLAKE2b-256 6180ca6b0e1bd4b68bbdaaa577a5ecf468551f3cfce556993e7b81f6a2e67bfe

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: rapfiles-0.2.0-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 858.3 kB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rapfiles-0.2.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 cee21b280b329b91634f65424a97bd6e1376c4fecd60d22cc0a75873ccaaba60
MD5 f7edb66f9f521647205d65dc84904f74
BLAKE2b-256 2ad670c219cc178b6c2e3b2b6e8c9f1153ba3c98e1781b0136844a3a8d459c14

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: rapfiles-0.2.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 985.4 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rapfiles-0.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 bfdc690b3f124e2ad89833b8828444c537970aa42dd02f0c88d971bcd91e7a41
MD5 f9ff62c0cb7222ea058878697c171a98
BLAKE2b-256 6324f9abc6c23c37919afb10b81888c8b0ebe785ce010636f8e03d5db42accfd

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2573a35bb4a312f3e5d430aa4b8d3e297f783a4ff6e8dff098b1d22a22992928
MD5 93ca91997a9eb0b7fb642edb59e5430a
BLAKE2b-256 59eb3545c1a4e8b899161122bdedbf1b548ad8bf781ad6be9e446689a4fe353e

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 81887ce15f0167ac8595ddfb529698d6bb2efe1a424d60b551804dfad1012174
MD5 eb02b9960fbfedff50732cbce0386bdd
BLAKE2b-256 44673f20e7376c3ae3a9373789aa95570d5f5397a764bcdf1cb1f7b7605c9f4f

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 72f0932a51f65e478fc44daef8753ea0252ba19cc6d97e4c7e11f7518a6f8b23
MD5 98b6fb22ddc16127c493b694bf087dcd
BLAKE2b-256 cc5e6b4b01d0baa77f4d25040de15ef1c82a4a457002ba29fbabc1e58655264f

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 664ea8d12d7e283a926fdaf5066f2532149a40c7f8c42bba4600faf8f94f29a6
MD5 63c2234594c6d4f4b33a36e2b3a03e52
BLAKE2b-256 14f9706d64e7023c3c3566fc7f5ada01335c76b35dd89c8ed4e60557a4bd1977

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: rapfiles-0.2.0-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 865.6 kB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rapfiles-0.2.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 3e57b334875d5bf16b2f9f5f106467c5af81a8df29b5f8112e0042adb6831d1d
MD5 84edef065ebf177959d8607cb5330d26
BLAKE2b-256 693e866f4b8943866d692aa98d3116907fa25b87c720dabca86dbb5e4f9e53d9

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: rapfiles-0.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 988.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rapfiles-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c1c96265bb563ddb527ee85c4b64b6edd79b7be960c7358ed2ca1f85d2d47c5b
MD5 69e1819fa99c8cea02b2214b3f2576a6
BLAKE2b-256 a73d45afa94e6336826b480b9b98dab187faed0952aa7350307b53941048b1c0

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0cc7118f2c633936f8f7ebd720e5a81532dffc6fc05550386ebe59d6366c66ae
MD5 eaa5d98e94946d3fc9754a32ff36a91b
BLAKE2b-256 27e13f620b3cb5ab80423cd555c37bd66420bb8348622b932875fa1103057d60

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 721c6f513e30d669dd12062688dc57ee1c9ffc09bba2ad0acb2462c3ca624138
MD5 12a1d67e4e6ee546f38e69843cf95304
BLAKE2b-256 1bf78342ea378121d17a2f6b11ac8a12ccf0505639905d9a772bb0fc6c7d5559

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6b9a1231a0cdca8b414ca2784d20726755e9d2a109868bc87292dd2a91fe6152
MD5 f1f39f99ab9a1addb2f7a4d7bb55c4dd
BLAKE2b-256 168ae460a3306744a3be90408a8611e0e27cbda62c068cbca151c0ff2631d373

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b93954367383e7d4086f513953c38456060911a43c13feca94150b1e9351f448
MD5 87eaa08b3e4f037e14f82cea218d770f
BLAKE2b-256 0a72f89919cb8bc56f77b17f6a02c7ee41a9b7bfb9536f55a5913ac7df901e92

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: rapfiles-0.2.0-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 867.0 kB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rapfiles-0.2.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 c165670bbff8b522588db7aea347bb522297d2a785cd527551b8c182f9f2483d
MD5 aa1ebb34c57ea710ccfadb7a464239df
BLAKE2b-256 024bff4c36a14b35aac3d0ad5d8d09d08eb406bf79e6e73a7e3be033bdb18e6d

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: rapfiles-0.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 988.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rapfiles-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c36e2e63fd0798cb3116d27a65c2592b3b848df06807956f9537b056d7fe6516
MD5 25c8497ca000b896e9eea84233a08e93
BLAKE2b-256 a6483223df0e99bf9e676f792fc0c3ef722fa03cde9185bd5f6a84753166c621

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3ef9a469a2ca461a76a6846ce84d09f88b78d9e990d0a974ed85dc4b10389433
MD5 51ea90fc06ee6c90b1fdabc8c3b70ad2
BLAKE2b-256 c8d5a8489fbd8a1122da4510adab28eba4f4b1e748aa40b143246335e7680f1d

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a7b917db1fdc4727c9d3e4922923c2a7813ba3ae520695240e60e8338f2c975f
MD5 71838d6514f49240f1a2d6f5bf87496d
BLAKE2b-256 4c9c4500c8acb3e6bbd9eda59cdd12c18a7b3d5914cdf0ac1235ed6694aa6051

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a0b37ead3db9ae82f5de5a5d9943acf72fb538bf856bba090c620fef4d7e162b
MD5 da1618b28b4d58c06bc6addb5ed7d273
BLAKE2b-256 2e2321d4f7e5c16b29f735128e906342f7753feaff6353af66fd957700e608da

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 898bc0a5d11d72b801a960e4ad75f7a10cf738a4498ab19315249a133040299a
MD5 d20a8c2fe171a11f6779c75f58052b91
BLAKE2b-256 b906848b743b28b27a1ab89c708ad4657e4850fb5a9a52c5e56c5767573a82d5

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: rapfiles-0.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 988.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rapfiles-0.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5fd7f15add8428b7d6cebf43ceb0322d4f466d7d46b018d88e154f0925d66a21
MD5 b57bb40e259e48b2e6d5949640371e9e
BLAKE2b-256 c25250f882c84130a12f48bd2ce3d71b193f7a1717fedf72c472f9618eb611b3

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2b363b5675bf56b687e26bcdd4b1f59abbf59ba0ad80a734877f2b8ac225119d
MD5 267518098d1b2c3d1b556a007fe425c0
BLAKE2b-256 2134fdaa9d86286cf2ec70535f388c468b6089ebb076c2be65cb75545821ad6a

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 50c602297729caee74eea57e814ac6f8e1f196220de847ac4bd8cbe4928237e9
MD5 6da21bd3ab1484c418aecc1115bc389c
BLAKE2b-256 8bad9e7597c9fe45a97c2154fe2064b5c95dbda928024b4d5990f233e6625616

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8e0743f82e156d905e6212ca6132da26e8a87f3c9074b8093101572a172c429a
MD5 6fa6fae4cc4bed13caca8269518fa7c2
BLAKE2b-256 b4ee68da44d14fae020bc9cfc5ecb4a8e9c7d71c5d4ff33977fce967cae81c4b

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b0a29e388bc94409a0ea1f9aeee5f20e02d528ba80d85bc8d64096649db9e7c1
MD5 7be1d828a671177264d376024fac6f16
BLAKE2b-256 1227020c92b01503db9fb55b79ad3b1bfacdbe0fdb94877f55915b9ed65bd6b0

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: rapfiles-0.2.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 989.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rapfiles-0.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 cc259176e2d4fb3d4ea7e7aaf2468cc9a559503bf23e3f0719ed0837d7b7ca4e
MD5 5d2bdb639d6da4045a318c38e2b73359
BLAKE2b-256 21751fb60730701c324db1fed456b94bceb2c7f78d51f8631471cb53bdd4e897

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6c0d0607ea81d0d15d1d2f8b4f09726bce51b61b0bbb427961714871568252ed
MD5 c85ad4badeac012a7c11940c6a2297db
BLAKE2b-256 22738ba279d6dd2363f040b663999dd34c258bb4fc8c20d3bd0ed4129aa77f63

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bfb14c31cb46e7c366e7bd6c368a9326978df40999121d8872afbe5ea9fa65b7
MD5 22f4cfa1f4399d22989b88dd6938f13b
BLAKE2b-256 c9c528767ed229aaa409c276ba200f1ebda71b878e676584936aeb37bfba73ef

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6544e325bc9bc9c8c7ca67f5fe6bad103a7e6536725b1e36742ba558480a0d1b
MD5 afe6c71017e184a649ef144167f14ce5
BLAKE2b-256 066fc1f0073ea2fb4e743658721bc527f129e9b1a7ed675667c28395e37f3ca4

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ce3be89d93cdc00bda872d4e570967fad58f5b734b7b0952a494e41c26a260c8
MD5 77bd568d543b82ccdfab1eac876c034c
BLAKE2b-256 66f98ccc54a749c5c5994c04562622cf9e65bba8cc301c1fd6ff69de7f8b44fe

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: rapfiles-0.2.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 992.3 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rapfiles-0.2.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e00a98d3956939080f0a263513169b7e90a97d232cb8b0f6564c0fd94a272eac
MD5 e561106929643b6d30788f4318704855
BLAKE2b-256 1b53aea6e1076d791088f2e4a9111f3e59ce221fe1879835cfd37e5dcd2baa88

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4bab1e892457ce7549c70762fa2619f4ddb28ad1b6cb2c0a1f4426357b15b32a
MD5 12f99e4a2fbf0b20ecf14a00ed6e6a04
BLAKE2b-256 946cfc0ebc3e202b812ec7d88a3e171d1db5a74da5e8c69de68400521517666a

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a54170111e16e199ac7a33865869e10d3fe42b1f23daa98153f04ac94e52c2d3
MD5 11e3907f63432bf14110c66f5f80f866
BLAKE2b-256 254e556647353419b1ace3fce44667ebae446683ab29579c88045cee9e7b9408

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f28d53dcad734cfdd8bf55868a969499cbbd1c9482ee006843445adffeef7afa
MD5 43ed9fb1ed2608e1c9a68894e8c8b870
BLAKE2b-256 8728a54886b3ff1a31632683fcebed2f0735d780511a6337ff06c4c47be8550c

See more details on using hashes here.

File details

Details for the file rapfiles-0.2.0-cp38-cp38-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapfiles-0.2.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b9b4c115daa00cad549fe049739eae7309877e3421a07a68a17ac24410b4830e
MD5 d6bcc2b3e073669f2ebe4f5cbc6040c1
BLAKE2b-256 6bb5d87def470f510434a01b245172fdd0b9e4f29a1f61798bd88db22280c532

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