# VitalGraph
VitalGraph is a high-performance knowledge graph database and client library built on PostgreSQL with full SPARQL 1.1 support.
## Installation
VitalGraph offers flexible installation options depending on your use case:
### Client Only (Default - Lightweight)
For applications that only need to connect to existing VitalGraph servers:
```bash
pip install vital-graph[client]
```
This installs dependencies for the VitalGraph client library:
- Basic RDF processing (rdflib, PyLD)
- Advanced graph processing (pyoxigraph) - now included by default
- AI capabilities (openai) - now included by default
- HTTP client (requests)
- Configuration management (PyYAML, pydantic)
- CLI tools (click-repl, tabulate)
### Server Installation
For running a complete VitalGraph server with database capabilities:
```bash
pip install vital-graph[server]
```
This includes all server dependencies:
- FastAPI web framework and uvicorn server
- PostgreSQL drivers (psycopg, asyncpg)
- Database ORM (SQLAlchemy, alembic)
- Vector database support (pgvector)
- Authentication (PyJWT, email-validator)
- TiDB integration (pytidb[models], pytidb)
### Development Setup
For development with all tools:
```bash
pip install vital-graph[dev]
```
Includes pytest, black, mypy, and other development tools.
### Full Installation
For everything:
```bash
pip install vital-graph[all]
```
### Custom Combinations
You can combine multiple extras:
```bash
pip install vital-graph[client,dev]
pip install vital-graph[server,test,docs]
```
## Quick Start
### Client Usage
```python
from vitalgraph.client import VitalGraphClient
# Initialize client with config file
client = VitalGraphClient("path/to/config.yaml")
# Connect to server
await client.open()
# Execute SPARQL queries
results = await client.sparql.query("SELECT ?s ?p ?o WHERE { ?s ?p ?o } LIMIT 10")
# Close connection
await client.close()
```
### Server Usage
```bash
# Start VitalGraph server
vitalgraphdb
# Or with custom config
vitalgraphdb --config /path/to/vitalgraphdb-config.yaml
```
## Features
- **Full SPARQL 1.1 Support**: SELECT, CONSTRUCT, ASK, DESCRIBE, UPDATE operations
- **High Performance**: PostgreSQL-backed with optimized query translation
- **RESTful API**: Complete REST API for all operations
- **Client Library**: Python client with authentication and session management
- **Docker Support**: Ready-to-use Docker containers
- **Knowledge Graph Types**: Built-in support for VitalSigns ontologies
- **Real-time Updates**: WebSocket support for live data updates
## Architecture
VitalGraph consists of:
- **Client Library** (`vitalgraph.client`): Lightweight REST API client
- **Server** (`vitalgraph.server`): FastAPI-based graph database server
- **Database Layer** (`vitalgraph.db`): PostgreSQL integration with SPARQL translation
- **Admin Tools** (`vitalgraphadmin`): Database administration utilities
## Documentation
- [Installation Guide](docs/installation.md)
- [Client API Reference](docs/client-api.md)
- [Server Configuration](docs/server-config.md)
- [SPARQL Examples](docs/sparql-examples.md)
## License
Apache License 2.0
Raw data
{
"_id": null,
"home_page": null,
"name": "vital-graph",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "knowledge-graph, rdf, sparql, database, semantic-web",
"author": null,
"author_email": "Marc Hadfield <marc@vital.ai>",
"download_url": "https://files.pythonhosted.org/packages/5b/68/3639d70f63fb4109c25d79364633dbcf37c475b80a816e010d19234640d3/vital_graph-0.0.3.tar.gz",
"platform": null,
"description": "# VitalGraph\n\nVitalGraph is a high-performance knowledge graph database and client library built on PostgreSQL with full SPARQL 1.1 support.\n\n## Installation\n\nVitalGraph offers flexible installation options depending on your use case:\n\n### Client Only (Default - Lightweight)\n\nFor applications that only need to connect to existing VitalGraph servers:\n\n```bash\npip install vital-graph[client]\n```\n\nThis installs dependencies for the VitalGraph client library:\n- Basic RDF processing (rdflib, PyLD)\n- Advanced graph processing (pyoxigraph) - now included by default\n- AI capabilities (openai) - now included by default\n- HTTP client (requests)\n- Configuration management (PyYAML, pydantic)\n- CLI tools (click-repl, tabulate)\n\n### Server Installation\n\nFor running a complete VitalGraph server with database capabilities:\n\n```bash\npip install vital-graph[server]\n```\n\nThis includes all server dependencies:\n- FastAPI web framework and uvicorn server\n- PostgreSQL drivers (psycopg, asyncpg)\n- Database ORM (SQLAlchemy, alembic)\n- Vector database support (pgvector)\n- Authentication (PyJWT, email-validator)\n- TiDB integration (pytidb[models], pytidb)\n\n### Development Setup\n\nFor development with all tools:\n\n```bash\npip install vital-graph[dev]\n```\n\nIncludes pytest, black, mypy, and other development tools.\n\n### Full Installation\n\nFor everything:\n\n```bash\npip install vital-graph[all]\n```\n\n### Custom Combinations\n\nYou can combine multiple extras:\n\n```bash\npip install vital-graph[client,dev]\npip install vital-graph[server,test,docs]\n```\n\n## Quick Start\n\n### Client Usage\n\n```python\nfrom vitalgraph.client import VitalGraphClient\n\n# Initialize client with config file\nclient = VitalGraphClient(\"path/to/config.yaml\")\n\n# Connect to server\nawait client.open()\n\n# Execute SPARQL queries\nresults = await client.sparql.query(\"SELECT ?s ?p ?o WHERE { ?s ?p ?o } LIMIT 10\")\n\n# Close connection\nawait client.close()\n```\n\n### Server Usage\n\n```bash\n# Start VitalGraph server\nvitalgraphdb\n\n# Or with custom config\nvitalgraphdb --config /path/to/vitalgraphdb-config.yaml\n```\n\n## Features\n\n- **Full SPARQL 1.1 Support**: SELECT, CONSTRUCT, ASK, DESCRIBE, UPDATE operations\n- **High Performance**: PostgreSQL-backed with optimized query translation\n- **RESTful API**: Complete REST API for all operations\n- **Client Library**: Python client with authentication and session management\n- **Docker Support**: Ready-to-use Docker containers\n- **Knowledge Graph Types**: Built-in support for VitalSigns ontologies\n- **Real-time Updates**: WebSocket support for live data updates\n\n## Architecture\n\nVitalGraph consists of:\n\n- **Client Library** (`vitalgraph.client`): Lightweight REST API client\n- **Server** (`vitalgraph.server`): FastAPI-based graph database server\n- **Database Layer** (`vitalgraph.db`): PostgreSQL integration with SPARQL translation\n- **Admin Tools** (`vitalgraphadmin`): Database administration utilities\n\n## Documentation\n\n- [Installation Guide](docs/installation.md)\n- [Client API Reference](docs/client-api.md)\n- [Server Configuration](docs/server-config.md)\n- [SPARQL Examples](docs/sparql-examples.md)\n\n## License\n\nApache License 2.0\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "VitalGraph",
"version": "0.0.3",
"project_urls": {
"Bug Tracker": "https://github.com/vital-ai/vital-graph/issues",
"Documentation": "https://github.com/vital-ai/vital-graph/docs",
"Homepage": "https://github.com/vital-ai/vital-graph",
"Repository": "https://github.com/vital-ai/vital-graph"
},
"split_keywords": [
"knowledge-graph",
" rdf",
" sparql",
" database",
" semantic-web"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "36e054d4d75315c160c8caac909194b931a900b6fc8e472b58eb35c5fd64fa30",
"md5": "606b9407386d7d554b6601bca0be95a4",
"sha256": "ba563e7c7f8c2128ff2e72582a8d4e1980418665e30245d6c8365fe2c8cf2ef5"
},
"downloads": -1,
"filename": "vital_graph-0.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "606b9407386d7d554b6601bca0be95a4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 6668795,
"upload_time": "2025-10-22T23:24:13",
"upload_time_iso_8601": "2025-10-22T23:24:13.856289Z",
"url": "https://files.pythonhosted.org/packages/36/e0/54d4d75315c160c8caac909194b931a900b6fc8e472b58eb35c5fd64fa30/vital_graph-0.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5b683639d70f63fb4109c25d79364633dbcf37c475b80a816e010d19234640d3",
"md5": "5789c0a8fc1d862bc1c1973835c8d74c",
"sha256": "7431547f29e08c4a9ae3acfb1aef6ef17cf62a7414b7d270ecd67c82de8596eb"
},
"downloads": -1,
"filename": "vital_graph-0.0.3.tar.gz",
"has_sig": false,
"md5_digest": "5789c0a8fc1d862bc1c1973835c8d74c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 6415346,
"upload_time": "2025-10-22T23:24:15",
"upload_time_iso_8601": "2025-10-22T23:24:15.587065Z",
"url": "https://files.pythonhosted.org/packages/5b/68/3639d70f63fb4109c25d79364633dbcf37c475b80a816e010d19234640d3/vital_graph-0.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-22 23:24:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "vital-ai",
"github_project": "vital-graph",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "vital-graph"
}