Skip to content

Releases: tanrax/bitpoint

v1.1.0

Choose a tag to compare

@tanrax tanrax released this 05 Jul 16:03

New

  • Disable endpoints with an underscore prefix: rename get.py to _get.py to stop serving that method (405 with Allow header, or 404 if no methods remain), or rename a directory to _dir/ to take its whole subtree offline. Rename back and the endpoint is live again, no restart needed. Dynamic [param] directories still capture URL segments that start with an underscore.

v1.0.2

Choose a tag to compare

@tanrax tanrax released this 04 Jul 20:04

Adds the bitpoint console script, so uv tool install bitpoint, uvx bitpoint and pipx install bitpoint now work. python -m bitpoint keeps working as before.

v1.0.1

Choose a tag to compare

@tanrax tanrax released this 04 Jul 19:31

Publish releases to PyPI from CI using an API token. No code changes.

v1.0.0

Choose a tag to compare

@tanrax tanrax released this 04 Jul 19:14

First stable release of Bitpoint: create HTTP endpoints quickly using files.

Highlights

  • File-based routing: the directory structure under routes/ defines the routes, the file name (get.py, post.py, ...) defines the HTTP method. Dynamic segments with [param] directories, shared code in routes/lib/.
  • Per-endpoint dependencies: declare dependencies with a PEP 723 block and each endpoint runs in its own isolated, cached environment managed by uv, inside a persistent worker process. Two endpoints can use incompatible versions of the same library.
  • Hot reload: save the file and the server updates automatically. Reloads are always a fresh process or module, never stale bytecode. In production, deploy with git pull && kill -HUP $(cat bitpoint.pid).
  • Simple contract: one handle(request) function per file. Return a str, dict, list, bytes, a tuple with status and headers, or None, and the sensible response happens by default.
  • No configuration: everything is controlled from the command line (--port, --host, --dir, --production, --no-install).

Install

pip install bitpoint

See the README for the full guide.