symfit icon indicating copy to clipboard operation
symfit copied to clipboard

Overview of code structure needed for aspiring contributors

Open antonykamp opened this issue 5 years ago • 7 comments

Hello,

It's more a question than an issue. So if somebody wants to contribute to symfit, it's quite difficult to get an overview of the code structure.

I know it's a big task, but is it possible to create a manual, which help to get into the code architecture?

antonykamp avatar Jun 12 '19 19:06 antonykamp

https://symfit.readthedocs.io/en/stable/api_structure.html Beyond that we probably need to improve the general structure (fit.py is too large). But if you have specific questions feel free to ask.

pckroon avatar Jun 13 '19 07:06 pckroon

I agree with you that the documentation is currently a bit lacking in outlining these things for people who want to contribute, so it's not unfair to ask. The link @pckroon provided is indeed the best we currently have, and even it seems a bit outdated and in need of review. So in fact, I will reopen this as an issue that needs to be addressed.

As to what we can do about this immediately, @pckroon and I are usually quite quick to respond to specific problems, so if you have something you would like to work on just let us know.

Do you have something specific you would like symfit to be able to do and would like to discuss? Perhaps you can open an issue for that and then we can discuss it there. Let me know what it is you would like to contribute :).

And if you would like me to recommend some valued issues which might be relatively simple to address, you can have a look at #160 (Not very easy but for sure highly valued by some users), or #106.

tBuLi avatar Jun 13 '19 08:06 tBuLi

Thanks for your quick response. I already read the API structure from the docs yesterday...That's why I opened this issue :) I want to help on this project, because I think that it has a great perspective.

I'll have an eye on the pull request #247. (After some lines in the docs (#204 & #143)) I would try to help at the issue #160 .

antonykamp avatar Jun 13 '19 13:06 antonykamp

As I am currently engaged in unittesting in my free time, I would suggest that I develop more test cases for symfit. In this case, it will be possible for me to deal with the code structure further.

Edit: Unless there is an issue that you would recommend to me :D

antonykamp avatar Jun 18 '19 18:06 antonykamp

That would in fact be very much appreciated, adding and organizing tests is something that needs to be done, and it's a good way to get to know a project!

You can have a look here to see the areas which need attention: https://coveralls.io/github/tBuLi/symfit

You can ignore the worst 2 files though, keywordonly.py and leastsqbounds.py. The first will be fixed by discontinuing py27 support, and the latter by removing that file altogether and using scipy's equivalent.

tBuLi avatar Jun 18 '19 20:06 tBuLi

More tests would be great indeed! We intend to move to (parametrized) pytest tests and fixtures [1] rather than the jumble it is at the moment. You are more than welcome to either add tests in this new style, convert old/existing tests or just add new test cases in the current style. Go nuts :D

[1] https://docs.pytest.org/en/latest/parametrize.html

pckroon avatar Jun 19 '19 10:06 pckroon

So I have a task now :D first I'm going to convert the existing test to pytests...test by test. After this I'll create new Tests. If I have questions, I'll open an issue ;)

antonykamp avatar Jun 19 '19 19:06 antonykamp