Skip to main content

DotCode: Dot and NumDot esoteric programming languages

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dotcode-1.0.1.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dotcode-1.0.1-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file dotcode-1.0.1.tar.gz.

File metadata

  • Download URL: dotcode-1.0.1.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for dotcode-1.0.1.tar.gz
Algorithm Hash digest
SHA256 aca6259ba4f80f4c54f6eff2b497306c3004c963a7711d7da48d9e2d11db5157
MD5 c22be83654e47de200cd9e3d0b32f9c8
BLAKE2b-256 fcc345336922189a5b708489f70791e5f2f7014d420c6d9339fc880f49d5a03c

See more details on using hashes here.

File details

Details for the file dotcode-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: dotcode-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for dotcode-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4f68235d5a693c1cd29511248d97f3ec9f24fee41fb243731271b5cc67098b8c
MD5 faeb1c41cd9064b4f530ba0c5dfc01b1
BLAKE2b-256 5cd62e93729d9b29ce4e1f900b3aad3ab9cfefb709c11c236c9a28cf53ffa213

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page