Skip to main content

Async version of tempfile

Project description

asynctempfile

Async interface for the standard tempfile module. Implements the following 4 classes:

  • TemporaryFile
  • NamedTemporaryFile
  • SpooledTemporaryFile
  • TemporaryDirectory

Blocking methods are delegated to threadpools using loop.run_in_executor(). Non-blocking methods and properties retain a sync interface. SpooledTemporaryFile only delegates if the in-memory stream is rolled to disk. New instances of the above classes return wrapped with a context manager allowing use with async with and async for.

Installation

pip install asynctempfile

Credit

An extension of github.com/Tinche/aiofiles

Examples

import asynctempfile

async with asynctempfile.TemporaryFile('wb+') as f:
    await f.write(b'Hello, World!')
import asynctempfile

async with asynctempfile.NamedTemporaryFile('wb+') as f:
    await f.write(b'Line1\n Line2')
    await f.seek(0)
    async for line in f:
        print(line)

Dependencies

aiofiles

Release Notes

0.5.0

  • Adjusted TemporaryDirectory to return its path as opposed to the object when used with a context manager, aligning behaviour with the sync library (thank you to hellocoldworld).
  • Fixed name attribute for TemporaryFile as this property is now included in the aiofiles wrapper.

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

asynctempfile-0.5.0.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

asynctempfile-0.5.0-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file asynctempfile-0.5.0.tar.gz.

File metadata

  • Download URL: asynctempfile-0.5.0.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for asynctempfile-0.5.0.tar.gz
Algorithm Hash digest
SHA256 4a647c747357e8827397baadbdfe87f3095d30923fa789e797111eb02160884a
MD5 8a1be6b131062b502eee2eee59de555b
BLAKE2b-256 2360ec51c5e926f4879a6f6817b2d73a775ebc968a555499ff2f6565b3607a7d

See more details on using hashes here.

File details

Details for the file asynctempfile-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: asynctempfile-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 17.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for asynctempfile-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cec59bdb71c850e3de9bb4415f88998165c364709696240eea9ec5204a7439af
MD5 7ccebb82935d7b696a6a5d4dbf4e4a35
BLAKE2b-256 2069d9119d7ebd3af8a111605453982b7c107f28cbccac5ce068104b25437afc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page