#338: Scripting iOS with Python
Published Tue, May 30, 2023, recorded Tue, May 30, 2023
About the show
Sponsored by us! Support our work through:
Connect with the hosts
- Michael: @firstname.lastname@example.org
- Brian: @email@example.com
- Show: @firstname.lastname@example.org
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.tomlfile, 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
- 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.
- 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.
- 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.
- Help test Python 3.12 beta!
- Python Language Summit write-ups available
PyPI was subpoenaed Michael: