Skip to main content

T++: Human-first natural language programming platform

Project description

T++ Language Platform

T++ is a human-first programming language ecosystem where code reads like structured English and executes through a deterministic runtime.

This repository ships T++ as an installable developer tool with:

  • a real terminal CLI (tpp)
  • a modular parser and runtime architecture
  • a native standard library layer
  • plugin system v3
  • a web-based IDE backend and frontend

Install

Install from local source:

pip install .

After install, use the CLI directly:

tpp --version
tpp run examples/hello.tpp

Core Commands

tpp run file.tpp
tpp repl
tpp test tests/regression.tpp
tpp doctor
tpp plugin install examples/sample_plugin.json
tpp plugin list
tpp api --serve

Backward compatibility remains available:

python tpp.py examples/hello.tpp
python tpp.py --test tests/regression.tpp

Web IDE

Start backend + IDE page:

tpp api --serve --host 127.0.0.1 --port 8787

Open:

Execution endpoint:

  • POST /run
  • JSON body example:
{
	"source": "let x be 5\nsay x",
	"mode": "run"
}

Architecture

  • tpp/core: AST, constants, diagnostics, shared helpers
  • tpp/parser: lexer, strict/fuzzy/intent parser, semantic analysis, optimizer
  • tpp/runtime: independent AST expression evaluator and execution engine
  • tpp/stdlib: native modules (math, text, system, time)
  • tpp/gui: declarative GUI runtime abstraction
  • tpp/plugins: metadata-validated plugin system with transform pipeline
  • tpp/cli: modern command layer and legacy compatibility path
  • tpp/api: JSON execution API and web IDE server

Examples

  • examples/hello.tpp
  • examples/math.tpp
  • examples/gui.tpp
  • examples/plugin_demo.tpp

Run plugin demo:

tpp run examples/plugin_demo.tpp --plugin examples/sample_plugin.json

Config (.tppconfig)

Optional JSON config in project root:

{
	"parser_mode": "fuzzy",
	"plugins": ["sample_plugin.json"],
	"strict_semantic_resolution": false,
	"no_python_bridge": false
}

CLI flags always override config values.

Validation and CI

This repository includes production-ready GitHub Actions workflows:

  • .github/workflows/ci.yml: continuous validation for push and pull request
  • .github/workflows/release.yml: tag-based release build + GitHub Release + optional PyPI publish

CI validates:

  • package installation (pip install .)
  • compile checks (python -m compileall -q tpp)
  • linting (ruff check tpp tests scripts)
  • required CLI contract (tpp --version, run, test, repl, plugin install/list)
  • tpp doctor diagnostics

Release Process

Create a semantic version tag:

git tag v3.1.1
git push origin v3.1.1

The release workflow will:

  • build wheel + sdist
  • run twine check
  • run smoke tests against built wheel
  • generate release notes from git history
  • publish a GitHub release with artifacts

Optional PyPI publish:

  • run release workflow manually with publish_to_pypi=true, or
  • set repository variable TPP_PUBLISH_PYPI=true for tag pushes

Developer Workflow

python -m pip install -e .[dev]
pre-commit install
python scripts/ci_validate.py
pytest -q tests/test_cli_integration.py

Security Notes

  • Python module bridging is allow-listed
  • system stdlib file operations are workspace-sandboxed
  • plugin Python hooks are namespace-restricted

Project Layout

  • tpp/
  • examples/
  • tests/
  • docs/
  • README.md
  • pyproject.toml

Publish Readiness

This codebase is structured for GitHub publishing and pip installation.

For documentation details:

  • docs/language-guide.md
  • docs/plugin-guide.md
  • docs/web-ide.md
  • docs/devops.md

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

tpp_language-3.1.0.tar.gz (46.0 kB view details)

Uploaded Source

Built Distribution

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

tpp_language-3.1.0-py3-none-any.whl (48.3 kB view details)

Uploaded Python 3

File details

Details for the file tpp_language-3.1.0.tar.gz.

File metadata

  • Download URL: tpp_language-3.1.0.tar.gz
  • Upload date:
  • Size: 46.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for tpp_language-3.1.0.tar.gz
Algorithm Hash digest
SHA256 05b22e291dc69d060d6974597896de747c99a7b741df0bd5807628f9cd451ea0
MD5 4f465d2314aaa710f4879c18533b308d
BLAKE2b-256 d4e5c6199e8ccdfd364dc092299066062d68802a40d0df7026d8d531f98b3751

See more details on using hashes here.

File details

Details for the file tpp_language-3.1.0-py3-none-any.whl.

File metadata

  • Download URL: tpp_language-3.1.0-py3-none-any.whl
  • Upload date:
  • Size: 48.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for tpp_language-3.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5b5ab6555027c79ce53e2fe7442b936a768db8e2436dff40e0293af6b000f954
MD5 3deab88644362ab8ee3271ecd29f31fc
BLAKE2b-256 1c6afaefeccbf3979b115b0fa7c2279ed5e174861364fb5e668bdf39e21ed5b7

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