Skip to content
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

Restrict upper limit of pandas and matplotlib + "use latest versions" test #343

Closed
AdamOrmondroyd opened this issue Sep 22, 2023 · 6 comments · Fixed by #344
Closed

Restrict upper limit of pandas and matplotlib + "use latest versions" test #343

AdamOrmondroyd opened this issue Sep 22, 2023 · 6 comments · Fixed by #344
Labels
discussion enhancement New feature or request

Comments

@AdamOrmondroyd
Copy link
Collaborator

Every time a minor update to pandas or matplotlib is released, inevitably anesthetic breaks. It then takes time to make the necessary changes, which is never as simple as I expect, so we then release a patch to the pyproject.toml which restricts pandas/matplotlib to the previous version, all the while pip install anesthetic is broken, which doesn't look good.

I propose that we restrict matplotlib and pandas to minor versions which we know work, which once #339 and #335 are finished, will be

dependencies = [
    "scipy",
    "numpy",
    "pandas>=2.0.0,<2.2.0",
    "matplotlib>=3.6.1,<3.9.0",
]

numpy and scipy have behaved in the time that I've been working on this project so I think just leave them alone.

To make us aware of new versions, I think we should have a test which tries the latest versions, but does not necessarily need to pass for a PR to be merged.

@lukashergt
Copy link
Collaborator

numpy and scipy have behaved in the time that I've been working on this project so I think just leave them alone.

Yes, numpy and scipy should not be issues. It is matplotlib and pandas, since we are very closely linked with those.

To make us aware of new versions, I think we should have a test which tries the latest versions, but does not necessarily need to pass for a PR to be merged.

As long as there are tests in the CI (both for PRs and for scheduled checks) that flag up when anesthetic becomes incompatible with newer pandas and matplotlib versions, then this is something I can get on board with.

@lukashergt
Copy link
Collaborator

@williamjameshandley, let's get your thoughts on this, too, though.

@lukashergt lukashergt mentioned this issue Sep 27, 2023
6 tasks
@williamjameshandley
Copy link
Collaborator

Agreed. The current situation means that pip installs break, which is no good at all. The most up-to-date version check could be added as its own dedicated cron job.

@AdamOrmondroyd
Copy link
Collaborator Author

There is an issue with this idea, which is that if the next minor pandas/matplotlib releases and doesn't cause any problems, there's nothing to notify us that we should increment the anesthetic requirements

@AdamOrmondroyd
Copy link
Collaborator Author

AdamOrmondroyd commented Oct 1, 2023

A few possible options for subscribing to pypi releases are described here https://stackoverflow.com/questions/17395151/how-can-i-subscribe-to-updates-of-a-package-on-pypi

@lukashergt
Copy link
Collaborator

There is an issue with this idea, which is that if the next minor pandas/matplotlib releases and doesn't cause any problems, there's nothing to notify us that we should increment the anesthetic requirements

How about we add a test that runs after the latest dependencies test and checks whether the latest pandas and matplotlib minor versions are greater than our listed dependency?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants