https://github.com/madeddie/tyora
CLI to interact with the mooc.fi instance of CSES
https://github.com/madeddie/tyora
cses mooc-fi python scraper webscraper
Last synced: 3 months ago
JSON representation
CLI to interact with the mooc.fi instance of CSES
- Host: GitHub
- URL: https://github.com/madeddie/tyora
- Owner: madeddie
- License: mit
- Created: 2024-04-29T18:36:11.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-11-24T15:17:33.000Z (8 months ago)
- Last Synced: 2026-03-30T22:28:23.658Z (4 months ago)
- Topics: cses, mooc-fi, python, scraper, webscraper
- Language: HTML
- Homepage:
- Size: 175 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Tyora: mooc.fi CSES exercise task CLI
[](https://test.pypi.org/project/tyora/)
[](https://github.com/madeddie/tyora/blob/main/pyproject.toml#L15)
[](https://github.com/madeddie/tyora/actions/workflows/ci.yml)
[](https://github.com/madeddie/tyora/blob/main/LICENSE)
This script interacts with the mooc.fi instance of the CSES (https://cses.fi) website to perform various actions such as logging in, retrieving exercise lists, and submitting solutions.
It provides a convenient way to view and submit tasks.
## Features
- **Login**: Log in to your CSES account using username and password.
- **Retrieve Exercise Lists**: Get a list of exercises available on the CSES platform.
- **Submit Solutions**: Submit your solutions to specific exercises on the platform.
## Installation
```bash
pip install tyora
```
## Usage
The script can be used from the command line. The following commands are available:
- `tyora login`: Stores your mooc.fi username and password and tests if we can log in with them.
- `tyora list`: Retrieves and displays a list of exercises available on the CSES platform.
- `tyora show `: Displays the details of a specific exercise.
- `tyora submit `: Submits a solution to a specific exercise.
## Origin of name
The name "tyora" is derived from Finnish words: "työ" meaning "work" and "pyörä" meaning "wheel".
Anyway, `pyora` was already taken, so I went with `tyora`... ;)
## Contributing
Contributions are welcome! If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request.
**Rye**
This project uses [Rye](https://rye-up.com/) to manage dependencies, formatting, linting and packaging.
Install it using the instructions on the Rye website, then run `rye sync` in the root of the project to install the necessary tools.
**How to use Rye**
Reading the documentation is probably a good idea, but in short:
- `rye sync` installs the necessary tools.
- `rye format` formats the code.
- `rye lint` lints the code.
**pre-commit**
We use pre-commit to run the linters before each commit. To install it, run `rye sync` and `rye run pre-commit install`.
This is not strictly required, but it'll make your life easier by catching issues before the github actions deny your PR.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.