Nicheloom

Market intelligence for builders — see what's gaining traction before it's crowded.

We built a type-safe Python ORM for RedisGraph/FalkorDB

Details

External ID
46796602
Source
HN
Company
—
Product
—
Website domain
—
Launched
Jan. 28, 2026
Cohort
—
Upvotes
5
Upvotes percentile
0.09617918313570488
Tags
—
Fetched at
Sept. 7, 2026, 9:25 p.m.
Updated at
Sept. 7, 2026, 9:25 p.m.

Description

We were tired of writing raw Cypher — escaping quotes, zero autocomplete, refactoring nightmares — so we built GraphORM: a type-safe Python ORM for RedisGraph/FalkorDB using pure Python objects.What it does Instead of fragile Cypher: query = """ MATCH (a:User {user_id: 1})-[r1:FRIEND]->(b:User)-[r2:FRIEND]->(c:User) WHERE c.user_id <> 1 AND b.active = true WITH b, count(r2) as friend_count WHERE friend_count > 5 RETURN c, friend_count ORDER BY friend_count DESC LIMIT 10 """ You write type-safe Python: stmt = select().match( (UserA, FRIEND.alias("r1"), UserB), (UserB, FRIEND.alias("r2"), UserC) ).where( (UserA.user_id == 1) & (UserC.user_id != 1) & (UserB.active == True) ).with_( UserB, count(FRIEND.alias("r2")).label("friend_count") ).where( count(FRIEND.alias("r2")) > 5 ).returns( UserC, count(FRIEND.alias("r2")).label("friend_count") ).orderby( count(FRIEND.alias("r2")).desc() ).limit(10) Key features: • Type-safe schema with Python type hints • Fluent query builder (select().match().where().returns()) • Automatic batching (flush(batch_size=1000)) • Atomic transactions (with graph.transaction(): ...) • Zero string escaping — O'Connor and "The Builder" just workTarget audience • AI/LLM agent devs: store long-term memory as graphs (User → Message → ToolCall) • Web crawler engineers: insert 10k pages + links in 12 lines vs 80 lines of Cypher • Social network builders: query "friends of friends" with indegree()/outdegree() • Data engineers: track lineage (Dataset → Transform → Output) • Python devs new to graphs: avoid Cypher learning curveData insertion: the real game-changerRaw Cypher nightmare: queries = [ """CREATE (:User {email: "[email protected]", name: "Alice O\\'Connor"})""", """CREATE (:User {email: "[email protected]", name: "Bob \\"The Builder\\""})""" ] for q in queries: graph.query(q) # No transaction safety!GraphORM bliss: alice = User(email="[email protected]", name="Alice O'Connor") bob = User(email="[email protected]", name='Bob "The Builder"') graph.add_node(alice) graph.add_edge(Follows(alice, bob, since=1704067200)) graph.flush() # One network call, atomic transactionTry it in 30 seconds pip install graphorm from graphorm import Node, Edge, Graph class User(Node): __primary_key__ = ["email"] email: str name: str class Follows(Edge): since: int graph = Graph("social", host="localhost", port=6379) graph.create() alice = User(email="[email protected]", name="Alice") bob = User(email="[email protected]", name="Bob") graph.add_node(alice) graph.add_edge(Follows(alice, bob, since=1704067200)) graph.flush() GitHub: https://github.com/hello-tmst/graphormWe'd love honest feedback: • Does this solve a real pain point for you? • What's missing for production use? • Any API design suggestions?

Enrichment

Theme
AI API proxies and developer tools
Vertical
Horizontal
Function
Dev tools
Audience
Developer
AI stance
Not AI
Project type
Commercial product
Normalized one-liner
python orm for redisgraph
Manually corrected
False

Could you build this?

Yes This is a lightweight Python mapping library translating Python object schemas and method calls into Cypher query strings for RedisGraph/FalkorDB.

Discussion

6 comments analyzed.

Competitors mentioned: FalkorDB (maintained RedisGraph successor), RedisGraph (discontinued), falkordb-py-orm (FalkorDB's official Python ORM), spring-data-falkordb (Java ORM), falkordb-go-orm (Go ORM)

Concerns raised: Variable-length paths complexity in ORMs, Cypher string debugging difficulty

Feature requests: Expand support to other Cypher-compatible databases, RBAC-based security features

Competitors

Other products that read as similar to this one — 10 launches clear the similarity bar, closest 8 shown.

Attention rank: #11 of 11 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).

Launched 91 days after the earliest competitor.

Other launches for this product

Same idea, different domain

Nobody's really built a dev tools tool for Sales yet.