8000 Feature/phase 1 docs di by dominicusin · Pull Request #23 · dominicusin/package-maximizer · GitHub
[go: up one dir, main page]

Skip to content

Feature/phase 1 docs di - #23

Merged
dominicusin merged 3 commits into
mainfrom
feature/phase-1-docs-di
Aug 30, 2026
Merged

dominicusin merged 3 commits into
mainfrom
feature/phase-1-docs-di

Conversation

@dominicusin
Copy link
Copy Markdown
Owner

No description provided.

- Fix pulp_solver.py: add missing `import pulp` (NameError on solve)
- Fix VersionConstraint `~` operator: now correctly computes next minor
  version (1.2.3 → 1.3.0) instead of next major
- Split requirements.txt into core/solvers/web/dev for flexible installs
- Add security job to CI (bandit, safety) with artifact upload
- Add lint job (flake8, mypy, black, isort) with fail-fast
- Add pytest-xdist parallel test runner across OS/Python matrix
- Enhance web API: POST /api/v1/maximize, /api/v1/benchmark,
  /api/v1/cache/stats|clear, API key auth, error handlers,
  request timing middleware, health check
- Add 31 integration tests: end-to-end maximization, solver
  comparison, constraint scenarios, parser samples, web API
  client tests (auth, errors, backward compat)
- Update README: dependency matrix, REST API docs with examples

All 206 tests pass (175 existing + 31 new integration).
- Add `Any` to imports in core/maximizer.py (fixes F821)
- Reformat 4 modified files to Python 3.12 target with black
- All 206 tests still pass after formatting

Pre-existing codebase used Python 3.15 AST syntax which fails on
Python 3.12's parser. Target py312 ensures consistency.
- Create docs/conf.py with autodoc, napoleon, myst_parser
- Create docs/index.rst with full documentation
- Create docs/api-reference.rst with detailed API docs
- Add DI (Dependency Injection) module
  - di/container.py: Container, ServiceLocator, inject decorator
  - di/__init__.py: exports
- Add CacheManager integration to PackageMaximizer
  - _cache_manager field for DI-friendly access
  - _get_cache() accessor method

Features:
- Sphinx RTD theme ready
- API documentation via autodoc
- Type hints preserved
- DI container for testable architecture
- Lazy CacheManager instantiation

All 206 tests still pass.
@qodo-code-review
Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@coderabbitai
coderabbitai Bot commented Aug 30, 2026
Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 46 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 2b115134-f6ec-4d0d-9887-221206265c43

📥 Commits

Reviewing files that changed from the base of the PR and between ec39abf and dd5a7f2.

📒 Files selected for processing (17)
  • .github/workflows/ci.yml
  • README.md
  • docs/api-reference.rst
  • docs/conf.py
  • docs/index.rst
  • package_maximizer/core/constraints.py
  • package_maximizer/core/maximizer.py
  • package_maximizer/di/__init__.py
  • package_maximizer/di/container.py
  • package_maximizer/solvers/pulp_solver.py
  • package_maximizer/web/app.py
  • requirements-core.txt
  • requirements-dev.txt
  • requirements-solvers.txt
  • requirements-web.txt
  • requirements.txt
  • tests/test_integration.py

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@dominicusin
dominicusin merged commit f9ca866 into main Aug 30, 2026
3 of 5 checks passed
@dominicusin
dominicusin deleted the feature/phase-1-docs-di branch August 30, 2026 03:36
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

0