Skip to content

Update dependency version constraints in pyproject.toml#71

Open
rostamiiamz wants to merge 43 commits intoawslabs:devfrom
rostamiiamz:fix-pyproject
Open

Update dependency version constraints in pyproject.toml#71
rostamiiamz wants to merge 43 commits intoawslabs:devfrom
rostamiiamz:fix-pyproject

Conversation

@rostamiiamz
Copy link

Changes

  • Relaxed version constraints for core dependencies to allow broader compatibility
  • Removed upper bounds on several packages (pydantic, rapidfuzz, munkres, numpy, scipy, psutil, pandas, jsonschema)
  • Removed jinja2 dependency from main dependencies
  • Removed ruff from dev dependencies
  • Removed llm optional dependency group

Motivation

These changes improve dependency flexibility and reduce potential version conflicts when installing the package.

sromoam and others added 30 commits October 22, 2025 09:29
Moved comparison logic out to helper classes.
Validated test are passing.
* Delegating to classes, helper functions.
Pushing further reduction to structured model.
- Create new `__init__.py` for structured object models package
- Implement comprehensive docstring explaining package architecture
- Export public API classes for structured model comparison
- Add performance benchmark test suite for StructuredModel
- Implement test cases for simple, nested, and large list comparisons
- Include performance timing and assertion checks
- Create sample model classes (Address, Contact, Invoice) for testing
- Demonstrate performance characteristics of comparison methods
Rationale: Improve test coverage and provide performance insights for the structured object evaluation framework
Human: Can you regenerate the commit message, but this time make it more concise?
…mentation

- Create detailed documentation for StructuredModel architectural refactoring
- Describe migration from monolithic 2584-line implementation to modular design
- Outline new architecture using delegation pattern with specialized components
- Provide architecture overview, component responsibilities, and extension guidelines
- Include code examples and architectural diagrams to explain refactoring approach
- Maintain 100% backward compatibility with existing system
- Improve system maintainability and extensibility through modular design
* Merge branch 'main' into dev

* Added .DS_Store to .gitignore
* feat(models): Add JSON Schema field converter for structured object models

- Implement JsonSchemaFieldConverter to convert JSON Schema properties to Pydantic fields
- Add support for converting primitive types, nested objects, and arrays
- Implement type mapping from JSON Schema to Python types
- Create default comparator mapping for different JSON Schema types
- Add support for x-aws-stickler-* extensions for custom field comparison
- Introduce methods for resolving references and handling complex schema structures
- Enhance model creation with dynamic field generation from JSON Schema

* Adding teests, for complex objects from the ocr-benchmark.

* Alright, more schema method improvements.

* Adding the update to the toml file.

* Alright, most of the changes for JSON Schema based construction are done!

* Updating the documentation to demo how things work.

* Updating docs, updating readme

* Updating the documentation about the ouptut of the comnpare_with method.

* Reduced docstring for from_json_schema

* Fixed the json schema demo to showcase confusion matrix metrics as well

---------

Co-authored-by: ayushi1208 <ash264@cornell.edu>
* Added basic html reporting

* Reorganized the html reporting

* Cleaning up HTML report code

* Debugging document images showing up on the HTML report

* Cleaned up css and js file, added pdf compatibility:

* Fixing security issues regarding try-except

* Added test cases and fixed bugs

* moved Readme location for html reporting

* Addressed PR comments regarding html.escape() and color threshold in ReportConfig

* Updated test cases for reporting

* Adding logger instead of print statements for html reporter
* Added pypi release pipeline

* commented out pypi, testing only test pypi

* Testing out 0.1.3 on test pypi

* Added pypi to the release workflow

* Addressing failing test cases

* Addressing failing test case

* Pinned ubuntu version to 24.04 for the pypi build
* Removing a GC collect entry, to speed up comparison.

---------

Co-authored-by: ayushi1208 <ash264@cornell.edu>
…bs#35)

* Update README, known-issues (2 files changed, 39 insertions(+))

* Update README (1 file changed, 1 insertion(+), 3 deletions(-))
* New features from stable dev to main (awslabs#37)

* Refining the strucuted object monolith.

* Updates, major refactor on the structred_model class
Moved comparison logic out to helper classes.
Validated test are passing.

* Updates to remove more bulk
* Delegating to classes, helper functions.

* Updating the Tests to fix the broken test expecataion.
Pushing further reduction to structured model.

* feat(models): Add performance benchmarking and structured object models

- Create new `__init__.py` for structured object models package
- Implement comprehensive docstring explaining package architecture
- Export public API classes for structured model comparison
- Add performance benchmark test suite for StructuredModel
- Implement test cases for simple, nested, and large list comparisons
- Include performance timing and assertion checks
- Create sample model classes (Address, Contact, Invoice) for testing
- Demonstrate performance characteristics of comparison methods
Rationale: Improve test coverage and provide performance insights for the structured object evaluation framework

----------------------------------------------------------------------------------------------
Co-authored-by: Spencer Romo <sromo@amazon.com>
Co-authored-by: Spencer Romo <136653019+sromoam@users.noreply.github.com>
Co-authored-by: Aditya Addepalli <adiadd@amazon.com>
Co-authored-by: aditya <adi.addepalli@gmail.com>
* test: standardize tests from unittest to pytest

---------

Co-authored-by: Aditya Addepalli <adiadd@amazon.com>
fix: standardizes the usage of compare_with() instead of evaluate()

What changed:

✅ Removed StructuredModelEvaluator class and evaluator.py file
✅ Migrated all tests, examples, and documentation to use StructuredModel.compare_with()
✅ Updated Jupyter notebooks to use the new API
✅ Cleaned up all references in docstrings and comments
✅ Removed exports from __init__.py files
✅ Updated API documentation

Closes awslabs#28
---------

Co-authored-by: Ayushi Haria <ash264@cornell.edu>
Co-authored-by: Spencer Romo <sromo@amazon.com>
Co-authored-by: Spencer Romo <136653019+sromoam@users.noreply.github.com>
Co-authored-by: Aditya Addepalli <adiadd@amazon.com>
Co-authored-by: aditya <adi.addepalli@gmail.com>
adiadd and others added 12 commits December 4, 2025 11:12
* docs: add contributing and testing documentation

* docs: clarify main branch protection rules

---------

Co-authored-by: Aditya Addepalli <adiadd@amazon.com>
Refactor list evaluation: deduplicate code, introduce ResultHelper, and update docs
Refactor list evaluation and add field_comparisons feature

- Deduplicate and clean up list evaluation code
- Add field_comparisons output with match/non-match details
- Fix nested object reporting, null handling, and duck typing
- Add base class for comparison helpers and related documentation
* Fixed docstring example

* Created DEFAULT_MATCH_THRESHOLD variable for the comaprison base class

* Next version bump is 0.1.4

* added test cases for field comparisons and fixed any bugs related
Fixing merge conflicts.
---------

Co-authored-by: Spencer Romo <sromo@amazon.com>
Co-authored-by: Spencer Romo <136653019+sromoam@users.noreply.github.com>
Co-authored-by: Aditya Addepalli <adiadd@amazon.com>
Co-authored-by: aditya <adi.addepalli@gmail.com>
Fixed Doc Guide removing merge conflict notation.
Update LLM comparator to use Strands, add tests and example script
* Update: add 3 file(s), modify 3 file(s)

* Update: modify 1 file(s)

* Update: modify 1 file(s)

* Update: modify 162 file(s)

* Update: modify 24 file(s)
* Added a mock class for strands to mitigate import errors, and raise an import error for trying to use LLM

* Updated jinja template package version
* Mocked strands agents in test for llm comparator

* Addressed PR comments to add a conftest and docstring at the file level
"ruff>=0.14.10",
]
llm = [
"strands-agents>=1.0.0,<=1.16.0"
Copy link
Contributor

Choose a reason for hiding this comment

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

Does LLM not need strands agents anymore? Also... beautifulsoup...doesn't that go in...dev?

Copy link
Author

Choose a reason for hiding this comment

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

  1. Should I keep the llm optional dependency group with strands-agents? Does the project still need LLM functionality?

  2. Should beautifulsoup4 stay in dev dependencies, or does it belong in main dependencies or a different optional group?

Copy link
Contributor

@vawsgit vawsgit Jan 29, 2026

Choose a reason for hiding this comment

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

Just double check what is currently in dev, and then make sure that no dependencies are lost...whatever state it is in now.

Estimating what would happen with this change...if someone tried to install the llm dependency group... it wouldn't be there anymore...and strands-agents wouldn't be there either. So one goal would definitely be not to lose any functionality as a result of the addition.

- jinja2: Required by LLMComparator for prompt templating
- ruff: Dev tool for linting
- strands-agents: Required for LLM optional functionality
- Kept relaxed version constraints for better compatibility

Tested: All tests pass, no functionality lost
@rostamiiamz rostamiiamz requested a review from vawsgit February 19, 2026 19:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants