Skip to main content
https://img.shields.io/pypi/v/async-repool.svg https://img.shields.io/pypi/l/async-repool.svg https://gitlab.com/AnjiProject/async-repool/badges/master/build.svg

async-repool is a Python library which provides a asyncio-based connection pool management for accessing a RethinkDB database. async-repool creates and maintains a configurable pool of active connection to a RethinkDB database. These connections are then available individually through a basic API.

Internally, repool uses the Python AsyncIO Queue class which is not thread-safe. This means that the same connection pool cannot be share between several threads, please, use asyncio with process workers instead.

This is just asyncio-based clone of repool.

Installation

async-repool is available as a python library on Pypi. Installation is very simple using pip :

$ pip install async_repool

This will install async-repool as well as rethinkdb dependency.

Basic usage

A new connection pool using default connection configurations can simply be created by:

from async_repool import AsyncConnectionPool

pool = AsyncConnectionPool(dict())  # Required argument is kwargs for R.connect function
await pool.init_pool()
conn = await pool.acquire()         #returns a Connection instance
await r.table('heroes').run(conn)   #do RethinkDB stuff
# ...
pool.release(conn)          #put back connection to the pool
await pool.release_pool()         #release pool (close rethinkdb connections)

# ...
async with pool.connect() as conn1:
    # do something with conn1
# pool.release(conn1) is automatically called after leaving the with code block

Optional arguments

AsyncConnectionPool creation accepts a number of optional arguments:

  • pool_size: set the pool size, ie. the number of connections opened simultaneously (default=3).

  • connection_ttl: set the connection time to live. Connections older than TTL are automatically closed and re-opened when acquire (default=3600 seconds, set to 0 for disable)

Metadata

Release files for async-repool 1.0.1

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

Built distribution (wheel)

Table of built distributions (wheels) for async-repool 1.0.1
File Interpreter ABI Platform
async_repool-1.0.1-py2.py3-none-any.whl Python 3, Python 2 none any Details

Release files / async_repool-1.0.1-py2.py3-none-any.whl

Download URL async_repool-1.0.1-py2.py3-none-any.whl
Size 6.3 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
3977026c173bb68f03963e71538e5c85ca61f0baf92abe96e550613de79bb0ed
BLAKE2b-256 checksum
How to use checksums
9cdeff971df70bf6828c7b0f7b2b456573893e2f0b793a52cd10b55c5f3bb77e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

Release history Release notifications | RSS feed

This release

1.0.1 This release

1 release file

1.0.0

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.1

1 release file

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