Skip to main content

colloq

A shared workspace for teaching: one link, one live notebook, one assistant. Everything runs on the teacher's own machine — no cloud, no third-party server.

pip install colloq
colloq start

The first command installs the program, the second brings a class up and opens your browser. Ctrl+C saves and stops it.

Bare colloq starts nothing: it prints three lines about what lives here. A class takes a port and opens a window, and that should not happen because somebody typed a word at a guess — which is exactly why jupyter on its own prints help too, and jupyter lab is what starts a server.

What the machine needs

  • Docker — the room's Python lives in it. The kernel image is built here, from the Dockerfile that shipped with the package.

That is all on macOS 14+ and on Linux x64/arm64 (glibc 2.28+): pip installs a wheel for the platform with Node.js and the server's dependencies inside.

Elsewhere (macOS 13, Alpine, other architectures) pip installs the universal wheel, which also needs Node.js 22 or newer. colloq finds it on its own, including under nvm, fnm, volta and asdf, and says so in words if Node is missing. On the first run it installs the server's dependencies once (npm install --omit=dev inside its own directory) and says so out loud.

Where your things live

State lives in ~/.colloq, never inside the package: .env, the database, workspace/, and any environments you create. Reinstalling or upgrading the package leaves all of it alone. Point COLLOQ_HOME elsewhere to move it.

colloq start            # a class on this machine
colloq start --share    # the same, plus one public link for your students
colloq host <name>      # publish a running class under your own name
colloq status           # what is running here, no network calls
colloq doctor           # check everything before the lecture
colloq env new <name>   # a Python environment of your own
colloq stop             # end the class

colloq --help lists the rest; colloq <command> --help explains one.

colloq start --share

starts the class, opens a quick Cloudflare tunnel and prints one block: the link to give your students (https://….trycloudflare.com/s/<class>), or — if there is no class yet — where to create one; the class links in the panel's list already use the public address. The link lives while this terminal is open, and Ctrl+C closes it together with the class. A quick tunnel gets a new address on every start, so send the new link each time. Never share a link with /admin/ in it: that is a key to the panel.

The first --share downloads cloudflared if it is not installed: a pinned release from github.com/cloudflare/cloudflared, checked against a pinned SHA-256 before it is ever run, kept in ~/.colloq/bin. COLLOQ_CLOUDFLARED=/path uses your own file instead; COLLOQ_CLOUDFLARED_DOWNLOAD=0 forbids the download. macOS and Linux only; on Windows, use WSL 2.

Cloudflare addresses do not open from Russia. For students there, publish through your own relay instead: colloq start --host <name> with the RELAY_* lines in ~/.colloq/.env.

Boundaries

A class runs on this computer, for your own students: the server listens on the loopback interface, and only an explicit --share, --host or colloq host lets an audience in from outside. Each room's Python runs in a hardened container of its own, cut off from your home network — and a class is published only when that is true: if the kernels do not run one container per room in Docker, publishing refuses and the class stays local. What remains true is that the link is a door: anyone who has it runs code in a sandbox on this computer. Keep it for your class; for an open audience, run the server installation on a machine of its own.

Where this comes from

The package is built from the Colloq repository with make wheel. Inside it is the built application — server, frontend, CLI, kernel Dockerfile; the Python code here is packaging and nothing more, finding Node and handing over control.

MIT.

Metadata

Release files for colloq 0.28.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for colloq 0.28.1
File Actions
colloq-0.28.1-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details for colloq-0.28.1-py3-none-manylinux_2_28_x86_64.whl
colloq-0.28.1-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details for colloq-0.28.1-py3-none-manylinux_2_28_aarch64.whl
colloq-0.28.1-py3-none-macosx_14_0_x86_64.whl Python 3 none macOS 14.0+ x86-64 Details for colloq-0.28.1-py3-none-macosx_14_0_x86_64.whl
colloq-0.28.1-py3-none-macosx_14_0_arm64.whl Python 3 none macOS 14.0+ ARM64 Details for colloq-0.28.1-py3-none-macosx_14_0_arm64.whl
colloq-0.28.1-py3-none-any.whl Python 3 none any Details for colloq-0.28.1-py3-none-any.whl

Total release size: 287.4 MB

Release files / colloq-0.28.1-py3-none-manylinux_2_28_x86_64.whl

Download URL colloq-0.28.1-py3-none-manylinux_2_28_x86_64.whl
Size 71.0 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
d0b2afe51dd2ad822dc73e438ebc4b5914ac12cd3a08fc36cb925734f8beb2d1
BLAKE2b-256 checksum
How to use checksums
471d0bf30c4b009b14e7b8708306cd6bc87953c35b974614100ceff302c6034d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / colloq-0.28.1-py3-none-manylinux_2_28_aarch64.whl

Download URL colloq-0.28.1-py3-none-manylinux_2_28_aarch64.whl
Size 70.5 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
6857b81e6726ce671dd42a44bd48c26f10fb370c8f7a8031cefacff2a6fde199
BLAKE2b-256 checksum
How to use checksums
9b8a0c44bd06bf6ef7e0110bad6a9366d462af1d46871ebf0f3454dace1746f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / colloq-0.28.1-py3-none-macosx_14_0_x86_64.whl

Download URL colloq-0.28.1-py3-none-macosx_14_0_x86_64.whl
Size 66.8 MB
Tags Python 3 macOS 14.0+ x86-64
SHA-256 checksum
How to use checksums
fbf184b697e3ceaf77f01ffa2e21320dba881a8a16d1eff2eb141a631c0c4645
BLAKE2b-256 checksum
How to use checksums
da8b98c7f3ea85daaa02a617c2011d45518b34a3cedd3b7b9e46446f06f471af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / colloq-0.28.1-py3-none-macosx_14_0_arm64.whl

Download URL colloq-0.28.1-py3-none-macosx_14_0_arm64.whl
Size 65.3 MB
Tags Python 3 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
5c6a08f2ffb0440bfef4f1203372cf5971309ca582c03e6fb5537249ee120a8d
BLAKE2b-256 checksum
How to use checksums
5ed0aecfedfc27d42ee97eab2d598728cef43ec48490bfecf71bf09d6c8f0b2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / colloq-0.28.1-py3-none-any.whl

Download URL colloq-0.28.1-py3-none-any.whl
Size 13.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
9c2349c1735c8b9f3c929c006bf7d79933777a694cc6adf92dd2835c342b8d45
BLAKE2b-256 checksum
How to use checksums
b837a0a0ac68040d6af57a0c16ba5f099ea76a7e879cb3571a0c5335f3d4ed48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for colloq 0.28.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.28.1 This release

5 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page