google / jaxopt

Hardware accelerated, batchable and differentiable optimizers in JAX.
https://jaxopt.github.io
Apache License 2.0
939 stars 66 forks source link

Developper setup in contributing guidelines #319

Closed zaccharieramzi closed 2 years ago

zaccharieramzi commented 2 years ago

Hi,

I would like to contribute to the repo. I could not find any instructions on how to setup my dev. env. like what linter is used and with which parameters (for example I see that you use 2 spaces identation like all google projects).

By any chance do you have that setup described somewhere? Happy to make a PR with it to include it in the contributing guidelines.

mblondel commented 2 years ago

We have some developer documentation here but we don't enforce a particular coding style yet. Feel free to submit PRs anyway :)

zaccharieramzi commented 2 years ago

Yes yes ofc! It's just that I have VSCode screaming at me with red underlines for the 2 spaces indentation and I was wondering if maybe there was a .flake8 config file that I could use. But yes submitted the PR anyway (#320)!

mblondel commented 2 years ago

You have a failure in common_test.py due to the fact that state attributes need to be arrays, even when they are a scalar. So you should make gamma an array of size 1. Apart from that, this looks good to me. Could you squash commits so we can merge a clean commit?

zaccharieramzi commented 2 years ago

Ah I only looked at lbfgs tests on my laptop sorry! Correcting right away.

I will squash the commits but there is an option on GitHub to do squash merge (and even an option at the repository level to force all merges to be squashed).

mblondel commented 2 years ago

We don't rely on github to merge but on a bot and we have to manually squash, sorry.