python-intermediate-development

"Intermediate Research Software Development Skills (Python)" Lesson Material

https://github.com/carpentries-incubator/python-intermediate-development

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    12 of 32 committers (37.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.1%) to scientific vocabulary

Keywords

beta carpentry-lesson intermediate lesson python software-design software-development software-engineering-research training training-materials

Keywords from Contributors

carpentries-incubator english carpentries pre-alpha alpha helpwanted-list bootstrapping software-carpentry github-pages jekyll
Last synced: 6 months ago · JSON representation ·

Repository

"Intermediate Research Software Development Skills (Python)" Lesson Material

Basic Info
Statistics
  • Stars: 56
  • Watchers: 11
  • Forks: 73
  • Open Issues: 50
  • Releases: 5
Topics
beta carpentry-lesson intermediate lesson python software-design software-development software-engineering-research training training-materials
Created almost 6 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Code of conduct Citation Governance Authors

README.md

DOI

Intermediate Research Software Development Skills (Python)

This is an intermediate-level course in collaborative research software engineering and development skills, using Python as an example language. It teaches these skills in a way that mimics a typical software development process working as a part of a team, starting from an existing piece of software.

A typical learner for this course may be someone who has gained basic software development skills either by self-learning or attending a foundational course such as the novice Software Carpentry Python course and has been coding for 6-12 months. However, their software development-related projects are now becoming larger and more complex and they need more intermediate software engineering skills to help them design more robust software code, automate the process of testing and verifying its correctness and support collaborations with others.

:warning: The course material can change at any point - if you are planning a workshop using this material, either let the maintainers know or make sure you use your own fork of the lesson.

The lesson uses patient inflammation data for code examples, from the Software Carpentry Python "inflammation" lesson.

Check out the variant of this lesson that uses river catchment data in code examples (more suited for Earth and environmental scientists).

Lesson Status

The course is in a stable beta - it has been run over 20 times times with different cohorts by the lesson authors as well as independently by people not directly involved in the lesson development and is in a good state to be reused and taught by others.

Teaching the Lesson

The lesson is suitable for both instructor-led teaching or guided self-learning where helpers provide help and answer questions (synchronously or asynchrounously) as learners go through the course on their own. Initially, in sections 1-3 of the lesson, learners are working on a software project and going though exercises individually. In sections 4 and 5, they are grouped and work in teams, as they would when collaborating on a team software project development.

The lesson has 5 sections; each section can be delivered in one day by an instructor or worked through in self-learning mode over a half a day to a day, depending on the pace.

If you would like to teach this lesson to your audience and help with more beta testing, please let the lesson developers know by opening an issue with your workshop details and a label pilot.

GitLab version of this lesson

There is a (bit outdated but usable) version of this lesson using GitLab.

Contributing

We welcome all contributions to improve the lesson! Maintainers will do their best to help you if you have any questions, concerns, or experience any difficulties along the way.

We would like to ask you to familiarise yourself with our Contribution Guide and have a look at the more detailed guidelines on proper formatting, instructions on compiling and rendering the lesson locally, and making any changes and adding new content or episodes.

Please see the current list of issues for ideas for contributing to this repository. For making your contribution, we use the GitHub flow, which is nicely explained in the chapter Contributing to a Project in Pro Git by Scott Chacon. Look for tags good\_first\_issue or help\_wanted. This indicates that the maintainers will welcome pull requests fixing such issues.

Maintainer(s)

Current maintainers of this lesson (in alphabetical order) are:

The maintainer team aims to meet at 11:00 UK time (BST or GMT) on the fourth Wednesday each month. The meetings alternate between operations meetings and co-working sprints. Meeting notes are kept in the Google doc.

Past maintainers:

Authors

A list of all contributors to the lesson can be found in AUTHORS.

Licence

Instructional material from this lesson is made available under the Creative Commons Attribution (CC BY 4.0) licence. Except where otherwise noted, example programs and software included as part of this lesson are made available under the MIT licence. For more information, see LICENSE.md.

Citation

To cite this lesson, please consult with CITATION.

Contact

To get in touch with the lesson maintainers, send an email to python-inter-inflammation@lists.carpentries.org.

Acknowledgements

Original lesson authors Aleksandra Nenadic, James Graham, and Steve Crouch were supported by the UK's Software Sustainability Institute via the EPSRC, BBSRC, ESRC, NERC, AHRC, STFC and MRC grant EP/S021779/1.

Owner

  • Name: carpentries-incubator
  • Login: carpentries-incubator
  • Kind: organization

Citation (CITATION.md)

Cite as:

Aleksandra Nenadic, Steve Crouch, Thomas Kiley, Raniere Silva, François Michonneau, Maxim Belkin, James Graham, Greg Wilson, Matthew Bluteau, Toby Hodges, Zhian N. Kamvar, Sven van der Burg, Abby Cabunoc Mayes, JacalynLaird, Sarah Stevens, Katrin Leinweber, Erin Becker, João Rodrigues, Douglas Lowe, Aman Goel, Matt Graham, Deveraj Gopinathan, Jaro Camphuijsen, … William L. Close. (2024). carpentries-incubator/python-intermediate-development: beta-Nov2024 (beta-Nov2024). Zenodo. https://doi.org/10.5281/zenodo.16606960

GitHub Events

Total
  • Create event: 32
  • Release event: 1
  • Issues event: 57
  • Watch event: 6
  • Delete event: 27
  • Member event: 3
  • Issue comment event: 102
  • Push event: 171
  • Pull request review comment event: 23
  • Pull request event: 60
  • Pull request review event: 38
  • Fork event: 15
Last Year
  • Create event: 32
  • Release event: 1
  • Issues event: 57
  • Watch event: 6
  • Delete event: 27
  • Member event: 3
  • Issue comment event: 102
  • Push event: 171
  • Pull request review comment event: 23
  • Pull request event: 60
  • Pull request review event: 38
  • Fork event: 15

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 1,490
  • Total Committers: 32
  • Avg Commits per committer: 46.563
  • Development Distribution Score (DDS): 0.493
Past Year
  • Commits: 126
  • Committers: 15
  • Avg Commits per committer: 8.4
  • Development Distribution Score (DDS): 0.571
Top Committers
Name Email Commits
Aleksandra Nenadic a****c@m****k 755
Steve Crouch s****h@s****k 192
Thomas Kiley t****y@u****k 183
James Graham j****m@s****k 108
bielsnohr m****u@g****m 87
Toby Hodges t****s@g****m 38
Sven van der Burg s****g@e****l 34
JacalynLaird 6****d 19
Sarah Stevens s****s@w****u 18
Matthew Bluteau m****u@u****k 7
Sam Mangham m****m@g****m 7
Douglas Lowe 1****e 6
Frank Löffler f****r@u****e 6
Sander van Rijn s****n@e****l 5
Giulia Crocioni 5****2 4
Albert Bogdanowicz a****z@a****m 2
Daniel S. Katz d****z@i****g 2
Renato Alves a****c@g****m 2
Thomas Neep (Advanced Research Computing) t****p@b****k 2
jreeve-nv j****e@n****z 1
gkmurphy 1****y 1
Yuriy Sverchkov s****v 1
Simon Hartley (Advanced Research Computing) s****y@b****k 1
Martin Robinson m****s@g****m 1
Kristian Zarębski k****i@u****k 1
Jonathan Guyer g****r@n****v 1
John Nonweiler j****r@u****k 1
David Young d****g@q****k 1
Dani Bodor d****r@e****l 1
Dan Short 6****2 1
and 2 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 105
  • Total pull requests: 87
  • Average time to close issues: 5 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 15
  • Total pull request authors: 18
  • Average comments per issue: 1.53
  • Average comments per pull request: 0.97
  • Merged pull requests: 71
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 29
  • Pull requests: 48
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 23 days
  • Issue authors: 9
  • Pull request authors: 13
  • Average comments per issue: 0.62
  • Average comments per pull request: 1.31
  • Merged pull requests: 39
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • anenadic (54)
  • bielsnohr (24)
  • steve-crouch (24)
  • svenvanderburg (22)
  • gpfrancis (6)
  • sjvrijn (5)
  • jag1g13 (3)
  • mhagdorn (3)
  • thomaskileyukaea (2)
  • carlosug (1)
  • sstevens2 (1)
  • matt-graham (1)
  • johnnonweiler (1)
  • krishnakumarg1984 (1)
  • p-j-smith (1)
Pull Request Authors
  • anenadic (53)
  • knarrff (14)
  • svenvanderburg (14)
  • bielsnohr (12)
  • steve-crouch (7)
  • thespacedoctor (5)
  • sjvrijn (4)
  • unode (4)
  • douglowe (4)
  • carpentries-bot (3)
  • gcroci2 (3)
  • tomneep (2)
  • DaniBodor (2)
  • cknuepfer (2)
  • jag1g13 (2)
Top Labels
Issue Labels
help wanted (7) pilot (7) ukaea-rse-team (4) enhancement (3) could-have (3) should-have (2) good first issue (2) improvement (2) wontfix (1) documentation (1) type: template and tools (1) bug (1) sprint (1)
Pull Request Labels
type: template and tools (3) improvement (1)

Dependencies

.github/workflows/template.yml actions
  • actions/cache v2 composite
  • actions/checkout master composite
  • actions/setup-python v2 composite
  • r-lib/actions/setup-r v2 composite
  • ruby/setup-ruby v1 composite
.github/workflows/website.yml actions
  • actions/cache v2 composite
  • actions/checkout master composite
  • actions/setup-python v2 composite
  • r-lib/actions/setup-r v2 composite
  • ruby/setup-ruby v1 composite
Gemfile rubygems
  • github-pages >= 0 development
  • webrick >= 1.6.1