diff --git a/radar/2021-01-01/python-for-infrastructure.md b/radar/2021-01-01/python-for-infrastructure.md new file mode 100644 index 0000000..a751f32 --- /dev/null +++ b/radar/2021-01-01/python-for-infrastructure.md @@ -0,0 +1,20 @@ +--- +title: "Python for Infrastructure Glue Code" +ring: assess +quadrant: platforms-and-aoe-services +--- + +[Python](https://www.python.org) is an easy to learn programming language that is pre-installed on +most Linux distributions and CI runners. +This makes it an ideal candidate for infrastructure glue code and adapters. + +Shell scripts serve the same purpose. But they usually start simple and get more complex over time. +This is the point where Python's features like testing capabilities, modularity, variable scoping and refactoring +support come in strong. We found that Python scripts are easier maintained in the long run and pose +a lower barrier for contributions by our development teams. And they run across platforms and shells +without much trouble which is a big plus for developers running different operating systems. + +The Python language has a wide eco-system and a vast module library that can simplify scripting +significantly. We currently value [requests](https://pypi.org/project/requests/) for HTTP API calls +and [Click](https://click.palletsprojects.com/en/7.x/) for simple interactive CLI scripts, along with +[pytest](https://docs.pytest.org/) for automated testing.