Python Resources

If you're new to Python, we recommend that you start here! Also please check out our Learn Python past meetings posts for more guided resources.

Where to ask questions

The best place online is probably Stack Overflow. If you do a Google search, you might find a similar question already asked (and answered!) on Stack Overflow. The site is picky about new questions; please read Stack Overflow's tour or this in-depth essay on asking good questions by Eric Raymond.

Of course, you're always welcome to ask in person or on the mailing list; subscribe here.

Python Fundamentals

Some resources require installing Python on your computer.

No-installation intros

These resources use a Python interpreter that works through your web browser, so things will work right away!

Intros from Berkeley

Online tutorials

Video tutorials

Cheat Sheets


Downloading & Using Python

We have a recommended installation process linked here.

Online Python interpreters

On your own computer

If you are using OS X or Linux (or similar), you likely already have Python installed. You can just run python from the command line.

If you don't know how to run things from the command line, it's probably easiest to start with the Wakari link above, or you can try the Shell tutorial from Software Carpentry. If you want more of a power-user experience then you can start with the Command Line Crash Course.

If you install Python, you can follow the instructions on the Jupyter page. (Jupyter includes an enhanced shell for Python.)

Python Special Topics

A general resource when you're exploring new topics is the Hitchhiker's Guide to Python. (Just like this site, you can contribute to the Hitchhiker's Guide via GitHub.)

Here's a gallery of interesting IPython/Jupyter notebooks.

Head over to Full Stack Python to learn how to write and deploy Python-based web applications using popular frameworks such as Flask and Django.

Lessons on other topics are available from Software Carpentry.

Or, you can learn about these tools from their websites:

And then look here for inspiration:

At UC Berkeley

UC Berkeley has a lot of great resources for learning scientific computing and data science. There are classes, tutorials, reading groups, institutes, and much more.

Below are some things worth checking out. For links to more events & groups on campus, visit our Python community page.

Scientific Computing

Python Courses

  • CS9H - Self-paced Python course. Requires some programming background. Good for people that know another language and want to pick up Python.
  • AY250 - "Python computing for science." More advanced python course for scientists.
  • AY98- "Python Programming for Astronomers". Introductory python course with an emphasis on applications to astronomy.
  • PS239T - "Introduction to Computational Tools and Techniques for Social Research" is Rochelle Terman's course for technical training in computational social science and digital humanities. Of special note is her tutorial on APIs and her webscraping tutorial.
  • CS61A and Data8 are undergraduate courses that teach programming fundamdentals through the Python language


D-Lab hosts week-long Python intensives in January, May, and August, and workshops throughout the academic year. Click here to see upcoming workshops

Software Carpentry offers a variety of trainings around the world. Check their site for bootcamp dates.