Delivering modern and reliable photo tools to an ever-evolving newsroom depends on building sustainable systems for both end-users and developers.
For our end-users, we provide resilient, highly available systems that can quickly resume processing when faced with unexpected errors and crashes. For our developers, we build flexible, maintainable systems that can be enhanced and tested with ease and in parallel.
Our systems are built upon Python-based open-source tools and methodologies which have enabled us to implement fail-fast error handling, module packaging, command-line tooling with click, plugin-based features with pluggy, code quality and type checks with mypy and flake8, and automatic doc generation using sphinx.
We’ll review how and why we’ve leveraged these tools and do a deep dive into the technology using a publicly available set of example github repositories that attendees can reference.