Skip to main content

The Python, Lunar, C, C++ to Roblox Lua compiler

Project description

Introduction

All Contributors

roblox-pyc

Docs | Devforum | Github | Tests/Examples


pip install roblox-pyc

Python, Lunar, C, C++ Compiler for Roblox.

Python 3.13 (dev), C (all versions), C++ (all versions), Lunar -> Lua(u)

This has NO RELATION with .pyc files, roblox-py, or roblox-ts

C/C++ is still in progress.

Python is fully implemented, all code should work because it supports the dev build of Python 3.13.


Features

  • 🔄 Interchangeable
    roblox-pyc supports using Lua, Lunar, roblox-ts, C, C++, and Python all at once so you can have the best of all sides.
  • ☄️ Ultrafast compiler
    The roblox-pyc compiler is designed so entire projects can be compiled in a matter of seconds
  • 📉 Optimized code
    roblox-pyc is a source-source compiler, it doesn't use any WASM or anything like that to cheat its way and has major performance drops. It uses an AST and rewrites your code and optimizes it.
  • ⚠️ Easy error checking
    Your code can easily be checked for errors because of the precompiler error system.
  • 🧩 Cross-language module support
    roblox-pyc allows you to require/import modules from other languages.
  • 🛠️ Supports everything
    Regardless if you use Rojo, Argon, in Mac, Windows with any code editors or anything else roblox-pyc is highly customizable and allows you to use any of them
  • ↗️ Customizable
    You can customize roblox-pyc to change your C/C++ version or dynamic library or any QoL features, not only that roblox-pyc and all of its dependencies are open-source so you can mod it and change anything to your liking
  • 💻 Languages
    roblox-pyc supports a great variety of languages that are fully programmed.
  • 🌎 Upload your code to the world
    Using a VScode sync plugin you can upload your code to the world with GitHub, GitLab, whatever.
  • 📲 In-roblox plugin
    If you dont what to use VScode, python supports a roblox plugin which can be hosted in the terminal with all the features listed above!
  • 🌙 Lunar
    roblox-pyc comes with a custom language called lunar with amazing syntax features and an extended standard library, which is a modified version of MoonScript for roblox

Unsupported features

  • Import * (python)
  • Syntax based slicing (python) (workaround: use slice builtin function)
  • C/C++ (not implemented yet)
  • _slots_ (python) (adding soon)
  • _dict_ (python) (adding soon)

Credits

  • Highlighter. modified to work with python (plugin usage)
  • TextBoxPlus. uses a modified version with autocomplete (plugin usage)
  • pythonlua. this is heavily modified version with flask implementation and compiler changes. (read licenses in copyright.txt)
  • seasnake and sealang. Modified to convert C/C++ to Luau rather than C/C++ to Python 2.7
  • MoonScript. Modified to work with the Roblox API (Lunar).
  • LuauAST. roblox-pyc uses roblox-ts's LuauAST to generate Luau code. (not used in current versions)

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

roblox-pyc-2.26.113.tar.gz (88.7 kB view details)

Uploaded Source

Built Distribution

roblox_pyc-2.26.113-py3-none-any.whl (118.3 kB view details)

Uploaded Python 3

File details

Details for the file roblox-pyc-2.26.113.tar.gz.

File metadata

  • Download URL: roblox-pyc-2.26.113.tar.gz
  • Upload date:
  • Size: 88.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for roblox-pyc-2.26.113.tar.gz
Algorithm Hash digest
SHA256 18b8e23b9bc458606ebd041af51651fbdc5603842a45d9697e9ec0e1df257025
MD5 7f0d773efe713509d4ffa5b4a062cdca
BLAKE2b-256 b954d6df719022f0219a5a7af56d5ca944166ccc7ba941e4abd4c5b8515979e2

See more details on using hashes here.

File details

Details for the file roblox_pyc-2.26.113-py3-none-any.whl.

File metadata

File hashes

Hashes for roblox_pyc-2.26.113-py3-none-any.whl
Algorithm Hash digest
SHA256 59463a20828f3536f0a8f30eb59b97f492ffd156baaeed205e751fcf72a307f6
MD5 a1a333eddd51cfe774c9415301135b3f
BLAKE2b-256 66fc5b639b803affa11bdbcc893152f0a1c05f29c7cefbc21dbde5bff27c89ac

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page