Skip to content

v3.0.0 #23

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 77 commits into from
Oct 8, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
fe4d46b
Update README.md
AsynchronousAI Aug 2, 2023
6bc8d9b
Prepare.
AsynchronousAI Aug 20, 2023
cc972bd
Remove LuauAST Engine
AsynchronousAI Aug 20, 2023
0132804
Remove junk
AsynchronousAI Aug 20, 2023
273967f
util
AsynchronousAI Aug 21, 2023
d89286e
scripts
AsynchronousAI Aug 21, 2023
c248fe9
Update
AsynchronousAI Aug 21, 2023
ca0926d
Expand
AsynchronousAI Aug 21, 2023
f0da034
Rephrase
AsynchronousAI Aug 21, 2023
19a88f8
Visitor
AsynchronousAI Aug 21, 2023
7ab9f0e
Clean
AsynchronousAI Sep 17, 2023
8e2982c
Basic python parser
AsynchronousAI Sep 17, 2023
8f03a7b
Format
AsynchronousAI Sep 17, 2023
610678b
Main interface
AsynchronousAI Sep 17, 2023
a042563
Use #include rather than import
AsynchronousAI Sep 17, 2023
d9b90a8
CMake build
AsynchronousAI Sep 17, 2023
80f0ed0
Flags
AsynchronousAI Sep 17, 2023
d37e78e
Improvements
AsynchronousAI Sep 17, 2023
e07e5e0
Fix
AsynchronousAI Sep 17, 2023
b5f6177
Interface
AsynchronousAI Sep 17, 2023
40f28b2
Python based
AsynchronousAI Oct 2, 2023
b7c70ae
Working copy
AsynchronousAI Oct 2, 2023
cb9bde3
Fixes
AsynchronousAI Oct 2, 2023
2feec03
Try, catch & raise
AsynchronousAI Oct 2, 2023
1a2ee0a
Header
AsynchronousAI Oct 3, 2023
8f2599d
Handle classmethods
AsynchronousAI Oct 3, 2023
aa6d5d8
Better syntax errors
AsynchronousAI Oct 3, 2023
ac881c3
Avoid syntax errors
AsynchronousAI Oct 3, 2023
b6fe89f
LUA to PYTHON
AsynchronousAI Oct 3, 2023
173b7fa
3.11 support
AsynchronousAI Oct 3, 2023
9152490
Better switches
AsynchronousAI Oct 3, 2023
20320b9
Build
AsynchronousAI Oct 3, 2023
8282651
Better typechecking
AsynchronousAI Oct 3, 2023
b98ac3c
Dependencies
AsynchronousAI Oct 3, 2023
f94b746
Fixes
AsynchronousAI Oct 3, 2023
2daf724
`in` operator
AsynchronousAI Oct 3, 2023
6f444d4
Bug fix
AsynchronousAI Oct 3, 2023
896c955
-f & -fn
AsynchronousAI Oct 3, 2023
0093e18
Type creation
AsynchronousAI Oct 4, 2023
6848f81
Remove Lua->Py and replace with a parser
AsynchronousAI Oct 4, 2023
f1b32c5
Bug fixes
AsynchronousAI Oct 4, 2023
76be97f
Events
AsynchronousAI Oct 4, 2023
10e7841
Import services
AsynchronousAI Oct 4, 2023
1e9f000
Import services
AsynchronousAI Oct 4, 2023
caeb487
strings support
AsynchronousAI Oct 4, 2023
1e50601
fix
AsynchronousAI Oct 4, 2023
b48bce5
error
AsynchronousAI Oct 4, 2023
2e93861
Addition
AsynchronousAI Oct 5, 2023
0731ef1
-o
AsynchronousAI Oct 5, 2023
3ebb5ec
API improvements
AsynchronousAI Oct 5, 2023
423bf3a
change
AsynchronousAI Oct 5, 2023
e6b3dc8
bug fix
AsynchronousAI Oct 5, 2023
a687163
Bug fixes
AsynchronousAI Oct 5, 2023
8def0b9
API fixes
AsynchronousAI Oct 5, 2023
b8523fd
Bug fix
AsynchronousAI Oct 5, 2023
4f1ab6b
Bug fix
AsynchronousAI Oct 5, 2023
c1790ed
Update rbxpy.py
AsynchronousAI Oct 6, 2023
68abe3e
Update rbxpy.py
AsynchronousAI Oct 6, 2023
d6216c3
Update rbxpy.py
AsynchronousAI Oct 6, 2023
de785dc
Update rbxpy.py
AsynchronousAI Oct 6, 2023
4553fa5
Update rbxpy.py
AsynchronousAI Oct 6, 2023
56dfd0b
Update rbxpy.py
AsynchronousAI Oct 6, 2023
f2cb187
Update rbxpy.py
AsynchronousAI Oct 6, 2023
397ccd1
Update rbxpy.py
AsynchronousAI Oct 6, 2023
310924f
Update rbxpy.py
AsynchronousAI Oct 6, 2023
11b089e
Update rbxpy.py
AsynchronousAI Oct 6, 2023
6c81224
Update rbxpy.py
AsynchronousAI Oct 6, 2023
485896a
Better try, except
AsynchronousAI Oct 6, 2023
ee6b874
Exports
AsynchronousAI Oct 6, 2023
1c40697
Fixed exports
AsynchronousAI Oct 7, 2023
3211031
-ne argument
AsynchronousAI Oct 7, 2023
500c2bc
use global to export
AsynchronousAI Oct 7, 2023
b3c9344
fixes
AsynchronousAI Oct 7, 2023
848c3ff
Method calls
AsynchronousAI Oct 7, 2023
3007d69
-s & -r command line args
AsynchronousAI Oct 7, 2023
24d3d9a
Do not need inputfile when generating library files
AsynchronousAI Oct 7, 2023
d3afe1d
Fully support `require`-ing
AsynchronousAI Oct 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,6 @@
"skipCi": true,
"repoType": "github",
"repoHost": "https://github.com",
"projectName": "roblox-pyc",
"projectName": "roblox-py",
"projectOwner": "AsynchronousAI"
}
53 changes: 53 additions & 0 deletions .argon.project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"name": "Argon",
"tree": {
"$className": "DataModel",
"Chat": {
"$path": "src/Chat"
},
"Lighting": {
"$path": "src/Lighting"
},
"LocalizationService": {
"$path": "src/LocalizationService"
},
"ReplicatedFirst": {
"$path": "src/ReplicatedFirst"
},
"ReplicatedStorage": {
"$path": "src/ReplicatedStorage"
},
"ServerScriptService": {
"$path": "src/ServerScriptService"
},
"ServerStorage": {
"$path": "src/ServerStorage"
},
"SoundService": {
"$path": "src/SoundService"
},
"StarterGui": {
"$path": "src/StarterGui"
},
"StarterPack": {
"$path": "src/StarterPack"
},
"StarterPlayer": {
"StarterCharacterScripts": {
"$path": "src/StarterPlayer/StarterCharacterScripts"
},
"StarterPlayerScripts": {
"$path": "src/StarterPlayer/StarterPlayerScripts"
}
},
"Teams": {
"$path": "src/Teams"
},
"TestService": {
"$path": "src/TestService"
},
"Workspace": {
"$path": "src/Workspace"
}
}
}
Binary file not shown.
40 changes: 0 additions & 40 deletions .github/workflows/python-publish.yml

This file was deleted.

23 changes: 0 additions & 23 deletions .github/workflows/sponsors.yml

This file was deleted.

14 changes: 13 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,13 @@
*.pyc
# idrk
*.pyc

# Cobalt preprocessed and compiled
*.cii
*.byte

test.py
test.lua

# Build
/build
/dist
4 changes: 2 additions & 2 deletions COPYRIGHTS.txt → COPYRIGHTS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Pythonlua:
# Pythonlua:

Apache License
Version 2.0, January 2004
Expand Down Expand Up @@ -202,7 +202,7 @@ Pythonlua:
See the License for the specific language governing permissions and
limitations under the License.

TextBoxPlus and Highlighter (used in roblox plugin):
# TextBoxPlus and Highlighter (used in roblox plugin):

MIT License

Expand Down
3 changes: 0 additions & 3 deletions MANIFEST.in

This file was deleted.

68 changes: 9 additions & 59 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# Introduction

> **NOTICE:**
> This is the indev build
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
Expand All @@ -10,6 +13,7 @@
## Sponsors
<!-- sponsors --><!-- sponsors -->
<sub>0 sadly</sub>

## Contributors
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
Expand Down Expand Up @@ -45,63 +49,9 @@

***

```
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
Python, C, C++ Compiler for Roblox.

* [Highlighter](https://github.com/boatbomber/Highlighter). modified to work with python (plugin usage)
* [TextBoxPlus](https://github.com/boatbomber/TextBoxPlus). uses a modified version with autocomplete (plugin usage)
* [pythonlua](https://github.com/dmitrii-eremin/python-lua). this is heavily modified version with flask implementation and compiler changes. (read licenses in [copyright.txt](COPYRIGHTS.txt))
* [seasnake](https://github.com/pybee/seasnake) and sealang. Modified to convert C/C++ to Luau rather than C/C++ to Python 2.7
* [MoonScript](https://github.com/leafo/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)
## Building
- `pip install pyinstaller`
- `pyinstaller src/rbxpy.py`
***
21 changes: 0 additions & 21 deletions build.md

This file was deleted.

52 changes: 0 additions & 52 deletions c-docs/introduction.md

This file was deleted.

39 changes: 0 additions & 39 deletions cli-docs/introduction.md

This file was deleted.

33 changes: 0 additions & 33 deletions cli/installation.md

This file was deleted.

Loading