[run] source = app concurrency = thread,greenlet omit = # Migration files - these are generated code and shouldn't be tested app/alembic/versions/* app/alembic/env.py # Test utilities - these are used BY tests, not tested themselves app/utils/test_utils.py app/utils/auth_test_utils.py # Async implementations not yet in use app/crud/base_async.py app/core/database_async.py # CLI scripts - run manually, not tested app/init_db.py # __init__ files with no logic app/__init__.py app/api/__init__.py app/api/routes/__init__.py app/api/dependencies/__init__.py app/core/__init__.py app/crud/__init__.py app/models/__init__.py app/schemas/__init__.py app/services/__init__.py app/utils/__init__.py app/alembic/__init__.py app/alembic/versions/__init__.py [report] # Show missing lines in the report show_missing = True # Exclude lines with these patterns exclude_lines = # Have to re-enable the standard pragma pragma: no cover # Don't complain about missing debug-only code def __repr__ def __str__ # Don't complain if tests don't hit defensive assertion code raise AssertionError raise NotImplementedError # Don't complain if non-runnable code isn't run if __name__ == .__main__.: if TYPE_CHECKING: # Don't complain about abstract methods @abstractmethod @abc.abstractmethod # Don't complain about ellipsis in protocols/stubs \.\.\. # Don't complain about logger debug statements in production logger\.debug # Pass statements (often in abstract base classes or placeholders) pass # Skip test environment checks (production-only code) if os\.getenv\("IS_TEST".*\) == "True": if os\.getenv\("IS_TEST".*\) != "True": [html] directory = htmlcov [xml] output = coverage.xml