Building Products for Humans with Python

Srinivasan R (~srinivasan)


As programmers, we are good at building products and libraries that other services can consume.

Especially with the recent microservices movement, we constantly think of what data format would work well (should it be JSON or gRPC?)

What we forget most of the times is that the end product is going to be used by another human. And it is important to build your product that is usable for your end user.

A lot of times, we just put up a simple HTML template and throw it all up in a table. Even if we need to export to a file, we end up using csv or txt files, cause its easy.

Though it is the preferred file format for us programmers and data scientists, there is a whole another world of non-tech folks in the marketing/sales part of the company who still love their Word, Powerpoint and Excel.

In this talk, we will learn about the various other human file formats that have become easier to create programmatically using python.

This is important for beginner python programmers to understand how to build their products to export data in a variety of different file formats like docx, xlsx, pptx, pdf, etc., and thereby building better user-friendly applications for humans.


  1. The need for human file formats.
    • Will talk about the product I am building and how it is being used by marketing folks
    • Will go through the various iterations of the product output format and why eventually had to go in for docx, pptx, xlsx.
  2. File formats & how to create them with python
    • Word documents with python-docx
    • Powerpoint files with python-pptx
    • Excel files with openpyxl
    • Exporting to PDF files


Basic Python programming skills.

Speaker Info:

Srini has been programming in python for close to 15 years and has built many highly scalable products using it. Currently, he is building his own product startup and also runs his own consulting agency.

He has given numerous talks in previous editions of Pycon India and other conferences like RedisConf, Pydata, RootConf, etc.

Occasionally he contributes to open source and has created small utilities and libraries for other projects like scrapy.

Speaker Links:

Id: 1443
Section: Others
Type: Talks
Target Audience: Beginner
Last Updated: