tBuLi / symfit

Symbolic Fitting; fitting as it should be.
http://symfit.readthedocs.org
MIT License
233 stars 17 forks source link

Are there plans for a new release in the near future as 0.5.2 has restrictive SciPy requirements that have been removed in `master` #314

Closed brocksam closed 3 years ago

brocksam commented 3 years ago

0.5.2 has the requirement of 1.0<=SciPy<1.2 which I'm finding is restrictive on certain projects that want to use Symfit in addition to SciPy>=1.2. As it's been a while since the 0.5.2 release, since which a number of PRs have been merged in to Symfit's master branch including one which updates the SciPy requirement to be SciPy>=1.2, would it be possible to have a 0.5.3 release (available via pip on PyPI and conda on conda-forge as usual)? Thanks!

tBuLi commented 3 years ago

Hi @brocksam, excellent suggestion. I've been laboring under the false impression that this was already fixed but apparently it wasn't released yet. I've added it to my todo list, should happen soon!

brocksam commented 3 years ago

Great news, thanks! Please let me know if I can do anything to help!

tBuLi commented 3 years ago

Alright, it is released and on PyPI. Now lets wait for the anaconda bot to notice.

Jhsmit commented 3 years ago

Currently the problem on conda forge is the pkg_resources dependency, which is not available on conda forge. I'd say switch to pbr

tBuLi commented 3 years ago

I’m not sure I understand. I saw in your new PR to include pkg_resources in the requirements, so I take it that’s a good thing? And we already use pbr.

Jhsmit commented 3 years ago

Yes sorry for the confusion, I made that PR before realizing pkg_resources wasnt on conda-forge

We use pbr in setup.py, but not in the code itself. I'm proposing to substitute pbr for pkg_resources there

Jhsmit commented 3 years ago

arrgh. pbr has pkg_resources as a dependency which works because pkg_resources seems to be a module of setuptools. I"ll try that.

Jhsmit commented 3 years ago

Ok, that fixed it, the 0.5.3 should be on conda-forge shortly. I've updated my PR to include setuptools: https://github.com/tBuLi/symfit/pull/316 setuptools is preinstalled in new conda envs so this missing dependency never caused any problems conda users

pckroon commented 3 years ago

Tangential question, why do we need the conda release? Symfit is pure python, so I don't really see the added benefit of also maintaining a conda-forge release, especially considering its apparent idiosyncrasies. Can't conda diehards do conda install scipy matplotlib; pip install symfit?

brocksam commented 3 years ago

Tangential question, why do we need the conda release? Symfit is pure python, so I don't really see the added benefit of also maintaining a conda-forge release, especially considering its apparent idiosyncrasies. Can't conda diehards do conda install scipy matplotlib; pip install symfit?

If a project has a dependency on Symfit and wants/needs to be on conda-forge then Symfit is required to be on conda-forge also (see point 6 in the conda-forge/staged-recipes README). Additionally, if one's using a conda virtual environment and installing some packages using conda and some using pip, then when updating packages within that environment it's much more liable to break as pip has a much tougher job of resolving package dependencies than conda. Hope that makes sense! From a personal perspective, I need Symfit on conda-forge for a number of projects I develop and maintain.

pckroon commented 3 years ago

Jup, makes sense. I've had dealings with the dependency resolver of pip (or lack thereof). I think people building on/extending symfit is enough reason to keep maintaining the conda-forge package.

I don't know why conda doesn't pick up on the setup requirements we list in setup.py though? Although honestly, the reason is probably not wanting to have to execute code to figure out the dependencies, which makes a lot of sense.

brocksam commented 3 years ago

I don't know why conda doesn't pick up on the setup requirements we list in setup.py though?

They've now got a tool that attempts to do this as part of the build process. But it's very hit and miss at the moment. They're working on it but it's definitely not reliable yet!

tBuLi commented 3 years ago

Closing as 0.5.3 is now on both PyPI and conda, thanks for the reminder @brocksam!