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.2.tar.gz (90.7 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.2-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pylpg-0.2.2.tar.gz
  • Upload date:
  • Size: 90.7 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.2.tar.gz
Algorithm Hash digest
SHA256 8c2cdbb2a761f969296158e46112a0efc4818a50462b6b133ed65d9911a74c14
MD5 c8a7470fa65c1e13075dd5ec655100c0
BLAKE2b-256 9b5679c89f79a3ca000ae5edee3456b3b23f9deec1831f8c4e5fbaf14a96d11f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pylpg-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 13.3 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3da651ecb1a7c49d990894e93122012fc03e55c228e5b71c513323a1341b20c2
MD5 f9107259a01898e029e18c129271b762
BLAKE2b-256 6d43536bb573355cab502f885ef1af822e2715652a2e76a3c8944efbde434e7d

See more details on using hashes here.

Provenance

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