ro.py
ro.py is an object oriented, asynchronous wrapper for the Roblox Web API (and other Roblox-related APIs) with many new and interesting features.
ro.py allows you to automate much of what you would do on the Roblox website and on other Roblox-related websites.
Update: ro.py rewrite
We are currently working on a complete ro.py rewrite, and as such we are not accepting feature requests until the rewrite branch is on par with the main branch.
If you'd like to give suggestions on ro.py design decisions, you can join the ro.py Discord.
Get Started
To begin, first import the client, which is the most essential part of ro.py, and initialize it like so:
from ro_py import Client
client = Client()
Next, import asyncio
at the top of your file:
import asyncio
Next, create an async method main()
and run it with asyncio:
async def main():
# keep this empty for the next step!
asyncio.get_event_loop().run_until_complete(main())
Next, read the documentation for the Client to grab objects and interact with the API.
If you are looking for a full tutorial on ro.py, check out the new DevForum article!
Requirements
- httpx (for sending requests)
- iso8601 (for parsing dates)
- signalrcore (for recieving notifications)
- lxml (for parsing documentation, might be made optional soon)
Previous Requirements
- cachecontrol (for caching requests)
- requests-async (for sending requests, might be updated to a new lib soon)
pytweening (for animations, see below)wxPython (for the "prompts" extension, optional)wxasync (see above)
Prompts Extension Requirements
You'll need to install wxPython
, wxasync
and pytweening
to use the prompts extension. If it is not present, an error will be raised.
Disclaimer
We are not responsible for any malicious use of this library.
If you use this library in a way that violates the Roblox Terms of Use your account may be punished.
If you use code from ro.py in your own library, please credit us! We're working our hardest to deliver this library, and crediting us is the best way to help support the project.