CI/CD Pipelines for Python Packages With Circle CI and CodeClimate

René-Jean Corneille
The Startup
Published in
10 min readJan 24, 2021

--

In software engineering, continuous deployment and integration is a growing trend consisting of frequently updating and releasing code via automation. Every change to the codebase is processed trough an automated pipeline: it is tested, and when merged with the main branch, deployed (in this case a new version of your code is released).

The principle behind CI is: by testing every new addition to your codebase, you can catch bugs early and improve the quality of your code before it being deployed.

The principle behind CD is: an efficient deployment pipeline will allow you to release more often with little loss in quality, and thus make you more competitive. Open source software also benefits from using CI/CD pipelines for deployment as developers can focus on their code while having a unique, reliable way of releasing new versions.

But that is only part of the work: a code that has little to no major bugs is great, but monitoring the overall quality of the code written is also paramount. Tracking the overall quality of your code and monitor test coverage after each commit are also paramount aspects.

This tutorial is a primer on how to use Github, CircleCI and CodeClimate to write and maintain production grade code. I also provide some alternative for…

--

--

René-Jean Corneille
The Startup

Director of ML. I write about data science, mlops, python and sometimes C++