Date: Sun, 06 Nov 2022 19:00:00 -0500
<div class="wp-block-jetpack-markdown"><h2>Summary</h2> <p>Starting a new project is always exciting and full of possibility, until you have to set up all of the repetitive boilerplate. Fortunately there are useful project templates that eliminate that drudgery. PyScaffold goes above and beyond simple template repositories, and gives you a toolkit for different application types that are packed with best practices to make your life easier. In this episode Florian Wilhelm shares the story behind PyScaffold, how the templates are designed to reduce friction when getting a new project off the ground, and how you can extend it to suit your needs. Stop wasting time with boring boilerplate and get straight to the fun part with PyScaffold!</p> <h2>Announcements</h2> <ul> <li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great!</li> <li>When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show!</li> <li>Your host as usual is Tobias Macey and today I’m interviewing Florian Wilhelm about PyScaffold, a Python project template generator with batteries included</li> </ul> <h2>Interview</h2> <ul> <li>Introductions</li> <li>How did you get introduced to Python?</li> <li>Can you describe what PyScaffold is and the story behind it? <ul> <li>What is the main goal of the project?</li> </ul> </li> <li>There are a huge number of templates and starter projects available (both in Python and other languages). What are the aspects of PyScaffold that might encourage someone to adopt it?</li> <li>What are the different types/categories of applications that you are focused on supporting with the scaffolding? <ul> <li>For each category, what is your selection process for which dependencies to include?</li> </ul> </li> <li>How do you approach the work of keeping the various components up to date with community "best practices"?</li> <li>Can you describe how PyScaffold is implemented? <ul> <li>How have the design and goals of the project changed since you first started it?</li> </ul> </li> <li>What is the user experience for someone bootstrapping a project with PyScaffold? <ul> <li>How can you adapt an existing project into the structure of a pyscaffold template?</li> <li>Are there any facilities for updating a project started with PyScaffold to include patches/changes in the source template?</li> </ul> </li> <li>What are the most interesting, innovative, or unexpected ways that you have seen PyScaffold used?</li> <li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on PyScaffold?</li> <li>When is PyScaffold the wrong choice?</li> <li>What do you have planned for the future of PyScaffold?</li> </ul> <h2>Keep In Touch</h2> <ul> <li><a href="https://florianwilhelm.info/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Website</a></li> <li><a href="https://www.linkedin.com/in/florian-wilhelm-621ba834/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">LinkedIn</a></li> <li><a href="https://github.com/FlorianWilhelm?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">FlorianWilhelm</a> on GitHub</li> <li><a href="https://twitter.com/florianwilhelm?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">@florianwilhelm</a> on Twitter</li> </ul> <h2>Picks</h2> <ul> <li>Tobias <ul> <li><a href="https://www.imdb.com/title/tt3322312/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Daredevil</a> TV series</li> </ul> </li> <li>Florian <ul> <li><a href="https://www.imdb.com/title/tt8291284/?ref_=nv_sr_srsg_0&utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">The Peripheral</a></li> </ul> </li> </ul> <h2>Closing Announcements</h2> <ul> <li>Thank you for listening! Don’t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li> <li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li> <li>If you’ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li> <li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">iTunes</a> and tell your friends and co-workers</li> </ul> <h2>Links</h2> <ul> <li><a href="https://pyscaffold.org/en/stable/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">PyScaffold</a></li> <li><a href="https://www.inovex.de/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Innovex</a></li> <li><a href="https://www.sap.com/index.html?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">SAP</a></li> <li><a href="https://cookiecutter.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Cookiecutter</a></li> <li><a href="https://docs.pytest.org/en/stable/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Pytest</a> <ul> <li><a href="https://www.pythonpodcast.com/episode-16-holger-krekel-on-py-test/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li> </ul> </li> <li><a href="https://www.sphinx-doc.org/en/master/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Sphinx</a></li> <li><a href="https://pre-commit.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">pre-commit</a> <ul> <li><a href="https://www.pythonpodcast.com/pre-commit-with-anthony-sottile-episode-178/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li> </ul> </li> <li><a href="https://black.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Black</a></li> <li><a href="https://flake8.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Flake8</a> <ul> <li><a href="https://www.pythonpodcast.com/flake8-static-analysis-episode-309/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li> </ul> </li> <li><a href="https://python-poetry.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Poetry</a></li> <li><a href="https://github.com/pypa/setuptools?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Setuptools</a></li> <li><a href="https://www.mkdocs.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">mkdocs</a></li> <li><a href="https://www.writethedocs.org/guide/writing/reStructuredText/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">ReStructured Text</a></li> <li><a href="https://en.wikipedia.org/wiki/Markdown?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Markdown</a></li> <li><a href="https://github.com/pypa/setuptools_scm/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Setuptools-SCM</a></li> <li><a href="https://hatch.pypa.io/latest/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Hatch</a></li> <li><a href="https://flit.pypa.io/en/latest/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Flit</a></li> <li><a href="https://github.com/python-versioneer/python-versioneer?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Versioneer</a></li> <li><a href="https://gource.io/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Gource</a> git visualization</li> <li><a href="https://mypyc.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">MyPy Compiler</a></li> <li><a href="https://doc.rust-lang.org/cargo/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Rust Cargo</a></li> </ul> <p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">CC BY-SA</a></p> </div> <img alt="" height="0" src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpyscaffold-project-template-boilerplate-episode-384%2F&action_name=Skip+Straight+To+The+Fun+Part+Of+Your+Project+With+PyScaffold+-+Episode+384&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border: 0; width: 0; height: 0;" width="0" />