Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 208 Next »

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: How to PSG (Python Study Group) . If you are interested in presenting, please reach out to Rebecca Graber (Deactivated) in Slack.

Schedule:

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

Date

Topic

Presenter

Links

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


Older Study Group Sessions

 Click here to expand...

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.

  • decorators

    • mock patch, decorators used in testing

  • context managers 

  • py2 vs. py3

  • Bultin vs. local

  • mocking

  • descriptors

  • pdb and other debuggers

  • spying & advanced mocking (ex. called with correct args)

  • testing

    • pytest feature rundown

  • generators

  • generator comprehensions and list comprehensions

  • iterators/iterables

  • write a new unit test from scratch / from the code base

  • installing dependeces / set up tools "whole ecosystem of crap that you need to use python"

    • publish package to pip

    • how do we do it here?

    • the src dir in our docker devstack

  • regular expressions

  • pickle: And it's three fatal flaws! SPOOKY!

  • setup.py

  • modules and imports; how to import modules; import statements

    • sys.path

    • python 3 changes to relative path

    • from _ _future_ _

  • Random library

  • venv wrappers

  • Objects

  • Lambdas

  • Writing command-line tools

    • Argparse

    • click

  • Jupyter

    • edX BI Toolkit

  • Xonsh

  • Context managers

  • Parse time vs run time evaluation

    • Is Python interpreted or compiled? Yes!

Sad that Python Study Group is only every three weeks?

Head over to Frontend Study Group and Arch Study Group!


  • No labels