Skip to content

Run different version of mypy in ci #2671

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

UnknownPlatypus
Copy link
Contributor

I have made things!

Run ci with mypy 1.13, 1.14, 1.15 and master branch on github.

I'm not sure it's worth doing the full matrix with the python version wdyt @sobolevn ?

@@ -31,7 +32,12 @@ jobs:
- name: Install dependencies
run: |
pip install -U pip "setuptools<79.0.0" wheel
SETUPTOOLS_ENABLE_FEATURES=legacy-editable pip install -r ./requirements.txt
SETUPTOOLS_ENABLE_FEATURES=legacy-editable pip install -r ./requirements-base.txt
Copy link
Member

Choose a reason for hiding this comment

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

you can keep old requirements.txt and add pip install -U "mypy==${{ matrix.mypy-version }}"

Copy link
Contributor Author

@UnknownPlatypus UnknownPlatypus May 10, 2025

Choose a reason for hiding this comment

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

I wanted to avoid installing 2 versions of mypy to gain some ci time.

Anyways, this should be much easier to handle once we revive the project.toml PR, might do that later

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sadly specifying multiple editable dependencies does not seem to be possible with a pyproject.toml file yet. From PEP 735:

Special attention was devoted to attempting to standardize the expression of editable installations, as expressed by pip install -e and PEP 660. However, although the creation of editable installs is standardized for build backends, the behavior of editables is not standardized for installers. Inclusion of editables in this PEP requires that any supporting tool allows for the installation of editables.
Therefore, although Poetry and PDM provide syntaxes for some of these features, they are considered insufficiently standardized at present for inclusion in Dependency Groups.

So I don't think we can completely remove the requirements.txt file without switching to something like uv.

I'll be happy to do that if you guys agree, it should also simplify the local setup to a simple uv sync command, making contributions easier.
wdyt @sobolevn @adamchainz ?

Copy link
Member

Choose a reason for hiding this comment

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

sure, let's move to uv. current setup is broken for local development :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants