Software and Services

There are several pieces of software that will be useful to you:

  • PyCharm is a Python and web IDE that I will be using for in-class demonstrations. For this class, you will need the Professional edition (the Community edition does not support web development). You can obtain a free license for the professional edition by registering with your Texas State e-mail address. Download the installer from JetBrains to install it.

  • Git is a version control system that lets you keep track of different versions of your files and makes it easier to share files between team members. If you are on Windows, download the installer from the web site. If you are on Mac, a version of git is included with the XCode Command Line tools, and a newer version is available via Homebrew. If you are on Linux, install git from your distribution's package repositories.

  • Firefox Developer Edition has a lot of useful tools for developing and debugging your web apps.

  • SourceTree is a very useful tool for performing more complex operations with Git on Windows and Mac. It is not necessary, but you might find it useful.

  • If you want to run your code on your own computer, not just on the servers, you will need a version of Python. We are using Python 3.4 (or later) for this class.

    If you are on Windows, download the Python 3.4.4 installer from You can install 3.5, but the servers run 3.4 and it will be easier to avoid accidentally using a 3.5-only features if you install 3.4.

    If you are on a Mac, I recommend installing Homebrew and using it to install Python 3.x in a terminal:

    brew install python3

    If you are on Linux, install Python 3.4 or 3.5, along with pip, from your distribution's package repositories. E.g. on Debian or Ubuntu, do:

    sudo apt-get install python3 python3-dev

    All other required libraries can be installed with Python's pip package manager.

  • We'll use the university's GitHub service to share code with Git. Log in with your net ID and password.

  • We will be deploying and hosting our applications on Microsoft Azure. We have access codes to allow you to use it for free for the class.

  • PuTTY is useful for connecting to remote Linux servers from Windows, such as the ones in Azure.

  • Cyberduck is useful for transferring files to and from remote servers on Mac and Windows. WinSCP is another good option on Windows.

  • Dash for Mac and Velocity for Windows are useful tools for searching documentation of multiple programs (e.g. Python, Flask, Jinja, and HTML).

I do not recommend that you use Filezilla. The installer contains extra bundled software that you probably do not want.