Skip to content

Latest commit

 

History

History
135 lines (66 loc) · 4.82 KB

python.md

File metadata and controls

135 lines (66 loc) · 4.82 KB

Python

Types of content:

  • Fast Python
  • Talks
  • Articles/Blogs/Docs
  • Books
  • Tutorials
  • Libraries
  • Interesting Projects

The difficulty range is between beginner and advanced but some basic knowledge is useful.

Contributors:

  • Jackojc

Resources

Fast Python

  • Numba [Intermediate]

    • A JIT tool for compiling certain functions for significant speedups. This is useful for CPU heavy code.
  • PyPy [Intermediate]

    • A JIT based interpreter for Python. Has support for Python 2 and 3. This is useful for CPU heavy code.
  • Cython [Advanced]

    • Cython is an optimising static compiler for Python that allows you to easily write C extensions to allow for big speedups in code. This is useful for CPU heavy code.
  • Stackless Python [Advanced]

    • Stackless Python is very useful for highly parallelized, IO bound tasks. It uses microtasks which are not true threads according to the OS. Stackless does not change your code structure in any major ways so it is quite compatible with regular Python code.
  • uvloop [Intermediate]

    • A drop-in replacement for the standard Python asyncio event loop. Very useful for IO bound tasks like web requests. Typical speedup over the default event loop is anywhere in the range of 2x to 4x.
  • lazyasd [Advanced]

    • A package that provides lazy and self-destructive tools for speeding up module imports.

Talks

    • A 3 hour workshop on metaprogramming in Python regarding both functions and classes.
  • Pycon 2016 Archive [Beginner - Advanced]

    • An archive of videos from Pycon 2016 with content ranging from tutorials to workshops and interesting projects. Videos for all skill levels.
  • Pycon 2017 Archive [Beginner - Advanced]

    • An archive of videos from Pycon 2017 which features a range of topics.
    • Video demonstrating some of the benefits you can achieve when using Cython.
  • Writing faster Python [Intermediate - Advanced]

    • Demonstrates some good guidelines for how to optimise code and when. Some interesting techniques for speedup too.

Articles/Blogs/Docs

Books

Tutorials

    • A decent introductory course for a complete novice to Python.
  • Python Exercises [Beginner - Intermediate]

    • Some interesting exercises to do in Python if you're stuck for ideas.

Libraries

  • requests [N/A]

    • The best library for HTTP interaction that Python has to offer.
  • PRAW [N/A]

    • A Python wrapper for the Reddit API.
  • CherryPy [N/A]

    • A simple to use and easy to setup web framework for Python.
    • 2D plotting library for visualising information.

Interesting Projects

    • Incredibly interesting esoteric language developed in Python based on the concept of electricity.