Python Study Group

Python Study Group

What is it?

The Python Study Group is an opportunity to learn, teach and discuss Python with your fellow edXers! Meetings occur once every three weeks and are listed on the engineering calendar.

How does it work?

Usually, a single presenter will put together a talk on a topic of their choosing. It can be anything related to python, including particular libraries or edX-specific patterns and usages. Sometimes we vary the format with things like

  • Group code reviews

  • Helping someone with a personal project

  • Roundtable

  • AMAs with some of our experts

We are also actively looking to expand the different types of study group meetings, so if you have an idea please ping the group runner (currently @Rebecca Graber (Deactivated) ) on slack.

Who can present?

Newbies, experts, and everyone in between. We especially encourage folks who are newer to python to present, as there is no better way to learn a topic than to teach others. We have also had presentations of the form ‘please help me with this thing I don’t understand,' where one person picked the brain of the assembly on a topic they were struggling with.

Tell me more about presenting

We have put together a handy guide to presenting at PSG: https://openedx.atlassian.net/wiki/spaces/AC/pages/2856158322 . If you are interested in presenting, please reach out to @Rebecca Graber (Deactivated) in Slack.

Schedule:

Some links are still in the process of being migrated as part of the Google docs migration

Most recent event should be at the top of the table.

Date

Topic

Presenter

Links

Date

Topic

Presenter

Links

2023-04-18

DRF musings

@Alexander Dusenbery

https://github.com/iloveagent57/drf-best-practices/blob/aed/yells-at-cloud/docs/drf-jazz-20230418.md

2022-04-05

Testing roundtable

 

https://drive.google.com/file/d/1bQ7VcW-gz1S9T-Ls4aWgZK54jyOUntQH/view?usp=sharing

2022-03-15

Async IO

@Christopher Pappas and @Ned Batchelder (Deactivated)

https://docs.google.com/document/d/1w_U9mFPRwq7DndQUv5RY3LSozFbE0z10rArfrPzXVJs/edit#

Video: https://drive.google.com/file/d/1WqQKWEyoIaFkF6sJ2MeAjHpxBIQ9HWm2/view?usp=sharing

2022-02-22

Why Your Mocks Don’t Work

@Ned Batchelder (Deactivated) @Tim McCormack

Video: https://drive.google.com/file/d/1ZtGSewbOM8FUyr07tWhBhiU2PGIdDyWo/view?usp=sharing

2022-02-01

Particularly Clueless Presenter: ASGI and WSGI

@Rebecca Graber (Deactivated)

Video: https://drive.google.com/drive/u/0/folders/13K7rTX7MUDKmRLNzrMu4KeASq8Q-7rGQ

Slides/notes: https://docs.google.com/presentation/d/1XsSqR4FnaNrLlgXbX3gAYVlaR6qy7dWHZLpxOa4ufrA/edit?usp=sharing

2022-01-11

The Django 3.2 Upgrade: Automation, Coordination, and Highlights

@Jeremy Bowman (Deactivated)

Video: https://drive.google.com/file/d/1Yc91jmPn3t-R5nRlkrU3Fv7JWrbmhaB6/view?usp=sharing

Django 3.2 upgrade project page: https://openedx.atlassian.net/wiki/spaces/AC/pages/2844426436

Original DjangoCon presentation https://www.youtube.com/watch?v=ny-3AaNHbbs

2021-11-09

XBlocks

@Nathan Sprenkle

video: https://drive.google.com/file/d/1aEpBHqQdFbSS4RdwHw-DWrgbzKOgbF7L/view?usp=sharing

On the role of XBlocks going forward:

Extra XBlock thoughts (+ regrets):

2021-10-19

Well That’s Interesting: edX’s Favorite Python Gotchas

Many!

video: https://drive.google.com/file/d/1RqFemzBYf6-qZP6V_UXbLWbF20PF77D1/view?usp=sharing

Notebook: https://colab.research.google.com/drive/1y9rWR4OEvAzfbf_NuJSUTCUkuBdxMYqA?usp=sharing

2021-09-28

When To Use FP in Python

@Kevin Afable (Deactivated)

https://drive.google.com/file/d/1GoHIAvrD-jE7tMbQS79VBAK8dXVCS1Hp/view?usp=sharing

2021-09-07

N+1

@Ken Clary (Deactivated)

https://docs.google.com/presentation/d/1DQTiV77ria8elHcFPbicRG0x-Xtt2C9XrG-XdQzBSgY/edit

2021-07-06

Group code review

@Feanil Patel (Deactivated)

https://drive.google.com/file/d/1n-Jbzd0bdl7uh3HoPtcWF2hRc4m1rSvE/view?usp=sharing

2021-06-15

Generators

@Diane Kaplan (Deactivated)

recording: https://drive.google.com/file/d/17DCNnHZpfl25TbCYS1FShuoe0BHF4QQ3/view?usp=sharing

2021-05-25

Persistent Celery Task Results

@Alexander Dusenbery

https://openedx.atlassian.net/wiki/spaces/~adusenbery/blog/2021/03/16/2499870990/Fun+with+Celery+Task+Results#Links-to-things (link to demo PR inside)

2021-04-13

Django Admin

@Dave Ormsbee (Deactivated)

recording: https://drive.google.com/file/d/15M4Mn8CMtpAS-ZeLXo-Bp8gnErF4GIc2/view?usp=sharing

2021-03-23

Ask me (ned) anything!

@Ned Batchelder (Deactivated)

https://openedx.atlassian.net/wiki/spaces/AC/pages/2446590287/Python+AMA+6https://drive.google.com/file/d/1aM31KERPxr8J13ZdkWsb1-yEl4Wz-80u/view?usp=sharing

2021-03-02

Debugging tricky problems

 

@Feanil Patel (Deactivated) @Tim McCormack

recording

https://docs.google.com/document/d/115hCwSFyekQfG5P1ws5BsMdyRf1IRWhpos4GSGcUf50/edit

2021-02-09

HACKATHON!!!

 

 

2021-01-19

Dunder Methods

@Christopher Pappas

recording

Whe

 

Potential Topics

Date

Topic

Presenter

Links

Date

Topic

Presenter

Links

DATE TBD

Async/Await

@Christopher Pappas



DATE TBD

Is Python pass-by-value or pass-by-reference

@Nathan Sprenkle



DATE TBD

How XBlocks work in the context of edX platform

@Nathan Sprenkle



DATE TBD (but not soon, busy ramping up with devops/SRE)

Context Managers

@Christopher Pappas



DATE TBD

pip-tools: Demystifying "make upgrade"

@Kyle McCormick (Deactivated)



DATE TBD

Creating public APIs on edx-platform

@Jesper Hodge (Deactivated)

 

Older Study Group Sessions

Date

Topic

Presenter

Links

Date

Topic

Presenter

Links

3/15/18

Generators





4/3/18

Generator Expressions





4/17/18

Multiple Inheritance





5/1/18

Decorators





5/22/18

Special Methods





6/12/18

Itertools





6/26/18

Py 2 vs. Py 3





7/10/18

Inheritance





7/31/18

Assignment





8/14/18

Exceptions





8/28/18

Scoping

@Bessie Steinberg (Deactivated)

https://github.com/BessieSteinberg/py_study_group/tree/master/scoping

9/11/18

Mocking

@Bessie Steinberg (Deactivated)



9/25/18

Cancelled due to Hackathon





10/9/18

Callables: a Smorgasbord

@Ben Holt (Deactivated)

https://github.com/inventhouse/tutorials/tree/master/PySG-Callables

10/23/18

More Fun with Callables!

@Bessie Steinberg (Deactivated)

https://github.com/BessieSteinberg/py_study_group/tree/master/callables

11/6/18

Decorators

@Bessie Steinberg (Deactivated)



11/20/18

Context Managers

@Bessie Steinberg (Deactivated)



12/4/18

Python 3

Troy Sankey



12/18/18

Iterators and Iterables

@Bessie Steinberg (Deactivated)



1/1/19

Cancelled due to Work Holiday





1/15/19

Fun with import

@Bessie Steinberg (Deactivated)



1/29/19

Cancelled due to Hackathon





2/12/19

Comprehensions

@Ben Holt (Deactivated)

Postponed due to winter storm - get home safely!

2/26/19

Comprehensions

@Ben Holt (Deactivated)

Ben sick today, sorry! 😞

2019-03-12

Write a unit test from scratch

@Alexander Dusenbery

Unit Testing in edx-platform

2019-03-26

Cancelled due to Open edX Conference





2019-04-09

Comprehensions

@Ben Holt (Deactivated)

Notes and examples

2019-04-23

Factories (Fuzzy text and stuff)

@Rickie Reilly (Deactivated)



2019-05-07







2019-05-21

Debugging, pdb, finding stuff

@Alexander Dusenbery



2019-06-06

Assignment Rerun

@Bessie Steinberg (Deactivated)



2019-06-18

Factories (Fuzzy text and stuff)

@Rickie Reilly (Deactivated)



2019-07-02

Regular Expressions

@Christopher Pappas



2019-07-16

DRYer testing (with mixins, ddt, etc.)

@Kyle McCormick (Deactivated)

https://github.com/kdmccormick/edx-python-study-group

2019-07-30

Decorators

@Jinder Singh (Deactivated)



2019-08-13

Inheritance

@Bessie Steinberg (Deactivated)



2019-08-27

Pickling

@Rebecca Graber (Deactivated)



2019-09-10

Which is faster?