Brought to you by Michael and Brian - take a Talk Python course or get Brian's pytest book

#338: Scripting iOS with Python

Published Tue, May 30, 2023, recorded Tue, May 30, 2023
Watch this episode on YouTube
Play on YouTube
Watch the live stream replay

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.


Want to go deeper? Check our projects