openscm / scmdata

Handling of Simple Climate Model data
https://scmdata.readthedocs.io
BSD 3-Clause "New" or "Revised" License
8 stars 5 forks source link

Review dependencies #278

Open znicholls opened 1 year ago

znicholls commented 1 year ago

Review our dependencies. At the moment things are a bit messier than they should be. I would propose trying to slim our required dependencies to:

This would mean dropping some seemingly auxillary packages and pint-pandas (cross-ref #234). I would also make xarray an optional dependency as we don't depend on it for any core functionality.

I think this would make our lives significantly simpler for future maintenance.

Arose from #275

lewisjared commented 1 year ago

I had a quick look through the list and the proposed list would work.

With little effort the following could be removed:

Other thoughts:

znicholls commented 1 year ago

Should notebook be an optional dependency? i.e. do we want to support pip install scmdata[notebooks] rather than just documenting that notebook needs to be installed to run the notebooks.

Yep, I'm surprised we haven't set it up like that already

lewisjared commented 1 year ago

It is already an optional dependency so it was more if we wanted to keep it and it sounds like you do.

Not sure if it actually works as intended as you would need the optional plotting dependencies too. While we are checking things we should check that the notebook deps work as intended.

lewisjared commented 1 year ago

Also 'black' is somewhat optional now given that ruff has 99.9% black compatibility https://docs.astral.sh/ruff/faq/#how-does-ruffs-formatter-compare-to-black

The only downside that I can think of is that PyCharm just got easy integration with black. There is an alternative way to run ruff on every save, but it is 10 clicks instead of 2