Skip to content

Added tools for dependency management and linting#16

Merged
luis-gasparschroeder merged 1 commit into
masterfrom
kyle/dependency-management
Apr 24, 2025
Merged

Added tools for dependency management and linting#16
luis-gasparschroeder merged 1 commit into
masterfrom
kyle/dependency-management

Conversation

@kyle65463

@kyle65463 kyle65463 commented Apr 22, 2025

Copy link
Copy Markdown
Collaborator

Overview

Added Poetry for dependency management and tools to ensure code quality, including:

  • Ruff formatter
  • Ruff linter
  • MyPy (static type checking)

Use the following command to install all dependencies:

poetry install --with dev,benchmarks

Pre-commit hook

The above mentioned tools will run automatically on staged files during commit after installing pre-commit hooks by:

poetry install pre-commit

You can also run the pre-commit hook manually by:

poetry run pre-commit run --all-files

Copilot AI left a comment

Copy link
Copy Markdown

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 migrates the project from a setuptools‑based configuration to Poetry, while adding tools for code quality including Ruff and mypy. It also updates development documentation and pre-commit hook configuration.

  • Removed setup.py in favor of a pyproject.toml project file.
  • Added configuration for dependency management (including dev and benchmarks groups), linting (Ruff), and static type checking (mypy).
  • Updated README.md with detailed development setup and pre-commit hook instructions.

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

File Description
setup.py Removed in favor of Poetry-based dependency management
pyproject.toml Added project metadata, dependencies, and configuration for Poetry, Ruff, and mypy
README.md Added detailed development setup instructions for Poetry and pre-commit hooks
.pre-commit-config.yaml Added pre-commit configuration for Ruff and mypy hooks

Comment thread pyproject.toml


[tool.mypy]
python_version = "3.11"

Copilot AI Apr 22, 2025

Copy link

Choose a reason for hiding this comment

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

The mypy configuration specifies '3.11', which may be inconsistent with the project's wider Python requirement of '>=3.10,<4.0'. Consider whether this setting might cause issues when running mypy in a Python 3.10 environment.

Suggested change
python_version = "3.11"
python_version = "3.10"

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Solved in #17

@kyle65463 kyle65463 linked an issue Apr 22, 2025 that may be closed by this pull request
@kyle65463 kyle65463 changed the title Added poetry ruff and mypy for dependency management and linting Added tools for dependency management and linting Apr 23, 2025
@luis-gasparschroeder luis-gasparschroeder merged commit ad14e68 into master Apr 24, 2025
@kyle65463 kyle65463 mentioned this pull request May 11, 2025
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.

Dependency Management

3 participants