Skip to main content

A library that makes it easy to define objects that can be used for both sync and async use cases.

Project description

Table of Contents

Introduction

ez-a-sync is a Cython library which enables Python developers to write both synchronous and asynchronous code without redundant code. It provides a decorator @a_sync(), as well as a base class ASyncGenericBase which can be used to create classes that can be executed in both synchronous and asynchronous contexts.

It also contains implementations of various asyncio primitives with extra functionality, including queues and various types of locks. # TODO add links to various objects' docs

Installation

ez-a-sync can be installed via pip:

pip install ez-a-sync

Usage

Decorators

ez-a-sync provides one decorator: @a_sync(). You can explicitly pass the type of function you want with @a_sync('sync') or @a_sync('async')

@a_sync('async')

The @a_sync('async') decorator can be used to define an asynchronous function that can also be executed synchronously.

@a_sync('async')
def some_function():
    ...

This function can then be executed asynchronously using await:

aaa = await some_function()

It can also be executed synchronously by passing sync=True or asynchronous=False:

aaa = some_function(sync=True)

@a_sync('sync')

The @a_sync('sync') decorator can be used to define a synchronous function that can also be executed asynchronously.

@a_sync('sync')
async def some_function():
    ...

This function can then be executed synchronously:

aaa = some_function()

It can also be overridden asynchronously by passing sync=False or asynchronous=True and using await:

aaa = await some_function(sync=False)

Classes

ez-a-sync also provides a base class ASyncGenericBase that can be used to create classes that can be executed in both synchronous and asynchronous contexts. To create an asynchronous class, simply inherit from ASyncGenericBase and set asynchronous=True:

class CoolAsyncClass(ASyncGenericBase):
    asynchronous=True
    
    def some_sync_fn():
       ...   

In this example, CoolAsyncClass has asynchronous=True, which means it is an asynchronous class. You can call some_sync_fn asynchronously using await:

aaa = await CoolAsyncClass().some_sync_fn()

CoolAsyncClass functions can also be called synchronously by passing sync=True:

aaa = CoolAsyncClass().some_sync_fn(sync=True)

Similarly, you can create a synchronous class by setting sync=True or asynchronous=False:

class CoolSyncClass(ASyncGenericBase):
    asynchronous=False
    
    async def some_async_fn():
       ...

CoolSyncClass functions can be called synchronously:

aaa = CoolSyncClass().some_async_fn()

It can also be called asynchronously by passing sync=False or asynchronous=True and using await:

aaa = await CoolSyncClass().some_async_fn(sync=False)

You can also create a class which functions can be executed in both synchronous and asynchronous contexts by not setting the asynchronous or sync attribute (both can be used interchangeably, pick your favorite) and passing it as an argument when creating an instance:

class CoolDualClass(ASyncGenericBase):
    def __init__(self, asynchronous):
        self.asynchronous=asynchronous
    
    async def some_async_fn():
       ...

You can create an instance of CoolDualClass with sync=False or asynchronous=True to call it asynchronously:

async_instance = CoolDualClass(asynchronous=True)
aaa = await async_instance.some_async_fn()
aaa = async_instance.some_async_fn(sync=True)

You can also create an instance with sync=True or asynchronous=False to call it synchronously:

sync_instance = CoolDualClass(asynchronous=False)
aaa = sync_instance.some_async_fn()
aaa = sync_instance.some_async_fn(sync=False)

Modifiers

The ez-a-sync library provides several settings that can be used to customize the behavior of the decorators and classes.

To apply settings to the decorators or base classes, simply pass them as keyword arguments when calling the decorator or creating an instance.

For example, to apply cache_type='memory' to a function decorated with @a_sync('async'), you would do the following:

@a_sync('async', cache_type='memory')
def some_function():
    ...

async modifiers

The @a_sync('async') decorator has the following settings:

  • cache_type: This can be set to None or 'memory'. 'memory' is a LRU cache which can be modified with the cache_typed, ram_cache_maxsize, and ram_cache_ttl modifiers.
  • cache_typed: Set to True if you want types considered treated for cache keys. i.e. with cache_typed=True, Decimal(0) and 0 will be considered separate keys.
  • ram_cache_maxsize: The maxsize for your LRU cache. Set to None if the cache is unbounded. If you set this value without specifying a cache type, 'memory' will automatically be applied.
  • ram_cache_ttl: The TTL for items in your LRU cache. Set to None. If you set this value without specifying a cache type, 'memory' will automatically be applied.
  • runs_per_minute: Setting this value enables a rate limiter for the decorated function.
  • semaphore: Drop in a Semaphore for your async defined functions.

sync modifiers

The @a_sync('sync') decorator has the following setting:

  • executor: The executor for the synchronous function. Set to the library's default of config.default_sync_executor.

Default Modifiers

Instead of setting modifiers one by one in functions, you can set a default value for modifiers using ENV variables:

  • DEFAULT_MODE
  • CACHE_TYPE
  • CACHE_TYPED
  • RAM_CACHE_MAXSIZE
  • RAM_CACHE_TTL
  • RUNS_PER_MINUTE
  • SEMAPHORE

Other Helpful Classes

ASyncIterable

The ASyncIterable class allows objects to be iterated over using either a standard for loop or an async for loop. This is particularly useful in scenarios where the mode of iteration needs to be flexible or is determined at runtime.

from a_sync import ASyncIterable

async_iterable = ASyncIterable(some_async_iterable)

# Asynchronous iteration
async for item in async_iterable:
    ...

# Synchronous iteration
for item in async_iterable:
    ...

See the documentation for more information.

ASyncIterator

The ASyncIterator class provides a unified interface for iteration that can operate in both synchronous and asynchronous contexts. It allows the wrapping of asynchronous iterable objects or async generator functions.

from a_sync import ASyncIterator

async_iterator = ASyncIterator(some_async_iterator)

# Asynchronous iteration
async for item in async_iterator:
    ...

# Synchronous iteration
for item in async_iterator:
    ...

See the documentation for more information.

ASyncFilter

The ASyncFilter class filters items of an async iterable based on a provided function. It can handle both synchronous and asynchronous filter functions.

from a_sync import ASyncFilter

async def is_even(x):
    return x % 2 == 0

filtered_iterable = ASyncFilter(is_even, some_async_iterable)

# or use the alias
import a_sync

filtered_iterable = a_sync.filter(is_even, some_async_iterable)

# Asynchronous iteration
async for item in filtered_iterable:
    ...

# Synchronous iteration
for item in filtered_iterable:
    ...

See the documentation for more information.

ASyncSorter

The ASyncSorter class sorts items of an async iterable based on a provided key function. It supports both synchronous and asynchronous key functions.

from a_sync import ASyncSorter

sorted_iterable = ASyncSorter(some_async_iterable, key=lambda x: x.value)

# or use the alias
import a_sync

sorted_iterable = a_sync.sort(some_async_iterable, key=lambda x: x.value)

# Asynchronous iteration
async for item in sorted_iterable:
    ...

# Synchronous iteration
for item in sorted_iterable:
    ...

See the documentation for more information.

Other Helpful Modules

The stuff here is unrelated to the main purpose of ez-a-sync, but cool and useful nonetheless

asyncio

The ez-a-sync library extends the functionality of Python's asyncio module with additional utilities to simplify asynchronous programming.

  • as_completed: This function allows you to iterate over awaitables as they complete, similar to asyncio.as_completed. It supports both synchronous and asynchronous iteration. Learn more about as_completed.

  • gather: A utility to run multiple asynchronous operations concurrently and wait for all of them to complete. It is similar to asyncio.gather but integrates seamlessly with the ez-a-sync library. Learn more about gather.

  • create_task: A function to create a new task from a coroutine, similar to asyncio.create_task, but with additional features provided by ez-a-sync. Learn more about create_task.

  • as_completed: This function allows you to iterate over awaitables as they complete, similar to asyncio.as_completed. It supports both synchronous and asynchronous iteration. Learn more about as_completed.

These utilities enhance the standard asyncio module, providing more flexibility and control over asynchronous operations. For detailed documentation and examples, please refer to the documentation

future

The future module is something totally different. TODO: short explainer of module value prop and use case

ASyncFuture

documentation TODO: short explainers on ASyncFuture class

future decorator

documentation TODO: short explainers on future fn

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

ez_a_sync-0.34.2.tar.gz (3.7 MB view details)

Uploaded Source

Built Distributions

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

ez_a_sync-0.34.2-cp314-cp314t-win_amd64.whl (5.7 MB view details)

Uploaded CPython 3.14tWindows x86-64

ez_a_sync-0.34.2-cp314-cp314t-win32.whl (5.4 MB view details)

Uploaded CPython 3.14tWindows x86

ez_a_sync-0.34.2-cp314-cp314t-macosx_11_0_arm64.whl (5.7 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

ez_a_sync-0.34.2-cp314-cp314-win_amd64.whl (5.4 MB view details)

Uploaded CPython 3.14Windows x86-64

ez_a_sync-0.34.2-cp314-cp314-win32.whl (5.1 MB view details)

Uploaded CPython 3.14Windows x86

ez_a_sync-0.34.2-cp314-cp314-macosx_11_0_arm64.whl (5.5 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ez_a_sync-0.34.2-cp313-cp313-win_amd64.whl (5.3 MB view details)

Uploaded CPython 3.13Windows x86-64

ez_a_sync-0.34.2-cp313-cp313-win32.whl (5.1 MB view details)

Uploaded CPython 3.13Windows x86

ez_a_sync-0.34.2-cp313-cp313-musllinux_1_2_x86_64.whl (14.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

ez_a_sync-0.34.2-cp313-cp313-musllinux_1_2_i686.whl (14.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

ez_a_sync-0.34.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (15.1 MB view details)

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

ez_a_sync-0.34.2-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (14.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ i686manylinux: glibc 2.5+ i686

ez_a_sync-0.34.2-cp313-cp313-macosx_11_0_arm64.whl (5.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ez_a_sync-0.34.2-cp312-cp312-win_amd64.whl (5.3 MB view details)

Uploaded CPython 3.12Windows x86-64

ez_a_sync-0.34.2-cp312-cp312-win32.whl (5.0 MB view details)

Uploaded CPython 3.12Windows x86

ez_a_sync-0.34.2-cp312-cp312-musllinux_1_2_x86_64.whl (14.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

ez_a_sync-0.34.2-cp312-cp312-musllinux_1_2_i686.whl (14.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

ez_a_sync-0.34.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (14.8 MB view details)

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

ez_a_sync-0.34.2-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (14.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ i686manylinux: glibc 2.5+ i686

ez_a_sync-0.34.2-cp312-cp312-macosx_11_0_arm64.whl (5.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ez_a_sync-0.34.2-cp311-cp311-win_amd64.whl (5.3 MB view details)

Uploaded CPython 3.11Windows x86-64

ez_a_sync-0.34.2-cp311-cp311-win32.whl (5.0 MB view details)

Uploaded CPython 3.11Windows x86

ez_a_sync-0.34.2-cp311-cp311-musllinux_1_2_x86_64.whl (14.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

ez_a_sync-0.34.2-cp311-cp311-musllinux_1_2_i686.whl (14.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

ez_a_sync-0.34.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (14.4 MB view details)

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

ez_a_sync-0.34.2-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (14.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ i686manylinux: glibc 2.5+ i686

ez_a_sync-0.34.2-cp311-cp311-macosx_11_0_arm64.whl (5.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ez_a_sync-0.34.2-cp310-cp310-win_amd64.whl (5.3 MB view details)

Uploaded CPython 3.10Windows x86-64

ez_a_sync-0.34.2-cp310-cp310-win32.whl (5.0 MB view details)

Uploaded CPython 3.10Windows x86

ez_a_sync-0.34.2-cp310-cp310-musllinux_1_2_x86_64.whl (13.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

ez_a_sync-0.34.2-cp310-cp310-musllinux_1_2_i686.whl (13.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

ez_a_sync-0.34.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (14.0 MB view details)

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

ez_a_sync-0.34.2-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (13.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ i686manylinux: glibc 2.5+ i686

ez_a_sync-0.34.2-cp310-cp310-macosx_11_0_arm64.whl (5.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file ez_a_sync-0.34.2.tar.gz.

File metadata

  • Download URL: ez_a_sync-0.34.2.tar.gz
  • Upload date:
  • Size: 3.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for ez_a_sync-0.34.2.tar.gz
Algorithm Hash digest
SHA256 3f86262a51cce02c39c35ab0e05984a61d77a54832ffdd9d39c4344d1fe008ea
MD5 7a2f8ca34737bcdd12b6cd2803dcfb26
BLAKE2b-256 76fef594dd7592272245a28540a341976e3011e6dd409817e6b3548376a7963e

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 dbac1f521f78b6fc4232a4d78ecb8e6f57c33a8225e7900fd835c3f2599d4ebd
MD5 ac209c853d0256062a67398be9d7612f
BLAKE2b-256 6299a05e641af76fe1a1ca995b18c5dd95134ec4967bfefe94f1bd9da90b7aad

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp314-cp314t-win32.whl.

File metadata

  • Download URL: ez_a_sync-0.34.2-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 5.4 MB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for ez_a_sync-0.34.2-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 e1bb5cba8716fade5e00b462077abc4f075c52557221a16fcf33e0b15d433c70
MD5 b250407af2efbb5fe4a957f3a43aca7b
BLAKE2b-256 7b7a0a31dd66f11108cd859fac4f1aab543b8d6f5d4cd930af3d76e442915718

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 70db8b20971446f2ac917357fa4e8e440c4d16ca29bc5d7105a1bad51a524a01
MD5 4ca8ccc02cd889c5986e5acbb73768b3
BLAKE2b-256 21cbd2b35cf95fe21e2ab4efc503961f128d4b734d31fef88db3008699ed4493

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: ez_a_sync-0.34.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 5.4 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for ez_a_sync-0.34.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 edc6f657daba98464d56e554108011a6060c1cf505d1bd52c219dca32ee267dc
MD5 13265055c24a066bc1d6619847101b4f
BLAKE2b-256 d28745d0807700817851398b3e79da109ca888b9a611a470afcae25c39ab6bbd

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp314-cp314-win32.whl.

File metadata

  • Download URL: ez_a_sync-0.34.2-cp314-cp314-win32.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for ez_a_sync-0.34.2-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 935fdab9e27f7ef18337d84d9bc2d02e57255b0d16fb08babb896d0bf327584f
MD5 b7cbd48773c4ee6a862f047253d941e7
BLAKE2b-256 694545b5320a33d84176524e9ee62850b4e09d7c90b384dd581133e265232048

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9eec25403a14b83c6055fb554caa2fcbddfafbf4b374cbbe2a063d719c3a1eda
MD5 a4651684258c7c0e19587b0a54436b11
BLAKE2b-256 c15fedcc686f145e09f30075f9311e3a5e0513615c5c2349df359e260b1a510e

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ez_a_sync-0.34.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 5.3 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for ez_a_sync-0.34.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1e859efbe3edf407e45f8f9177323cf2a04beff4d7722357df75217c956f09aa
MD5 94675c91972bded52be84ea55ba1d761
BLAKE2b-256 1436f253190e4bb555549c48bc6b4319ac2f9b6bcc74d70ed7e1c87026faf907

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp313-cp313-win32.whl.

File metadata

  • Download URL: ez_a_sync-0.34.2-cp313-cp313-win32.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for ez_a_sync-0.34.2-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 85b43c3cf6b05905d9e7df10f9e07c81bce97ae6cc2e8f37a5c42bedae4363ae
MD5 ce9550c28f8740f87c28983543ef73bf
BLAKE2b-256 9778641a3706a7782c925715c490992cada0043520fd4aee7c0bb24313a858d7

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f334fc348b317a664a80e903b50e72fbc2fa1102b237f01f36f0c03198a767d7
MD5 d78c63d37f4116f8ab0c0a9edf90daf4
BLAKE2b-256 94355da15ae71e32a6c423f60158284e3f0875c1a3c334a2c8740aaadb8846ef

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1ca73ebdf23f89ed8102d9e2b082ccd0aac8f2f72965d608b760e73244acd5e7
MD5 cb34295844a1a28900b1f0c724c34bee
BLAKE2b-256 f86a71d8f277a3436be57b5b0d9f3998c2c877547a1586cc56516507a64fd799

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3949644b91aa08acfad8313519e2d338a283ee9a487108c7bb19a3093854ab02
MD5 9fbb70d1a0339591772c45d2d9fa151b
BLAKE2b-256 37e93538f922b80b0c5734b2f988adeed4ac5101741aec5cac6ad6e5397ed391

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 a3b4e02ea027409e2b029e60e55cf4c5dcb7f39d0ff1f3e7214f3c6a9a86646a
MD5 9fa72dee8d542508fe62bde3682ed9f7
BLAKE2b-256 00b1457fb2c4979b93e5cfa39cc49a6e6904da70facf7e916e8ae40f8cf53202

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f807d703fb562b7178348d2b2cea00ea7526391d291bac80fe900757f76e958d
MD5 9c35c72bc0fb16c2b99bca5429aac84b
BLAKE2b-256 0cc7e2adfc093ffbd13aae2e4be3387aac173313dc48dd35bf05e170616d287d

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ez_a_sync-0.34.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 5.3 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for ez_a_sync-0.34.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9fe9217a284162230b9f50983943f3fcc0eb955aecf64aa1098e298995c63e06
MD5 04c50ce8c900afc5b4caeda8501e8235
BLAKE2b-256 68ac85d504c4982c2a4b6b3086530e23b9f599d6ad879c12cd7214684c63df59

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp312-cp312-win32.whl.

File metadata

  • Download URL: ez_a_sync-0.34.2-cp312-cp312-win32.whl
  • Upload date:
  • Size: 5.0 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for ez_a_sync-0.34.2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 cdeb453b98a17c3c23abc20dff3df6a007cb5a4d4dd77a5c3bb89047e9bea908
MD5 685757dede4f815b74384820c3cd1f7b
BLAKE2b-256 d5b681f99572fcdbd904009936fb7b9f6df25b679715db05748d85f96336ba3f

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7042a9311c4f33523e256e321d1e8b99b04daa7fba7e3b89197b468a141b12a7
MD5 eb24f031472d99fcffb03f03f97d3273
BLAKE2b-256 5cbc762b807b69c8e6905c4f0aff727442cebd6366a68631800e95ae56f49ce0

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8f5ea1794ad99989111184c6fb43c7d93d2ebc3015fb24aa9b4e7653e4eb9538
MD5 a679210c8c1bb2c75629770598a3427e
BLAKE2b-256 7f1115462eae8ab6b9f901e32a48ac4f5932fc44ae64017da4873609ece2bfdc

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2797dc98cbd8c81bd9f6efa492c773c8a4cbd41410061148e834607f36ec76f6
MD5 8c2542d4f29d61350a00d2f4da87e826
BLAKE2b-256 5b09de1a96877432d91e89f6d90b61fa8bcef8ed043b2fc7be12f959cf775c45

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 ad6248bb2521694a07f3771b09e5dd5afd464d7103fdfb3cbc3ab21f4b77a6ce
MD5 fad6705481171c52fbb04e8488535917
BLAKE2b-256 cc4695f2508781b37c19c5edd6b4910c7ec9a88abcc5db6392f5de5fe50ac0b4

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3a8b3d59be96597f99bb1311e258aaa60b5c3b8e60108773d5d2614395374234
MD5 96ddf83850e7b431ee2b40064edc40ca
BLAKE2b-256 be57e07aa642a075d1579967a5d48e5a41a085caae386019d38d44e4cda8dda8

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ez_a_sync-0.34.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 5.3 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for ez_a_sync-0.34.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3dd6624717c2bd056afff5cb68a0a311ac6be191942c0381d54d4bc829fd39ed
MD5 c32b6e110ce35807e1f5dd6add5c1cfe
BLAKE2b-256 1652ccfd2bd9c9fbc1bc62572953c8b2baab4912884f21493555b95898c3d851

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp311-cp311-win32.whl.

File metadata

  • Download URL: ez_a_sync-0.34.2-cp311-cp311-win32.whl
  • Upload date:
  • Size: 5.0 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for ez_a_sync-0.34.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 3d511f602d4518e1c23b0f1e87b000ba6d27cefc0d02cb5a5438fbc4e086c6f8
MD5 23228da71bbf1e711fa1260017859610
BLAKE2b-256 d50a472d16418c980164acde1276e6525c444ede720f175136ff099e98318738

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 55732fc8f10f8df4b2ac9402635b601180c7f5c5f0f94d7468d3c492ddb39103
MD5 e281d77dcfd99ca542a1062f1b0acf40
BLAKE2b-256 af16fa8b15e79796ac60bc05f884c75ccde966910494af05413c970ffd9eaa1d

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d756282992e9c07580fc00d8d89a18caa62df1295a63bfd5e42075b7b87d718a
MD5 cec441e0992606cf32d4e1c396f4a586
BLAKE2b-256 4af33980ed423bb487cb195d9e66e07fe4dfebbc3af3d1128cd8f3650676a1e2

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dceb9b9b9360aa3ac30cde589f0d320b50fee2d98de39fd24ff94143260b4b22
MD5 72b6df7557047f2be0be1a3c293943ca
BLAKE2b-256 84056e242b79f5a7b0ddd1a3187f15e3cb304ec77ca44f31d7635aed7b0b99c8

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 f658fd5c041dd0b31ce168b7a9938012aa2d166b565ea0ac3158dfb8e620626a
MD5 30840c43b72d7ef716a7f24a9b42c634
BLAKE2b-256 7db3418e25b743f75d08cd993ac7fcd5c6b62ffebd025641ace872a3c9e98cbb

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 34a72b31831b892031fb09e025fd0148a03163a523559be6023133388707a911
MD5 23566e97ab204f5dcdc5ceced52697df
BLAKE2b-256 dddd13c4358e68a9aa18a3dcc6206f9ddd6af0010ca6202db992aed29b467b4e

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ez_a_sync-0.34.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 5.3 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for ez_a_sync-0.34.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8317808190447ace7351299ccc74204526776cb2ee3125ad1bb977ec5447a89e
MD5 0c14ee3c1901a450738599e3e3f8f087
BLAKE2b-256 341bef46fc946dc042d22280dd272d0daa71a80d2113cb076a1a99dbfc65c3f0

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp310-cp310-win32.whl.

File metadata

  • Download URL: ez_a_sync-0.34.2-cp310-cp310-win32.whl
  • Upload date:
  • Size: 5.0 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for ez_a_sync-0.34.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 c2902c3f91a1b7cfb6659c6434e5e8684d9487423fc1d64767b73e4cd1f254b3
MD5 5ef24b289caeebcc86141dfb95001138
BLAKE2b-256 da4491f323ce7c6c196fd9a0656cb871c7e3a56e813b85274e299ea97547eadd

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bed485d109d8957dd314f0a22e76f7525abcc6e6b4fefd4e15ac667ec37ba7ae
MD5 8aa39740aee4791da64ae7f0fb2f216d
BLAKE2b-256 f98170a86f3fb5edb9ac6f3dec7c3cc594c676fadd51550df8271eb2e744d12a

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 24d771151096d871064818b0f2310cdfc0e6b457bf54afe3fa2895a5e2b23592
MD5 142b93145f72adaed563322470867389
BLAKE2b-256 d4f77657cf56e0c80c03c0a65af15e6f3c1cf548065b511480b082290ee2387a

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bf67c327f644afc25e40881c1cb352d38a71251548c6eba5fa0ef830d7a66dae
MD5 da1d73de6d9f156ce051c70d5bb6d3c7
BLAKE2b-256 54a7a29cf108df4f19ad2834c97697d23cf25f6c28f6f94ae08a613acfab545d

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 73a8faf29de64650480f1db06218e44946818f3bdee0c256ea3062307b09a3c5
MD5 d8836c27d91dc383f5ac159d042cca1d
BLAKE2b-256 73237b5a7c4a4c48820ae0ded0a36c5831228377f700f6dd1149a3810c4602b3

See more details on using hashes here.

File details

Details for the file ez_a_sync-0.34.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ez_a_sync-0.34.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fda250c3a4764e54e4ce3f09da6ed032949e67868dec73fb5c181274ba7b9d37
MD5 02b4fca826273c5f4cbb3145b926b215
BLAKE2b-256 eb6f314ba3d7db6720851ec5b3d6f15b228ae0cd10374e2e42b4a1b5e07ec7e8

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