Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions compass/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,13 @@
from ._version import __version__
from .utilities.logs import setup_logging_levels, COMPASS_DEBUG_LEVEL

# Temporarily import to register plugins
# Can drop once plugins register themselves
from .extraction import (
COMPASSWindExtractor,
COMPASSSolarExtractor,
COMPASSSmallWindExtractor,
TexasWaterRightsExtractor,
)
Comment on lines +6 to +13
Copy link

Copilot AI Feb 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Importing all extraction plugins in compass.__init__ to force registration adds significant import-time side effects (loads pandas/LLM-related modules, runs register_plugin, mutates registries) for any consumer that imports any compass.* module. Prefer an explicit plugin registration entrypoint (e.g., compass.plugin.discover_plugins() called by the CLI) or lazy registration to keep library imports lightweight and reduce circular-import risk.

Copilot uses AI. Check for mistakes.

setup_logging_levels()
7 changes: 7 additions & 0 deletions compass/extraction/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,10 @@
extract_relevant_text_with_ngram_validation,
extract_ordinance_values,
)

# Temporarily import to register plugins
# Can drop once plugins register themselves
from .wind import COMPASSWindExtractor
from .solar import COMPASSSolarExtractor
from .small_wind import COMPASSSmallWindExtractor
from .water import TexasWaterRightsExtractor
747 changes: 262 additions & 485 deletions compass/extraction/small_wind/ordinance.py

Large diffs are not rendered by default.

7 changes: 5 additions & 2 deletions compass/extraction/small_wind/plugin.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""COMPASS wind extraction plugin"""

from compass.plugin.interface import ExtractionPlugin
from compass.plugin import OrdinanceExtractionPlugin, register_plugin
from compass.extraction.small_wind.ordinance import (
SmallWindHeuristic,
SmallWindOrdinanceTextCollector,
Expand Down Expand Up @@ -60,7 +60,7 @@
}


class COMPASSSmallWindExtractor(ExtractionPlugin):
class COMPASSSmallWindExtractor(OrdinanceExtractionPlugin):
"""COMPASS small wind extraction plugin"""

IDENTIFIER = "small wind"
Expand Down Expand Up @@ -96,3 +96,6 @@ class COMPASSSmallWindExtractor(ExtractionPlugin):
StructuredSmallWindPermittedUseDistrictsParser,
]
"""Class for parsing structured ordinance data from text"""


register_plugin(COMPASSSmallWindExtractor)
Loading
Loading