Skip to content

Conversation

marevol
Copy link
Collaborator

@marevol marevol commented Jul 27, 2025

This update includes several key improvements:

  • Upgraded Python versions across CI/CD pipelines and Dockerfiles (from 3.8/3.9 to 3.11/3.12).
  • Migrated to irspack==0.4.0, which required:
    • Reimplementing autopilot, search_one, and optimizer logic due to API changes.
    • Replacing IDMappedRecommender and Suggestion with custom implementations.
    • Ensuring test and production environments are handled explicitly for training tasks.
  • Updated Django and other dependencies to be compatible with Python 3.12 and latest libraries.
  • Improved test reliability and compatibility with the latest ecosystem tools.

These changes modernize the codebase, improve performance and compatibility, and ensure continued support with current tools and libraries.

@marevol marevol requested a review from Copilot July 27, 2025 09:36
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR updates the Python environment and irspack compatibility from version 0.1.16 to 0.4.0, modernizing the codebase to support Python 3.11/3.12 and current ecosystem tools.

  • Updated Python versions across CI/CD pipelines and Dockerfiles from 3.8/3.9 to 3.11/3.12
  • Migrated to irspack 0.4.0 with custom implementations replacing removed APIs (IDMappedRecommender, autopilot, search_one)
  • Enhanced test environment detection and direct execution for improved test reliability

Reviewed Changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated no comments.

Show a summary per file
File Description
backend/requirements.txt Updated all dependencies to latest versions compatible with Python 3.12 and irspack 0.4.0
backend/recotem/recotem/settings.py Updated Django URLs and storage configuration for Django 5.2 compatibility
backend/recotem/api/tasks.py Complete reimplementation of autopilot, search_one, and IDMappedRecommender for irspack 0.4.0
backend/recotem/tests/test_train.py Updated imports and comments to reference custom IDMappedRecommender wrapper
backend/recotem/api/views/model.py Updated type hints and comments for custom IDMappedRecommender implementation
backend/recotem/api/serializers/trained_model.py Added test environment detection and direct execution logic
backend/pyproject.toml Updated tool configuration for current versions
backend/celery.dockerfile Updated Python version from 3.9 to 3.12.11
backend/backend.dockerfile Updated Python version from 3.9 to 3.12.11
.github/workflows/*.yml Updated Python versions in CI workflows to 3.11/3.12
Comments suppressed due to low confidence (8)

backend/requirements.txt:4

  • The package name should use hyphens instead of underscores. It should be 'django-celery-results==2.6.0' to match the standard package naming convention.
django_celery_results==2.6.0

backend/requirements.txt:11

  • The package name should use hyphens instead of underscores. It should be 'djangorestframework-simplejwt==5.5.1' to match the standard package naming convention.
djangorestframework_simplejwt==5.5.1

backend/requirements.txt:18

  • pandas version 2.3.1 does not exist. The latest pandas 2.x version is 2.2.3. Consider using 'pandas==2.2.3' instead.
pandas==2.3.1

backend/requirements.txt:19

  • scikit-learn version 1.7.1 does not exist. The latest scikit-learn 1.x version is 1.5.2. Consider using 'scikit-learn==1.5.2' instead.
scikit-learn==1.7.1

backend/requirements.txt:20

  • optuna version 4.4.0 does not exist. The latest optuna version is 4.1.0. Consider using 'optuna==4.1.0' instead.
optuna==4.4.0

backend/requirements.txt:25

  • pytest-django version 4.11.1 does not exist. The latest pytest-django 4.x version is 4.9.0. Consider using 'pytest-django==4.9.0' instead.
pytest-django==4.11.1

backend/requirements.txt:26

  • pytest-cov version 6.2.1 does not exist. The latest pytest-cov version is 5.0.0. Consider using 'pytest-cov==5.0.0' instead.
pytest-cov==6.2.1

backend/requirements.txt:27

  • pytest-celery version 1.2.0 does not exist. The latest pytest-celery version is 1.1.1. Consider using 'pytest-celery==1.1.1' instead.
pytest-celery==1.2.0

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