diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c68bea8..25f459b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -19,6 +19,7 @@ repos: rev: 7.1.1 hooks: - id: flake8 + additional_dependencies: [flake8-breakpoint, flake8-print, flake8-pydantic, flake8-type-checking] - repo: https://github.com/pre-commit/mirrors-mypy rev: v1.13.0 @@ -27,10 +28,10 @@ repos: additional_dependencies: [types-setuptools, pydantic] - repo: https://github.com/executablebooks/mdformat - rev: 0.7.18 + rev: 0.7.19 hooks: - id: mdformat - additional_dependencies: [mdformat-gfm, mdformat-frontmatter] + additional_dependencies: [mdformat-gfm, mdformat-frontmatter, mdformat-pyproject] default_language_version: python: python3 diff --git a/ape_polygon/__init__.py b/ape_polygon/__init__.py index 59a8cb0..b38331d 100644 --- a/ape_polygon/__init__.py +++ b/ape_polygon/__init__.py @@ -46,3 +46,30 @@ def providers(): yield "polygon", network_name, Node yield "polygon", LOCAL_NETWORK_NAME, LocalProvider + + +def __getattr__(name: str): + if name == "NETWORKS": + from .ecosystem import NETWORKS + + return NETWORKS + + elif name == "Polygon": + from .ecosystem import Polygon + + return Polygon + + elif name == "PolygonConfig": + from .ecosystem import PolygonConfig + + return PolygonConfig + + else: + raise AttributeError(name) + + +__all__ = [ + "NETWORKS", + "Polygon", + "PolygonConfig", +] diff --git a/setup.py b/setup.py index 956ad78..cb368d7 100644 --- a/setup.py +++ b/setup.py @@ -16,11 +16,13 @@ "flake8>=7.1.1,<8", # Style linter "flake8-breakpoint>=1.1.0,<2", # Detect breakpoints left in code "flake8-print>=5.0.0,<6", # Detect print statements left in code + "flake8-pydantic", # For detecting issues with Pydantic models + "flake8-type-checking", # Detect imports to move in/out of type-checking blocks "isort>=5.13.2,<6", # Import sorting linter - "mdformat>=0.7.18", # Auto-formatter for markdown + "mdformat>=0.7.19", # Auto-formatter for markdown "mdformat-gfm>=0.3.5", # Needed for formatting GitHub-flavored markdown "mdformat-frontmatter>=0.4.1", # Needed for frontmatters-style headers in issue templates - "mdformat-pyproject>=0.0.1", # Allows configuring in pyproject.toml + "mdformat-pyproject>=0.0.2", # Allows configuring in pyproject.toml ], "release": [ # `release` GitHub Action job uses this "setuptools", # Installation tool