Comments (12)
@cwmeijer and @egpbos, can one of you look into this (in particular the 3rd point)?
from platalea.
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.
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.
With commit 54fc340, I fixed the LabelEncoder warning (code quality improvement, CII section "Warning flags").
from platalea.
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.
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.
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.
Ahaha, right, clearly I wasn't involved in that ;)
from platalea.
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.
Another warning fix should hopefully come from wandb/wandb#2129
from platalea.
Wandb PR has been merged, so that's another warning gone after updating to wandb 0.10.30.
from platalea.
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)
- Reproduce label_encoders.pkl HOT 3
- [ZRVG] CPC feature extraction
- Merge zerospeech21-vg branch? HOT 4
- add to RSD HOT 1
- Add issue template
- Create a conda package HOT 1
- Consider creating a conda channel HOT 1
- Use static analysis/code quality service HOT 2
- Description of the software HOT 1
- Supported platform HOT 1
- Add code of conduct
- Add code documentation HOT 1
- No help message when mandatory argument is missing. HOT 2
- CI fails HOT 3
- Test case with SpokenCOCO dataset
- Store dtype in metadata of memmap
- Versioning, releasing, DOI, Zenodo HOT 7
- Linting
- Fix warnings about code quality
- Add reference documentation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from platalea.