Metadata-Version: 2.4
Name: graphforge
Version: 0.5.2
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Rust
Classifier: Topic :: Database :: Database Engines/Servers
Requires-Dist: pyarrow>=14
Requires-Dist: polars>=0.20 ; extra == 'polars'
Provides-Extra: polars
License-File: LICENSE
License-File: NOTICE
License-File: THIRD_PARTY_NOTICES.md
Summary: GraphForge native graph engine, bindings, and repository lifecycle CLI
Keywords: graph,openCypher,Arrow,embedded,database
License-Expression: Apache-2.0
Requires-Python: >=3.10
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Documentation, https://docs.graphforge.sh/
Project-URL: Homepage, https://docs.graphforge.sh/
Project-URL: Issues, https://github.com/CurateLabs/graphforge/issues
Project-URL: Repository, https://github.com/CurateLabs/graphforge

# GraphForge for Python

Native Python bindings for GraphForge — an embedded openCypher graph engine
with Rust-owned behavior, Arrow results, and a thin repository lifecycle CLI.

## Install

**pip**

```bash
pip install graphforge
```

**uv** (recommended)

```bash
uv add graphforge
```

## First use

```python
from graphforge import GraphForge

forge = GraphForge()  # in-memory; pass a directory path for persistence

alice = forge.add_node("Person", name="Alice", age=30)
bob = forge.add_node("Person", name="Bob", age=25)
forge.add_edge(alice, "KNOWS", bob, since=2020)

table = forge.execute("""
    MATCH (p:Person)-[:KNOWS]->(friend:Person)
    WHERE p.age > 25
    RETURN p.name AS person, friend.name AS friend
""")
print(table.to_pandas())
```

`execute()` returns an Apache Arrow `Table`. The `graphforge` console entry
point launches the same Rust-owned repository CLI used by `gf` and
`npx @curatelabs/graphforge-cli`.

## Documentation

- [Quick start](https://docs.graphforge.sh/guide/quickstart/)
- [Installation](https://docs.graphforge.sh/guide/installation/)
- [Repository integration](https://docs.graphforge.sh/guides/repository-integration/)
- [Full documentation](https://docs.graphforge.sh/)

