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

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: How to PSG (Python Study Group) . 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

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: Django 3.2 Upgrade

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

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

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 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 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


DATE TBD

Creating public APIs on edx-platform

Jesper Hodge

Older Study Group Sessions

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

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?

Feanil Patel


2019-09-24

Efficient Queries with the Django ORM

Calen Pennington (Deactivated)


2019-10-08

Virtual Env Wrappers

Christopher Pappas


2019-10-22

CLI tools

Rebecca Graber (Deactivated)

Slides

2019-11-05

Potpourri

Alexander Dusenbery


2019-11-19

Objects

Kyle McCormick


2019-12-03

Mocking

Christopher Pappas


2019-12-17

Ask me (Ned) anything!

Ned Batchelder (Deactivated)


2019-12-31

NEW YEARS EVE



2020-1-14

Magnets Decorators, how do they work??

Ben Holt (Deactivated)

https://github.com/inventhouse/tutorials/blob/master/PySG-Decorators/Decorators.ipynb

2020-1-28

Scope (and Closures)

Christopher Pappas


2020-2-11

CANCELLED: HACKATHON



2020-2-25

Parse time vs run time evaluation

Rebecca Graber (Deactivated)


2020-3-10

Strings underneath the hood

Christopher Pappas


2020-3-31

Type Hints

Jinder Singh (Deactivated)


2020-4-21

Django Shell and observing DB stuff

Christopher Pappas


2020-5-12

Fooling Algolia With Delegators: A Case Study

Rebecca Graber (Deactivated)

https://tinyurl.com/y77osnqd

2020-06-01

String formatting

Juliana Kang

https://github.com/julianajlk/study/blob/master/PSG_formatstring.ipynb

2020-06-23

Python Governance

Jinder Singh (Deactivated)


2020-07-14

Django at 20,000 Feet

Nathan Sprenkle

Slides,

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

2020-08-03

Decorators

Emma Green (Deactivated)

https://docs.google.com/presentation/d/1fm99xIpQVU2u4AMtimazH8AXyfHMjwkn0Jvy-acvYAo/edit?usp=sharing

2020-08-25

Role-based access control, JWTs, and how to live your best life in 2020 (w.r.t. to Django view AuthN/Z).

Alexander Dusenbery

https://github.com/edx/edx-rbac

https://github.com/iloveagent57/edx_rbac_demo demonstrates how to make use of edx-rbac in a toy IDA that can get a JWT from the devstack LMS.

2020-09-15

Decorators part 2

Emma Green (Deactivated)

zoom_0.mp4https://docs.google.com/presentation/d/1nLdb6dZO6JRQTG49s82_aAIqtVgZlK9r_0XiAt-SsdE/edit?usp=sharing

2020-10-06

"What does that do?" – Interesting Python snippets from edX repositories

Kyle McCormick

recording

2020-10-27

Closures (and more!)

Tim McCormack

Jupyter notebook dump: https://gist.github.com/timmc-edx/adb53ef9409233fcb3573b5e1e2c1b1c
https://drive.google.com/file/d/1k2qsiiKuSqSocM8u0Eh6SwGw3MP6TrkX/view?usp=sharing

2020-11-17

Context Managers

Rebecca Graber (Deactivated)

Jupyter notebook:

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

2020-12-08

Multithreading

Diane Kaplan (Deactivated)

https://drive.google.com/file/d/1UCX-8h8Ob64BQcjkLf1GWysx7IPtJNA5/view?usp=sharing

Topic Ideas:

Is there something in python that seems like magic?  Is there a topic you wish you knew more about? Add it to the list! You don't have to present it, but it's helpful to have a list to pull from.

Sad that Python Study Group is only every three weeks?

Head over to Frontend Study Group and Arch Study Group!