vallettea / koala

Transpose your Excel calculations into python for better performances and scaling.
GNU General Public License v3.0
147 stars 59 forks source link

gen_graph no longer returns a new instance of Spreadsheet #214

Closed Brad-eki closed 5 years ago

Brad-eki commented 5 years ago

Hi Everyone,

I have been integrating koala with other libraries and over the last couple of months I've been AFK. There has been a few big changes to koala in that time. Great to see, but we appear to have broken some things.

I am trying to call gen_graph() in the "Advanced" use case, eg; after an initial graph has already been generated.

In the "olden days" gen_graph() would return a new instance of Spreadsheet, now it runs build_spreadsheet() which only modifies self and has no return.

Was this behavior intentional?

I am counting on gen_graph() to return a limited graph / subset of the full spreadsheet (eg; one "model" as defined within the workbook), as was the earlier behavior.

Currently calling gen_graph() with an input cell defined will actually grow the Spreadsheet graph.

Does anyone mind if we reinstate the previous ("Advanced") use case functionality? -- not suggesting we roll any code back, just fix this bug.

danielsjf commented 5 years ago

@brad-eki yes I have introduced this change and I have probably caused this bug. I wasn't aware of this use case and I apologise for the inconvenience caused. I only monitored the checks and therefore it would be good to add a new test for this as well to avoid changes in the future.

Brad-eki commented 5 years ago

Hi @danielsjf,

I have followed the commits around and this change has come from a commit you've put forward.

The changes are from a place of good intent - I have found issue #188. I can also see this is part of the effort to clean up and move away from the dependence we had on openpyxl. Both are changes we desperately need to make.

In the move, however,this change has made a significant change to the way koala can be used. Again, personally no direct issue on that front. The sudden and essentially silent way such a significant change turned up has caused some discomfort. (And this is on all of us as contributors to the project, and the project owner)

Where it has potentially caused some damage: Through this year I have used koala (in the previous form) to make a tool which assists a company to move mathematical model development from coders (analysts and developers) to engineers (civil, mechanical, etc...). I have moved on from that company. Between me delivering the modelling tool, me leaving and the company deploying the tool koala has changed such that the tool can no longer be used. At this stage resolving the fallout isn't mine to fix but it is likely to have caused a reputation hit as what I have delivered, and documented, can no longer work.

If anyone has been using koala by following the "Advanced" paradigm, they are certainly going to have difficult to identify problems if they ever upgrade their koala library.

I have actually used the existing tests to learn how to use koala in the way that I have. These tests remain unchanged.

Moving forward; I think it is best if we make a fuss about the usability change in the instructions on the koala homepage. Potentially make a big jump in the version number and document how this signals a major change in usability and that people need to be aware they will need to change code to make it work again.

I have put forward a pull request to address the immediate issue (#215). Would be great if you can review that change.

More work will need to be done to get the tests back into line and promote the change adequately.

vallettea commented 5 years ago

hello @Brad-eki ,

I understand your concerns and I apologize that our change did you wrong. A quick fix could be to use the version you developped your solution on (you can always find them on pipy).

For the moment, koala is still in a sort of beta as I wanted to do a major refactor after we had created and successfully used this lib for a mission, but since i never i had time to do it, I could only follow from far away the changes you made. So I'd say the major problem of koala is to find a dedicated maintainer that could write some guidelines to push the repo to a production ready state.

@danielsjf would you like to review the PR, or should I do it (which won't be anytime soon) ?

Brad-eki commented 5 years ago

Hi @vallettea, I'm not particularly upset about the change that has come through.

@danielsjf has done the right thing - he's been bold and made a strong change. And a change that Koala has needed.

I think I have the resources to put my hand up to be a dedicated maintainer. I'm currently between jobs, have finished up my other open source contributions, about to publish a solution that brings together Koala and xlwings, and would like to find some consulting work in the field of data analytic solutions. It appears as though I have the motivation to see Koala do well.

Are there any formal requirements I need to meet before I could be considered?

vallettea commented 5 years ago

@Brad-eki I just discussed with my former team that is not interested in koala anymore (hence the change in the ownership). @Brad-eki you are a member and you can pull/push/merge anything so feel free to consider yourself as the maintainer of the repo.

You can make all the change that you think are necessary. In the future, we might need to create so kind of organization dedicated to koala, but i don't want to over complicate things now.

Brad-eki commented 5 years ago

Thanks @vallettea.