Discuss Scratch
- Discussion Forums
- » Advanced Topics
- » [UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
- Sid72020123
-
Scratcher
500+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
New question, but how would I know if a cloud variable changed? I know I could just keep requesting for the variable in a while loop until it changes, but is there any way to do this without a loop?
Should I maybe be using cloud requests instead?
Ok so apparently cloud events is what handles this, was slightly confused by the documentations lol
New question: what happened here?Exception in thread Thread-1 (_ping_task):
Traceback (most recent call last):
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
self.run()
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "/home/runner/scratch/venv/lib/python3.10/site-packages/scratchconnect/CloudConnection.py", line 110, in _ping_task
self._ws.pong()
File "/home/runner/scratch/venv/lib/python3.10/site-packages/websocket/_core.py", line 351, in pong
self.send(payload, ABNF.OPCODE_PONG)
File "/home/runner/scratch/venv/lib/python3.10/site-packages/websocket/_core.py", line 283, in send
return self.send_frame(frame)
File "/home/runner/scratch/venv/lib/python3.10/site-packages/websocket/_core.py", line 311, in send_frame
l = self._send(data)
File "/home/runner/scratch/venv/lib/python3.10/site-packages/websocket/_core.py", line 525, in _send
return send(self.sock, data)
File "/home/runner/scratch/venv/lib/python3.10/site-packages/websocket/_socket.py", line 170, in send
return _send()
File "/home/runner/scratch/venv/lib/python3.10/site-packages/websocket/_socket.py", line 147, in _send
return sock.send(data)
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/ssl.py", line 1206, in send
return self._sslobj.write(data)
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:2396)
Exception in thread Thread-2 (_event):
Traceback (most recent call last):
File "/home/runner/scratch/venv/lib/python3.10/site-packages/requests/models.py", line 971, in json
return complexjson.loads(self.text, **kwargs)
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
self.run()
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "/home/runner/scratch/venv/lib/python3.10/site-packages/scratchconnect/scCloudEvents.py", line 57, in _event
live_data = self.cloud_object.get_variable_data()[0]
File "/home/runner/scratch/venv/lib/python3.10/site-packages/scratchconnect/CloudConnection.py", line 67, in get_variable_data
f"https://clouddata.scratch.mit.edu/logs?projectid={self.project_id}&limit={limit}&offset={offset}").json()
File "/home/runner/scratch/venv/lib/python3.10/site-packages/requests/models.py", line 975, in json
raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Oh…
Maybe it's the Scratch API's error (or maybe the API changed)
I don't get enough time to update the library. Also, the Scratch website and the API is in maintenance (as notified to you by Scratch) so except some errors until the maintenance gets over…
EDIT: You can still run your program as the pinging tasks failed (the Scratch API blocked the requests). You can handle errors in your program or rerun it. You may get that errors again…
Last edited by Sid72020123 (Aug. 14, 2023 14:06:09)
- blablablahello
-
Scratcher
1000+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
snip-My question is, where is the error coming from? im not that familier with scratchconnect and I cant find what is breaking, especially since the error is inconsistance and sometimes happens quickly while sometimes takes a while, and it sometimes causes the 2nd error “while handling the exception” while sometimes it just handles the exception
Oh…
Maybe it's the Scratch API's error (or maybe the API changed)
I don't get enough time to update the library. Also, the Scratch website and the API is in maintenance (as notified to you by Scratch) so except some errors until the maintenance gets over…
EDIT: You can still run your program as the pinging tasks failed (the Scratch API blocked the requests). You can handle errors in your program or rerun it. You may get that errors again…
- -cloudcoding-
-
Scratcher
1000+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
New question, but how would I know if a cloud variable changed? I know I could just keep requesting for the variable in a while loop until it changes, but is there any way to do this without a loop?As an awnser to your first question you can, as you put set = variables.set_cloud_variable(variable_name=“Vote”, value=“90”)
Should I maybe be using cloud requests instead?
Ok so apparently cloud events is what handles this, was slightly confused by the documentations lol
New question: what happened here?Exception in thread Thread-1 (_ping_task):
Traceback (most recent call last):
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
self.run()
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "/home/runner/scratch/venv/lib/python3.10/site-packages/scratchconnect/CloudConnection.py", line 110, in _ping_task
self._ws.pong()
File "/home/runner/scratch/venv/lib/python3.10/site-packages/websocket/_core.py", line 351, in pong
self.send(payload, ABNF.OPCODE_PONG)
File "/home/runner/scratch/venv/lib/python3.10/site-packages/websocket/_core.py", line 283, in send
return self.send_frame(frame)
File "/home/runner/scratch/venv/lib/python3.10/site-packages/websocket/_core.py", line 311, in send_frame
l = self._send(data)
File "/home/runner/scratch/venv/lib/python3.10/site-packages/websocket/_core.py", line 525, in _send
return send(self.sock, data)
File "/home/runner/scratch/venv/lib/python3.10/site-packages/websocket/_socket.py", line 170, in send
return _send()
File "/home/runner/scratch/venv/lib/python3.10/site-packages/websocket/_socket.py", line 147, in _send
return sock.send(data)
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/ssl.py", line 1206, in send
return self._sslobj.write(data)
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:2396)
Exception in thread Thread-2 (_event):
Traceback (most recent call last):
File "/home/runner/scratch/venv/lib/python3.10/site-packages/requests/models.py", line 971, in json
return complexjson.loads(self.text, **kwargs)
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
self.run()
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "/home/runner/scratch/venv/lib/python3.10/site-packages/scratchconnect/scCloudEvents.py", line 57, in _event
live_data = self.cloud_object.get_variable_data()[0]
File "/home/runner/scratch/venv/lib/python3.10/site-packages/scratchconnect/CloudConnection.py", line 67, in get_variable_data
f"https://clouddata.scratch.mit.edu/logs?projectid={self.project_id}&limit={limit}&offset={offset}").json()
File "/home/runner/scratch/venv/lib/python3.10/site-packages/requests/models.py", line 975, in json
raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
In the og code set will be set to if it worked ( true or false )
- blablablahello
-
Scratcher
1000+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
snip-Fixed that problem but anyways I think u misunderstood my question, I was asking for the cloud_event(“set”) thingie lol
As an awnser to your first question you can, as you put set = variables.set_cloud_variable(variable_name=“Vote”, value=“90”)
In the og code set will be set to if it worked ( true or false )
- blablablahello
-
Scratcher
1000+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
The issue seems to be better now that maintanence ended (and that I added a event.stop() that I can use), it now doesn't happened in the first 1-3 seconds I run the code but instead takes nearly 30 seconds before it happens. The main issue is that the bug wasn't from my own script, but apparenlty from something in the python library (idrk what exactly it is but I dont think its the scratchconnect library itself, it might be a library that scratchconnect uses)snip-My question is, where is the error coming from? im not that familier with scratchconnect and I cant find what is breaking, especially since the error is inconsistance and sometimes happens quickly while sometimes takes a while, and it sometimes causes the 2nd error “while handling the exception” while sometimes it just handles the exception
Oh…
Maybe it's the Scratch API's error (or maybe the API changed)
I don't get enough time to update the library. Also, the Scratch website and the API is in maintenance (as notified to you by Scratch) so except some errors until the maintenance gets over…
EDIT: You can still run your program as the pinging tasks failed (the Scratch API blocked the requests). You can handle errors in your program or rerun it. You may get that errors again…
New update: for some reason it seems like the issue is caused by any accessing of cloud variables, no matter getting or setting
Last edited by blablablahello (Aug. 14, 2023 18:59:18)
- blablablahello
-
Scratcher
1000+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
New update, I think the issue is this:
# If the session is used, the Scratch API sometimes returns cached results
The error says something about unable to decode, might that be related to how the API returned cached results rather then normal
(Idk anything about the API so that might not be the issue)
yet another new update, the specific line thats erroring is
New info: The issue is caused as the returned file from the scratch servers was apparently not a valid json file
# If the session is used, the Scratch API sometimes returns cached results
The error says something about unable to decode, might that be related to how the API returned cached results rather then normal
(Idk anything about the API so that might not be the issue)
yet another new update, the specific line thats erroring is
try:
return complexjson.loads(self.text, **kwargs)
except JSONDecodeError as e:
# Catch JSON-related errors and raise as requests.JSONDecodeError
# This aliases json.JSONDecodeError and simplejson.JSONDecodeError
raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
New info: The issue is caused as the returned file from the scratch servers was apparently not a valid json file
Last edited by blablablahello (Aug. 14, 2023 21:27:44)
- blablablahello
-
Scratcher
1000+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
(new post because y not)
After even more searching, 5 print statements, and a bunch of space buttons, apparently the issue was a 502 badgateway error ;-;
I dont think thats something that I can fix, it COULD be due to scratch maintanence, but otherwise, it might be due to something about scratchconnect, and if so, I could try to fix that ig
found the issue:
“response”: “Too many requests”
Scratch thinks im sending too many requests and returns this, so then it breaks everything cuz thats not json
BRU ARE YOU KIDDING
Is update time not in seconds? and how much requests does it send per update?
After even more searching, 5 print statements, and a bunch of space buttons, apparently the issue was a 502 badgateway error ;-;
I dont think thats something that I can fix, it COULD be due to scratch maintanence, but otherwise, it might be due to something about scratchconnect, and if so, I could try to fix that ig
found the issue:
“response”: “Too many requests”
Scratch thinks im sending too many requests and returns this, so then it breaks everything cuz thats not json
BRU ARE YOU KIDDING
Is update time not in seconds? and how much requests does it send per update?
Last edited by blablablahello (Aug. 14, 2023 22:33:37)
- Sid72020123
-
Scratcher
500+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
Is update time not in seconds? and how much requests does it send per update?Yes. The update time is in seconds and defaults to 1 second. The error occurs maybe because the proxy gives the error due to many requests (1 per second).
The online IDE cookie feature uses an another external proxy made by me and it may have blocked some of your requests due to spamming.
Maybe you can increase the update time to something ike 5 or 10 seconds.
If you want to check if a variable is updated with a value or not, you can stil get the value of the variable using a different function (I don't remember the name lol) then you can use conditional statements to check if that was updated with the new value. This doesn't require any cloud events.
I'm really very sorry for all the troubles you got. I will try to fix that as soon as possible.
- blablablahello
-
Scratcher
1000+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
Fixed the issue, I made the python default connections thing return false instead of calling an error, then modified the scratchconnect scripts to also return false when it receives false, then modified my script to ignore the data if it is false.Is update time not in seconds? and how much requests does it send per update?Yes. The update time is in seconds and defaults to 1 second. The error occurs maybe because the proxy gives the error due to many requests (1 per second).
The online IDE cookie feature uses an another external proxy made by me and it may have blocked some of your requests due to spamming.
Maybe you can increase the update time to something ike 5 or 10 seconds.
If you want to check if a variable is updated with a value or not, you can stil get the value of the variable using a different function (I don't remember the name lol) then you can use conditional statements to check if that was updated with the new value. This doesn't require any cloud events.
I'm really very sorry for all the troubles you got. I will try to fix that as soon as possible.
This isn't a viable “fix all” solution though since it requires editing a file that from what I can tell already exists as a predownloaded library rather then something apart of scratchconnect
You could try getting the data and then first checking if it IS a json formatt before sending it to be decoded, that might fix the issue
(note that this solution still errors, however, the script is also capable of running on rather then just coming to a stop)
Nevermind though, that seems to introduce some new silly bug that is even more complciated, im just gonna give up and make it update slower ig
Last edited by blablablahello (Aug. 15, 2023 18:16:06)
- blablablahello
-
Scratcher
1000+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
Neeeeeew update! So apppppparently after messing around a bit this strange ol EOF occured in violation of protocol showed up, and after that happend, the proxy thingie just decided I was spam again and rejected my requests.
My time was set to 5 seconds per update, so I swear that wouldn't make any sense that its too much requests, and the first error was apparently caused by some security trust issues or something ;-;
(And setting cloud variables also seem to be broken, it would randomly bring up the EOF error when I try to set.)
should I try scratchattach or do you think itll also have similar issues?
More investigation, it seems like theres some issues with scratchconnect's ping pong functions
My time was set to 5 seconds per update, so I swear that wouldn't make any sense that its too much requests, and the first error was apparently caused by some security trust issues or something ;-;
(And setting cloud variables also seem to be broken, it would randomly bring up the EOF error when I try to set.)
should I try scratchattach or do you think itll also have similar issues?
More investigation, it seems like theres some issues with scratchconnect's ping pong functions
Last edited by blablablahello (Aug. 15, 2023 22:22:18)
- blablablahello
-
Scratcher
1000+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
New update and some chatGPT stuff because im super confused:
According to chatGPT (which might or might not be accurate, idk), you should have pongs on the server and pings on the client, why is there both a ping and a pong here lol?
even more testing, apparently removing the pong makes the ping error in the EXACT same way the pong errors and at when the pong would be erroring
def _ping_task(self):
"""
Don't use this
"""
while True:
self._ws.ping()
time.sleep(1)
self._ws.pong()
time.sleep(4)
According to chatGPT (which might or might not be accurate, idk), you should have pongs on the server and pings on the client, why is there both a ping and a pong here lol?
even more testing, apparently removing the pong makes the ping error in the EXACT same way the pong errors and at when the pong would be erroring
Last edited by blablablahello (Aug. 15, 2023 22:50:10)
- blablablahello
-
Scratcher
1000+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
I would try to use try and except statements but all of the errors still break everything even if I dont have them stop the program. for some reason, wss
/clouddata.scratch.mit.edu/ doesn't have a certificate from what I can see and that could be causing some issues
/clouddata.scratch.mit.edu/ doesn't have a certificate from what I can see and that could be causing some issues- Sid72020123
-
Scratcher
500+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
I would try to use try and except statements but all of the errors still break everything even if I dont have them stop the program. for some reason, wss/clouddata.scratch.mit.edu/ doesn't have a certificate from what I can see and that could be causing some issues
Sorry for all the troubles.
Actually, the ping task loop was committed to the GitHub repo by a user (I don't remember the name) because the Scratch websocket server was closing the connection repeatedly…
Maybe you can use ScratchAttach for now (as I don't get time to update my library. I will get some time to do so after 27th of Aug). But scratchattach doesn't work on replit because it doesn't have that feature like ScratchConnect…
I will try to fix all the cloud errors in the next update…
- Sid72020123
-
Scratcher
500+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
Important Announcement
After a lot of thinking, I finally decided to stop working on the ScratchConnect library. I didn't got any time these days to release updates as I did in 2021-2022. Also, the cloudmonitor endpoint of the Scratch API is down since many days (and I don't know when the Scratch Team will fix it) and many of the major features of the library broke due to this
I am really sorry for not maintaining it.
I recommend you to switch to a frequently updated library like @TimMcCool's scratchattach (because that's the one which is currently used these days)
I also thank all the contributors who helped me in developing this library: https://github.com/sid72020123/scratchconnect#contributors
I would especially thank all the people who supported this library in its early stages. Few of them are:
@joecooldoo, @Joshisaurio, @Tycho112, -BlazingWind-, @Tungsten_ProTech, @ajsya, @mbrick2, @paiperblau, etc. (I couldn't write all of the names here)
All the external APIs related to the library like SUI API, comments API and free proxy APIs, etc. would still continue to work as expected.
Along with the main library, some optional dependencies libraries made for ScratchConnect like scScratchTerminal would no longer be maintained.
The source code of the library will still be available in the GitHub repository (which is now archived)
RIP ScratchConnect 19/06/2021 - 16/10/2023
After a lot of thinking, I finally decided to stop working on the ScratchConnect library. I didn't got any time these days to release updates as I did in 2021-2022. Also, the cloudmonitor endpoint of the Scratch API is down since many days (and I don't know when the Scratch Team will fix it) and many of the major features of the library broke due to this
I am really sorry for not maintaining it.
I recommend you to switch to a frequently updated library like @TimMcCool's scratchattach (because that's the one which is currently used these days)
I also thank all the contributors who helped me in developing this library: https://github.com/sid72020123/scratchconnect#contributors
I would especially thank all the people who supported this library in its early stages. Few of them are:
@joecooldoo, @Joshisaurio, @Tycho112, -BlazingWind-, @Tungsten_ProTech, @ajsya, @mbrick2, @paiperblau, etc. (I couldn't write all of the names here)
All the external APIs related to the library like SUI API, comments API and free proxy APIs, etc. would still continue to work as expected.
Along with the main library, some optional dependencies libraries made for ScratchConnect like scScratchTerminal would no longer be maintained.
The source code of the library will still be available in the GitHub repository (which is now archived)
RIP ScratchConnect 19/06/2021 - 16/10/2023
- __Falcon-Games__
-
Scratcher
1000+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
Important AnnouncementI just want to say thanks, you did a lot of work and helped the Scratch community out a lot and I wish you will continue to keep doing that.
After a lot of thinking, I finally decided to stop working on the ScratchConnect library. I didn't got any time these days to release updates as I did in 2021-2022. Also, the cloudmonitor endpoint of the Scratch API is down since many days (and I don't know when the Scratch Team will fix it) and many of the major features of the library broke due to this![]()
I am really sorry for not maintaining it.
I recommend you to switch to a frequently updated library like @TimMcCool's scratchattach (because that's the one which is currently used these days)
I also thank all the contributors who helped me in developing this library: https://github.com/sid72020123/scratchconnect#contributors
I would especially thank all the people who supported this library in its early stages. Few of them are:
@joecooldoo, @Joshisaurio, @Tycho112, -BlazingWind-, @Tungsten_ProTech, @ajsya, @mbrick2, @paiperblau, etc. (I couldn't write all of the names here)
All the external APIs related to the library like SUI API, comments API and free proxy APIs, etc. would still continue to work as expected.
Along with the main library, some optional dependencies libraries made for ScratchConnect like scScratchTerminal would no longer be maintained.
The source code of the library will still be available in the GitHub repository (which is now archived)
RIP ScratchConnect 19/06/2021 - 16/10/2023
- DifferentDance8
-
Scratcher
1000+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
Important Announcement
After a lot of thinking, I finally decided to stop working on the ScratchConnect library. I didn't got any time these days to release updates as I did in 2021-2022. Also, the cloudmonitor endpoint of the Scratch API is down since many days (and I don't know when the Scratch Team will fix it) and many of the major features of the library broke due to this![]()
I am really sorry for not maintaining it.
I recommend you to switch to a frequently updated library like @TimMcCool's scratchattach (because that's the one which is currently used these days)
I also thank all the contributors who helped me in developing this library: https://github.com/sid72020123/scratchconnect#contributors
I would especially thank all the people who supported this library in its early stages. Few of them are:
@joecooldoo, @Joshisaurio, @Tycho112, -BlazingWind-, @Tungsten_ProTech, @ajsya, @mbrick2, @paiperblau, etc. (I couldn't write all of the names here)
All the external APIs related to the library like SUI API, comments API and free proxy APIs, etc. would still continue to work as expected.
Along with the main library, some optional dependencies libraries made for ScratchConnect like scScratchTerminal would no longer be maintained.
The source code of the library will still be available in the GitHub repository (which is now archived)
RIP ScratchConnect 19/06/2021 - 16/10/2023

There is nothing you could have done anyway so
- god286
-
Scratcher
1000+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
Thank you for helping everyone and making an awesome library!- Sid72020123
-
Scratcher
500+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
(#135)
I just want to say thanks, you did a lot of work and helped the Scratch community out a lot and I wish you will continue to keep doing that.
(#136)
There is nothing you could have done anyway so
(#137)Thank you for helping everyone and making an awesome library!
Thank you so much everyone!

I'm glad to be a ATer and have such good friends

- ajskateboarder
-
Scratcher
1000+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
Important AnnouncementProps to you for being able to maintain this library for so long. That's better than what projects these days manage
After a lot of thinking, I finally decided to stop working on the ScratchConnect library. I didn't got any time these days to release updates as I did in 2021-2022. Also, the cloudmonitor endpoint of the Scratch API is down since many days (and I don't know when the Scratch Team will fix it) and many of the major features of the library broke due to this![]()
RIP ScratchConnect 19/06/2021 - 16/10/2023
- Sid72020123
-
Scratcher
500+ posts
[UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!
(#139)Important AnnouncementProps to you for being able to maintain this library for so long. That's better than what projects these days manage
After a lot of thinking, I finally decided to stop working on the ScratchConnect library. I didn't got any time these days to release updates as I did in 2021-2022. Also, the cloudmonitor endpoint of the Scratch API is down since many days (and I don't know when the Scratch Team will fix it) and many of the major features of the library broke due to this![]()
RIP ScratchConnect 19/06/2021 - 16/10/2023
Thank you

- Discussion Forums
- » Advanced Topics
-
» [UN-MAINTAINED] ScratchConnect v5.0 - Simple, Easy-to-use Python library to connect the Scratch API and much more!






