Simon Willison’s Weblog

Subscribe
Atom feed

Elsewhere

Filters: Sorted by date

Release sqlite-utils-shell 0.1 — Interactive shell for sqlite-utils
Release sqlite-utils-dateutil 0.1 — Date utility functions for sqlite-utils
Release sqlite-migrate 0.1a1 — A simple database migration system for SQLite, based on sqlite-utils
Release sqlite-migrate 0.1a0 — A simple database migration system for SQLite, based on sqlite-utils
Release sqlite-utils 3.34 — Python CLI utility and library for manipulating SQLite databases
Release llm-replicate 0.3 — LLM plugin for models hosted on Replicate
Release symbex 1.3 — Find the Python code for specified symbols
Release llm 0.6 — Access large language models from the command-line
Release llm-replicate 0.2 — LLM plugin for models hosted on Replicate
Release llm-replicate 0.1 — LLM plugin for models hosted on Replicate
Release datasette-auth-tokens 0.4a0 — Datasette plugin for authenticating access using API tokens
Release symbex 1.2 — Find the Python code for specified symbols
Release symbex 1.1 — Find the Python code for specified symbols
TIL Using tree-sitter with Python — [tree-sitter](https://tree-sitter.github.io/tree-sitter/) is a "parser generator tool and an incremental parsing library". It has a very good reputation these days.
TIL Auto-formatting YAML files with yamlfmt — I decided to see if there was an equivalent of [Black](https://pypi.org/project/black/) or [Prettier](https://prettier.io/) for YAML files. I found [yamlfmt](https://github.com/google/yamlfmt) from Google.
Release llm-mpt30b 0.1 — LLM plugin adding support for the MPT-30B language model
Release llm-markov 0.1 — Plugin for LLM adding a Markov chain generating model
Release llm-gpt4all 0.1 — Plugin for LLM adding support for the GPT4All collection of models
Release llm-palm 0.1 — Plugin for LLM adding support for Google's PaLM 2 model
Release llm 0.5 — Access large language models from the command-line
Release ttok 0.2 — Count and truncate text based on tokens
TIL Quickly testing code in a different Python version using pyenv — I had [a bug](https://github.com/simonw/llm/issues/82#issuecomment-1629735729) that was only showing up in CI against Python 3.8.
TIL Using git-filter-repo to set commit dates to author dates — After rebasing a branch with 60+ commits onto `main` I was disappointed to see that the commit dates on the commits (which are a different thing from the author dates) had all been reset to the same time. This meant the GitHub default UI for commits implied everything had been written at the same moment.
TIL Using OpenAI functions and their Python library for data extraction — Here's the pattern I figured out for using the [openai](https://github.com/openai/openai-python) Python library to extract structured data from text using a single call to the model.
Release strip-tags 0.5.1 — CLI tool for stripping tags from HTML
Release pocket-to-sqlite 0.2.3 — Create a SQLite database containing data from your Pocket account
TIL Python packages with pyproject.toml and nothing else — I've been using `setuptools` and `setup.py` for my Python packages for a long time: I like that it works without me having to think about installing and learning any additional tools such as [Flit](https://flit.pypa.io/) or [pip-tools](https://pip-tools.readthedocs.io/) or [Poetry](https://python-poetry.org/) or [Hatch](https://github.com/pypa/hatch).
TIL Syntax highlighted code examples in Datasette — I wanted to add syntax highlighting to the new tutorial [Data analysis with SQLite and Python](https://datasette.io/tutorials/data-analysis).
TIL Custom Jinja template tags with attributes — I decided to implement a custom Jinja template block tag for my [datasette-render-markdown](https://datasette.io/plugins/datasette-render-markdown) plugin. I wanted the tag to work like this:
Release datasette-render-markdown 2.2 — Datasette plugin for rendering Markdown

Beats

Years

Tags