Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 29, 2025

The project declared 85 total dependencies but only used 6 in production code. This PR removes unused dependencies to reduce installation time, disk usage, and maintenance burden.

Changes

requirements.txt: Reduced from 46 to 6 dependencies (-87%)

  • Kept: numpy, pandas, scipy, matplotlib, statsmodels, scikit-learn
  • Removed: Server frameworks (fastapi, uvicorn, pydantic), security libraries (cryptography, python-jose, passlib), visualization tools (plotly, dash, seaborn), data format handlers (openpyxl, xlrd, pyarrow), performance libraries (numba, dask), and other unused packages (networkx, deap, tqdm, joblib)

requirements-dev.txt: Reduced from 39 to 12 dependencies (-69%)

  • Kept: Testing (pytest, pytest-cov, coverage), linting/formatting (black, flake8, mypy, isort), documentation (sphinx, sphinx-rtd-theme), build/release (build, twine)
  • Removed: Unused test frameworks (pytest-asyncio, pytest-mock, hypothesis), additional linters (pylint, bandit), extra doc tools (mkdocs), dev utilities (jupyter, ipython, pre-commit), profilers (ipdb, memory-profiler)

pyproject.toml: Synchronized dependencies with requirements files

README.md: Removed duplicate Python version badges and bandit badge

Verification

Analysis confirmed via grep of all imports across py_stats_toolkit/ and tests/. All 12 existing tests pass with the reduced dependency set.

Original prompt

git checkout -b deps-update-clean upstream/release/community-contributions


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@sonarqubecloud
Copy link

Copilot AI changed the title [WIP] Update dependencies for community contributions Remove 67 unused dependencies from requirements files Dec 29, 2025
Copy link
Member

@EthanThePhoenix38 EthanThePhoenix38 left a comment

Choose a reason for hiding this comment

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

submitted after corrections of conflits

@EthanThePhoenix38 EthanThePhoenix38 marked this pull request as ready for review December 29, 2025 08:54
Copilot AI review requested due to automatic review settings December 29, 2025 08:54
@EthanThePhoenix38 EthanThePhoenix38 merged commit a04167f into main Dec 29, 2025
7 of 13 checks passed
@EthanThePhoenix38 EthanThePhoenix38 deleted the copilot/deps-update-clean branch December 29, 2025 08:55
Copy link
Contributor

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 removes 67 unused dependencies from the project's requirements files, reducing the total from 85 to 18 dependencies (6 production + 12 development). The cleanup aims to minimize installation time, disk usage, and maintenance overhead by retaining only actively used packages verified through code analysis.

  • Reduced production dependencies from 46 to 6, keeping core scientific computing libraries (numpy, pandas, scipy, matplotlib, statsmodels, scikit-learn)
  • Reduced development dependencies from 39 to 12, retaining essential testing, linting, formatting, documentation, and build tools
  • Updated Python version requirement from 3.8+ to 3.9+ across all configuration files

Reviewed changes

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

Show a summary per file
File Description
requirements.txt Removed 40 unused production dependencies, kept 6 core scientific libraries with updated minimum versions
requirements-dev.txt Removed 27 unused dev dependencies, kept 12 essential development tools (pytest, black, flake8, mypy, sphinx, etc.)
pyproject.toml Synchronized dependencies list with requirements files, added coverage and twine to dev extras
py_stats_toolkit.egg-info/requires.txt Updated generated dependency metadata to match new requirements, bumped minimum versions
py_stats_toolkit.egg-info/SOURCES.txt Added new module files to the package manifest
py_stats_toolkit.egg-info/PKG-INFO Updated package metadata with version 1.0.5, new Python version requirement (3.9+), and synced dependency lists
README.md Removed duplicate Python version badge, removed bandit badge (tool no longer used), cleaned up redundant test/coverage badges

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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.

2 participants