T++: Human-first natural language programming platform
Project description
T++
Human-first programming, engineered for real-world software.
T++ is a next-generation language platform that lets developers write expressive, natural syntax while keeping deterministic runtime behavior, modern tooling, and production CI discipline.
Why T++
- Natural language syntax that remains readable to humans and executable by machines.
- Full CLI workflow for run, repl, test, plugin management, API serving, and diagnostics.
- Extensible plugin system with keyword rewrites and transform hooks.
- Built-in web IDE backend and JSON execution API.
- PyPI distribution for immediate adoption:
pip install tpp-language.
Features
- Human-first syntax with strict, fuzzy, and intent parsing modes.
- Modular architecture: parser, runtime engine, stdlib, API, CLI, plugins.
- Test blocks and suites directly in
.tppsource. - Configurable project behavior via
.tppconfig. - CI/CD-ready repository with matrix validation and release automation.
Installation
pip install tpp-language
Verify install:
tpp --version
tpp doctor
Local development install:
python -m pip install -e .[dev]
Usage
Run a script:
tpp run examples/hello.tpp
Start interactive REPL:
tpp repl
Run regression tests:
tpp test tests/regression.tpp
Plugin workflow:
tpp plugin install examples/sample_plugin.json
tpp plugin list
tpp run examples/plugin_demo.tpp --plugin examples/sample_plugin.json
Start API + Web IDE:
tpp api --serve --host 127.0.0.1 --port 8787
Open http://127.0.0.1:8787/ in your browser.
Architecture Overview
tpp/
core/ -> AST, constants, diagnostics, utilities
parser/ -> lexer, parser, semantic analyzer, optimizer
runtime/ -> engine, evaluator, environment, interop, profiler
stdlib/ -> native modules (math, text, system, time)
plugins/ -> plugin loading, metadata, transforms
cli/ -> command surface (run/repl/test/plugin/api/doctor)
api/ -> JSON execution API + web IDE server
Design goal: natural syntax at the top, predictable execution at the core.
Examples
Simple script:
say "Hello from T++"
let name be "Developer"
say "Welcome" then name
Natural arithmetic and expectations:
let x be 4
increase x by 6
expect x to be 10
API payload:
{
"source": "let x be 5\nsay x",
"mode": "run"
}
Roadmap
- Richer language server and editor integration.
- Expanded standard library and package ecosystem.
- Advanced plugin marketplace and sharing model.
- Enhanced debugging and profiling introspection.
- Cloud-hosted collaborative web IDE experience.
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.2.tar.gz.
File metadata
- Download URL: tpp_language-3.1.2.tar.gz
- Upload date:
- Size: 47.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f34a3e3f69db1b02ba3aba1b8f85a1325877c5fd7123c364b536b030c6fdffa8
|
|
| MD5 |
5071ff661de6f6e626e48eef2596f232
|
|
| BLAKE2b-256 |
f00d75eaaa13b900292e59e5ef8db600883f4f5933fb62921bb51681462e6534
|
File details
Details for the file tpp_language-3.1.2-py3-none-any.whl.
File metadata
- Download URL: tpp_language-3.1.2-py3-none-any.whl
- Upload date:
- Size: 49.0 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 |
a9e3c630a62a892ee4af511388dd90cb36e57d1f472ac6c31962e8aa295bec0d
|
|
| MD5 |
14d52af1ca155b2177634a8cbe74fce0
|
|
| BLAKE2b-256 |
4992629aabc484f2bf6a18e3b3278a0babff4e5a1de1c2f5c7f60bc8f4043799
|