diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/pgvector/asyncpg')
-rw-r--r-- | .venv/lib/python3.12/site-packages/pgvector/asyncpg/__init__.py | 9 | ||||
-rw-r--r-- | .venv/lib/python3.12/site-packages/pgvector/asyncpg/register.py | 31 |
2 files changed, 40 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/pgvector/asyncpg/__init__.py b/.venv/lib/python3.12/site-packages/pgvector/asyncpg/__init__.py new file mode 100644 index 00000000..543b8823 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/pgvector/asyncpg/__init__.py @@ -0,0 +1,9 @@ +from .register import register_vector +from ..utils import Vector, HalfVector, SparseVector + +__all__ = [ + 'register_vector', + 'Vector', + 'HalfVector', + 'SparseVector' +] diff --git a/.venv/lib/python3.12/site-packages/pgvector/asyncpg/register.py b/.venv/lib/python3.12/site-packages/pgvector/asyncpg/register.py new file mode 100644 index 00000000..a3880585 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/pgvector/asyncpg/register.py @@ -0,0 +1,31 @@ +from ..utils import Vector, HalfVector, SparseVector + + +async def register_vector(conn, schema='public'): + await conn.set_type_codec( + 'vector', + schema=schema, + encoder=Vector._to_db_binary, + decoder=Vector._from_db_binary, + format='binary' + ) + + try: + await conn.set_type_codec( + 'halfvec', + schema=schema, + encoder=HalfVector._to_db_binary, + decoder=HalfVector._from_db_binary, + format='binary' + ) + + await conn.set_type_codec( + 'sparsevec', + schema=schema, + encoder=SparseVector._to_db_binary, + decoder=SparseVector._from_db_binary, + format='binary' + ) + except ValueError as e: + if not str(e).startswith('unknown type:'): + raise e |