Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
f8c01d0
feat(gfql): add core AST nodes for GFQL Programs
lmeyerov Jul 19, 2025
465981c
feat(gfql): implement DAG execution with dependency resolution
lmeyerov Jul 19, 2025
9bf05bb
feat(gfql): add unified API with deprecation migration
lmeyerov Jul 19, 2025
7f6cc9e
fix(gfql): improve JSON serialization error messages
lmeyerov Jul 19, 2025
e007704
feat(gfql): add schema validation and remote graph support
lmeyerov Jul 19, 2025
3f0765a
feat(gfql): add user-friendly aliases for AST classes
lmeyerov Jul 20, 2025
73cf7ed
fix: clean up lint, type, and test issues after rebase
lmeyerov Jul 23, 2025
184e6e4
fix(lint): fix flake8 and mypy type errors in PR #706
lmeyerov Jul 24, 2025
9585397
fix(ci): trigger CI re-run to verify lint fixes
lmeyerov Jul 24, 2025
e8ef1bb
fix(lint): add whitespace around arithmetic operator in f-string
lmeyerov Jul 24, 2025
b52faa5
fix(test): correct import path for validate_schema module
lmeyerov Jul 24, 2025
554e558
refactor(ast): rename ASTQueryDAG to ASTLet for clarity
lmeyerov Jul 24, 2025
d64cf6a
refactor(compute): update imports and references to use ASTLet
lmeyerov Jul 24, 2025
4296078
test: rename test_querydag.py to test_let.py
lmeyerov Jul 24, 2025
dbf4df6
test: update all tests to use ASTLet instead of ASTQueryDAG
lmeyerov Jul 24, 2025
967f4a7
test: fix numpy.bool_ comparison in chain_dag tests
lmeyerov Jul 24, 2025
e27f16e
chore: ignore test_env directory
lmeyerov Jul 24, 2025
f676f11
feat(gfql): implement ASTCall with safelist validation
lmeyerov Jul 19, 2025
eec6389
feat(gfql): add 'call' alias for ASTCall
lmeyerov Jul 20, 2025
94bc345
feat(gfql): add schema validation for Call operations
lmeyerov Jul 19, 2025
ac078d0
feat(gfql): add comprehensive docstrings and GPU tests for Call opera…
lmeyerov Jul 19, 2025
1f38f4e
refactor: move Call operation files to compute/gfql/
lmeyerov Jul 21, 2025
fe4e5f0
fix: add missing newline to test_call_operations_gpu.py to fix W292 l…
lmeyerov Jul 21, 2025
73a9375
fix: revert gfql subdirectory refactoring that caused import conflicts
lmeyerov Jul 24, 2025
43b0437
refactor: rename chain_dag.py to chain_let.py and related files
lmeyerov Jul 24, 2025
a4de493
feat: improve __call__ method documentation and error messages for AS…
lmeyerov Jul 24, 2025
517fb09
fix: update test imports to use 'from graphistry.compute import is_in'
lmeyerov Jul 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -94,3 +94,4 @@ docs/source/demos
# AI assistant working directories
AI_PROGRESS/
PLAN.md
test_env/
22 changes: 21 additions & 1 deletion graphistry/compute/ComputeMixin.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
from graphistry.Plottable import Plottable
from graphistry.util import setup_logger
from .chain import chain as chain_base
from .chain_let import chain_let as chain_let_base
from .gfql import gfql as gfql_base
from .chain_remote import chain_remote as chain_remote_base, chain_remote_shape as chain_remote_shape_base
from .python_remote import (
python_remote_g as python_remote_g_base,
Expand Down Expand Up @@ -460,8 +462,26 @@ def filter_edges_by_dict(self, *args, **kwargs):
filter_edges_by_dict.__doc__ = filter_edges_by_dict_base.__doc__

def chain(self, *args, **kwargs):
"""
.. deprecated:: 2.XX.X
Use :meth:`gfql` instead for a unified API that supports both chains and DAGs.
"""
import warnings
warnings.warn(
"chain() is deprecated. Use gfql() instead for a unified API.",
DeprecationWarning,
stacklevel=2
)
return chain_base(self, *args, **kwargs)
chain.__doc__ = chain_base.__doc__
# Preserve original docstring after deprecation notice
chain.__doc__ = (chain.__doc__ or "") + "\n\n" + (chain_base.__doc__ or "")

# chain_let removed from public API - use gfql() instead
# (chain_let_base still available internally for gfql dispatch)

def gfql(self, *args, **kwargs):
return gfql_base(self, *args, **kwargs)
gfql.__doc__ = gfql_base.__doc__

def chain_remote(self, *args, **kwargs) -> Plottable:
return chain_remote_base(self, *args, **kwargs)
Expand Down
3 changes: 2 additions & 1 deletion graphistry/compute/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from .ComputeMixin import ComputeMixin
from .ast import (
n, e, e_forward, e_reverse, e_undirected
n, e, e_forward, e_reverse, e_undirected,
let, remote, ref, call
)
from .chain import Chain
from .predicates.is_in import (
Expand Down
Loading
Loading