How do you take advantage of Git pre-commit hooks? How do you build custom software checks and rules that run every time you commit your code? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
We share a trio of articles by previous guest Stefanie Molin about Git pre-commit hooks. Across the series, she provides step-by-step instructions for building your own hooks, managing them, and learning how they operate.
We discuss the process of estimating software development projects. We dig into the art of “guesstimation,” rough calculation, and napkin math. Christopher shares his experience in agile scenarios and measuring projects by story counts.
We share several other articles and projects from the Python community, including a news roundup, 10 Python programming optimization techniques, and building a blog in Django using GraphQL & Vue. We also explore experimenting with Python’s preprocessor, a toolkit for writing UIs in PyScript, and a couple of projects for working with Django Admin.
This episode is sponsored by InfluxData.
Course Spotlight: Python mmap: Doing File I/O With Memory Mapping)
In this video course, you’ll learn how to use Python’s mmap module to improve your code’s performance when you’re working with files. You’ll get a quick overview of the different types of memory before diving into how and why memory mapping with mmap can make your file I/O operations faster.
Topics:
00:00:00 – Introduction
00:02:28 – Python Top Language of 2024
00:02:59 – Python Developers Survey 2023 Results
00:03:46 – How Pre-Commit Works
00:10:00 – Build a Blog Using Django, GraphQL, and Vue
00:13:38 – Sponsor: InfluxData
00:14:23 – 10 Python Programming Optimization Techniques
00:22:45 – Python’s Preprocessor
00:26:42 – Video Course Spotlight
00:28:16 – You don’t have to guess to estimate
00:44:18 – LTK is a little toolkit for writing UIs in PyScript
00:49:06 – django-admin-action-forms: Forms for Django Admin
00:52:09 – django-public-admin: A Public and Read-Only Django Admin
00:53:24 – Thanks and goodbye
News:
Python Top Language of 2024) – “Python continues to cement its overall dominance, buoyed by things like popular libraries for hot fields such as A.I.” Read the article to see where other languages have placed.
Python Developers Survey 2023 Results) – Official Python Developers Survey 2023 Results by Python Software Foundation and JetBrains: more than 25k responses from almost 200 countries.
Show Links:
How Pre-Commit Works) – As a user of pre-commit hooks, do you know what happens when you run pre-commit install
or why you have to run it in the first place? How does pre-commit actually work with Git? In this article, Stefanie takes you behind the scenes of how your pre-commit setup works.
Build a Blog Using Django, GraphQL, and Vue) – In this step-by-step project, you’ll build a blog from the ground up. You’ll turn your Django blog data models into a GraphQL API and consume it in a Vue application for users to read. You’ll end up with an admin site and a user-facing site you can continue to refine for your own use.
10 Python Programming Optimization Techniques) – Optimization should be your last step, but once you’re there, just what can you do? This article covers ten different techniques that address memory size and code performance.
Python’s Preprocessor) – Every now and then you hear outrageous claims such as “Python has no preprocessor,” well it is there if you’re willing to dig deep enough. Learn how to hack Python’s compile step.
Discussion
Projects:
Additional Links:
Python mmap: Doing File I/O With Memory Mapping – Real Python)
Episode #128: Using a Memory Profiler in Python & What It Can Teach You)
Episode #172: Measuring Multiple Facets of Python Performance With Scalene – The Real Python Podcast)
software development - Why are estimates treated like deadlines? - Project Management Stack Exchange)
Software Estimation Without Guessing: Effective Planning in an Imperfect World by George Dinwiddie)
Level up your Python skills with our expert-led courses:
Support the podcast & join our community of Pythonistas)