Simon Willison’s Weblog

Subscribe
Atom feed

Elsewhere

Filters: Sorted by date

Release llm 0.7.1 — Access large language models from the command-line
TIL A one-liner to output details of the current Python's SQLite — In investigating [llm/issues/164](https://github.com/simonw/llm/issues/164) I found myself needing to know more precise details of the Python SQLite environment used by the reporter of the bug.
None
TIL A simple pattern for inlining binary content in a Python script — For [simonw/til issue #82](https://github.com/simonw/til/issues/82) I needed to embed some binary content directly in a Python script.
None
Release sqlite-utils-fast-fks 0.1 — Fast foreign key addition for sqlite-utils
Release datasette-edit-schema 0.5.3 — Datasette plugin for modifying table schemas
Release sqlite-utils 3.35 — Python CLI utility and library for manipulating SQLite databases
TIL Running multiple servers in a single Bash script — I spotted [this script](https://github.com/varunshenoy/opendream/blob/main/run_opendream.sh) that starts the [opendream](https://github.com/varunshenoy/opendream) appication running both a Python `uvicorn` server and a `npm run start` script and it intrigued me - was it this easy to have a single Bash script run two servers? They were both started in the background with `&`, like this:
None
TIL Processing a stream of chunks of JSON with ijson — A follow-up to [Using OpenAI functions and their Python library for data extraction](https://til.simonwillison.net/gpt3/openai-python-functions-data-extraction) and [Using the ChatGPT streaming API from Python](https://til.simonwillison.net/gpt3/python-chatgpt-streaming-api). If I have a stream of chunks of a larger JSON document, how can I output full individual JSON objects as soon as they are available?
None
TIL Building a blog in Django — We launched the [Datasette Cloud blog](https://www.datasette.cloud/blog/) today. The Datasette Cloud site itself is a Django app - it uses Django and PostgreSQL to manage accounts, teams and soon billing and payments, then launches dedicated containers running Datasette for each customer.
None
TIL Storing and serving related documents with openai-to-sqlite and embeddings — I decide to upgrade the related articles feature on my TILs site. Previously I calculated these [using full-text search](https://til.simonwillison.net/sqlite/related-content), but I wanted to try out a new trick using OpenAI embeddings for document similarity instead.
None
Release openai-to-sqlite 0.4 — Save OpenAI API results to a SQLite database
Release llm-mlc 0.5 — LLM plugin for running models using MLC
Release datasette-render-markdown 2.2.1 — Datasette plugin for rendering Markdown
Release db-build 0.1 — Tools for building SQLite databases from files and directories
Release llm-mlc 0.4 — LLM plugin for running models using MLC
Release paginate-json 0.3.1 — Command-line tool for fetching JSON from paginated APIs
Release llm 0.7 — Access large language models from the command-line
TIL Combined release notes from GitHub with jq and paginate-json — Matt Holt [asked](https://twitter.com/mholt6/status/1690177417393135616):
None
Release llm-mlc 0.3 — LLM plugin for running models using MLC
Release llm-mlc 0.2 — LLM plugin for running models using MLC
Release llm-mlc 0.1a0 — LLM plugin for running models using MLC
Release sqlite-utils-jq 0.1 — Plugin adding a jq() SQL function to sqlite-utils
TIL Catching up with the Cosmopolitan ecosystem — I caught up with some of the latest developments in the ecosystem around Justine Tunney's [cosmopolitan](https://github.com/jart/cosmopolitan) and Actually Portable Executable (APE) projects this week. They are _absolutely fascinating_.
None
TIL Running a Django and PostgreSQL development environment in GitHub Codespaces — Helping people setup development environments (and fix them when they break) can be incredibly frustrating. I'm really excited about cloud-based development environments such as [GitHub Codespaces](https://github.com/features/codespaces) for exactly this reason - I love the idea that you can get a working environment by clicking a green button, and if it breaks you can throw it away and click the button again to get a brand new one.
None
Release datasette-upload-dbs 0.3 — Upload SQLite database files to Datasette
Release datasette 1.0a3 — An open source multi-tool for exploring and publishing data
TIL Scroll to text fragments — I ran a Google search this morning for `s3-credentials simon willison` and when I clicked on the top result it jumped me to a highlighted snippet of text on the page, despite that page not having relevant anchor links.
None
TIL Checking if something is callable or async callable in Python — I wanted a mechanism to check if a given Python object was "callable" - could be called like a function - or "async callable" - could be called using `await obj()`.
None
Release llm-llama-cpp 0.1a0 — LLM plugin for running models using llama.cpp
Release datasette-upload-dbs 0.2 — Upload SQLite database files to Datasette