mirror of
https://github.com/hanzo-ds/pool.git
synced 2026-10-30 20:37:50 +00:00
main
Superseded: the Hanzo GitHub App pushes a webhook, so the forge tracks GitHub without a per-repo workflow. This file called git.hanzo.ai/api/v1/.../mirror-sync — a Gitea API for a system we no longer drive — and would sit inert in every repo. One mechanism, in one place, instead of ~350 copies of a cron.
Datastore Pool for Python
A thread-safe connection pool for Datastore. Inspired by psycopg2 and using
datastore-driver for
connections.
Installation
pip install datastore-pool
Quick Start
from datastore_pool import ChPool
# find available settings at https://datastore-driver.readthedocs.io/en/latest/api.html#datastore_driver.Client
pool = ChPool(host="localhost")
with pool.get_client() as client:
# execute sql and print the result
result = client.execute("SELECT * FROM system.numbers LIMIT 5")
print(result)
# always close all connections in the pool once you're done with it
pool.cleanup()
Connection Pool Size
To change the connection pool size,
pool = ChPool(connections_min=20, connections_max=40)
with pool.get_client() as client:
result = client.execute("SELECT * FROM system.numbers LIMIT 5")
print(result)
# always close all connections in the pool once you're done with it
pool.cleanup()
Testing Locally
To run tests locally ensure you have an instance of datastore-server running on localhost. The easiest way is to use docker:
docker run -d -p 9000:9000 yandex/datastore-server
poetry run pytest
Building Docs
poetry run sphinx-build -M html docs/source docs/_build
Languages
Python
100%