Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cutwell/hands-on-python

Learn Python fundamentals, using inter-connected web devices as building blocks
https://github.com/cutwell/hands-on-python

educational python3 webapp

Last synced: 24 days ago
JSON representation

Learn Python fundamentals, using inter-connected web devices as building blocks

Awesome Lists containing this project

README

        

# Hands-on Python
Learn Python fundamentals, using inter-connected web devices as building blocks

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

https://github.com/Cutwell/hands-on-python/assets/22395357/5c8a28e2-3c59-4b9b-bc5f-945ad5d628c5

## Run locally

### Install dependencies

```sh
poetry install
```

### Usage

1. Start the Python server:

```sh
poetry run hands_on_python
```

2. Open the webpage across multiple devices / tabs and join the same room.
3. Compose a line of code. Empty lines are ignored - so not every line of code must use all connected devices!
4. Once ready, execute your code by pressing "Run Code". This executes as real Python code on the server!
5. Press "Show Terminal" to view outputs. Each time you run some code, the finished line of code plus the output (either the resulting variables, or an error if something goes wrong) are logged to the terminal. Maybe use one device as a terminal screen whilst you compose Python snippets with your other screens?

## Contributing

For information on how to set up your dev environment and contribute, see [here](.github/CONTRIBUTING.md).

## License

MIT

## Attribution / Snippets used

- [Code Unlock](https://codepen.io/apokusin/pen/njaZmW) ([Artur Pokusin](https://codepen.io/apokusin))
- [CSS Terminal](https://codepen.io/addyosmani/pen/avxmvN) ([Addy](https://codepen.io/addyo))
- [Python Syntax Highlighting](https://codepen.io/maxwell_alexius/pen/oeVxod) ([Maxwell Alexius](https://codepen.io/maxwell_alexius))