Skip to main content

Run douwe.com projects locally from their standalone repositories.

Project description

Douwe Runner

Run one douwe.com project locally:

uvx douwe cambrium

or:

pipx run douwe cambrium

A bare name like cambrium resolves to github.com/DOsinga/cambrium and caches the clone under ~/.cache/douwe/projects/.

From the main douwe.com checkout, you can also run the development copy directly:

python projects/douwe_runner/douwe.py cambrium

Project references can be local or GitHub-backed:

python projects/douwe_runner/douwe.py cambrium
python projects/douwe_runner/douwe.py ./projects/cambrium
python projects/douwe_runner/douwe.py DOsinga/cambrium
python projects/douwe_runner/douwe.py https://github.com/DOsinga/cambrium

Inside the douwe.com checkout, a bare name like cambrium prefers ./projects/cambrium. Outside that checkout, it resolves to github.com/DOsinga/<name>.

Useful options:

python projects/douwe_runner/douwe.py cambrium --embed
python projects/douwe_runner/douwe.py cambrium --no-browser
python projects/douwe_runner/douwe.py cambrium --port 9000
python projects/douwe_runner/douwe.py cambrium --refresh

Installed-package equivalents work the same way:

douwe cambrium --port 9000
douwe cambrium --refresh

The runner intentionally loads only the requested project. That keeps old or dependency-heavy projects from breaking otherwise simple projects.

This version uses Tornado for serving and Jinja2 for project template rendering. It does not call Django's renderer or configure Django settings. {% load static %} is stripped from project templates, {{ static }} points at ./static/, and {% static "..." %} is rewritten to a shared ./_site_static/... URL.

Projects that require WebSockets still need the full Django/Channels site for now, but Tornado gives the runner a natural place to add that later.

Independent repos should eventually include their own <project>.html file with the existing info block. During migration, if a GitHub repo has no HTML info block but this checkout has projects/<project>/<project>.html, the runner uses that local manifest and serves assets from the cloned repo first.

Publishing

Build the package:

python -m build

Publish to PyPI:

python -m twine upload dist/*

After that, the globally runnable path is:

uvx douwe cambrium

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

douwe-0.1.0.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

douwe-0.1.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file douwe-0.1.0.tar.gz.

File metadata

  • Download URL: douwe-0.1.0.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for douwe-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0596252c88ad2f854092855bb79f113b27a857c4c989cc81fbc553181ae27fab
MD5 26a7fbf832b54dc86ece31513b8f8131
BLAKE2b-256 4eef4d6606fcbdd13ed35fa43bde0bb9608696b7d9597c27fef2ba26e28fbb82

See more details on using hashes here.

File details

Details for the file douwe-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: douwe-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for douwe-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb12223a3ebdca20b056c6218e5b539cd257595aa82d68c073bcaa080f871a27
MD5 a26c501d227794e8415760042005446c
BLAKE2b-256 b30e0588febebc61bc8d2ae1bb467fa497f26997ebaa939e391e941f00d3bed8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page