Skip to content

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

License

Notifications You must be signed in to change notification settings

sharktide/restructuredpython

Repository files navigation

This is reStructuredPython 2

Publish Python Package Latest Version PyPI Downloads Socket Badge 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 2

  •  
  •