Skip to content

graphistry/tck-gfql

CI License pygraphistry

GFQL Cypher TCK Conformance Harness

This repo hosts the Cypher TCK -> GFQL translation harness used by PyGraphistry. It relies on an installed pygraphistry package to execute GFQL queries and validate results.

Layout

  • tests/cypher_tck/: Scenario translations, runner, and gap analysis.
  • TCK clone (gitignored): plans/cypher-tck-conformance/tck.
  • Sync guide: SYNC.md.

Links

Setup

  1. Install or editable-link pygraphistry:
    uv pip install --python "$(command -v python)" -e /path/to/pygraphistry
  2. Clone the openCypher TCK locally (gitignored):
    mkdir -p plans/cypher-tck-conformance
    git clone https://github.com/opencypher/openCypher plans/cypher-tck-conformance/tck

Run

./bin/ci.sh
python3 -m pytest tests/cypher_tck -xvs
TEST_CUDF=1 python3 -m pytest tests/cypher_tck -xvs

./bin/ci.sh checks that the imported graphistry.compute package exposes the GFQL row-pipeline API and row expression parser backend required by this harness before pytest collection starts.

Local pygraphistry override

Use a sibling checkout and install its dependencies in editable mode:

PYGRAPHISTRY_INSTALL=1 PYGRAPHISTRY_PATH=../pygraphistry ./bin/ci.sh

PYGRAPHISTRY_PATH without PYGRAPHISTRY_INSTALL=1 only prepends source to PYTHONPATH; that is useful for quick import checks, but strict GFQL row expression tests also need pygraphistry's parser dependency installed.

Install a specific ref from GitHub:

PYGRAPHISTRY_INSTALL=1 PYGRAPHISTRY_REF=master ./bin/ci.sh

Dependency freshness policy:

  • Non-graphistry dependencies should use a 6-day cooldown (UV_EXCLUDE_NEWER="6 days").
  • graphistry/pygraphistry is first-party and may be installed same-day.

License

This repository is licensed under the Apache License 2.0. See LICENSE and NOTICE for details and upstream attribution.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors