Skip to content

feat!: migrate to canonical stack — v5.0.0 (Python 3.14, MLflow 3)#121

Merged
fmind merged 2 commits into
mainfrom
release/v5.0.0
Jul 7, 2026
Merged

feat!: migrate to canonical stack — v5.0.0 (Python 3.14, MLflow 3)#121
fmind merged 2 commits into
mainfrom
release/v5.0.0

Conversation

@fmind

@fmind fmind commented Jul 7, 2026

Copy link
Copy Markdown
Owner

What

Migrate to the canonical fmind stack and bump to v5.0.0.

Why

Adopt current standards (mise, lefthook, ty, dprint, git-cliff, uv_build) and the latest majors (Python 3.14, MLflow 3.14, pandas 2.3, scikit-learn 1.9, pandera 0.32).

How

  • Toolchain: justfile+tasks → mise; pre-commit → lefthook; mypy → ty; bandit → Ruff S; commitizen → git-cliff; hatchling → uv_build; + dprint/trivy/pip-audit.
  • Code: pandera.pandas namespace; MLflow 3 name= / validate_evaluation_results; sklearn __sklearn_tags__; MLflow-3 file-store opt-in.
  • CI/CD: mise-based CI; release CD (GHCR image + Actions Pages docs). Dockerfile multi-stage 3.14, non-root.

Test plan

mise run format/check/test green (45 passed, 100% coverage), docker image builds+runs, live MLflow Projects run succeeds.

@fmind fmind merged commit cc7ba01 into main Jul 7, 2026
1 check passed
@fmind fmind deleted the release/v5.0.0 branch July 7, 2026 17:04
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly upgrades the project's foundational technologies and development workflow. It introduces a new, standardized MLOps stack, updates core dependencies to their latest major versions, and refines the build, testing, and deployment processes. The changes aim to enhance maintainability, leverage modern tooling, and ensure compatibility with the latest ecosystem standards, particularly for Python and MLflow. This migration streamlines development tasks and improves the overall robustness and efficiency of the project.

Highlights

  • Toolchain Migration: The project has migrated to a new canonical stack, replacing justfile with mise for task automation, pre-commit with lefthook for Git hooks, mypy with ty for type checking, bandit with Ruff's security rules, commitizen with git-cliff for changelog generation, and hatchling with uv_build for package building. New tools like dprint, trivy, and pip-audit have also been integrated.
  • Version Updates: The project now targets Python 3.14 and MLflow 3.14.0, along with updated major versions for pandas (2.3), scikit-learn (1.9), and pandera (0.32). The project version has been bumped to v5.0.0.
  • MLflow 3 Compatibility: Adjustments were made to accommodate MLflow 3's changes, including using the name= argument for logging models, adopting mlflow.validate_evaluation_results for metric validation, and explicitly opting into the local filesystem store (MLFLOW_ALLOW_FILE_STORE=true) for development environments.
  • Code Modernization and Refinements: Pandera imports were updated to use the pandera.pandas namespace. Scikit-learn models now include __sklearn_tags__ for better compatibility with meta-estimators. Various code snippets in notebooks and test files were reformatted for brevity and clarity.
  • CI/CD and Docker Enhancements: The CI/CD pipelines have been reconfigured to be mise-based, and a new multi-stage, non-root Dockerfile using Python 3.14 has been introduced for improved containerization and security.
  • Documentation for AI Agents: A new AGENTS.md file has been added, providing a comprehensive overview of the project, setup instructions, core commands, definition of done, conventions, and repository layout specifically tailored for AI agents contributing to the repository.
New Features

🧠 You can now enable Memory (public preview) to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Ignored Files
  • Ignored by pattern: .gemini/** (7)
    • .gemini/skills/MLOps Automation/SKILL.md
    • .gemini/skills/MLOps Collaboration/SKILL.md
    • .gemini/skills/MLOps Industrialization/SKILL.md
    • .gemini/skills/MLOps Initialization/SKILL.md
    • .gemini/skills/MLOps Observability/SKILL.md
    • .gemini/skills/MLOps Prototyping/SKILL.md
    • .gemini/skills/MLOps Validation/SKILL.md
  • Ignored by pattern: .github/workflows/** (4)
    • .github/workflows/cd.yml
    • .github/workflows/check.yml
    • .github/workflows/ci.yml
    • .github/workflows/publish.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

Gemini encountered an error creating the review. You can try again by commenting /gemini review.

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