Talks - James Schmitz: Creative Coding with py5, the Python version of Processing

Learn how py5 brings Processing's creative coding capabilities to Python, letting you create stunning visuals and art while leveraging the full Python ecosystem and libraries.

Key takeaways
  • Py5 is a Python creative coding framework that provides Processing functionality while integrating with the Python ecosystem and libraries

  • Key features include:

    • Built-in support for NumPy arrays, Pillow images, and other Python libraries
    • Multiple programming modes (static, imported, module, class)
    • Performance optimization and helpful error messages
    • Integration with Jupyter notebooks through Py5bot kernel
  • Uses Java under the hood but abstracts it away so users only work with Python code and syntax

  • Excellent for:

    • Data visualization
    • Creative coding and generative art
    • Education and teaching programming concepts
    • Working with 2D/3D graphics
    • Processing webcam, images and real-time data
  • Main benefits:

    • Low barrier to entry for beginners
    • Familiar Python syntax and ecosystem
    • Built-in tools for performance profiling
    • Focus on creative ideas rather than technical implementation
    • Helpful error messages and documentation
  • Current development goals:

    • Growing the community and educational resources
    • Expanding Python library integrations
    • Future PyScript implementation to remove Java dependency
    • Additional tools for creative workflows
  • Started during COVID-19 lockdown in 2020, building on Processing’s long history of making coding accessible to artists and designers