Skip to main content

CLI to interact with the mooc.fi instance of CSES

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tyora-0.1.0.tar.gz (55.8 kB view details)

Uploaded Source

Built Distribution

tyora-0.1.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file tyora-0.1.0.tar.gz.

File metadata

  • Download URL: tyora-0.1.0.tar.gz
  • Upload date:
  • Size: 55.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.3

File hashes

Hashes for tyora-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b2bd30a772e52c4067e39e0bbe0e126710c4840e72286f87b30e1a4f8634c484
MD5 1c09822a01e1168f65b12fc482f017be
BLAKE2b-256 b8c0e652f38021302b6580fdfea5744c3818445fdb678898f23e2af01fa7583b

See more details on using hashes here.

File details

Details for the file tyora-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tyora-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.3

File hashes

Hashes for tyora-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6db7944ab6ddc461b905b31f8f51b6adf7d2761c0c96a77867271931a646304a
MD5 8cb1311beea6ceed0860b2652cbdcb15
BLAKE2b-256 ae615d77f8b496175c96ac629460516a3e7e667cc995704a2a4b27f81350883b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page