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 doctordiagnostics
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=truefor 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05b22e291dc69d060d6974597896de747c99a7b741df0bd5807628f9cd451ea0
|
|
| MD5 |
4f465d2314aaa710f4879c18533b308d
|
|
| BLAKE2b-256 |
d4e5c6199e8ccdfd364dc092299066062d68802a40d0df7026d8d531f98b3751
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b5ab6555027c79ce53e2fe7442b936a768db8e2436dff40e0293af6b000f954
|
|
| MD5 |
3deab88644362ab8ee3271ecd29f31fc
|
|
| BLAKE2b-256 |
1c6afaefeccbf3979b115b0fa7c2279ed5e174861364fb5e668bdf39e21ed5b7
|