Skip to main content

Query Results Parser (QRP) for Apache AGE database queries using psycopg

Project description

ageqrp

Query Results Parser (QRP) for Apache AGE database queries using psycopg

Urls

Features

  • Easy to use
  • Transforms the augmented AGE JSON into regular JSON

Quick start

Installation

$ pip install ageqrp

Use

import json

from ageqrp import QueryResultParser

import psycopg_pool

...

# This example is from a FastAPI web application

async def post_query(req: Request, query_type):
    form_data = await req.form()
    cypher_query = form_data.get("cypher_query").replace("\r\n", "").strip()
    result_objects = list()
    qrp = QueryResultParser()
        
    try:
        async with req.app.async_pool.connection() as conn:
            async with conn.cursor() as cursor:
                try:
                    await asyncio.wait_for(cursor.execute(cypher_query), timeout=10.0)
                    results = await cursor.fetchall()
                    for row in results:
                        # psycopg results parsed into regular JSON objects here
                        result_objects.append(qrp.parse(row))

The above cypher_query may look something like this:

select * from ag_catalog.cypher('legal_cases',
  $$ MATCH (c:Case {id: 999494})-[r:cites*1..2]->(c2:Case) RETURN c,r limit 100 $$)
  as (c agtype, r agtype);

Also see file sample-program.py in the GitHub repo as well as the unit tests in the tests/ directory.


Changelog

Current version: 0.2.0

  • 2024/12/12, version 0.2.0, Docs and tests enhanced
  • 2024/12/01, version 0.1.0, Initial Production release

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

ageqrp-0.2.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

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

ageqrp-0.2.0-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file ageqrp-0.2.0.tar.gz.

File metadata

  • Download URL: ageqrp-0.2.0.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.1

File hashes

Hashes for ageqrp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d37632f31d17cda76d68b9ccd55d30e02e66203097f09b6bd05e144427d9feeb
MD5 a085dfcfc6673cd19fa3de7ddc1a6560
BLAKE2b-256 66de4f37d35d70cd1e22839b2c881e1d83ef28dc1daeb45e94564b090a795ecd

See more details on using hashes here.

File details

Details for the file ageqrp-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: ageqrp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.1

File hashes

Hashes for ageqrp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 781379afdab125fd00f9da79279c67aca9533ff6b73fa90000aee415b696e143
MD5 b9091b396d0d7b71e42327950e000467
BLAKE2b-256 9e8c180ccf6d074379e4c1750f5bd6c9fdc8b220f075bdda3a9c238813cdb793

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