# Field Extraction ## Running the Code This project uses Python's module system for imports. To run the code properly: 1. **DO NOT** run files directly like this: ```bash python src/client/main.py # ❌ This won't work ``` 2. **INSTEAD**, use Python's module flag (`-m`) from the project root: ```bash python -m src.client.main # ✅ This is correct ``` ## Why? The code uses absolute imports (e.g., `from src.utils import llm_utils`) to maintain a clear and consistent package structure. Running with `python -m` ensures Python can properly resolve these imports. ## Development - All imports should use the `src.` prefix (e.g., `from src.utils import llm_utils`) - Always run code from the project root directory using the `-m` flag - Tests are configured to handle these imports automatically via pytest settings in pyproject.toml ## Configuration The project uses poetry for dependency management and pytest for testing. Key configurations in pyproject.toml: ```toml [tool.pytest.ini_options] pythonpath=["."] testpaths = [ "tests" ] ``` ## Dependencies To install dependencies: ```bash poetry install ``` To run tests: ```bash poetry run pytest ``` To run type checking: ```bash poetry run mypy . ```