Discuss Scratch

-25kakeru-25
Scratcher
8 posts

Scapi - Asynchronous Scratch API Module [Python]

I used ScratchAttach as a reference when creating this module. Thanks to the creator, Timmccool.
I used Google Translate so the words may be a little strange. If there are any corrections, please let me know.


Scapi is a Python module that allows you to execute Scratch APIs asynchronously.
(If you want synchronous processing you should use ScratchAttach.)
Why use scapi?
  • Efficient execution using asynchronous processing
  • Supports almost all APIs
  • Type hints make development easier.
  • Open Source

How to use
download
Download Python.
Download scapi from pypi. Run the following command in a command prompt/shell:
python -m pip install scapi
Log in and post your comment in the comment section.
import scapi
import asyncio
    
async def do():
    session = await scapi.login("username","password")
    user = await session.me()
    comment = await user.post_comment("test") # You must have the comments section open beforehand.
    print(comment)
    await session.logout()
asyncio.run(do())
# <Comment id:********* content:test place:<User username:****** id:********* Session:<Session Username:******>> user:<User username:****** id:********* Session:<Session Username:******>> Session:<Session Username:******>>

Github - Wiki
An English wiki is under construction. If you have any questions please ask here.

If you have any problems with the program, please report them here or open an issues or pull request on github.

Last edited by -25kakeru-25 (March 4, 2025 08:47:45)

-kakeruzoku-
Scratcher
1 post

Scapi - Asynchronous Scratch API Module [Python]

作成する際に、ScratchAttachを参考にしました。 作者のTimmccoolさんに感謝します。

ScapiはScratch APIを非同期に実行できるPythonモジュールです。
(もし、同期に実行したい場合は、Scratchattachを使うべきです。)

なぜScapi?
  • 非同期処理を使用した効率的な実行
  • ほぼすべてのAPIをサポート
  • 型ヒントによる開発のしやすさ
  • オープンソース

使い方
ダウンロード
Pythonをダウンロードします。
PyPiから、Scapiをダウンロードします。コマンドプロンプトやシェルで次のコマンドを実行:
python -m pip install scapi
ログインして、自身のコメント欄にコメントする。
import scapi
import asyncio
    
async def do():
    session = await scapi.login("username","password")
    user = await session.me()
    comment = await user.post_comment("test") #コメント欄を開放しておく必要があります。
    print(comment)
    await session.logout()
asyncio.run(do())
# <Comment id:********* content:test place:<User username:****** id:********* Session:<Session Username:******>> user:<User username:****** id:********* Session:<Session Username:******>> Session:<Session Username:******>>

Github - Wiki - 非同期についてのチュートリアル

もし問題があれば、ここで報告するか、githubでissues または pull request をオープンしてください。

Last edited by -kakeruzoku- (Jan. 17, 2025 07:23:04)

-25kakeru-25
Scratcher
8 posts

Scapi - Asynchronous Scratch API Module [Python]

#3

Last edited by -25kakeru-25 (Jan. 13, 2025 05:20:33)

-25kakeru-25
Scratcher
8 posts

Scapi - Asynchronous Scratch API Module [Python]

News Scapi 1.0.0がリリースされました

Scapiは様々な修正や更新、機能の追加が行われパワーアップしました!
詳細な変更ログはこちらより確認してください

また、wikiを作成しました。こちらより見ることができます

※今回のアップデートにより、一部のコードでエラーが発生することがあります。
バージョン1.0.0以降からは破壊的変更を行わないようにしていく予定です。


News Scapi 1.0.0 has been released

Scapi has been powered up with various fixes, updates, and new features!
Please check the detailed changelog here

I have also created a wiki. You can see it here

*This update may cause errors in some code.
We plan to avoid breaking changes from version 1.0.0 onwards.
ito-noizi
Scratcher
100+ posts

Scapi - Asynchronous Scratch API Module [Python]

spodatu_dksky
Scratcher
1 post

Scapi - Asynchronous Scratch API Module [Python]

マジでむずそう(javasprict勢
03V
Scratcher
1 post

Scapi - Asynchronous Scratch API Module [Python]

https://github.com/kakeruzoku/scapi/releases/tag/1.6.0
1.6.0が実装されました。 / New release v1.6.0
MonkeyBean2
Scratcher
500+ posts

Scapi - Asynchronous Scratch API Module [Python]

cool, also scapi sounds similar to another python library but I forgot what it is exactly
acohen_bhusd
Scratcher
500+ posts

Scapi - Asynchronous Scratch API Module [Python]

bump
ito-noizi
Scratcher
100+ posts

Scapi - Asynchronous Scratch API Module [Python]

NEW RELEASE v2.0.0
https://github.com/kakeruzoku/scapi/releases/tag/2.0.0

I can't try this, but
at least it's a feature that didn't exist in existing python modules.
2x
Scratcher
3 posts

Scapi - Asynchronous Scratch API Module [Python]

#10
Wow! Scapi is very interesting because of the features that exist that other libraries such as scratchattach do not have!
Is there anything you are planning to add in the future?
And thanks to ScratchTeam for providing these api's!
yjdi
New Scratcher
5 posts

Scapi - Asynchronous Scratch API Module [Python]

2x wrote:

#10
Wow! Scapi is very interesting because of the features that exist that other libraries such as scratchattach do not have!
Is there anything you are planning to add in the future?
And thanks to ScratchTeam for providing these api's!

I agree. Scapi is easy to write and the type hints are great! I'm looking forward to more releases!
I think it would be nice to have a project editor or something. Please dooooooooooooooooooooooooooooooooooooo!
GratefulGamer9398233
Scratcher
1000+ posts

Scapi - Asynchronous Scratch API Module [Python]

how is this topic at 20 million views
please explain to me what is going on
kamoz99
Scratcher
100+ posts

Scapi - Asynchronous Scratch API Module [Python]

GratefulGamer9398233 wrote:

how is this topic at 20 million views
please explain to me what is going on
I guess someone view-spammed it
cloverfly
Scratcher
500+ posts

Scapi - Asynchronous Scratch API Module [Python]

kamoz99 wrote:

GratefulGamer9398233 wrote:

how is this topic at 20 million views
please explain to me what is going on
I guess someone view-spammed it
how would someone look at the topic 20638854 times?
acohen_bhusd
Scratcher
500+ posts

Scapi - Asynchronous Scratch API Module [Python]

2x wrote:

#10
Wow! Scapi is very interesting because of the features that exist that other libraries such as scratchattach do not have!
Is there anything you are planning to add in the future?
And thanks to ScratchTeam for providing these api's!
how do you have a 2-letter username
ito-noizi
Scratcher
100+ posts

Scapi - Asynchronous Scratch API Module [Python]

cloverfly wrote:

kamoz99 wrote:

GratefulGamer9398233 wrote:

how is this topic at 20 million views
please explain to me what is going on
I guess someone view-spammed it
how would someone look at the topic 20638854 times?
I’m not sure either, but it’s probably just spam.
Just a guess, but I remember scapi getting a bad rep a while ago, even though it’s not actually a bad tool. Maybe some trolls used that as an excuse to boost the view count.
ito-noizi
Scratcher
100+ posts

Scapi - Asynchronous Scratch API Module [Python]

acohen_bhusd wrote:

2x wrote:

#10
Wow! Scapi is very interesting because of the features that exist that other libraries such as scratchattach do not have!
Is there anything you are planning to add in the future?
And thanks to ScratchTeam for providing these api's!
how do you have a 2-letter username
Please do not talk about 2-letter usernames in this topic.
If you're curious, it's better to ask on their profile or somewhere else.
But, this kind of comment might bother @2x, so please avoid anything that could come off as spammy or stalker-like behavior.
MonkeyBean2
Scratcher
500+ posts

Scapi - Asynchronous Scratch API Module [Python]

why does this topic have 23 million views?
kRxZy_kRxZy
Scratcher
1000+ posts

Scapi - Asynchronous Scratch API Module [Python]

MonkeyBean2 wrote:

why does this topic have 23 million views?
It's botted, I already posted that before but then ST removed it.

Powered by DjangoBB