Podbean logo
  • Discover
  • Podcast Features
    • Podcast Hosting

      Start your podcast with all the features you need.

    • Podbean AI Podbean AI

      AI-Enhanced Audio Quality and Content Generation.

    • Blog to Podcast

      Repurpose your blog into an engaging podcast.

    • Video to Podcast

      Convert YouTube playlists to podcasts, videos to audios.

  • Monetization
    • Ads Marketplace

      Join Ads Marketplace to earn through podcast sponsorships.

    • PodAds

      Manage your ads with dynamic ad insertion capability.

    • Apple Podcasts Subscriptions Integration

      Monetize with Apple Podcasts Subscriptions via Podbean.

    • Live Streaming

      Earn rewards and recurring income from Fan Club membership.

  • Podbean App
    • Podcast Studio

      Easy-to-use audio recorder app.

    • Podcast App

      The best podcast player & podcast app.

  • Help and Support
    • Help Center

      Get the answers and support you need.

    • Podbean Academy

      Resources and guides to launch, grow, and monetize podcast.

    • Podbean Blog

      Stay updated with the latest podcasting tips and trends.

    • What’s New

      Check out our newest and recently released features!

    • Podcasting Smarter

      Podcast interviews, best practices, and helpful tips.

  • Popular Topics
    • How to Start a Podcast

      The step-by-step guide to start your own podcast.

    • How to Start a Live Podcast

      Create the best live podcast and engage your audience.

    • How to Monetize a Podcast

      Tips on making the decision to monetize your podcast.

    • How to Promote Your Podcast

      The best ways to get more eyes and ears on your podcast.

    • Podcast Advertising 101

      Everything you need to know about podcast advertising.

    • Mobile Podcast Recording Guide

      The ultimate guide to recording a podcast on your phone.

    • How to Use Group Recording

      Steps to set up and use group recording in the Podbean app.

  • All Arts Business Comedy Education
  • Fiction Government Health & Fitness History Kids & Family
  • Leisure Music News Religion & Spirituality Science
  • Society & Culture Sports Technology True Crime TV & Film
  • Live
  • How to Start a Podcast
  • How to Start a Live Podcast
  • How to Monetize a podcast
  • How to Promote Your Podcast
  • How to Use Group Recording
  • Log in
  • Start your podcast for free
  • Podcasting
    • Podcast Features
      • Podcast Hosting

        Start your podcast with all the features you need.

      • Podbean AI Podbean AI

        AI-Enhanced Audio Quality and Content Generation.

      • Blog to Podcast

        Repurpose your blog into an engaging podcast.

      • Video to Podcast

        Convert YouTube playlists to podcasts, videos to audios.

    • Monetization
      • Ads Marketplace

        Join Ads Marketplace to earn through podcast sponsorships.

      • PodAds

        Manage your ads with dynamic ad insertion capability.

      • Apple Podcasts Subscriptions Integration

        Monetize with Apple Podcasts Subscriptions via Podbean.

      • Live Streaming

        Earn rewards and recurring income from Fan Club membership.

    • Podbean App
      • Podcast Studio

        Easy-to-use audio recorder app.

      • Podcast App

        The best podcast player & podcast app.

  • Advertisers
  • Enterprise
  • Pricing
  • Resources
    • Help and Support
      • Help Center

        Get the answers and support you need.

      • Podbean Academy

        Resources and guides to launch, grow, and monetize podcast.

      • Podbean Blog

        Stay updated with the latest podcasting tips and trends.

      • What’s New

        Check out our newest and recently released features!

      • Podcasting Smarter

        Podcast interviews, best practices, and helpful tips.

    • Popular Topics
      • How to Start a Podcast

        The step-by-step guide to start your own podcast.

      • How to Start a Live Podcast

        Create the best live podcast and engage your audience.

      • How to Monetize a Podcast

        Tips on making the decision to monetize your podcast.

      • How to Promote Your Podcast

        The best ways to get more eyes and ears on your podcast.

      • Podcast Advertising 101

        Everything you need to know about podcast advertising.

      • Mobile Podcast Recording Guide

        The ultimate guide to recording a podcast on your phone.

      • How to Use Group Recording

        Steps to set up and use group recording in the Podbean app.

  • Discover
  • Log in
    Sign up free
Python Bytes

Python Bytes

Technology

#255 Closember eve, the cure for Hacktoberfest?

#255 Closember eve, the cure for Hacktoberfest?

2021-10-20
Download Right click and do "save link as"

Watch the live stream:

Watch on YouTube

About the show

Sponsored by us:

  • Check out the courses over at Talk Python
  • And Brian’s book too!

Special guest: Will McGugan

Michael #1: Wrapping C++ with Cython

  • By Anton Zhdan-Pushkin
  • A small series showcasing the implementation of a Cython wrapper over a C++ library.
  • C library: yaacrl - Yet Another Audio Recognition Library is a small Shazam-like library, which can recognize songs using a small recorded fragment.
  • For Cython to consume yaacrl correctly, we need to “teach” it about the API using `cdef extern
  • It is convenient to put such declarations in *.pxd files.
  • One of the first features of Cython that I find extremely useful — aliasing. With aliasing, we can use names like Storage or Fingerprint for Python classes without shadowing original C++ classes.
  • Implementing a wrapper: pyaacrl - The most common way to wrap a C++ class is to use Extension types. As an extension type a just a C struct, it can have an underlying C++ class as a field and act as a proxy to it.
  • Cython documentation has a whole page dedicated to the pitfalls of “Using C++ in Cython.”
  • Distribution is hard, but there is a tool that is designed specifically for such needs: scikit-build.
  • PyBind11 too

Brian #2: tbump : bump software releases

  • suggested by Sephi Berry
  • limits the manual process of updating a project version
  • tbump init 1.2.2 initializes a tbump.toml file with customizable settings
    • --pyproject will append to pyproject.toml instead
  • tbump 1.2.3 will
    • patch files: wherever the version listed
    • (optional) run configured commands before commit
      • failing commands stop the bump.
    • commit the changes with a configurable message
    • add a version tag
    • push code
    • push tag
    • (optional) run post publish command
    • Tell you what it’s going to do before it does it. (can opt out of this check)
  • pretty much everything is customizable and configurable.
  • I tried this on a flit based project. Only required one change
# For each file to patch, add a [[file]] config # section containing the path of the file, relative to the # tbump.toml location. [[file]] src = "pytest_srcpaths.py" search = '__version__ = "{current_version}"'
  • cool example of a pre-commit check:
# [[before_commit]] # name = "check changelog" # cmd = "grep -q {new_version} Changelog.rst"

Will #3: Closember by Matthias Bussonnier

Michael #4: scikit learn goes 1.0

  • via Brian Skinn
  • The library has been stable for quite some time, releasing version 1.0 is recognizing that and signalling it to our users.
  • Features:
  • Keyword and positional arguments - To improve the readability of code written based on scikit-learn, now users have to provide most parameters with their names, as keyword arguments, instead of positional arguments.
  • Spline Transformers - One way to add nonlinear terms to a dataset’s feature set is to generate spline basis functions for continuous/numerical features with the new SplineTransformer.
  • Quantile Regressor - Quantile regression estimates the median or other quantiles of Y conditional on X
  • Feature Names Support - When an estimator is passed a pandas’ dataframe during fit, the estimator will set a feature_names_in_ attribute containing the feature names.
  • A more flexible plotting API
  • Online One-Class SVM
  • Histogram-based Gradient Boosting Models are now stable
  • Better docs

Brian #5: Using devpi as an offline PyPI cache

  • Jason R. Coombs
  • This is the devpi tutorial I’ve been waiting for.
  • Single machine local server mirror of PyPI (mirroring needs primed), usable in offline mode.
$ pipx install devpi-server $ devpi-init $ devpi-server
  • now in another window, prime the cache by grabbing whatever you need, with the index redirected
(venv) $ export PIP_INDEX_URL=http://localhost:3141/root/pypi/ (venv) $ pip install pytest, ...
  • then you can restart the server anytime, or even offline
$ devpi-server --offline
  • tutorial includes examples, proving how simple this is.

Will #6: PyPi command line

Extras

Brian:

  • I’ve started using pyenv on my Mac just for downloading Python versions. Verdict still out if I like it better than just downloading from pytest.org.
  • Also started using Starship with no customizations so far. I’d like to hear from people if they have nice Starship customizations I should try.
  • vscode.dev is a thing, announcement just today

Michael:

  • PyCascades Call for Proposals is currently open
  • Got your M1 Max?
  • Prediction: Tools like Crossover for Windows apps will become more of a thing.

Will:

  • GIL removal
    • https://docs.google.com/document/u/0/d/18CXhDb1ygxg-YXNBJNzfzZsDFosB5e6BfnXLlejd9l0/mobilebasic?urp=gmail_link
    • https://lwn.net/SubscriberLink/872869/0e62bba2db51ec7a/
  • vscode.dev

Joke:

  • The torture never stops
  • IE (“Safari”) Eating Glue
view more

More Episodes

#282 Don't Embarrass Me in Front of The Wizards
2022-05-03
#281 ohmyzsh + ohmyposh + mcfly + pls + nerdfonts = wow
2022-04-28
#280 Easy terminal scripts by sourcing your Py
2022-04-21
#279 Autocorrect and other Git Tricks
2022-04-15
#278 Multi-tenant Python applications
2022-04-08
#277 It's a Python package showdown!
2022-04-02
#276 Tracking cyber intruders with Jupyter and Python
2022-03-23
#275 Airspeed velocity of an unladen astropy
2022-03-16
#274 12 Questions You Should Be Asking of Your Dependencies
2022-03-09
#273 Getting dirty with __eq__(self, other)
2022-03-04
#272 The tools episode
2022-02-24
#271 CPython: Async Task Groups in Python 3.11
2022-02-16
#270 Can errors really be beautiful?
2022-02-10
#269 Get Rich and replace your cat
2022-02-03
#268 Wait, you can Google that?
2022-01-27
#267 Python on the beach
2022-01-21
#266 Python has a glossary?
2022-01-13
#265 Get asizeof pympler and muppy
2022-01-05
#264 We're just playing games with Jupyter at this point
2021-12-22
#263 It’s time to stop using Python 3.6
2021-12-15
  • ←
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • →
012345678910111213141516171819

Get this podcast on your
phone, FREE

Download Podbean app on App Store Download Podbean app on Google Play

Create your
podcast in
minutes

  • Full-featured podcast site
  • Unlimited storage and bandwidth
  • Comprehensive podcast stats
  • Distribute to Apple Podcasts, Spotify, and more
  • Make money with your podcast
Get started

It is Free

  • Podcast Services

    • Podcast Features
    • Pricing
    • Enterprise Solution
    • Private Podcast
    • The Podcast App
    • Live Stream
    • Audio Recorder
    • Remote Recording
    • Podbean AI
  •  
    • Create a Podcast
    • Video Podcast
    • Start Podcasting
    • Start Radio Talk Show
    • Education Podcast
    • Church Podcast
    • Nonprofit Podcast
    • Get Sermons Online
    • Free Audiobooks
  • MONETIZATION & MORE

    • Podcast Advertising
    • Dynamic Ads Insertion
    • Apple Podcasts Subscriptions
    • Switch to Podbean
    • YouTube to Podcast
    • Blog to Podcast
    • Submit Your Podcast
    • Podbean Plugins
    • Developers
  • KNOWLEDGE BASE

    • How to Start a Podcast
    • How to Start a Live Podcast
    • How to Monetize a Podcast
    • How to Promote Your Podcast
    • Mobile Podcast Recording Guide
    • How to Use Group Recording
    • Podcast Advertising 101
  • Support

    • Support Center
    • What’s New
    • Free Webinars
    • Podcast Events
    • Podbean Academy
    • Podbean Amplified Podcast
    • Badges
    • Resources
  • Podbean

    • About Us
    • Podbean Blog
    • Careers
    • Press and Media
    • Green Initiative
    • Affiliate Program
    • Contact Us
  • Privacy Policy
  • Cookie Policy
  • Terms of Use
  • Consent Preferences
  • Copyright © 2015-2025 Podbean.com