Skip to content

feat: multi packages - #37

Closed
akihikokuroda wants to merge 3 commits into
generative-computing:mainfrom
akihikokuroda:multipackages
Closed

feat: multi packages#37
akihikokuroda wants to merge 3 commits into
generative-computing:mainfrom
akihikokuroda:multipackages

Conversation

@akihikokuroda

@akihikokuroda akihikokuroda commented Mar 13, 2026

Copy link
Copy Markdown
Contributor

Make multiple package workspace

fix #38

@akihikokuroda
akihikokuroda marked this pull request as draft March 13, 2026 19:47
@mergify

mergify Bot commented Mar 13, 2026

Copy link
Copy Markdown

Merge Protections

Your pull request matches the following merge protections and will not be merged until they are valid.

🟢 Enforce conventional commit

Wonderful, this rule succeeded.

Make sure that we follow https://www.conventionalcommits.org/en/v1.0.0/

  • title ~= ^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert|release)(?:\(.+\))?:

Signed-off-by: Akihiko Kuroda <akihikokuroda2020@gmail.com>
akihikokuroda and others added 2 commits March 13, 2026 16:23
- Fix import paths to match mellea 0.3.1 API changes:
  - mellea.stdlib.base → mellea.stdlib.context/components
  - mellea.stdlib.requirement → mellea.stdlib.requirements
  - mellea.backends.types → mellea.backends
- Replace FancyLogger with Python's standard logging module
- Update CI workflow to use uv sync without --frozen for workspace resolution
- All 94 tests now passing

Fixes the ModuleNotFoundError issues that occurred after the workspace refactoring.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Signed-off-by: Akihiko Kuroda <akihikokuroda2020@gmail.com>
@akihikokuroda
akihikokuroda marked this pull request as ready for review March 13, 2026 21:04
@akihikokuroda
akihikokuroda requested review from a team and AngeloDanducci March 13, 2026 21:05
Comment on lines -40 to +38
run: uv sync --frozen --all-extras --group dev
run: uv sync --all-extras --group dev

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

why did we take frozen out here?

Comment on lines +50 to +56
- name: Run Root Package Tests
run: uv run -m pytest -v test
continue-on-error: true
- name: Run mellea-integration-core Tests
run: cd integrations/mellea-integration-core && uv run pytest -v
- name: Run mellea-crewai Tests
run: cd integrations/crewai && PYTHONPATH=src:../mellea-integration-core/src uv run pytest -v --ignore=tests/integration

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

if the root tests fail, will this action still be marked as failing?

@jakelorocco jakelorocco left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Please feel free to ignore my comments if there's been a discussion I missed and a consensus has already been reached.

In addition to my comments on files:

  1. I think we should restructure this repo. I don't think we need to separate out integrations and mellea_contribs. I think everything should live in mellea_contribs folder.
  2. Subfolders should be a consistent package. It makes sense to me to have crewai, mellea-integration-core, etc... to be separate workspace packages. We may need to split up existing files in reqlib, tools, etc... and couple them with their respective tests.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I think the final result of this repo cannot use a workflow that runs tests on every sub-package. I think we should force some sort of consistent quality on each sub-package individually IFF your changes touch that subpackage.

For instance, we could have a standard way of defining the tests in a subpackage and then if there's changes to that folder, we run those tests. It won't catch everything, but it will prevent packages from preventing merges of other packages.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

so essentially each sub-package would have its own CI and could run using a paths filter... that makes sense to me

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

OK. I'll restructure this repo. Are sub directories under "mellea_contribs" used for grouping for the packages or categolized by the directory name?

mellea_contribs/integrations/langchain
or
mellea_contribs/integration_langchain

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I'm okay with either; will default to you.

Comment thread pyproject.toml

[tool.uv.sources]
benchdrift = { git = "https://github.com/IBM/BenchDrift.git", rev = "95db1c95b6abbc3b9f9bc177f6a7933c555c7175" } No newline at end of file
benchdrift = { git = "https://github.com/IBM/BenchDrift.git", rev = "95db1c95b6abbc3b9f9bc177f6a7933c555c7175" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I think non-workspace member packages (that aren't used for top-level quality control / testing) should be moved to individual workspace pyproject.toml files.

@akihikokuroda

Copy link
Copy Markdown
Contributor Author

close this. This work moved to #40

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.

feat: refactor to multi package

3 participants