DotCode
DotCode is a family of dot-based esoteric programming languages with reversible, Python-interoperable tooling.
This project provides two languages:
-
Dot — unary dot-length encoding
(each character →.repeatedASCIItimes; groups separated by spaces)
File extension:*.dcode -
NumDot — numeric dot-terminated encoding
(each character →<ASCII>.)
File extension:*.nd
DotCode includes:
- A clean compiler (Python → Dot / NumDot)
- A runtime and decoder (Dot / NumDot → Python + execution)
- Two command-line tools:
dotandnumdot - Fully reversible, lossless translation
Installation
For users (recommended)
Install directly from PyPI:
pip install dotcode
This installs the dot and numdot commands system-wide.
For development / contributors
If you want to modify DotCode or run it from source:
git clone https://github.com/CarbonIt-Labs/dotcode.git
cd dotcode
pip install -e .
Quick start
Dot language
dot compile hello.py -o hello.dcode
dot run hello.dcode
NumDot language
numdot compile hello.py -o hello.nd
numdot run hello.nd
numdot decode hello.nd -o hello.py
Example hello.py:
print("Hello from DotCode")
File extensions & conventions
- Dot language files:
*.dcode
(chosen to avoid collision with Microsoft Word.dotfiles) - NumDot language files:
*.nd - Python source input:
*.py(recommended)
Language summaries
Dot (DotCode)
- Encoding: each character encoded as
.repeatedord(character)times - Character groups separated by a single space
NumDot
- Encoding: each character encoded as
<decimal ASCII value>.
Both languages are fully reversible. The runtime decodes the source back to Python and executes it.
CLI reference
dot
dot compile <input.py> [-o output.dcode]
dot run <input.dcode>
numdot
numdot compile <input.py> [-o output.nd]
numdot run <input.nd>
numdot decode <input.nd> [-o output.py]
Security notice
DotCode executes decoded Python source using exec.
Do NOT run untrusted .dcode or .nd files.
Running encoded programs can execute arbitrary Python code. Always inspect source or use a sandboxed environment when handling third-party files.
Project structure
dotcode/
├─ pyproject.toml
├─ README.md
├─ CHANGELOG.md
├─ LICENSE
├─ dotcode/
│ ├─ dot/
│ ├─ numdot/
│ └─ common/
└─ tests/
Repository
GitHub: https://github.com/CarbonIt-Labs/dotcode
Contact
For questions, issues, or collaboration:
- Email: projectcarbonit@gmail.com
- GitHub Issues are preferred for bugs and feature requests
License
MIT License.
Author
Edwin Sam K Reju
Metadata
Release files for dotcode 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| dotcode-1.0.1.tar.gz | 6.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dotcode-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.1 kB
Release files / dotcode-1.0.1.tar.gz
| Download URL | dotcode-1.0.1.tar.gz |
|---|---|
| Size | 6.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aca6259ba4f80f4c54f6eff2b497306c3004c963a7711d7da48d9e2d11db5157
|
|
BLAKE2b-256 checksum How to use checksums |
fcc345336922189a5b708489f70791e5f2f7014d420c6d9339fc880f49d5a03c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / dotcode-1.0.1-py3-none-any.whl
| Download URL | dotcode-1.0.1-py3-none-any.whl |
|---|---|
| Size | 6.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4f68235d5a693c1cd29511248d97f3ec9f24fee41fb243731271b5cc67098b8c
|
|
BLAKE2b-256 checksum How to use checksums |
5cd62e93729d9b29ce4e1f900b3aad3ab9cfefb709c11c236c9a28cf53ffa213
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for dotcode 1.0.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.