Python Bytes is a weekly podcast hosted by Michael Kennedy and Brian Okken. The show is a short discussion on the headlines and noteworthy news in the Python, developer, and data science space.

#338 Scripting iOS with Python

May 30, 2023 00:30:20 29.25 MB Downloads: 0
Watch on YouTube

About the show

Sponsored by us! Support our work through:

Connect with the hosts

Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays at 11am PT. Older video versions available there too.

Brian #1: The Basics of Python Packaging in Early 2023

  • Jay Qi
  • Good description of a minimal-ish pyproject.toml file, which includes a build backend and project metadata.
  • That’s all you need for a Python-only project.
  • Discussion of how to choose a build backend. Mostly it’s baed on extra features you might want, like hatchling’s include/exclude features for source distributions.
  • Some discussion of frontend choices.
  • Nice discussion of non-Python-only builds. Specifically, if you need to compile C or C++ extensions, you can use scikit-build-core, or meson-python, or setuptools.
  • Related: "Sharing is Caring - Sharing pytest Fixtures" by Brian Okken (PyCascades 2023)
    • My PyCascades 2023 on packaging pytest plugins is up on YouTube

Michael #2: vecs

  • via Oli
  • Python collection-like interface to storing and searching vectors in postgres.
  • Vector search is a key component in building AI chatbots, and semantic document search.
  • If you're familiar with the space, it's effectively Pinecone built on free OSS
  • It's under the Supabase github org but it's fully open source, and compatible with any pgvector vendor, e.g. RDS, or locally in docker
  • If you’re on macOS and need Postgres, Postgres App is a good option.

Brian #3: Introducing Grasshopper - An Open Source Python Library for Load Testing

  • Jacob Fiola
  • “Grasshopper is a library for automated load testing, written in Python.”
  • Open source project from Alteryx,
  • On GitHub and PyPI under the name locust-grasshopper
  • Built on Locust.
  • Adds
    • Tag-based suites for trend analysis and evaluating changes.
    • Custom trends. Useful for actions that span multiple http calls, and you want to see timing trends for the whole action.
    • Checks. Checks validate boolean conditions in the test.
    • Custom tagging for all metrics
    • Send data to time series db & dashboards.
    • Thresholds.
    • Reporting results to other locations.
    • Some reusable base classes that take care of the majority of the boilerplate that tests often contain
  • Readme has a very thorough introduction including configuration and samples.

Michael #4: memocast

  • by Daniel Engvall
  • A small iOS app for e.g. iPhone that allow you to add links heard in podcasts into reminders.
  • Good example of how to use Pythonista to build python scripts for iOS
  • Pythonista just made an update (2 weeks ago) so that'd use Python 3.10 on the iOS which makes it even more interesting.

Extras

Brian:

Joke: Careful or you might end up summoning a demon.