Skip to content

Releases: tigergraph/pyTigerGraph

Release v2.0.3

16 Apr 00:05
565697d

Choose a tag to compare

pyTigerGraph 2.0.3 Release Notes

Bug Fixes

  • HTTP timeout during large file uploads — Fixed a bug where the 30-second connect timeout would kill POST body transmission for large file uploads. Both connect and read now use a single timeout value derived from GSQL-TIMEOUT.
  • Header merge order — Per-request headers (e.g. timeout passed to runLoadingJobWithFile()) now correctly override connection-wide headers set by customizeHeader().
  • Loading job default timeout — Changed from 16000ms to 0 (use server-wide timeout) for all loading functions.
  • Host URL validation — Malformed or empty hostnames and out-of-range ports now raise TigerGraphException instead of an uncaught error.
  • Host URL port extraction — Fixed double-port URLs (e.g. http://host:14240:9000) when host URL contains a port.
  • PEP 639 license compliance — Fixed build failure with newer setuptools.
  • dropGraph() cascade parameterdropGraph(graphName, cascade=True) removes associated queries and loading jobs automatically.

Release v2.0.2

08 Apr 22:05
63d828e

Choose a tag to compare

pyTigerGraph 2.0.2 Release Notes


What's New

Schema Change Job management
Full lifecycle management of schema change jobs — create, list, run, and drop — directly from the client via createSchemaChangeJob(), getSchemaChangeJobs(), runSchemaChangeJob(), and dropSchemaChangeJobs().

Graph creation with existing types
createGraph() now accepts optional vertexTypes and edgeTypes parameters to include existing global types. Pass vertexTypes=["*"] to include all global types.

Graph scope control
Switch graph context at runtime with useGraph() and useGlobal(), mirroring GSQL's USE GRAPH / USE GLOBAL. useGlobal() also works as a context manager for temporary global scoping.

Query resource control
customizeHeader() now supports threadLimit and memoryLimit to set connection-wide GSQL-THREAD-LIMIT and GSQL-QueryLocalMemLimitMB headers.

Blocking/non-blocking query installation
installQueries() now accepts a wait parameter — defaults to True (blocking) for sync and False (non-blocking) for async connections.

Smarter token handling
GSQL endpoints now use API token or JWT when available. Tokens obtained via getToken() are automatically refreshed on 401 responses; user-provided tokens raise an error instead.

Force schema changes
runSchemaChange() now supports a force parameter and accepts dict input for TigerGraph >= 4.0, including global schema changes.

GSQL reserved keyword helpers
getReservedKeywords() and isReservedKeyword(name) static methods to query the canonical set of GSQL reserved keywords.


Bug Fixes

  • installQueries() handles missing message key in server responses and times out after 1 hour instead of hanging indefinitely
  • Boolean parameters (vertexMustExist, verbose, force) now correctly convert to lowercase strings
  • dropVertices() and dropAllDataSources() correctly fall back to self.graphname
  • getVectorIndexStatus() no longer produces malformed URLs without a graph name

Release v2.0.1

23 Mar 19:57
7dfa7a1

Choose a tag to compare

pyTigerGraph 2.0.1 Release Notes


What's New

Better throughput for concurrent workloads
Parallel query execution is faster and more efficient in both sync and async modes — no code changes required.

TigerGraph 3.x and 4.x work with the same code
No version-specific branching needed — the client adapts to your server version automatically.

Easier query parameter handling
Passing vertex and MAP parameters to runInstalledQuery() is now simpler and consistent — use the same format, e.g. (id,) for VERTEX<T>, regardless of how the query runs. The client handles conversion automatically.

Data-source management
Create, update, query, and delete data sources directly from the client without dropping into GSQL.

Schema change API
Apply DDL changes to your graph schema through a single API call.

Vector index status API
Check whether a vector index is ready without writing raw GSQL.


Bug Fixes

  • Edge attribute data is now serialized correctly for all attribute types
  • vertexMustExist on edge upserts now works correctly in all cases

Known Issues

  • Valid JWT Token is reported as expired.
    • You can bypass the issue entirely by authenticating with apiToken= instead of jwtToken=.

Release v2.0.0

04 Mar 18:50
f2b8947

Choose a tag to compare

Release of pyTigerGraph version 2.0.0.

Changes:

  • Provide MCP tools

v1.9.1

04 Nov 17:24
84bdf20

Choose a tag to compare

Release of pyTigerGraph version 1.9.0.

Changes:

  • API Enhacements

v1.9.0

13 Aug 21:54
4ddaff6

Choose a tag to compare

[1.9.0] - 2025-6-30

Release of pyTigerGraph version 1.9.0.

Changes:

  • Multiple enhancements

v1.8.4

20 Jan 15:32

Choose a tag to compare

[1.8.4] - 2025-1-20

Release of pyTigerGraph version 1.8.4.

Fixed:

  • Fix URL construction when gsPort and restppPort are the same.

v1.8.3

05 Dec 01:57

Choose a tag to compare

[1.8.3] - 2024-12-04

Release of pyTigerGraph version 1.8.3.

Fixed:

  • Fix httpx timeout during async function calls. Noticed when installing a query with the .gsql() function.

v1.8.1

19 Nov 15:38
a6e70d2

Choose a tag to compare

[1.8.1] - 2024-11-19

Release of pyTigerGraph version 1.8.1.

Fixed:

  • Fix import error of TigerGraphException in the GDS submodule.

v1.8.0

05 Nov 14:52

Choose a tag to compare

[1.8] - 2024-11-04

Release of pyTigerGraph version 1.8.

Added:

  • Support for async communication with the TigerGraph Database, using the AsyncTigerGraphConnection class.
  • Added delVerticesByType() functionality
  • Added a limit parameter to getEdgesByType() to limit the number of edges returned. Note: the limit is applied after retrieving the edges from the database.
  • Added configuration parameters surrounding the atomicity of upsert operations.
  • Added runLoadingJobWithDataFrame() functionality to run a GSQL loading job with a Pandas DataFrame. Also added runLoadingJobWithData() to run a GSQL loading job with a given data string.