eigency icon indicating copy to clipboard operation
eigency copied to clipboard

Eigency Roadmap

Open BTOdell opened this issue 3 years ago • 7 comments

Hello, my name is Bradley. I've recently been given collaborator access by Wouter (owner) to help with maintaining this package as it's been neglected since early 2018. I have already merged in PR #27 and #41 which should fix the current install issues encountered when using the 1.77 release on PyPi.

My immediate objective is to spin a new 1.78 release as soon as possible with the above mentioned critical fixes and then begin work on quality of life improvements.

TO-DO items:

  • [x] Switch from Travis CI to GitHub Actions. This will allow the eigency package to be built and tested across all supported Python versions, OS environments, and build styles (setup.py, pip wheel, pep 517 build).
  • [x] Fix as many open issues as I can!
  • [x] Remove Python 2.7 support.
  • [x] Add Windows and MacOS support.
  • [x] Switch to using a git submodule for eigen to avoid having a copy in the working tree.
  • [x] Upgrade Eigen library
  • [x] Align eigency package version with eigen library version. The current bundled version of eigen is 3.2.8 but the eigency version is 1.77. It would be nice if there was a clear correlation between the version of eigency and the underlying eigen library. I am considering switching to a 4-number version for eigency where the first 3 numbers match the version of eigen (ex: 3.2.8.x) and the last number is a simple revision number for eigency itself. With this versioning system, eigency could support and distribute multiple bundled versions and potentially even support non-bundled (system-installed) eigen (indicated with an eigency version of 0.0.0.x).

BTOdell avatar Feb 28 '22 05:02 BTOdell

Hello, I use eigency in my project and thanks for the work. I'm planning to make a conda-forge package. I already made a yaml to push.

Do you want to be maintainer for the recipe?

This is the url of my work in progress meta.yml https://github.com/fbordeu/staged-recipes/blob/eigency/recipes/eigency/meta.yaml

Felipe

fbordeu avatar Apr 07 '22 09:04 fbordeu

@fbordeu I'm not familiar at all with conda-forge. Can the yaml recipe file be maintained in this repo or does it get checked in to a separate conda repo?

I'd prefer not to have to maintain another distribution platform. Is there a way to have the conda recipe always reflect the latest package on PyPI or the latest release on GitHub?

BTOdell avatar Apr 07 '22 17:04 BTOdell

@BTOdell short answer: no

for the development we can have a conda recipe in this repo (I'm working on one). so everybody can make a local conda package with the local modification. but this recipe cant be used to build the conda-forge packages.

The idea of conda-forge, is that you can have different recipes for different version of the same package. I'm working on a PR to adapt eigency in a way the user can use the "system" eigen headers (this means eigen is installed by the user by some other method, in my case by the conda package manager).

fbordeu avatar Apr 08 '22 07:04 fbordeu

I think the idea of having the version of eigency be the same as eigen, make difficult to use the latest version of eigency with an older version of eigen. I prefer to have a simple integer as the version so the version of the package is generated based on the used version of eigen plus the eigency counter.

package version of eigency 3.4.0.1 : use the eigen version 3.4.0 with eignecy version 1. What do you think.

Thank for keeping alive eigency. And I'm really happy that this project is still alive.

fbordeu avatar Apr 08 '22 07:04 fbordeu

Just did a PR please feel free to review it and I will be glad to change it accordingly.

fbordeu avatar Apr 08 '22 11:04 fbordeu

I believe eigency could already be used with system-installed eigen with eigency.get_includes(include_eigen=False), although it's not tested and verified by the CI so it could be broken at the moment.

I agree with the versioning schema you propose and I had already thought of doing that 😄 (see the last bullet item in the original description)

I'll look over your PR more closely this weekend. Thanks for your contribution!

BTOdell avatar Apr 08 '22 18:04 BTOdell

I just change my old PR for a simpler one, only containing the "system Eigen". Can you ples review this new PR and eventually tag the new version (with something like 2.0.1) you a can test the conda integration from my side. Thanks

fbordeu avatar Jan 13 '23 16:01 fbordeu