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.3.tar.gz (91.0 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.3-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pylpg-0.2.3.tar.gz
  • Upload date:
  • Size: 91.0 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.3.tar.gz
Algorithm Hash digest
SHA256 619e04bb94d4eb96ab11f374113dd2351b3c5449a84b1f4200eeff2e9bb80b47
MD5 553539e91ad4765fdf7ac3fb9ec5dcb6
BLAKE2b-256 9d2466ccfac55e66e4065af9dff35a587f6a17bd25e86bac4bb03a3b5eefcc73

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylpg-0.2.3.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.3-py3-none-any.whl.

File metadata

  • Download URL: pylpg-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 13.4 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 77a0f6f9d67d9153ae472fbdfc18028bce66222ebd6565fb2e1b135dcd20b6bd
MD5 6b8638702d50de55cd6ccefe2b5cd429
BLAKE2b-256 16a044f7322ee84d78afbabaac3084d293f44b86610f423c866a35652549747a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylpg-0.2.3-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