The Python, Lunar, C, C++ to Roblox Lua compiler
Project description
Introduction
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)
Built Distribution
roblox_pyc-2.26.113-py3-none-any.whl
(118.3 kB
view details)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18b8e23b9bc458606ebd041af51651fbdc5603842a45d9697e9ec0e1df257025 |
|
MD5 | 7f0d773efe713509d4ffa5b4a062cdca |
|
BLAKE2b-256 | b954d6df719022f0219a5a7af56d5ca944166ccc7ba941e4abd4c5b8515979e2 |
File details
Details for the file roblox_pyc-2.26.113-py3-none-any.whl
.
File metadata
- Download URL: roblox_pyc-2.26.113-py3-none-any.whl
- Upload date:
- Size: 118.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59463a20828f3536f0a8f30eb59b97f492ffd156baaeed205e751fcf72a307f6 |
|
MD5 | a1a333eddd51cfe774c9415301135b3f |
|
BLAKE2b-256 | 66fc5b639b803affa11bdbcc893152f0a1c05f29c7cefbc21dbde5bff27c89ac |