"""
Datalog system for Django - main module with public API.

This module provides the public interface for django-datalog, importing from
specialized modules for facts, queries, and rules.
"""

# Public API imports
from django_datalog.facts import Fact, retract_facts, store_facts
from django_datalog.query import Var, _fact_to_django_query, _prefix_q_object, query
from django_datalog.rules import Rule, get_rules, rule

# django_datalog is a library package - storage models should be defined by consuming applications

# Re-export for backward compatibility and public API
__all__ = [
    # Core classes
    "Fact",
    "Var",
    "Rule",
    # Core functions
    "query",
    "store_facts",
    "retract_facts",
    "rule",
    "get_rules",
    # Internal functions (exposed for testing)
    "_prefix_q_object",
    "_fact_to_django_query",
]
