# RSE Python course Jan 2022 - Software Projects ## Teaching staff - Eric (instructing) - Nick (instructing) - Luke (helping) - Pam (helping) - Jack (helping) - Ed (helping) ## Links - The course HackMD [document](https://hackmd.io/wGRDdpOJTOe-a3PiUP-s5g) - The [lesson](https://alan-turing-institute.github.io/rse-course/html/module06_software_projects/index.html) on GitHub Pages ## Pre-session 1. [ ] Share this doc with instructors and helpers 2. [ ] Make poll(s) in Zoom (yes/no and red/amber/green) 3. [ ] Add role to Zoom name 4. [ ] Make everyone a co-host 5. [ ] Add breakout room headings and icebreaker prompts to HackMD [document](https://hackmd.io/wGRDdpOJTOe-a3PiUP-s5g) (will have to adjust number of breakout room depending on attendance as we're aiming for 4 participants/room) ## Start-of-session reminders 1. [ ] Lesson is being recorded (but learners can be edited out) 2. [ ] Re-share the link to the lesson (linked above) ## Notes, possible improvements ### 06_00 Turning your code into a package - Add something on virtual environments - Quite a few questions on benefits of pip vs conda vs Poetry etc. - Iris dataset may be problematic (https://github.com/alan-turing-institute/rse-course/issues/68) ### 06_01 Libraries - Questions on how to define and maintain dependencies, check for security issues/bloat, ... ### 06_02 Argparse - Questions on need/convention for `if __name__ == "__main_"` ### 06_03 Python not in the notebook - class `Maze`, `step` function: `house.describe()` and `house.wander()` - `house` not defined, should be `self`? - [NB] I'm not sure it's really helpful to have all the stuff about the python path - i think it's easier to just package stuff up and install it, and if we're encouraging people to have different environments for different projects, i don't really see a downside to that... ### 06_04 Packaging ### 06_05 Documentation - Question: Where to host docs? ### 06_06 Software Project Management ### 06_07 Software Licensing - The link to the O’Reilly book about licensing is broken, is it referring to this? https://www.oreilly.com/library/view/understanding-open-source/0596005814/bk01-toc.html - Mention JOSS/similar? ### 06_08 Managing software issues