PyWeb — The Python Alternative Web. Register FREE TLDs, host on Hugging Face or your own hardware.
Project description
PyWeb CLI
The Python Alternative Web — all domains are FREE, forever.
No registrars. No ICANN fees. No bullshit. Just Python.
Install
# No pip install needed — pure stdlib Python 3.6+
curl -o pyweb https://raw.githubusercontent.com/your-repo/pyweb-cli/main/pyweb.py
chmod +x pyweb
sudo mv pyweb /usr/local/bin/pyweb
Or just run it directly:
python3 pyweb.py <command>
Quick Start
# 1. Set your username (matches your HuggingFace handle)
pyweb login myusername
# 2. Register a domain (FREE, instant)
pyweb register mysite.mycoolweb
# 3. Deploy your site folder
pyweb deploy mysite.mycoolweb ./my-site-folder
# 4. Get your live URL
pyweb open mysite.mycoolweb
Commands
| Command | Description |
|---|---|
pyweb login <username> |
Save your username locally |
pyweb whoami |
Show current user |
pyweb register <domain> |
Register a PyWeb domain (FREE) |
pyweb deploy <domain> <folder> |
Package & deploy a site to HF CDN |
pyweb open <domain> |
Get the live URL for a domain |
pyweb list |
List your domains |
How It Works
pyweb deploy mysite.mycoolweb ./my-folder
│
├─ 1. Packages ./my-folder → site.zip (in-memory, no temp files)
├─ 2. Hits PyWeb backend → Security checks:
│ ├─ Uniqueness check (is domain taken in PyWeb?)
│ └─ DNS trademark check (does <core>.com exist on ICANN?)
├─ 3. Creates HuggingFace Dataset repo: username/pyweb-mysite-mycoolweb
├─ 4. Uploads site.zip → HF CDN
└─ 5. Writes mapping to PyWeb_Registry → domain is LIVE
Security Rules
- Uniqueness: Each domain can only be owned by one person.
- Trademark protection: If
<core>.comresolves on real DNS, registration is blocked.netflix.mycoolweb→ blocked.zorbabuilds.mycoolweb→ allowed. - Free forever: No pricing tiers, no premium domains, no upsells.
Site Requirements
Your site folder must contain an index.html at the root. Everything else (CSS, JS, images) is packed into site.zip and served from HuggingFace CDN.
my-site/
├── index.html ← required
├── style.css
├── app.js
└── assets/
└── logo.png
Live Resolution
When someone visits your PyWeb domain, the resolver:
- Looks up your
hf_repo_idinPyWeb_Registry - Fetches
site.zipfrom HuggingFace CDN - Extracts
index.htmlentirely in RAM (no disk writes) - Renders the HTML directly in the browser
Endpoint: https://superagent-0b5134e7.base44.app/functions/resolveDomain?domain=<your-domain>
Project details
Release history Release notifications | RSS feed
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 pyweb_cli-3.0.0.tar.gz.
File metadata
- Download URL: pyweb_cli-3.0.0.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f5381a5b92b335022727106fa1ed6989e5c3f866da5087d7a1cf2a6f9059acd
|
|
| MD5 |
9c4bb0a29cf63610bbcb0c53d5007c92
|
|
| BLAKE2b-256 |
13ab0ea76ec77b4ecaadb15db64b7cf90e903840cdc0fd6ef8e429014e09607f
|
File details
Details for the file pyweb_cli-3.0.0-py3-none-any.whl.
File metadata
- Download URL: pyweb_cli-3.0.0-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15e22dbb30109c909ba9ff352c4969d85c673d6b08d9e1f6086d991d26c77b8f
|
|
| MD5 |
20fa65c49e9d7ccbe02efddd3c11b3f9
|
|
| BLAKE2b-256 |
30cca220cdd3a9f15ff58190311d8350be027c101ee0eff637787150ecf2ba12
|