Skip to main content

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 → . repeated ASCII times; 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: dot and numdot
  • 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 .dot files)
  • NumDot language files: *.nd
  • Python source input: *.py (recommended)

Language summaries

Dot (DotCode)

  • Encoding: each character encoded as . repeated ord(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:


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)

Source distribution for dotcode 1.0.1
File Size Uploaded Provenance
dotcode-1.0.1.tar.gz 6.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for dotcode 1.0.1
File Interpreter ABI Platform
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.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 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