{"id":23673785,"url":"https://github.com/carpentries-incubator/python-intermediate-development","last_synced_at":"2025-04-05T11:09:29.508Z","repository":{"id":40412698,"uuid":"257930838","full_name":"carpentries-incubator/python-intermediate-development","owner":"carpentries-incubator","description":"\"Intermediate Research Software Development Skills (Python)\" Lesson Material","archived":false,"fork":false,"pushed_at":"2024-12-06T16:06:01.000Z","size":220803,"stargazers_count":52,"open_issues_count":40,"forks_count":62,"subscribers_count":12,"default_branch":"main","last_synced_at":"2024-12-06T21:08:41.972Z","etag":null,"topics":["beta","carpentry-lesson","intermediate","lesson","python","software-design","software-development","software-engineering-research","training","training-materials"],"latest_commit_sha":null,"homepage":"https://carpentries-incubator.github.io/python-intermediate-development/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/carpentries-incubator.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION","codeowners":null,"security":null,"support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["carpentries"],"custom":["https://give.communityin.org/TheCarpentries"]}},"created_at":"2020-04-22T14:47:31.000Z","updated_at":"2024-12-06T18:14:24.000Z","dependencies_parsed_at":"2023-02-14T17:15:22.387Z","dependency_job_id":"e26d2f8d-a640-4f44-bf95-0fb6915199f9","html_url":"https://github.com/carpentries-incubator/python-intermediate-development","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carpentries-incubator%2Fpython-intermediate-development","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carpentries-incubator%2Fpython-intermediate-development/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carpentries-incubator%2Fpython-intermediate-development/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carpentries-incubator%2Fpython-intermediate-development/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/carpentries-incubator","download_url":"https://codeload.github.com/carpentries-incubator/python-intermediate-development/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247325693,"owners_count":20920714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beta","carpentry-lesson","intermediate","lesson","python","software-design","software-development","software-engineering-research","training","training-materials"],"created_at":"2024-12-29T12:56:20.460Z","updated_at":"2025-04-05T11:09:29.484Z","avatar_url":"https://github.com/carpentries-incubator.png","language":null,"readme":"[![DOI](https://zenodo.org/badge/257930838.svg)](https://zenodo.org/badge/latestdoi/257930838)\n\n## Intermediate Research Software Development Skills (Python)\n\nThis is an intermediate-level course in collaborative research software engineering and development skills,\nusing Python as an example language.\nIt teaches these skills in a way that mimics a typical software development\nprocess working as a part of a team,\nstarting from an [existing piece of software](https://github.com/carpentries-incubator/python-intermediate-inflammation).\nThe lesson is developed using [The Carpentries](https://carpentries.org) Jekyll lesson template.\n\nA typical learner for this course may be someone who has gained basic software development skills either by\nself-learning or attending a foundational course such as the novice [Software Carpentry Python course][swc-lessons].\nHowever, their software\ndevelopment-related projects are now becoming larger and more complex and they need more\nintermediate software engineering skills to help them design more robust software code,\nautomate the process of testing and verifying its correctness and support collaborations with others.\n\n\u003e :warning: The course material can change at any point - if you are planning a workshop using this material,\n\u003e either let the maintainers know or make sure you use your own fork of the lesson.\n\nThe lesson uses [patient inflammation data](https://swcarpentry.github.io/python-novice-inflammation/#scenario-a-miracle-arthritis-inflammation-cure) for code examples,\nfrom the [Software Carpentry Python \"inflammation\" lesson][programming-with-python].\n\nCheck out the [variant of this lesson](https://github.com/carpentries-incubator/python-intermediate-development-earth-sciences/tree/gh-pages)\nthat uses river catchment data in code examples (more suited for Earth and environmental scientists).\n\n### Lesson Status\n\nThe course is in a stable beta - it has been run over 15 times times with\ndifferent cohorts by the lesson authors as well as independently by people not directly involved in the lesson development\nand is in a good state to be reused and taught by others.\n\n## Teaching the Lesson\n\nThe lesson is suitable for both instructor-led teaching or guided self-learning where helpers provide help\nand answer questions (synchronously or asynchrounously) as learners go through the course on their own.\nInitially, in sections 1-3 of the lesson,\nlearners are working on a software project and going though exercises individually.\nIn sections 4 and 5, they are grouped and work in teams,\nas they would when collaborating on a team software project development.\n\nThe lesson has 5 sections;\neach 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,\ndepending on the pace.\n\nIf you would like to teach this lesson to your audience and help with more beta testing,\nplease let the lesson developers know by opening an [issue](https://github.com/carpentries-incubator/python-intermediate-development/issues/new?assignees=\u0026labels=pilot\u0026template=lesson-pilot-issue-template.md\u0026title=) with your workshop details and a\nlabel ![pilot](https://shields.io/badge/-pilot-31E930).\n\n## GitLab version of this lesson\nThere is [a (bit outdated but usable) version of this lesson using GitLab](https://github.com/esciencecenter-digital-skills/python-intermediate-development-gitlab).\n\n## Contributing\n\nWe welcome all contributions to improve the lesson! Maintainers will do their best to help you if you have any\nquestions, concerns, or experience any difficulties along the way.\n\nWe would like to ask you to familiarise yourself with our [Contribution Guide](CONTRIBUTING.md) and have a look at\nthe [more detailed guidelines][lesson-example] on proper formatting, instructions on compiling and rendering the lesson locally, and\nmaking any changes and adding new content or episodes.\n\nPlease see the current list of [issues] for ideas for contributing to this\nrepository. For making your contribution, we use the GitHub flow, which is\nnicely explained in the chapter [Contributing to a Project](https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project) in Pro Git\nby Scott Chacon.\nLook for tags ![good\\_first\\_issue](https://img.shields.io/badge/-good%20first%20issue-blueviolet.svg) or\n![help\\_wanted](https://img.shields.io/badge/-help%20wanted-green.svg).\nThis indicates that the maintainers will welcome pull requests fixing such issues.\n\n## Maintainer(s)\n\nCurrent maintainers of this lesson (in alphabetical order) are:\n\n- [Matthew Bluteau][matthew-bluteau] - Lead Maintainer for the period 1 May 2024 - 31 October 2024\n- [Steve Crouch][steve-crouch]\n- [Doug Lowe][doug-lowe]\n- [Aleksandra Nenadic][aleksandra-nenadic]\n\nThe 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.\nMeeting notes are kept in the [Google doc](https://docs.google.com/document/d/1-SvoY_2GvlQgJnu8zfr6VnU7sev_iWZAIwBUywNSfWE/edit#).\n\nPast maintainers:\n\n- [Kamilla Kopec-Harding][kamilla-kopec-harding]\n\n## Authors\n\nA list of all contributors to the lesson can be found in [AUTHORS](./AUTHORS).\n\n## Licence\n\nInstructional material from this lesson is made available under the\n[Creative Commons Attribution][cc-by-human] ([CC BY 4.0][cc-by-legal]) licence. Except where\notherwise noted, example programs and software included as part of this lesson are made available\nunder the [MIT licence][mit-license]. For more information, see [LICENSE.md](LICENSE.md).\n\n## Citation\n\nTo cite this lesson, please consult with [CITATION](CITATION).\n\n## Contact\n\nTo get in touch with the lesson maintainers, send an email to [python-inter-inflammation@lists.carpentries.org](mailto:python-inter-inflammation@lists.carpentries.org).\n\n## Acknowledgements\n\nOriginal lesson authors Aleksandra Nenadic, James Graham, and Steve Crouch were supported by the [UK's Software Sustainability Institute][ssi] via the [EPSRC, BBSRC, ESRC, NERC, AHRC, STFC and MRC grant EP/S021779/1](https://gow.epsrc.ukri.org/NGBOViewGrant.aspx?GrantRef=EP/S021779/1).\n\n[swc-lessons]: https://software-carpentry.org/lessons/\n[programming-with-python]: https://swcarpentry.github.io/python-novice-inflammation/\n[lesson-example]: https://carpentries.github.io/lesson-example\n[issues]: ../../issues\n[matthew-bluteau]: https://github.com/bielsnohr\n[steve-crouch]: https://github.com/steve-crouch\n[kamilla-kopec-harding]: https://github.com/kkh451\n[doug-lowe]: https://github.com/douglowe\n[aleksandra-nenadic]: https://github.com/anenadic\n[cc-by-human]: https://creativecommons.org/licenses/by/4.0/\n[cc-by-legal]: https://creativecommons.org/licenses/by/4.0/legalcode\n[mit-license]: https://opensource.org/licenses/MIT\n[ssi]: https://software.ac.uk/\n\n\n\n","funding_links":["https://github.com/sponsors/carpentries","https://give.communityin.org/TheCarpentries"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarpentries-incubator%2Fpython-intermediate-development","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarpentries-incubator%2Fpython-intermediate-development","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarpentries-incubator%2Fpython-intermediate-development/lists"}