python-template icon indicating copy to clipboard operation
python-template copied to clipboard

Show external usage on RSD

Open jvdzwaan opened this issue 5 years ago • 11 comments

To show impact of the template, it would be nice if we could link to external software for which the template was used. Maybe we can stimulate external users to report usage and/or have an automated process that does this.

jvdzwaan avatar Aug 15 '19 14:08 jvdzwaan

You can already do this by adding external software as a Web Page. Set the title to something that is useful for the RSD frontend, like I have done here: https://www.zotero.org/groups/1689348/netherlands_escience_center/items/itemKey/XYUL4J3A

Regarding the second part of the issue, i.e. stimulating external users for reporting: I'm not holding my breath for that one, since we can't even manage to do this within our own organization; see your experience with asking through email. At the same time it can't hurt so why the heck shouldn't we ask users to report their usage of le template. You've found one through googling the credit line, didn't you?

Other places that may be helpful:

  1. GitHub forks
  2. dependents page (https://github.com/NLeSC/python-template/network/dependents). I once found a copy of cffconvert there that had been cloned and pushed as opposed to forked, https://github.com/citation-file-format/cff-converter-python/network/dependents

Finally, maybe you could get a more complete impression of who is using the software by ending the cookiecutter question with something like:

Would you allow cookiecutter to ping the developers?
Doing so helps justify our continued involvement in maintaining the template. Y/n

jspaaks avatar Aug 19 '19 11:08 jspaaks

BTW I found a bunch more users through github search: https://github.com/search?p=2&q=nlesc+cookiecutter&type=Code

Might be worth considering adding a random string to, say, the setup.cfg file and then search for that string, so the search results are not as cluttered with unrelated stuff.

jspaaks avatar Aug 19 '19 12:08 jspaaks

Thanks for the suggestions, Jurriaan!

I had a look at the github search results, and most of them are demo projects or not very active projects. This raises the question when projects should be added/how active projects should be. I guess having a release on PyPI is a good start.

I like having a random string in e.g. setup.cfg better than asking users whether we can ping them... Although the search string puts the burden on us, and a ping pro-actively informs us.

BTW, what do you mean with ping, send an email using a gmail address, or did you have something else in mind?

jvdzwaan avatar Aug 20 '19 08:08 jvdzwaan

Not sure if it is feasible, but I was thinking of having cookiecutter "call home" so to speak during install && with permission of whoever is installing. Note that requires us to set up some kind of server for it to connect to, but maybe we can piggyback on some other service we have running.

jspaaks avatar Aug 21 '19 08:08 jspaaks

Yes, that's why I was suggesting gmail, we wouldn't have to set up that ourselves. There is the matter of the password, of course...

I was also thinking of raising this issue with the cookiecutter people. I'm sure other people would be interested in getting usage statistics. Surprisingly, I was unable to find an issue about it...

jvdzwaan avatar Aug 21 '19 15:08 jvdzwaan

on RSD

  • [x] Add relation between the tools GT created and this template https://www.research-software.nl/software/nlesc-python-template
  • [x] send email to NLeSC engineers to relate their python packages with this template

fdiblen avatar Apr 07 '21 12:04 fdiblen

https://github.com/citation-file-format/pycff

jspaaks avatar Apr 07 '21 12:04 jspaaks

Lists of repositories using this Python template on 13 April 2021 based on searching Github: https://github.com/search?p=2&q=nlesc+cookiecutter&type=Code (the search finds several other irrelevant pages). Lists expanded on 4 May 2021 with ten more repositories from among others https://github.com/search?p=6&q=%22Relevant+section+in+the+guide%22&type=Code

External (unknown project or owner)

  1. https://github.com/arredondo23/workshop_pypkg
  2. https://github.com/bstienen/particlefilter
  3. https://github.com/cory-imel/veracode-results-parser
  4. https://github.com/davislf2/Spark101
  5. https://github.com/FAIR-data-for-CAPACITY/CAPACITY-mapping
  6. https://github.com/GO-Eratosthenes/start-code
  7. https://github.com/JesseKerkvliet/workshop_reproducibility_local
  8. https://github.com/quanpan302/template/tree/master/Python/NLeSC
  9. https://github.com/rajkumar-d83/nse_project
  10. https://github.com/sunxb05/aichem
  11. https://github.com/thehyve/python_transmart_loader

Internal (eScience project or owner)

  1. https://github.com/CARRIER-project/vantage6-algorithms
  2. https://github.com/ci-for-research/zenodo
  3. https://github.com/citation-file-format/pycff
  4. https://github.com/DeepRank/deeprank
  5. https://github.com/DeepRank/pdb2sql
  6. https://github.com/egpbos/egp
  7. https://github.com/eWaterCycle/ewatercycle
  8. https://github.com/fair-data/fairdatapoint
  9. https://github.com/fair-data/fairdatapoint-client
  10. https://github.com/fair-software/fairtally
  11. https://github.com/fair-software/howfairis
  12. https://github.com/fair-workflows/DemoFlask
  13. https://github.com/fdiblen/simit
  14. https://github.com/FEDMix/fedmix-backend
  15. https://github.com/FEDMix/fedmix-viewer
  16. https://github.com/Filter-Bubble/stance_finder
  17. https://github.com/Filter-Bubble/stanza_wrapper
  18. https://github.com/geek-yang/META
  19. https://github.com/GO-Eratosthenes/image_retrieval
  20. https://github.com/hpgem/nanomesh
  21. https://github.com/iomega/spec2vec
  22. https://github.com/jspaaks/test
  23. https://github.com/matchms/matchms
  24. https://github.com/NLeSC/dask-cassandra-loader
  25. https://github.com/NLeSC-GO-common-infrastructure/dcachefs
  26. https://github.com/NLeSC-GO-common-infrastructure/stac2dcache
  27. https://github.com/NLESC-JCER/pyspectra
  28. https://github.com/NLESC-JCER/pyZacros
  29. https://github.com/NLESC-JCER/refac
  30. https://github.com/nlesc-nano/ceiba
  31. https://github.com/nlesc-nano/ceiba-cli
  32. https://github.com/nlesc-nano/flamingo
  33. https://github.com/nlesc-nano/insilico-database
  34. https://github.com/nlesc-nano/Tutorials
  35. https://github.com/online-behaviour/machine-learning
  36. https://github.com/parallelwindfarms/byteparsing
  37. https://github.com/phenology/cgc
  38. https://github.com/puregome/notebooks
  39. https://github.com/sequgen/sequgen
  40. https://github.com/sundial-pointcloud-geometry/ectopylasm
  41. https://github.com/sverhoeven/justatest
  42. https://github.com/TICCLAT/ticclat
  43. https://github.com/twinl/location
  44. https://github.com/votca/PyVOTCA

eriktks avatar Apr 13 '21 11:04 eriktks

Some extra repos from @CunliangGeng :

https://github.com/DeepRank/deeprank https://github.com/DeepRank/pdb2sql https://github.com/fair-data/fairdatapoint https://github.com/fair-data/fairdatapoint-client

fdiblen avatar Apr 13 '21 12:04 fdiblen

BTW I found a bunch more users through github search: https://github.com/search?p=2&q=nlesc+cookiecutter&type=Code

Might be worth considering adding a random string to, say, the setup.cfg file and then search for that string, so the search results are not as cluttered with unrelated stuff.

I think this is a very good idea to see how many packages are using the template.

fdiblen avatar Apr 14 '21 17:04 fdiblen

Note: the strings that I searched for to compile a list of repositories that used the Python template (cookiecutter and NLeSC) were added to the template on 3 Sep 2018. There are probably several older uses of the template that do not contain these strings.

eriktks avatar May 04 '21 15:05 eriktks

Unfortunately it's not possible to filter code by date yet on GitHub, which makes the process of updating this list quite cumbersome. I found a few new (and old) ones nevertheless with @eriktks's search term (https://github.com/search?p=6&q=%22Relevant+section+in+the+guide%22&type=Code):

External

  1. https://github.com/OpenDA-Association/pyopenda

Internal

  1. https://github.com/eriktks/find-journalists
  2. https://github.com/EcoExtreML/STEMMUS_SCOPE_Processing
  3. https://github.com/AI4S2S/s2spy
  4. https://github.com/dianna-ai/dianna
  5. https://github.com/dianna-ai/distance_explainer
  6. https://github.com/EDG-Acoustics/edg-acoustics
  7. https://github.com/Filter-Bubble/e2e_wrapper
  8. https://github.com/AI4S2S/lilio
  9. https://github.com/NPLinker/nplinker
  10. https://github.com/LAHTeR/htr-quality-classifier
  11. https://github.com/point-cloud-radar/bird-cloud-gnn
  12. https://github.com/eWaterCycle/pywflow
  13. https://github.com/aiproteomics/aiproteomics
  14. https://github.com/SDCCA/quafing
  15. https://github.com/FAIR-data-for-CAPACITY/ZIB-uploader
  16. https://github.com/mapping-gait-ai/gait-mapper
  17. https://github.com/NLESC-JCER/roquefort

egpbos avatar Jul 13 '23 07:07 egpbos

Also (albeit a long time ago)

  • https://github.com/multiscale/ymmsl-python
  • https://github.com/md-studio/cerulean
  • https://github.com/yatiml/yatiml

Cerise seems to predate the template, and I think MUSCLE3 took some stuff from my other template-based repos but wasn't instantiated from the template directly. It's a mixed Python/C++/Fortran project anyway.

LourensVeen avatar Jul 13 '23 08:07 LourensVeen

Another internal package: https://github.com/elpaco-escience/scikit-talk

bvreede avatar Jul 14 '23 09:07 bvreede