The Real Python Podcast

PySheets: Spreadsheets in the Browser Using PyScript


Listen Later

What goes into building a spreadsheet application in Python that runs in the browser? How do you make it launch quickly, and where do you store the cells of data? This week on the show, we speak with Chris Laffra about his project, PySheets, and his book “Communication for Engineers.”

As a software engineer, Chris has worked at IBM, Google, Uber, and several financial institutions. He speaks about developer productivity and communication skills as an engineer. We begin our conversation by digging into his background, his approach to building engineering teams, and strategies for improving communication.

Chris’ idea for PySheets is to have Excel inside Python with everything running locally in your browser. He was inspired by the success of Jupyter Notebooks but wanted to develop a tool more suited to a spreadsheet’s non-linear graph structure.

PySheets is built to run locally in the user’s browser, taking advantage of PyScript. We discuss finding the right solution for storing data in the browser and developing a graphic toolkit to create the UI. Chris also shares the novel method he found to get the interface up and running while the larger assets are loading.

This episode is sponsored by Sentry.

Course Spotlight: Understanding Python’s Global Interpreter Lock (GIL)

Python’s Global Interpreter Lock, or GIL, is a mutex (or a lock) that allows only one thread to hold the control of the Python interpreter at any one time. In this video course, you’ll learn how the GIL affects the performance of your Python programs.

Topics:

  • 00:00:00 – Introduction
  • 00:02:25 – Background with building engineering teams
  • 00:08:43 – Communication for Engineers book
  • 00:16:17 – What do customers want and experiences at IBM
  • 00:24:28 – Starting the development of PySheets
  • 00:27:19 – Working with the DOM
  • 00:29:41 – Success of Jupyter notebooks
  • 00:35:46 – Sponsor: Sentry
  • 00:36:52 – Little Toolkit for PyScript
  • 00:43:24 – Finding funding
  • 00:46:58 – Building a product before selling
  • 00:52:27 – Video Course Spotlight
  • 00:53:46 – Finding the right data storage in IndexedDB
  • 01:01:57 – Exploring the trial page and extensibility
  • 01:08:26 – Contributing to the project or forking
  • 01:11:56 – What are you excited about in the world of Python?
  • 01:16:20 – What do you want to learn next?
  • 01:17:25 – How can people follow your work online?
  • 01:18:05 – Thanks and goodbye
  • Show Links:

    • Chris Laffra
    • C4E - Communication for Engineers (ePUB)
    • PySheets - Spreadsheet UI for Python
    • PySheets: Source for PySheets
    • PyScript - Python in the browser - Chris Laffra - YouTube
    • Python in Excel - Microsoft 365
    • pyscript/ltk: LTK is a little toolkit for writing UIs in PyScript
    • LTK - Little Toolkit
    • PROCOL: a parallel object language with protocols - ACM SIGPLAN
    • IndexedDB API - MDN
    • First steps - PyScript
    • Pyodide — Version 0.26.3
    • PyScript Updates: Bytecode Alliance, Pyodide, and MicroPython
    • MicroPython - Python for microcontrollers
    • FreeCAD: Your own 3D parametric modeler
    • Chris Laffra - How to become a Happy and Productive Engineer - YouTube
    • Level up your Python skills with our expert-led courses:

      • What's New in Python 3.13
      • Python Plotting With Matplotlib
      • Understanding Python's Global Interpreter Lock (GIL)
      • Support the podcast & join our community of Pythonistas

        ...more
        View all episodesView all episodes
        Download on the App Store

        The Real Python PodcastBy Real Python

        • 4.7
        • 4.7
        • 4.7
        • 4.7
        • 4.7

        4.7

        134 ratings


        More shows like The Real Python Podcast

        View all
        Hanselminutes with Scott Hanselman by Scott Hanselman

        Hanselminutes with Scott Hanselman

        378 Listeners

        Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

        Software Engineering Radio - the podcast for professional software developers

        262 Listeners

        The Changelog: Software Development, Open Source by Changelog Media

        The Changelog: Software Development, Open Source

        285 Listeners

        LINUX Unplugged by Jupiter Broadcasting

        LINUX Unplugged

        263 Listeners

        Thoughtworks Technology Podcast by Thoughtworks

        Thoughtworks Technology Podcast

        43 Listeners

        Talk Python To Me by Michael Kennedy

        Talk Python To Me

        584 Listeners

        Software Engineering Daily by Software Engineering Daily

        Software Engineering Daily

        630 Listeners

        Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

        Super Data Science: ML & AI Podcast with Jon Krohn

        295 Listeners

        Python Bytes by Michael Kennedy and Brian Okken

        Python Bytes

        212 Listeners

        Data Engineering Podcast by Tobias Macey

        Data Engineering Podcast

        143 Listeners

        Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

        Syntax - Tasty Web Development Treats

        985 Listeners

        CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

        CoRecursive: Coding Stories

        185 Listeners

        DataFramed by DataCamp

        DataFramed

        267 Listeners

        Practical AI by Practical AI LLC

        Practical AI

        196 Listeners

        The Stack Overflow Podcast by The Stack Overflow Podcast

        The Stack Overflow Podcast

        63 Listeners