A pure Python CLI tool for generating structured semi-random domain names.
Project description
structured-domain-generator
A pure Python, zero-dependency CLI tool for generating structured semi-random domain names.
Quick Start
# Install as a tool
uv tool install structured-domain-generator
# Generate a domain
❯ sdg thingy --prefix ff123556 --suffix .net
https://ff123556-transparency-harvesting-investment.net
Note: You can also use pip install, pipx install, or uv tool install, but we recommend uv.
Features
- Pure Python (0 dependencies).
- CLI-based interface.
- Structured generation using seed strings.
- Support for optional prefixes and suffixes.
- Weighted selection favoring shorter words (≤ 4 chars).
How it Works
The generator uses the first three characters of a seed string to pick three random words from available lists. Words starting with the corresponding character are prioritized; if none exist, a random word from the pool is used. Words with 4 characters or fewer are given double the selection weight.
Installation
This project uses uv. You can install the tool globally:
uv tool install structured-domain-generator
Usage
Run the tool using the sdg or structured-domain-generator command:
sdg <seed_word> [options]
Options
--prefix <string>: Adds a prefix to the domain.--suffix <string>: Adds a suffix (e.g.,.com,.net) to the domain.--lists <list...>: Specify word lists to use (business,energy,short). Defaults to all.
Development
- Project Management:
uv - Linting & Formatting:
ruff
To format and lint the code:
uv run ruff format .
uv run ruff check .
Contributing
Pull requests for bug fixes and improvements are welcome.
License
This project is licensed under the MIT License.
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 structured_domain_generator-0.1.2.tar.gz.
File metadata
- Download URL: structured_domain_generator-0.1.2.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3bd97cfda9b298687b72fe3952579ed0bc30185a2da07627130d97443a8c58c
|
|
| MD5 |
7dd73652e59c7f6c79748ae70512ba5b
|
|
| BLAKE2b-256 |
1bc0ca213d7808bb5e6c560bb005dfea4e2d6860ac09ea3d6b81d2e6aca742c9
|
File details
Details for the file structured_domain_generator-0.1.2-py3-none-any.whl.
File metadata
- Download URL: structured_domain_generator-0.1.2-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25624f7eec8fdb5f2961cf203046207f70b7cd0db8617e454868ed5c8bfdd65b
|
|
| MD5 |
51498efd639e0fdfcc3c4aef0ed3d16d
|
|
| BLAKE2b-256 |
401f3ee83d9e90db5d2b9df22f85dc609bb33665182546cd7414490eee558000
|