kiarina-falkordb


Namekiarina-falkordb JSON
Version 1.3.0 PyPI version JSON
download
home_pagehttps://github.com/kiarina/falkordb-py
SummaryFalkorDB Python client (fork with additional fixes)
upload_time2025-10-24 00:30:50
maintainerNone
docs_urlNone
authorFalkorDB inc
requires_python<4.0,>=3.9
licenseNone
keywords falkordb graphdb cypher
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![license](https://img.shields.io/github/license/kiarina/falkordb-py.svg)](https://github.com/kiarina/falkordb-py)
[![Release](https://img.shields.io/github/release/kiarina/falkordb-py.svg)](https://github.com/kiarina/falkordb-py/releases/latest)
[![PyPI version](https://badge.fury.io/py/kiarina-falkordb.svg)](https://badge.fury.io/py/kiarina-falkordb)

# kiarina-falkordb

> **ℹ️ This is a fork of [falkordb-py](https://github.com/FalkorDB/falkordb-py) with additional fixes.**
>
> **Original work by the [FalkorDB team](https://github.com/FalkorDB/falkordb-py).**
>
> This fork includes bug fixes and improvements that are pending upstream merge.

[![Try Free](https://img.shields.io/badge/Try%20Free-FalkorDB%20Cloud-FF8101?labelColor=FDE900&style=for-the-badge&link=https://app.falkordb.cloud)](https://app.falkordb.cloud)

FalkorDB Python client

see [docs](http://falkordb-py.readthedocs.io/)

## Installation
```sh
pip install kiarina-falkordb
```

## Differences from upstream

- ✅ **redis-py 7.0.0 support** - Compatible with redis-py >= 7.0.0
- ✅ **Python 3.9+ required** - Dropped Python 3.8 support for redis-py 7.x compatibility
- ✅ Fixed async `from_url()` to correctly use host/port from URL
- ✅ All original functionality preserved
- 🔄 Actively maintained with upstream compatibility

## Usage

### Run FalkorDB instance
Docker:
```sh
docker run --rm -p 6379:6379 falkordb/falkordb
```
Or use [FalkorDB Cloud](https://app.falkordb.cloud)

### Synchronous Example

```python
from falkordb import FalkorDB

# Connect to FalkorDB
db = FalkorDB(host='localhost', port=6379)

# Select the social graph
g = db.select_graph('social')

# Create 100 nodes and return a handful
nodes = g.query('UNWIND range(0, 100) AS i CREATE (n {v:1}) RETURN n LIMIT 10').result_set
for n in nodes:
    print(n)

# Read-only query the graph for the first 10 nodes
nodes = g.ro_query('MATCH (n) RETURN n LIMIT 10').result_set

# Copy the Graph
copy_graph = g.copy('social_copy')

# Delete the Graph
g.delete()
```

### Asynchronous Example

```python
import asyncio
from falkordb.asyncio import FalkorDB
from redis.asyncio import BlockingConnectionPool

async def main():

    # Connect to FalkorDB
    pool = BlockingConnectionPool(max_connections=16, timeout=None, decode_responses=True)
    db = FalkorDB(connection_pool=pool)

    # Select the social graph
    g = db.select_graph('social')

    # Execute query asynchronously
    result = await g.query('UNWIND range(0, 100) AS i CREATE (n {v:1}) RETURN n LIMIT 10')

    # Process results
    for n in result.result_set:
        print(n)

    # Run multiple queries concurrently
    tasks = [
        g.query('MATCH (n) WHERE n.v = 1 RETURN count(n) AS count'),
        g.query('CREATE (p:Person {name: "Alice"}) RETURN p'),
        g.query('CREATE (p:Person {name: "Bob"}) RETURN p')
    ]

    results = await asyncio.gather(*tasks)

    # Process concurrent results
    print(f"Node count: {results[0].result_set[0][0]}")
    print(f"Created Alice: {results[1].result_set[0][0]}")
    print(f"Created Bob: {results[2].result_set[0][0]}")

    # Close the connection when done
    await pool.aclose()

# Run the async example
if __name__ == "__main__":
    asyncio.run(main())
```

## Development

### Running Tests

Start a FalkorDB instance:
```sh
docker run -d --rm --name falkordb-test -p 6379:6379 falkordb/falkordb:latest
```

Install dependencies and run tests:
```sh
poetry install
poetry run pytest -v
```

Stop the test instance:
```sh
docker stop falkordb-test
```

### Release

Build and publish to PyPI:
```sh
poetry build
poetry publish
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/kiarina/falkordb-py",
    "name": "kiarina-falkordb",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": "FalkorDB, GraphDB, Cypher",
    "author": "FalkorDB inc",
    "author_email": "info@falkordb.com",
    "download_url": "https://files.pythonhosted.org/packages/af/16/e03a3e8710e064087a8abc8de268392537d1545bcd27838e783bec321dad/kiarina_falkordb-1.3.0.tar.gz",
    "platform": null,
    "description": "[![license](https://img.shields.io/github/license/kiarina/falkordb-py.svg)](https://github.com/kiarina/falkordb-py)\n[![Release](https://img.shields.io/github/release/kiarina/falkordb-py.svg)](https://github.com/kiarina/falkordb-py/releases/latest)\n[![PyPI version](https://badge.fury.io/py/kiarina-falkordb.svg)](https://badge.fury.io/py/kiarina-falkordb)\n\n# kiarina-falkordb\n\n> **\u2139\ufe0f This is a fork of [falkordb-py](https://github.com/FalkorDB/falkordb-py) with additional fixes.**\n>\n> **Original work by the [FalkorDB team](https://github.com/FalkorDB/falkordb-py).**\n>\n> This fork includes bug fixes and improvements that are pending upstream merge.\n\n[![Try Free](https://img.shields.io/badge/Try%20Free-FalkorDB%20Cloud-FF8101?labelColor=FDE900&style=for-the-badge&link=https://app.falkordb.cloud)](https://app.falkordb.cloud)\n\nFalkorDB Python client\n\nsee [docs](http://falkordb-py.readthedocs.io/)\n\n## Installation\n```sh\npip install kiarina-falkordb\n```\n\n## Differences from upstream\n\n- \u2705 **redis-py 7.0.0 support** - Compatible with redis-py >= 7.0.0\n- \u2705 **Python 3.9+ required** - Dropped Python 3.8 support for redis-py 7.x compatibility\n- \u2705 Fixed async `from_url()` to correctly use host/port from URL\n- \u2705 All original functionality preserved\n- \ud83d\udd04 Actively maintained with upstream compatibility\n\n## Usage\n\n### Run FalkorDB instance\nDocker:\n```sh\ndocker run --rm -p 6379:6379 falkordb/falkordb\n```\nOr use [FalkorDB Cloud](https://app.falkordb.cloud)\n\n### Synchronous Example\n\n```python\nfrom falkordb import FalkorDB\n\n# Connect to FalkorDB\ndb = FalkorDB(host='localhost', port=6379)\n\n# Select the social graph\ng = db.select_graph('social')\n\n# Create 100 nodes and return a handful\nnodes = g.query('UNWIND range(0, 100) AS i CREATE (n {v:1}) RETURN n LIMIT 10').result_set\nfor n in nodes:\n    print(n)\n\n# Read-only query the graph for the first 10 nodes\nnodes = g.ro_query('MATCH (n) RETURN n LIMIT 10').result_set\n\n# Copy the Graph\ncopy_graph = g.copy('social_copy')\n\n# Delete the Graph\ng.delete()\n```\n\n### Asynchronous Example\n\n```python\nimport asyncio\nfrom falkordb.asyncio import FalkorDB\nfrom redis.asyncio import BlockingConnectionPool\n\nasync def main():\n\n    # Connect to FalkorDB\n    pool = BlockingConnectionPool(max_connections=16, timeout=None, decode_responses=True)\n    db = FalkorDB(connection_pool=pool)\n\n    # Select the social graph\n    g = db.select_graph('social')\n\n    # Execute query asynchronously\n    result = await g.query('UNWIND range(0, 100) AS i CREATE (n {v:1}) RETURN n LIMIT 10')\n\n    # Process results\n    for n in result.result_set:\n        print(n)\n\n    # Run multiple queries concurrently\n    tasks = [\n        g.query('MATCH (n) WHERE n.v = 1 RETURN count(n) AS count'),\n        g.query('CREATE (p:Person {name: \"Alice\"}) RETURN p'),\n        g.query('CREATE (p:Person {name: \"Bob\"}) RETURN p')\n    ]\n\n    results = await asyncio.gather(*tasks)\n\n    # Process concurrent results\n    print(f\"Node count: {results[0].result_set[0][0]}\")\n    print(f\"Created Alice: {results[1].result_set[0][0]}\")\n    print(f\"Created Bob: {results[2].result_set[0][0]}\")\n\n    # Close the connection when done\n    await pool.aclose()\n\n# Run the async example\nif __name__ == \"__main__\":\n    asyncio.run(main())\n```\n\n## Development\n\n### Running Tests\n\nStart a FalkorDB instance:\n```sh\ndocker run -d --rm --name falkordb-test -p 6379:6379 falkordb/falkordb:latest\n```\n\nInstall dependencies and run tests:\n```sh\npoetry install\npoetry run pytest -v\n```\n\nStop the test instance:\n```sh\ndocker stop falkordb-test\n```\n\n### Release\n\nBuild and publish to PyPI:\n```sh\npoetry build\npoetry publish\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "FalkorDB Python client (fork with additional fixes)",
    "version": "1.3.0",
    "project_urls": {
        "Homepage": "https://github.com/kiarina/falkordb-py",
        "Repository": "https://github.com/kiarina/falkordb-py"
    },
    "split_keywords": [
        "falkordb",
        " graphdb",
        " cypher"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b812b205afe995c0fb0fc0bb2a4dabfc45d336996a8e9dcf483ca0d425e1f23e",
                "md5": "7b8d3c9bf7601275b56669e293a244fe",
                "sha256": "56da45c968465784c1617c0c583ccf03ba1e4182229cf1754495b93026bf83f7"
            },
            "downloads": -1,
            "filename": "kiarina_falkordb-1.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7b8d3c9bf7601275b56669e293a244fe",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 35177,
            "upload_time": "2025-10-24T00:30:49",
            "upload_time_iso_8601": "2025-10-24T00:30:49.873016Z",
            "url": "https://files.pythonhosted.org/packages/b8/12/b205afe995c0fb0fc0bb2a4dabfc45d336996a8e9dcf483ca0d425e1f23e/kiarina_falkordb-1.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "af16e03a3e8710e064087a8abc8de268392537d1545bcd27838e783bec321dad",
                "md5": "540b10eecf41bd1d7d68d6d77c44e089",
                "sha256": "786ee07e0aaa3f901b0a013dc0a3a76afe8617aa5ea7cc6826bdf35dbf06702a"
            },
            "downloads": -1,
            "filename": "kiarina_falkordb-1.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "540b10eecf41bd1d7d68d6d77c44e089",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 29640,
            "upload_time": "2025-10-24T00:30:50",
            "upload_time_iso_8601": "2025-10-24T00:30:50.985883Z",
            "url": "https://files.pythonhosted.org/packages/af/16/e03a3e8710e064087a8abc8de268392537d1545bcd27838e783bec321dad/kiarina_falkordb-1.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-24 00:30:50",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kiarina",
    "github_project": "falkordb-py",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "kiarina-falkordb"
}
        
Elapsed time: 2.27950s