Source code for stellium.data
"""
Stellium data package.
Provides:
- Notable births and events registry
- Ephemeris path management
- Package data access
"""
# Import paths module directly (no circular dependencies)
from stellium.data.paths import (
get_ephe_dir,
get_user_data_dir,
get_user_ephe_dir,
has_ephe_file,
initialize_ephemeris,
)
# Lazy import for registry to avoid circular imports
# (registry imports from core.native which imports from engines)
[docs]
def get_notable_registry():
"""Get the global notable registry instance (lazy import)."""
from stellium.data.registry import get_notable_registry as _get_registry
return _get_registry()
def __getattr__(name: str):
"""Lazy import for NotableRegistry class."""
if name == "NotableRegistry":
from stellium.data.registry import NotableRegistry
return NotableRegistry
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
__all__ = [
# Notables
"NotableRegistry",
"get_notable_registry",
# Paths
"get_ephe_dir",
"get_user_data_dir",
"get_user_ephe_dir",
"has_ephe_file",
"initialize_ephemeris",
]