Rblx-open-cloud - Roblox Open Cloud Wrapper for Python!

v0.4.1 - Iterable Limits & Python 3.9 Requirement

To update/change back to v0.4.1, simply run this command in the terminal

pip install rblx-open-cloud==0.4.1

Changelog

  • Added limit paramater to DataStore.list_keys(), DataStore.list_versions() and Universe.list_data_stores(). This will limit the number of items returned so you don’t have to set up a system to break out of a loop yourself!
  • Added rblxopencloud.VERSION and rblxopencloud.VERSION_INFO values.
  • Added requirements for Python 3.9 because the library will not work with earlier versions.

I also made some examples!! you can have a look at them in the examples/ directory!

1 Like

Very underrated but also very helpful.
More people need to find out about this.

4 Likes

v1.0.0 - Full Release (Breaking Changes)

To update/change back to v1.0.0, simply run this command in the terminal

pip install rblx-open-cloud==1.0.0

I’m sorry for the breaking change, but I changed the rblxopencloud.Universe name to rblxopencloud.Experience, and I also changed DataStore.universe to DataStore.experience. I had to do this because I didn’t want to live on forever knowing that I used the wrong name for Experiences (after the V1 release I can’t really make breaking changes)

I’ve released V1 of the library now. I wanted to wait until after OAuth2 was fully released for this, but it was delayed from end of 2022 to ‘over the next months’: https://devforum.roblox.com/t/open-cloud-oauth20-alpha-program/1791194/65?u=treeben77

NOTE: If you have intentionally installed a version of the library for alpha usage, it does NOT have the Universe name changes yet. I won’t change the name for them until they’re fully released into the library (which is when Roblox releases the update.)

2 Likes

v1.0.1

  • Fixed a small bug which skipped some keys in datastore.list_keys

still patiently waiting for oauth2

1 Like

v1.1.0 - Assets API Support

NOTE: Assets API is not documented yet (coming later today), for now use this example: rblx-open-cloud/assets.py at main · TreeBen77/rblx-open-cloud · GitHub

NOTE FOR BETA TESTERS: I changed the syntax from what was in beta, so it will work with future apis better.

1 Like

v1.2.0 - Ordered Data Stores Support

NOTE: Assets API is also now documented!

1 Like

Just to note, you should make it clear when uploading an image if the status code is 400, you currently say “The file is not a supported type, or is corrupted”, 400 seems to also get returned if the name or description get moderated.
Or at least renaming files solves the issue and there seems to be no pattern to it.

2 Likes

didn’t have access to very good documentation during the beta when I coded it, so I’ll look over it and update the error messages. I’ll keep you updated!

From my testing, I concluded that it would just tag out the name and description instead of rejecting it.

1 Like

It might be worth waiting, Roblox have said they intend on the API making it clear when items are moderated etc. in the future.
Great wrapper btw, has saved me alot of time fiddling around with trying to get images to post properly.

3 Likes

True, but it’s bets to implement it sooner, rather than later. It took Roblox about 6 months to get from private beta to public beta, so it could take quite a while for the change to happen.

I’ve already made a change that’s in the beta version of the library, which can be installed using this command:

git+https://github.com/TreeBen77/rblx-open-cloud

Thanks! I’m glad you enjoy using the library!

1 Like

Is there anyway to clear datastore.list_versions("some random key")
Because it seems once I remove a key my API seems to still see the key as if it still exists.

Code

Entrys: int = 0

for Entry in NEX_Datastore.list_keys():
    Entrys += 1

print('Total Entrys: ',Entrys)

This is my current solution

Entrys: int = 0

for _ in NEX_Datastore.list_keys():
    try:
        NEX_Datastore.get(_.key)
        Entrys += 1
    except (rblxopencloud.NotFound):
        continue

print(Entrys)
1 Like

No, that is a Roblox Open Cloud limitation (not a library one).

2 Likes

That’s really disappointing,
My solution still works but is very annoying

1 Like

is there a way to make it work for .js ?

1 Like

No as Python and JavaScript are two distinct languages.

2 Likes

v1.3.0 - OAuth2 Support

Added OAuth2 Support

During the beta, the following changed (may not be full list):

  • Resources.creators became Resources.accounts
  • Removed AccessTokenInfo.raw
  • Renamed PartialAccessToken.client to PartialAccessToken.app

Uploading and Updating Assets Changes

  • Now raises ModeratedText instead of InvalidAsset when text is censored by Roblox.

Upgrading

Upgrading to new version:

pip install rblx-open-cloud --upgrade

GitHub release: Release v1.3.0 - OAuth2 Support · TreeBen77/rblx-open-cloud · GitHub

1 Like

hey uhhh I don’t know if this is just me problem

but even without your Open Cloud wrapper

The API key seems to always comes off Invalidated for me :confused:

1 Like

How would I open the Open Cloud Data into Roblox Studio?

1 Like

make sure you’ve set the IP address for the key correctly. if you dont have a static IP, use 0.0.0.0/0.

1 Like

the same way you would with other data, for example data saved like this:

datastore = Experience.get_data_store("example-store")
datastore.set("key-value", {"exmaple": "data", "yes": True}, users=[1234])

would be accessible in studio like this:

local datastore = DataStoreService:GetDataStore("example-store")
value = datastore:GetAsync("key-value")
print(value)
>>> {["example"] = "data", ["yes"] = true}

I hope this helps!

1 Like