Skip to content

feat(build): consolidate 6 packages into single mamba-mcp with extras#9

Merged
sequenzia merged 1 commit intomainfrom
feat/consolidate-single-package
Feb 18, 2026
Merged

feat(build): consolidate 6 packages into single mamba-mcp with extras#9
sequenzia merged 1 commit intomainfrom
feat/consolidate-single-package

Conversation

@sequenzia
Copy link
Owner

BREAKING CHANGE: Replaced 6 separate PyPI packages with a single mamba-mcp package using optional extras for modular installation.

Directory restructuring:

  • Source: packages/*/src/ → src/ (6 modules, all import paths preserved)
  • Tests: packages/*/tests/ → tests/{core,client,pg,fs,hana,gitlab}/
  • Examples: packages/mamba-mcp-client/examples/ → examples/
  • Removed packages/ directory and 6 per-package pyproject.toml files

Package changes:

  • Single pyproject.toml with extras: [client], [pg], [fs], [hana], [gitlab], [all]
  • Single hatch-vcs version at src/mamba_mcp_core/_version.py
  • All 5 sub-module init.py files import version from core
  • Added mamba-mcp CLI alias for the client
  • Eliminated UV workspace in favor of flat src layout

Code fixes:

  • Upgraded str+Enum to StrEnum in client (OutputFormat, LogLevel, TransportType, MessageDirection)
  • Fixed import sorting (first-party reclassification after consolidation)
  • Updated 7 test files with corrected conftest import paths

CI/CD:

  • ci.yml: uses uv sync --all-extras, matrix tests by suite subdirectory
  • release.yml: single uv build instead of 6-package loop

Documentation:

  • Updated CLAUDE.md, README.md, CHANGELOG.md, and 4 MkDocs pages
  • Preserved per-package READMEs in docs/packages/

BREAKING CHANGE: Replaced 6 separate PyPI packages with a single
`mamba-mcp` package using optional extras for modular installation.

Directory restructuring:
- Source: packages/*/src/ → src/ (6 modules, all import paths preserved)
- Tests: packages/*/tests/ → tests/{core,client,pg,fs,hana,gitlab}/
- Examples: packages/mamba-mcp-client/examples/ → examples/
- Removed packages/ directory and 6 per-package pyproject.toml files

Package changes:
- Single pyproject.toml with extras: [client], [pg], [fs], [hana], [gitlab], [all]
- Single hatch-vcs version at src/mamba_mcp_core/_version.py
- All 5 sub-module __init__.py files import version from core
- Added `mamba-mcp` CLI alias for the client
- Eliminated UV workspace in favor of flat src layout

Code fixes:
- Upgraded str+Enum to StrEnum in client (OutputFormat, LogLevel, TransportType, MessageDirection)
- Fixed import sorting (first-party reclassification after consolidation)
- Updated 7 test files with corrected conftest import paths

CI/CD:
- ci.yml: uses uv sync --all-extras, matrix tests by suite subdirectory
- release.yml: single uv build instead of 6-package loop

Documentation:
- Updated CLAUDE.md, README.md, CHANGELOG.md, and 4 MkDocs pages
- Preserved per-package READMEs in docs/packages/
@sequenzia sequenzia merged commit 7f8e2b1 into main Feb 18, 2026
8 checks passed
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.

1 participant