The Real Python Podcast

Start Using a Build System & Continuous Integration in Python


Listen Later

What advantages can a build system provide for a Python developer? What new skills are required when working with a team of developers? This week on the show, Benjy Weinberger from Toolchain is here to discuss the Pants build system and getting started with continuous integration (CI).

Benjy is one of the core developers of the Pants build system. He talks about the software tools and processes that a build system simplifies. We discuss how an individual developer can take advantage of continuous integration. We also cover some of the expectations when moving into professional software development.

Have you learned about or started to use tools like linters, code formatters, import sorters, type checkers, and packaging systems? A build system is designed to combine all of those tools into a simplified, one-step process to share your best code.

Benjy explains concepts like implementing fine-grained invalidation, moving to a monorepo, and using a build system for data science projects. He also shares his tips for getting started with Pants and finding help within the community.

Course Spotlight: Testing Your Code With pytest

In this video course, you’ll learn how to take your testing to the next level with pytest. You’ll cover intermediate and advanced pytest features such as fixtures, marks, parameters, and plugins. With pytest, you can make your test suites fast, effective, and less painful to maintain.

Topics:

  • 00:00:00 – Introduction
  • 00:03:19 – Working on Pants
  • 00:05:24 – Background on Toolchain
  • 00:08:26 – Individual developer using CI
  • 00:11:04 – When did you start using these types of tools?
  • 00:14:30 – Was the organization open to the development of CI tools?
  • 00:15:45 – Having a foundation with Git
  • 00:17:11 – Moving toward workflows
  • 00:23:30 – Sponsor: InfluxDB
  • 00:24:20 – What’s fine-grained invalidation?
  • 00:29:32 – Setting up test coverage
  • 00:33:07 – Moving into packaging and deployment
  • 00:37:22 – Advantages of a monorepo
  • 00:42:10 – Video Course Spotlight
  • 00:43:36 – Reasons for deeper Python integration
  • 00:47:40 – Using the build system with data science projects
  • 00:52:21 – Getting started with Pants
  • 00:55:47 – What are you excited about in the world of Python?
  • 00:57:12 – What do you want to learn next?
  • 00:58:41 – How can people follow your work online?
  • 00:59:27 – Thanks and goodbye
  • Show Links:

    • Pants 2: The ergonomic build system
    • GitHub - pantsbuild/pants: The Pantsbuild developer workflow system
    • Toolchain Labs
    • E387 Build All the Things with Pants Build System - Talk Python To Me
    • Continuous Integration With Python: An Introduction – Real Python
    • Introduction to Git and GitHub for Python Developers – Real Python
    • Monorepo Explained
    • pex - PyPI
    • pantsbuild/example-python: An example repo to demonstrate Python support
    • The Pants community
    • Christopher Neugebauer - Presentation at PyCon 2022
    • Talk - Christopher Neugebauer: Fast and reproducible tests, packaging, and deploys with… - YouTube
    • Rust Programming Language
    • Benjy Weinberger (@benjy) / Twitter
    • Pantsbuild (@pantsbuild) / Twitter
    • Level up your Python skills with our expert-led courses:

      • Continuous Integration With Python
      • Testing Your Code With pytest
      • Test-Driven Development With pytest
      • 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

        136 ratings


        More shows like The Real Python Podcast

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

        Software Engineering Radio - the podcast for professional software developers

        272 Listeners

        The Changelog: Software Development, Open Source by Changelog Media

        The Changelog: Software Development, Open Source

        283 Listeners

        Thoughtworks Technology Podcast by Thoughtworks

        Thoughtworks Technology Podcast

        41 Listeners

        Talk Python To Me by Michael Kennedy

        Talk Python To Me

        592 Listeners

        Software Engineering Daily by Software Engineering Daily

        Software Engineering Daily

        625 Listeners

        Soft Skills Engineering by Jamison Dance and Dave Smith

        Soft Skills Engineering

        269 Listeners

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

        Super Data Science: ML & AI Podcast with Jon Krohn

        296 Listeners

        Python Bytes by Michael Kennedy and Brian Okken

        Python Bytes

        213 Listeners

        Data Engineering Podcast by Tobias Macey

        Data Engineering Podcast

        142 Listeners

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

        Syntax - Tasty Web Development Treats

        983 Listeners

        DataFramed by DataCamp

        DataFramed

        266 Listeners

        Kubernetes Podcast from Google by Abdel Sghiouar, Kaslin Fields

        Kubernetes Podcast from Google

        181 Listeners

        Practical AI by Practical AI LLC

        Practical AI

        189 Listeners

        The Stack Overflow Podcast by The Stack Overflow Podcast

        The Stack Overflow Podcast

        64 Listeners

        The Pragmatic Engineer by Gergely Orosz

        The Pragmatic Engineer

        52 Listeners