Driving 3D Printers with Python

Lessons Learned

Gina Häußge

Cross-Platform-Development Hardware/IoT Management Open-Source failures/mistakes

See in schedule

With OctoPrint I've created an open source web interface for consumer 3d printers that allows to control all aspects of the printer and ongoing print job and is extensible by plugins. OctoPrint is written in Python and installed by end users on their own devices. In this talk I want to give a short overview of the architecture, provide some insights into the various challenges of developing and maintaining such a piece of end user facing software in Python and how I tackled them.

I have found that maintaining software targeted at end users that are not necessarily very tech affine in general can be a somewhat challenging experience with unique problems that you wouldn't expect when developing software for more tech affine groups. I want to share my experiences so that others may learn from them and hopefully also don't repeat my mistakes.

No knowledge about 3d printing or particular Python tooling is required.

This is an updated edition of my talk of the same name at PyCon.DE 2019.

Type: Talk (30 mins); Python level: Beginner; Domain level: Beginner


Gina Häußge

OctoPrint

Passionate code monkey, gamer, hobby baker and creator and maintainer of OctoPrint. Has always been in love with code, loves tinkering and helping others. Has written Open Source Software for most of her adult life and has been in the lucky position to do it full time and 100% crowd funded by the community of her project OctoPrint for several years now. Has a heavy bag in her office and uses it to combat the downsides of being a full time Open Source developer.