{"id":17132962,"url":"https://github.com/cutwell/hands-on-python","last_synced_at":"2025-03-24T05:42:08.170Z","repository":{"id":214265791,"uuid":"736085101","full_name":"Cutwell/hands-on-python","owner":"Cutwell","description":"Learn Python fundamentals, using inter-connected web devices as building blocks","archived":false,"fork":false,"pushed_at":"2024-01-16T14:03:42.000Z","size":138,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-29T11:28:24.613Z","etag":null,"topics":["educational","python3","webapp"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Cutwell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-27T00:22:09.000Z","updated_at":"2023-12-27T22:31:02.000Z","dependencies_parsed_at":"2023-12-31T16:23:03.516Z","dependency_job_id":"6dddab66-a27f-4137-9149-f9c2708a6559","html_url":"https://github.com/Cutwell/hands-on-python","commit_stats":null,"previous_names":["cutwell/hands-on-python"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cutwell%2Fhands-on-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cutwell%2Fhands-on-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cutwell%2Fhands-on-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cutwell%2Fhands-on-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cutwell","download_url":"https://codeload.github.com/Cutwell/hands-on-python/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245217792,"owners_count":20579297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["educational","python3","webapp"],"created_at":"2024-10-14T19:29:00.123Z","updated_at":"2025-03-24T05:42:08.150Z","avatar_url":"https://github.com/Cutwell.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"https://github.com/Cutwell/hands-on-python/blob/main/hands_on_python/src/static/logo-64x64.png\" style=\"width:64px;padding-right:20px;margin-bottom:-8px;\"\u003e Hands-on Python\n Learn Python fundamentals, using inter-connected web devices as building blocks\n\n\u003c!-- Find new badges at https://shields.io/badges --\u003e\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n\n\nhttps://github.com/Cutwell/hands-on-python/assets/22395357/5c8a28e2-3c59-4b9b-bc5f-945ad5d628c5\n\n\n\n## Run locally\n\n### Install dependencies\n\n```sh\npoetry install\n```\n\n### Usage\n\n1. Start the Python server:\n\n```sh\npoetry run hands_on_python\n```\n\n2. Open the webpage across multiple devices / tabs and join the same room.\n3. Compose a line of code. Empty lines are ignored - so not every line of code must use all connected devices!\n4. Once ready, execute your code by pressing \"Run Code\". This executes as real Python code on the server!\n5. 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?\n\n## Contributing\n\nFor information on how to set up your dev environment and contribute, see [here](.github/CONTRIBUTING.md).\n\n## License\n\nMIT\n\n## Attribution / Snippets used\n\n- [Code Unlock](https://codepen.io/apokusin/pen/njaZmW) ([Artur Pokusin](https://codepen.io/apokusin))\n- [CSS Terminal](https://codepen.io/addyosmani/pen/avxmvN) ([Addy](https://codepen.io/addyo))\n- [Python Syntax Highlighting](https://codepen.io/maxwell_alexius/pen/oeVxod) ([Maxwell Alexius](https://codepen.io/maxwell_alexius))","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcutwell%2Fhands-on-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcutwell%2Fhands-on-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcutwell%2Fhands-on-python/lists"}