reStructuredPython is a superset of Python designed to bring clarity, structure, and modularity to your codebase. It builds on Python’s strengths while introducing powerful features like header files
, function chaining
, and curly-brace blocks
—all without sacrificing readability.
- ✅ Readable, Structured Syntax — Use
{}
braces for control flow, no ambiguous indentation - 📦 Modular Programming — Split logic into
.repy
and.cdata
files with easyinclude
- 🔗 Function Chaining — Chain transformations with
|>
for expressive pipelines - 📄 Header Files — Define reusable APIs and utilities in clean
.cdata
blocks - 🛠️ Custom Compiler — Compile structured Python into native
.py
code - 🌐 Cross-Platform — Works anywhere Python runs
mathutils.cdata
def square(x) {
return x * x
}
def cube(x) {
return x * x * x
}
main.repy
include 'mathutils.cdata'
def greet(name) {
return "Hello, " + name
}
if __name__ == '__main__' {
name = "Rihaan"
print(greet(name))
x = 5
result = x |> square |> cube
print("Result:", result)
}
To download the reStructuredPython compiler using the python package index:
pip install --upgrade restructuredpython
Download our vscode extension with intellisense support from the visual studio marketplace
To use the reStructuredPython compiler:
repy path/to/your/file.repy
Explore the syntax guide, chaining rules, and .cdata structure:
Please contribute and raise issues! We just started and this is a pioneering project. Fork the repository, make your changes, update the documentation in the docs/* folder, add examples (if applicable) in the tests/.repy and their compiled versions in tests/.py directory as well as in docs/source/tutorials/programs and in docs/source/tutorials/compiled_programs. Once you have ensured all features work of the compiler by test-compiling the other files in tests/.repy/*, make a pull request with the github issue number is applicable, short concise title and description of your changes. Warining: The first paragraph of the pull request description will go to be part of the changelong, so keep it short and clear. PLEASE DO NOT label your changes as a new version. That will be done manually or by a bot.
View the changelog at https://restructuredpython.readthedocs.io/en/latest/changelog.html
These mistakes will reslut in a syntax error thrown by the REPY compiler or invalid python. View the error index at https://restructuredpython.readthedocs.io/en/latest/compiler/error_index/