py-feat icon indicating copy to clipboard operation
py-feat copied to clipboard

Dependency Updates

Open flashpixx opened this issue 1 year ago • 4 comments

Hello,

I like py-feat very much, but I stick sometimes in dependency issues e.g. numpy / pandas is version 1. So is it possible to update the dependencies to latest stable version(s). In this case my question is also to use another build system e.g https://python-poetry.org/

Maybe I can try to update all components and create a PR if I find some time, but is a change of the build system in that case okay?

flashpixx avatar Aug 12 '24 15:08 flashpixx

hi @flashpixx , thanks for your suggestion. We have almost finished a pretty large refactor to update and streamline dependencies. @ejolly, do you have any thoughts about switching to poetry?

ljchang avatar Sep 03 '24 13:09 ljchang

Poetry supports a poetry.lock file (similar to package.lock on Node.js / NPM project), the file allows to create better reproducable deterministic builds see the documentation. If you take a look into my second issue #233 it try to create a reproducable build, because py-feat crashes, but with the lock file you can figure the exactly installed dependecy versions.

flashpixx avatar Sep 04 '24 14:09 flashpixx

Hey @flashpixx we can definitely update dependency versions, and likely will before we release an update after we finish our refactor.

At this time we're not going to switch over to poetry for a few reasons (but thanks for the offer of help to PR it!):

  • we have several other packages we maintain and want to share standard build and development tooling across all of them and would need to switch everything to poetry
  • some of those projects rely on packages that have pre-built packages on conda or conda-forge
  • having had experience with poetry for a few other projects, what it offers in convenience comes at the cost of non-standard operation, particularly with how semantic versioning is handled compared to setuptools,,pip, and conda. This had lead to unexpected GA issues where we rebuild our package for testing on a regular basis and don't get the install behavior we expect

I've been keeping an eye on poetry for a while, but at this stage don't feel like it offers us enough benefits to warrant switching over. And the switch cost of moving between tools (e.g. poetry, pip, conda) as we move between our different projects, is a little too much for our small development team :)

Happy to revisit in the future!

ejolly avatar Sep 04 '24 15:09 ejolly

Conda & Poetry can work together see Medium. In general when you publish all of your projects, it may be possible to createa PR with a new build system

flashpixx avatar Sep 04 '24 15:09 flashpixx