Skip to main content

Prometheux chain is a Python SDK designed to build, evolve and deploy your new knowledge graphs.

Project description

Prometheux_chain

Description

Prometheux Chain is a Python SDK designed to help you create, evolve, and deploy knowledge graphs with ease. The SDK offers the following capabilities:

  • Data Ingestion: Seamlessly integrate data from various sources, including databases and files.
  • Reasoning & Knowledge Augmentation: Perform logical reasoning to derive new insights and augment your existing knowledge base.
  • Explainability: Gain clear explanations of the results generated by the system.

For more information refer to the documentation

Features

  • Supports a wide range of data sources.
  • Built-in reasoning engine for deriving new knowledge.
  • Easy-to-understand explanations for enhanced interpretability.
  • Ready-to-use configurations for fast deployment.

Installation

Requirements

  • Python 3.9 or higher (Python 3.13 recommended)

Install Using pip

  1. Set Up a Virtual Environment (recommended):
python3 -m venv myenv
source myenv/bin/activate  # On Windows: myenv\Scripts\activate
  1. Install the SDK via pip:
pip install --upgrade prometheux_chain

Usage

This guide demonstrates how to get started with the Prometheux Chain SDK. The example below outlines a typical workflow, including creating a project, defining concept logic, and running concepts to generate results.

Workflow

Import the prometheux_chain

import prometheux_chain as px
import os

Define the PMTX_TOKEN environment variable for authentication

os.environ['PMTX_TOKEN'] = 'my_pmtx_token'

Configure the backend connection using your Prometheux account

px.config.set('JARVISPY_URL', "https://platform.prometheux.ai/jarvispy/'my_organization'/'my_username'")

Create a new project

project_id = px.save_project(project_name="test_project")

Define concept logic using Vadalog syntax and save it

definition = """
company("Apple", "Redwood City, CA").
company("Google", "Mountain View, CA").
company("Microsoft", "Redmond, WA").
company("Amazon", "Seattle, WA").
company("Facebook", "Menlo Park, CA").
company("Twitter", "San Francisco, CA").
company("LinkedIn", "Sunnyvale, CA").
company("Instagram", "Menlo Park, CA").

location(Location) :- company(_,Location).

@output("location").
"""
px.save_concept(project_id=project_id, definition=definition)

Run the concept to generate results

px.run_concept(project_id=project_id, concept_name="location")

Fetch the produced facts

results = px.fetch_results(project_id=project_id, output_predicate="location")

Domains

The SDK exposes a flat, function-based API (import prometheux_chain as px) covering the user-facing JarvisPy backend:

  • Projectssave_project, list_projects, load_project, copy_project, export_project / import_project, export_workspace / import_workspace, list_templates, import_template, create_project_from_context, create_snapshot, list_snapshots, restore_snapshot, delete_snapshot.
  • Data sourcesconnect_sources, list_sources, infer_schema, list_sheets, list_demo_sources, refresh_sources, preview_datasource, all_pairs_join, cleanup_sources.
  • Files (disk/)upload_file, list_files, make_directory, delete_files, move_file, download_file.
  • Conceptssave_concept, rename_concept, run_concept, run_concept_stream, list_concepts, reorder_concepts, fetch_results, search_results, llm_analysis, download_concept, generate_concept_description, get_concept_description, get_execution_status, get_execution_statuses, cleanup_concepts.
  • Knowledge graphsvisualize_concept_lineage, build_graph, list_graph_functions, run_graph_analytics.
  • Ontologysave_ontology, load_ontology, update_concept_ontology_type, add_to_lineage, describe_ontology, import_owl.
  • Knowledge / context layerlist_context_notes, create_context_note, create_context_notes_from_file, get_context_note, update_context_note, delete_context_note, search_context_notes, auto_seed, interview_template, submit_interview, onboarding_status, project_text.
  • Agentagent_chat (streaming), agent_reset.
  • Sharingcreate_share, revoke_share, update_share_role, list_shares, list_inbox, accept_share, leave_share, sync_inbox.
  • Dashboardslist_all_dashboards, list_dashboards, get_dashboard, save_dashboard, delete_dashboard.
  • Schedulescreate_policy, list_policies, get_policy, update_policy, delete_policy, trigger_policy, get_run_history.
  • Alertsget_alert_history, reprocess_alert.
  • Chat historylist_sessions, get_session, rename_session, delete_session.
  • Computecheck_compute_availability.
  • Users / accountsave_user_config, load_user_config, get_role, list_llm_models, get_usage_status, get_login_activity.
  • Auth / tokensissue_token, list_tokens, revoke_token, revoke_specific_token, revoke_all_tokens.
  • Vadalog authoringanalyze_program, build_bind, parse_binds, evaluate_program.
  • Vadalingo translationtranslate_nl_to_vadalog, translate_sql_to_vadalog, translate_rdf_to_vadalog, translate_owl_to_vadalog.

Optional configuration

Some recipient-side sharing flows require a Supabase token. Set it via the SUPABASE_TOKEN environment variable (or px.config) and it is attached automatically as the X-Supabase-Token header when present.

Streaming

A few endpoints stream results instead of returning a single response. These return Python generators you iterate over.

Chat with the Vadalog AI agent (NDJSON stream)

for event in px.agent_chat(project_id=project_id, message="What does this project do?"):
    if event.get("type") == "content":
        print(event["data"]["chunk"], end="")

Run a concept with live status updates (WebSocket stream)

WebSocket streaming requires the websocket-client dependency (installed automatically with the SDK).

for event in px.run_concept_stream(project_id=project_id, concept_name="location"):
    print(event.get("event"), event.get("data"))
    # iteration ends after the terminal "complete" or "error" event

Auto-seed the context layer from connected data sources (NDJSON stream)

for event in px.auto_seed(scope="project", scope_id=project_id):
    print(event)

Tokens

Issue and manage API tokens programmatically:

token = px.issue_token(name="ci-bot", expires_in_minutes=60)
print(token["token"])   # the raw JWT — shown only once
px.list_tokens()
px.revoke_specific_token(token["jti"])

Access to Prometheux Backend

The Prometheux backend is required to use this SDK. To request access:

License

BSD 3-Clause License — see LICENSE file for details.

About Prometheux

Prometheux is an ontology native data engine that processes data anywhere it lives. Define ontologies once and unlock knowledge that spans databases, warehouses, and platforms—built on the Vadalog reasoning engine.

Key capabilities:

  • Connect: Query across Snowflake, Databricks, Neo4j, SQL, CSV, and more without ETL or vendor lock-in
  • Think: Replace 100+ lines of PySpark/SQL with simple declarative logic. Power graph analytics without GraphDBs
  • Explain: Full lineage & traceability with deterministic, repeatable results. Ground AI in structured, explainable context

Exponentially faster and simpler than traditional approaches. Learn more at prometheux.ai.

Support

For issues, questions, or access requests:

Related Projects

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

prometheux_chain-0.3.0.tar.gz (34.3 kB view details)

Uploaded Source

Built Distribution

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

prometheux_chain-0.3.0-py3-none-any.whl (41.0 kB view details)

Uploaded Python 3

File details

Details for the file prometheux_chain-0.3.0.tar.gz.

File metadata

  • Download URL: prometheux_chain-0.3.0.tar.gz
  • Upload date:
  • Size: 34.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for prometheux_chain-0.3.0.tar.gz
Algorithm Hash digest
SHA256 598d26d2c1a48924e197bd0ad63d287af5a39a66c5fd14376661e9d42f5fdad4
MD5 7a102c0ba538c585073741b0e988ae00
BLAKE2b-256 5afbd11420645973813a2a4bae4be09063f646113d32fd9f6b0037f0471938cb

See more details on using hashes here.

File details

Details for the file prometheux_chain-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for prometheux_chain-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fc8acf318cf4dc44cc4ec01bad96d08a0ab6d7b1b7d2a9feb3995b5269e479a7
MD5 1c0dc0d286228f099b6e5857068c3aca
BLAKE2b-256 716cc9493304dac21231234920a829ede67b787ef278d22e9b0afabe3cdef90c

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