semvec/pypi-packages huggingface dataset:
pytest-extensions 0.0.1
A collection of helpers for pytest to ease testing
License: MIT

.. These are examples of badges you might want to add to your README:
   please update the URLs accordingly

.. image:: https://img.shields.io/pypi/v/pytest-extensions.svg
    :alt: PyPI-Server
    :target: https://pypi.org/project/pytest-extensions/
.. image:: https://img.shields.io/badge/-PyScaffold-005CA0?logo=pyscaffold
    :alt: Project generated with PyScaffold
    :target: https://pyscaffold.org/


=================
pytest-extensions
=================


    A collection of helpers for pytest to ease testing


A longer description of your project goes here...


.. _pyscaffold-notes:

Note
====

This project has been set up using PyScaffold 4.2.3. For details and usage
information on PyScaffold see https://pyscaffold.org/.
scratchon 1.2.5
A Scratch Project Connector focused for Replit production.
License: MIT
Keywords: scratch api,scratch api python,scratch python,scratch for python,scratch,scratch cloud,scratch cloud variables,scratch,replit

# scratchon

![](https://img.shields.io/badge/Build-Passing-brightgreen) ![](https://img.shields.io/badge/Pypi-v1.2.11-blue) [![](https://img.shields.io/badge/Discord-Join-blue)](https://discord.com/invite/tF7j7MswUS) [![](https://img.shields.io/badge/GitHub-View-lightgray)](https://github.com/Nicest-One/scratchon)

## Why scratchon?

scratchon is a python package that allows connecting your python and scratch projects together!
This allows for some higher-level projects and cool stuff not possible on scratch itself.
scratchon aims to be fast and easy to use, and works on [Replit](https://replit.com/)!

## Example With scratchon

```python
import scratchon

user = scratchon.Client("scratch username", "scratch password")
project = user.manage(23422342) #project id

@project.on("connected")
async def main():
    print("connected to project!")

@project.on("cloud_update")
async def update(variable: object):
    print(f"[Cloud Update] {variable.name}: {variable.last_value} -> {variable.current_value}")

project.run()
```

## Why scratchon works on Replit?

A question you may ask is "how come scratchon works on Replit, but not other Scratch API packages, such as ScratchAttach?". To put it simple, scratchon does not use the Scratch API, at least not directly.

![](https://raw.githubusercontent.com/Nicest-One/scratchon/main/images/scratchon_flow.png)

scratchon uses scratchDB for bulk fetching data, this allows for scratchon to be even faster! scratchon also uses clouddata (Scratch Websocket) to connect to projects and update stuff like cloud variables within projects. scratchon also uses an Authentication Website that handles your client connection. These are stuff that other Scratch API packages don't do, and what scratchon does uniquely.

## Need Help?

 - Discord Server: https://discord.com/invite/tF7j7MswUS
 - Gihub Repository: https://github.com/Nicest-One/scratchon