Skip to content

feat(versions): bump python and package version #40

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 2, 2025

Conversation

fmind
Copy link
Owner

@fmind fmind commented Mar 2, 2025

Closes #34

@fmind fmind added the feat A new feature. Correlates with MINOR in SemVer label Mar 2, 2025
@fmind fmind added this to the v4.0.0 milestone Mar 2, 2025
@fmind fmind self-assigned this Mar 2, 2025
@fmind fmind merged commit 25e9e25 into v4.0.0 Mar 2, 2025
1 check passed
@fmind fmind deleted the 34-feat-bump-to-new-python-and-package-versions branch March 2, 2025 21:23
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Hello @fmind, 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!

Summary of Changes

This pull request updates the project to use Python 3.13 and bumps the versions of several dependencies, including mlflow, numpy, pandas, and others. The changes include updates to the .cruft.json, .pre-commit-config.yaml, .python-version, Dockerfile, README.md, docker-compose.yml, pyproject.toml, python_env.yaml, and requirements.txt files to reflect these version bumps. Additionally, there are minor code changes in src/bikes/core/models.py and src/bikes/io/services.py and several test files to accommodate the new versions and improve code quality.

Highlights

  • Python Version Upgrade: The project is upgraded to use Python 3.13, ensuring compatibility with the latest language features and improvements.
  • Dependency Updates: Multiple dependencies are updated to their latest versions, including mlflow, numpy, pandas, pandera, plotly, psutil, pyarrow, pydantic, scikit-learn, setuptools, ruff, commitizen and others, ensuring the project benefits from the latest features and bug fixes.
  • Configuration Updates: Configuration files such as .cruft.json, .pre-commit-config.yaml, pyproject.toml, and python_env.yaml are updated to reflect the new Python version and dependency versions.
  • Code Improvements: Minor code improvements are made in src/bikes/core/models.py to ensure dataframes are properly validated against schemas and src/bikes/io/services.py to handle cases where notifications are not supported.

Changelog

Click here to see the changelog
  • .cruft.json
    • Updated python_version from 3.12 to 3.13.
    • Bumped package version from 1.1.3 to 4.0.0.
    • Updated mlflow_version from 2.14.3 to 2.20.3.
  • .pre-commit-config.yaml
    • Updated default_language_version for python to python3.13.
    • Downgraded pre-commit hooks rev from v5.0.0 to v4.1.0.
    • Updated ruff-pre-commit rev from v0.8.1 to v0.9.9.
    • Updated commitizen rev from v4.0.0 to v4.4.1.
  • .python-version
    • Updated python version from 3.12 to 3.13.
  • Dockerfile
    • Updated base image to use python3.13-bookworm.
  • README.md
    • Updated Python prerequisite to >=3.13.
  • docker-compose.yml
    • Updated mlflow image version from v2.19.0 to v2.20.3.
  • pyproject.toml
    • Updated package version from 3.0.0 to 4.0.0.
    • Updated requires-python to >=3.13.
    • Updated dependency versions for loguru, matplotlib, mlflow, numba, numpy, pandera, plotly, psutil, pyarrow, pydantic-settings, pydantic, scikit-learn, and setuptools.
    • Updated dependency versions for bandit, coverage, mypy, pandera[mypy], pytest, ruff, commitizen, pre-commit, and pdoc.
    • Updated mypy python_version to 3.13.
    • Updated ruff target-version to py313.
  • python_env.yaml
    • Updated python version to 3.13.
    • Updated versions of numerous dependencies.
  • requirements.txt
    • Updated versions of numerous dependencies to match python_env.yaml.
  • src/bikes/core/models.py
    • Added import pandas as pd
    • Modified predict method to validate outputs against schemas
    • Modified explain_model method to validate feature importances against schemas
    • Modified explain_samples method to validate shap values against schemas
  • src/bikes/io/services.py
    • Removed unused import warnings.
    • Replaced warnings.warn with print for unsupported notifications.
  • tests/core/test_metrics.py
    • Improved assertion messages for mlflow results metrics and greater_is_better.
  • tests/core/test_models.py
    • Improved assertion messages for NotImplementedError checks.
  • tests/io/test_datasets.py
    • Improved assertion message for lineage schema names.
  • tests/io/test_registries.py
    • Improved assertion messages for URI validation and adapter model properties.
  • tests/io/test_services.py
    • Replaced mocker.patch with mocker.patch(target=...) for plyer.notification.notify.
    • Added test case for unsupported notifications.
    • Improved assertion messages for context tags.
  • tests/jobs/test_evaluations.py
    • Improved assertion messages for run tags, lineage sources, model URI, model properties, dataset properties, extra metrics, and evaluations.
  • tests/jobs/test_explanations.py
    • Improved assertion messages for model URI and model explanations.
  • tests/jobs/test_inference.py
    • Improved assertion messages for model URI and model properties.
  • tests/jobs/test_promotion.py
    • Improved assertion messages for model version properties.
  • tests/jobs/test_training.py
    • Improved assertion messages for run tags, lineage sources, splitter properties, outputs shape, model info properties, model version properties, and MLFlow model version run id.
  • tests/jobs/test_tuning.py
    • Improved assertion messages for run tags, lineage sources, and experiment name.
  • tests/utils/test_searchers.py
    • Improved assertion message for results length.
  • tests/utils/test_signers.py
    • Improved assertion messages for signature inputs and outputs.
  • tests/utils/test_splitters.py
    • Improved assertion messages for train index length and train index subset.
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 in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

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 issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize 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 is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


Did you know?

Python 3.13 introduces several performance improvements, including a new JIT (Just-In-Time) compiler, which can significantly speed up certain types of code execution.

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.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

The pull request updates the project to use Python 3.13 and updates various dependencies. The changes seem straightforward and necessary for keeping the project up-to-date. However, I have a few observations regarding the consistency and potential impact of these updates.

Merge Readiness

The pull request appears to be in good shape for merging, as it primarily involves version bumps and dependency updates. However, it's crucial to ensure that all tests pass and that the updated dependencies don't introduce any compatibility issues or regressions. I am unable to approve the pull request in any circumstance, and that users should have others review and approve this code before merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat A new feature. Correlates with MINOR in SemVer
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant