Skip to main content

A Python Object Graph Mapper for labeled property graph databases

Project description

pylpg

A Python Object Graph Mapper for labeled property graph databases.

Features

  • Simple model definition using Python type annotations
  • Multi-backend: Neo4j, FalkorDB, FalkorDBLite (embedded)
  • Session-based persistence with node binding
  • Transactional batch operations (Neo4j)
  • Node hydration from raw query results

Installation

pip install pylpg[neo4j]        # Neo4j
pip install pylpg[falkordb]     # FalkorDB
pip install pylpg[falkordblite] # FalkorDBLite (embedded, no server)

Quick example

import pylpg.node
import pylpg.relationship
import pylpg.session
import pylpg.backend.neo4j

class Person(pylpg.node.Node):
    name: str
    age: int | None = None

class Knows(pylpg.relationship.Relationship):
    __type__ = "KNOWS"
    since: str | None = None

backend = pylpg.backend.neo4j.Neo4jBackend(
    hostname="localhost",
    username="neo4j",
    password="password",
)

with pylpg.session.Session(backend) as session:
    alice = Person(name="Alice", age=30)
    bob = Person(name="Bob")
    session.save(alice)
    session.save(bob)

    rel = Knows(source=alice, target=bob, since="2024")
    session.save(rel)

Documentation

Full documentation is available at https://adrienrougny.github.io/pylpg/.

License

GPLv3. See LICENSE for details.

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

pylpg-0.2.1.tar.gz (90.5 kB view details)

Uploaded Source

Built Distribution

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

pylpg-0.2.1-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file pylpg-0.2.1.tar.gz.

File metadata

  • Download URL: pylpg-0.2.1.tar.gz
  • Upload date:
  • Size: 90.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pylpg-0.2.1.tar.gz
Algorithm Hash digest
SHA256 a6334524f238824fba091a1d9c62bd5a96d0908064f8276ab446a35b0319ae59
MD5 0c05e74e2e1b0b8d7ffa9e1cee7714aa
BLAKE2b-256 d7a9b8add1289c008f7ebfe4d186099a4afff3bcd4c49720c6a518d2f270d69f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylpg-0.2.1.tar.gz:

Publisher: release.yml on adrienrougny/pylpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylpg-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: pylpg-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 13.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pylpg-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7f42c78321373f341b60ce5387caab5a86c0b6ea7a964de12a11d62ee50203b4
MD5 8509a9785b91370811bdad45d164e189
BLAKE2b-256 9cfe34a9850b27b1362d6ac8e4edca03422e36bfab12e7d8924ad7f1fa77f858

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylpg-0.2.1-py3-none-any.whl:

Publisher: release.yml on adrienrougny/pylpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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