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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0596252c88ad2f854092855bb79f113b27a857c4c989cc81fbc553181ae27fab
|
|
| MD5 |
26a7fbf832b54dc86ece31513b8f8131
|
|
| BLAKE2b-256 |
4eef4d6606fcbdd13ed35fa43bde0bb9608696b7d9597c27fef2ba26e28fbb82
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb12223a3ebdca20b056c6218e5b539cd257595aa82d68c073bcaa080f871a27
|
|
| MD5 |
a26c501d227794e8415760042005446c
|
|
| BLAKE2b-256 |
b30e0588febebc61bc8d2ae1bb467fa497f26997ebaa939e391e941f00d3bed8
|