Skip to main content

Tyora: mooc.fi CSES exercise task CLI

PyPI - Version Python Version from PEP 621 TOML GitHub Actions Workflow Status GitHub 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

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 <exercise_id>: Displays the details of a specific exercise.
  • tyora submit <exercise_id> <path_to_solution_file>: 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 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 file for details.

Metadata

Release files for tyora 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tyora 0.1.0
File Size Uploaded
tyora-0.1.0.tar.gz 55.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tyora 0.1.0
File Interpreter ABI Platform
tyora-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 65.3 kB

Release files / tyora-0.1.0.tar.gz

Download URL tyora-0.1.0.tar.gz
Size 55.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b2bd30a772e52c4067e39e0bbe0e126710c4840e72286f87b30e1a4f8634c484
BLAKE2b-256 checksum
How to use checksums
b8c0e652f38021302b6580fdfea5744c3818445fdb678898f23e2af01fa7583b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.12.3

Release files / tyora-0.1.0-py3-none-any.whl

Download URL tyora-0.1.0-py3-none-any.whl
Size 9.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6db7944ab6ddc461b905b31f8f51b6adf7d2761c0c96a77867271931a646304a
BLAKE2b-256 checksum
How to use checksums
ae615d77f8b496175c96ac629460516a3e7e667cc995704a2a4b27f81350883b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page