This week, we’re excited to announce that Semaphore now officially supports continuous integration and deployment of your Python applications.

Python: Always look on the bright side of your code

Python, famously named after the BBC comedy series “Monty Python’s Flying Circus”, is a powerful high-level open source programming language supporting multiple programming paradigms including object-oriented, imperative and functional programming. Due to its clean, simple and readable syntax, it is one of the most popular programming languages, ranked as the fifth most popular language in the TIOBE Programming Community Index.

It has a comprehensive standard library which describes all the components which are shipped with the language. This reflects the design philisophy which Python is built on. A small core which is easily extensible. PyPI(Python Package Index) hosts thousands of packages (called wheels), and this number is growing rapidly. PyPI packages make it easy to add a wide variety of functionalities to applications without reinventing the wheel.

True to its name’s origin, Python aims to make the language fun to use on all levels and to maximize user-friendliness.

Setting Up Continuous Integration for a Python project

First, sign up for a free Semaphore account to add a Python project to Semaphore. Semaphore supports both GitHub and BitBucket.

Choosing your project and branch will launch a short analysis in which Semaphore determines the configuration of your project. These suggested build commands and language settings can be changed at any time in Project Settings.

Semaphore supports a number of Python versions which are living in their own virtual environment. Every version has a set of packages pre-installed. These include pip, mock, pytest, and nose. Packages installed with pip are cached and reused between builds, drastically improving build times.

Completing the setup will launch the first build of your project.

To set up continuous deployment for your Python project, you can follow our tutorial that covers continuous deployment of a Django application to Heroku.

We can’t wait to see the things you make with Python and Semaphore. Happy building!