Code Monkey home page Code Monkey logo

Comments (12)

bhigy avatar bhigy commented on September 23, 2024 1

@cwmeijer and @egpbos, can one of you look into this (in particular the 3rd point)?

from platalea.

bhigy avatar bhigy commented on September 23, 2024 1

Wow, this is the first time I read these CII criteria, very exhaustive, nice!

This comes from the software sustainability plan that the eScience center asked us to fill. 😃 I didn't know about that either.

from platalea.

bhigy avatar bhigy commented on September 23, 2024 1

Other point we should discuss I think is the versioning of the code. I would like to add a DOI to the repository through Zenodo, which can automatically archive the different releases of the code. Making such releases on a consistent basis would be good (we have one so far).

from platalea.

egpbos avatar egpbos commented on September 23, 2024 1

With commit 54fc340, I fixed the LabelEncoder warning (code quality improvement, CII section "Warning flags").

from platalea.

egpbos avatar egpbos commented on September 23, 2024 1

All Python warnings from running the experiments are gone now, also #90.

A next logical step would be to "fix" all current linter warnings produced by flake8. After that, we could see what pylint on extreme strictness levels suggests, maybe it has some useful ideas.

from platalea.

egpbos avatar egpbos commented on September 23, 2024

Wow, this is the first time I read these CII criteria, very exhaustive, nice!

Under "Warning flags" it basically says we should use a linter in strict mode. I think this can indeed be very useful. I once did a project with pylint at maximum strict mode. At first it's very annoying, but in the end I was very happy with the result, even though I sometimes disagree with the defaults. Strict mode also notifies you that you should write doc-strings for all functions and modules. This way we would automatically satisfy the documentation criteria.

Of course, we don't want to get into holy formatting wars ;) But I think we are actually already very close in the way we write code. I would say that we just configure pylint to ignore the things we still turn out to disagree on, which is easy enough to do.

Then we can also add a linting check to CI. I would also then activate the linter in my editor, so that it becomes easy to fix some warnings along the way (i.e. while you may be doing something else).

from platalea.

bhigy avatar bhigy commented on September 23, 2024

Sounds good to me. It will also force me to finally set the linewidth properly. I still get warnings when the line exceeds 80 characters, while I think we once talked about setting that to 120.

from platalea.

egpbos avatar egpbos commented on September 23, 2024

Ahaha, right, clearly I wasn't involved in that ;)

from platalea.

egpbos avatar egpbos commented on September 23, 2024

Yeah, I personally tend to set it to 120, but I have no issues making it bigger still, or ignoring the rule entirely. There are a lot of rules that are far more useful than this :)

from platalea.

egpbos avatar egpbos commented on September 23, 2024

Another warning fix should hopefully come from wandb/wandb#2129

from platalea.

egpbos avatar egpbos commented on September 23, 2024

Wandb PR has been merged, so that's another warning gone after updating to wandb 0.10.30.

from platalea.

egpbos avatar egpbos commented on September 23, 2024

Ok, made a PR for a first run of flake8 fixes: #91.

For next steps, we should probably make a list of things we need to do to fulfill the CII criteria. Let's start out just copying it and striking through items we have already. I'll do this in a new issue to keep this one from becoming too long and messy.

In fact, I'll just go ahead and split up everything I think is still unresolved from this thread into separate issues, so we can close this and continue there:

  • Contributing back / generalization: #92.
  • CII checklist: #93.
  • Versioning, DOI and Zenodo: #94.
  • Linting: #95.

from platalea.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.