Skip to content

sharktide/restructuredpython

Repository files navigation

This is reStructuredPython 2

Publish Python Package Latest Version PyPI Downloads CodeFactor Python Versions Static Badge

🔷 reStructuredPython — Python, Reimagined

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.


🚀 Why Choose reStructuredPython?

  • Readable, Structured Syntax — Use {} braces for control flow, no ambiguous indentation
  • 📦 Modular Programming — Split logic into .repy and .cdata files with easy include
  • 🔗 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

Example

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

📚 Documentation

Explore the syntax guide, chaining rules, and .cdata structure:

Docs Home Syntax Guide

Contributing

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.

Changelog

View the changelog at https://restructuredpython.readthedocs.io/en/latest/changelog.html

Common mistakes

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/

About

A superset of Python with many new features, including multiline comments, header files, and optional curly brackets around control statements

Topics

Resources

License

Stars

Watchers

Forks

Contributors