Python

Dynamisch

Flexibel

Performant –

Python

Seit über drei Jahrzehnten etabliert sich ein umfangreiches Ökosystem um Python herum. Vor allem in den letzten Jahren gewann Python durch die Förderung einiger großer Unternehmen an Bedeutung – gerade auch in den Bereichen Data Science und maschinelles Lernen. So gibt es beispielsweise Python-APIs für die Deep Learning Frameworks TensorFlow und PyTorch, aber mit scikit-learn auch für klassisches Machine Learning.

Als dynamisch interpretierte Sprache bietet Python eine deutlich höhere Flexibilität als andere Sprachen. Da anspruchsvolle Berechnungen in native, vorkompilierte Libraries ausgelagert werden, sind diese sehr performant. Vor allem in der explorativen Datenanalyse kann Python deshalb mit seinen Eigenschaften punkten: Ebenso einfacher wie mächtiger Code in extrem schnellen Entwicklungszyklen. So lassen sich in Windeseile kleine funktionale Skripte schreiben; aber auch große, objektorientierte Programme können mit Python entwickelt werden. Sogar das Training eines Modells zur Objekterkennung im Edge Computing ist möglich.

Bei Accso setzen wir daher Python insbesondere für Data Science und maschinelles Lernen ein. Aber auch für Web-Services und Data Engineering lässt es sich dank des umfangreichen Ökosystems hervorragend verwenden. Dies haben wir in mehreren früheren Projekten demonstriert, darunter ein interner Web-Service zur Text-Erkennung, eine Anomaliedetektion für Industrie 4.0 und eine experimentelle Bildsegmentierung zur Defekterkennung. Die hohe Flexibilität und damit einhergehende Entwicklungsgeschwindigkeit Pythons hat sich dabei als sehr hilfreich für mehrere Proof-of-Concepts und erste Datenanalysen erwiesen. Die Grundlagen von Python lassen sich sogar an einem Nachmittag erlernen.

In Python-Projekten setzen wir auf statische Analysen wie Linting und Type Checking anhand der optionalen Type Hints sowie gute Testabdeckung mit den umfangreichen Mocking- und Patching-Features, die Python als dynamische Sprache bietet. Ebenso achten wir schon beim Projekt-Setup auf Best Practices wie Version Pinning und containerisieren die Anwendung für einen einfachen und reproduzierbaren Rollout. So erstellen wir robuste, wartbare und zukunftssichere Anwendungen.

Software Engineer

Alina Bos

Alina Bos

Software Engineer

Kunden
Alina Bos, Accsonaut in Darmstadt