Files
doczyai-pipelines/fieldExtraction
Katon Minhas 86db2ea0b7 Merged in bugfix/table-error-fix (pull request #444)
Bugfix/table error fix

* handle multipage table data correctly

* same metadata for all tables on the page

* Multiple tables on page, non-continuous, split

* Add back align_and_format_tables

* update unit tests

* Merged main into bugfix/table-error-fix

* improved align and format table prompt

* Successful E2E test on San Joaquin - without running align and format table prompt

* San Joaquin e2e test passed

* Merged main into bugfix/table-error-fix

* Merge branch 'main' into bugfix/table-error-fix

* Add same number of columns condition

* Merged main into bugfix/table-error-fix

* Clean investment_values

* Remove import

* docstrings

* Remove test doc

* Add back original ALIGN_AND_FORMAT_TABLES prompt for client work

* Remove import

* Add config reference

* Merged main into bugfix/table-error-fix

* Move table_utils to investment.table_funcs

* restore table_utils.py

* Update tests

* update preprocess


Approved-by: Alex Galarce
2025-03-18 18:41:31 +00:00
..

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:

    python src/client/main.py  # ❌ This won't work
    
  2. INSTEAD, use Python's module flag (-m) from the project root:

    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:

[tool.pytest.ini_options]
pythonpath=["."]
testpaths = [
    "tests"
]

Dependencies

To install dependencies:

poetry install

To run tests:

poetry run pytest

To run type checking:

poetry run mypy .