# 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