Skip to main content

async-fs

async-fs is a powerful C++ extension for Python that provides asynchronous file system operations using liburing for high-performance I/O. This extension allows you to perform read, write, delete, copy, move, and file information retrieval operations asynchronously, making it an ideal choice for applications requiring high efficiency.

Features

  • Asynchronous File Reading: Read data from files without blocking the main thread.
  • Asynchronous File Writing: Write data to files asynchronously, ensuring high performance.
  • Asynchronous File Deletion: Delete files without blocking, useful for managing temporary files.
  • Asynchronous File Copying: Copy the contents of one file to another asynchronously.
  • Asynchronous File Moving: Move files from one location to another without blocking.
  • Asynchronous File Information Retrieval: Get file information such as size, last modification time, and access permissions.

Installation

Before installing async-fs, ensure that the liburing library is installed.

Installing liburing

On Ubuntu/Debian:

sudo apt install liburing-dev

On Fedora:

sudo dnf install liburing-devel

On Arch Linux:

sudo pacman -S liburing

Installing async-fs

Once liburing is installed, you can install async-fs via pip:

pip install async-fs

Usage

Here's an example of using async-fs for asynchronous file reading and writing:

import asyncio
import async_fs

async def main():
    # Asynchronous file reading
    content = await async_fs.read_file('test.txt', 1024)
    print(content)

    # Asynchronous file writing
    result = await async_fs.write_file('output.txt', 'Hello, async world!')
    print(f"Bytes written: {result}")

    # Asynchronous file deletion
    await async_fs.delete_file('output.txt')

    # Asynchronous file copying
    await async_fs.copy_file('test.txt', 'copy_test.txt')

    # Asynchronous file moving
    await async_fs.move_file('copy_test.txt', 'moved_test.txt')

    # Asynchronous file information retrieval
    info = await async_fs.file_info('moved_test.txt')
    print(info)

asyncio.run(main())

Contributing

We welcome contributions from the community! If you have ideas for improving async-fs, please create an issue or submit a pull request. We appreciate your suggestions and enhancements.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgements

I would like to express my gratitude to the following tools and platforms that greatly contributed to the development of this project:

  • ChatGPT and OpenAI — for providing powerful AI assistance and generating insights and code suggestions that accelerated the development process.
  • Cursor IDE — for offering a seamless and efficient coding environment that helped improve the speed and quality of the project's development.
  • JetBrains — for their comprehensive suite of development tools and IDEs, which significantly enhanced productivity and code management throughout the project.

These tools and platforms played an essential role in making this project possible, and I am truly grateful for their contributions.

I also want to extend a big thank you to everyone who supports and contributes to this project. Your help continues to make async-fs better!

Metadata

Release files for async-fs 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for async-fs 0.0.1
File
async_fs-0.0.1-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
async_fs-0.0.1-cp313-cp313-musllinux_1_2_i686.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-32 Details
async_fs-0.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
async_fs-0.0.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-32 Details
async_fs-0.0.1-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
async_fs-0.0.1-cp312-cp312-musllinux_1_2_i686.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-32 Details
async_fs-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
async_fs-0.0.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-32 Details
async_fs-0.0.1-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
async_fs-0.0.1-cp311-cp311-musllinux_1_2_i686.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-32 Details
async_fs-0.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
async_fs-0.0.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-32 Details

Total release size: 6.9 MB

Release files / async_fs-0.0.1-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL async_fs-0.0.1-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.0 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
cea5dc25199c29f3dea869a3b5806b5d5827de712c09d2f0e6b5b27971f68eac
BLAKE2b-256 checksum
How to use checksums
723d9fe874a53443fea20ee772704bf911c845d6b162cce845bfe881ecb2bfdf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.0

Release files / async_fs-0.0.1-cp313-cp313-musllinux_1_2_i686.whl

Download URL async_fs-0.0.1-cp313-cp313-musllinux_1_2_i686.whl
Size 1.1 MB
Tags CPython 3.13 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
346ddba714e2226166cce0a0c72b2a098e57f3cfe8f770fbcac77b0291b54b1b
BLAKE2b-256 checksum
How to use checksums
9f4169004c92ae70a2b667d96d2c25e8fbdfaff19312e4f3708be95896c82ca3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.0

Release files / async_fs-0.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL async_fs-0.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 59.4 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
73a4c3f36fbafb9883e613fe8bd87305742fb1788c490b2a5eefc148cf0a5579
BLAKE2b-256 checksum
How to use checksums
b77f65efc7a0f4c4681a27b3346797f34b6097a4cd82698c3881683f16847e60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.0

Release files / async_fs-0.0.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL async_fs-0.0.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Size 56.9 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
15a469ee57e4c0cea940b4faf778b0b27cdd003c473a2530efaf3380c4357d26
BLAKE2b-256 checksum
How to use checksums
5c6d83c8a6d45a77c76837b08d9c66109cc4a5387973c5da0bbda90d44188499
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.0

Release files / async_fs-0.0.1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL async_fs-0.0.1-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.0 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
d27fb3089e8242f0dc27ed1ed6b76015787bfefd245b1ae7beded9478573beb4
BLAKE2b-256 checksum
How to use checksums
e6c6bd10358e168f7a72023042996c82c0c0c63e23f5169f4674e662a7eaef26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.0

Release files / async_fs-0.0.1-cp312-cp312-musllinux_1_2_i686.whl

Download URL async_fs-0.0.1-cp312-cp312-musllinux_1_2_i686.whl
Size 1.1 MB
Tags CPython 3.12 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
e0de13673edc0d419b8a4250693d3835e2ab545b3b2376d70b12f0bf50227fed
BLAKE2b-256 checksum
How to use checksums
d51cca948ed8dda8ecb3c985a299a871ca6d3432efcda590f44ceb501e765f2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.0

Release files / async_fs-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL async_fs-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 59.5 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
416f8ade58557bb595fc1df6225266e3333099859f63a7e434ee99610d66d8f6
BLAKE2b-256 checksum
How to use checksums
01c6a3a6926934e1648134bedd71e5617a90c2f7b765f1416d2d1b960216a16d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.0

Release files / async_fs-0.0.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL async_fs-0.0.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Size 57.0 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
f836a80957629bac6e6242b08d4e83cba6e77f41c5dac1ceb9503de933eb1b15
BLAKE2b-256 checksum
How to use checksums
a21161469d1662fcc24f5d6e53ac9bd4521c0d6a04f19b53886916f686a2627e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.0

Release files / async_fs-0.0.1-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL async_fs-0.0.1-cp311-cp311-musllinux_1_2_x86_64.whl
Size 1.0 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
79ca136724ec9f53109b35065fba78328369df935fda4e9a9fa6beb28950e73a
BLAKE2b-256 checksum
How to use checksums
623110098ff5ceb239d7ed3a7b38a9efb8db511f71eb22262a523589c8fcee9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.0

Release files / async_fs-0.0.1-cp311-cp311-musllinux_1_2_i686.whl

Download URL async_fs-0.0.1-cp311-cp311-musllinux_1_2_i686.whl
Size 1.1 MB
Tags CPython 3.11 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
ea2a768a2928b858cc9ad84311c3e2687ea8fbbec7c38e3ac3f290993f8cf7d4
BLAKE2b-256 checksum
How to use checksums
3b531d978dc38f1f066ae7a6bce28af57726360cec79e9ae88a650142112c8f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.0

Release files / async_fs-0.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL async_fs-0.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 59.3 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
5e78f961e4109547bc3a638c6b75efbe2d2a03cc2ee6394a3f88d17b7423df2b
BLAKE2b-256 checksum
How to use checksums
9b3d434f34e450002c3c2acfd03b4df509c7e1a5ff275522316ab4ade7421d4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.0

Release files / async_fs-0.0.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL async_fs-0.0.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Size 56.8 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
aa6d8766442675507298361a15f9f7362d68eef0524856fd7bab7be008a1fe2a
BLAKE2b-256 checksum
How to use checksums
4b5de92d9c7462ef77a3f57be8172754014c0c814e7f4b2c59aea96282f8939f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.0

Security for async-fs 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.0.1 This release

12 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page