# Tyora: mooc.fi CSES exercise task CLI
[![PyPI - Version](https://img.shields.io/pypi/v/tyora?pypiBaseUrl=https%3A%2F%2Ftest.pypi.org&logo=pypi&label=pypitest)](https://test.pypi.org/project/tyora/)
[![Python Version from PEP 621 TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fmadeddie%2Ftyora%2Fmain%2Fpyproject.toml&logo=python)](https://github.com/madeddie/tyora/blob/main/pyproject.toml#L15)
[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/madeddie/tyora/ci.yml)](https://github.com/madeddie/tyora/actions/workflows/ci.yml)
[![GitHub License](https://img.shields.io/github/license/madeddie/tyora)](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 <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](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.
Raw data
{
"_id": null,
"home_page": null,
"name": "tyora",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "cli, cses, data structures and algorithms, dsa, mooc.fi, tira.mooc.fi",
"author": null,
"author_email": "Edwin Hermans <edwin@madtech.cx>",
"download_url": "https://files.pythonhosted.org/packages/b8/c0/e652f38021302b6580fdfea5744c3818445fdb678898f23e2af01fa7583b/tyora-0.1.0.tar.gz",
"platform": null,
"description": "# Tyora: mooc.fi CSES exercise task CLI\n[![PyPI - Version](https://img.shields.io/pypi/v/tyora?pypiBaseUrl=https%3A%2F%2Ftest.pypi.org&logo=pypi&label=pypitest)](https://test.pypi.org/project/tyora/)\n[![Python Version from PEP 621 TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fmadeddie%2Ftyora%2Fmain%2Fpyproject.toml&logo=python)](https://github.com/madeddie/tyora/blob/main/pyproject.toml#L15)\n[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/madeddie/tyora/ci.yml)](https://github.com/madeddie/tyora/actions/workflows/ci.yml)\n[![GitHub License](https://img.shields.io/github/license/madeddie/tyora)](https://github.com/madeddie/tyora/blob/main/LICENSE)\n\n\nThis 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.\nIt provides a convenient way to view and submit tasks.\n\n## Features\n\n- **Login**: Log in to your CSES account using username and password.\n- **Retrieve Exercise Lists**: Get a list of exercises available on the CSES platform.\n- **Submit Solutions**: Submit your solutions to specific exercises on the platform.\n\n## Installation\n\n ```bash\n pip install tyora\n ```\n\n## Usage\n\nThe script can be used from the command line. The following commands are available:\n\n- `tyora login`: Stores your mooc.fi username and password and tests if we can log in with them.\n- `tyora list`: Retrieves and displays a list of exercises available on the CSES platform.\n- `tyora show <exercise_id>`: Displays the details of a specific exercise.\n- `tyora submit <exercise_id> <path_to_solution_file>`: Submits a solution to a specific exercise.\n\n## Origin of name\n\nThe name \"tyora\" is derived from Finnish words: \"ty\u00f6\" meaning \"work\" and \"py\u00f6r\u00e4\" meaning \"wheel\".\nAnyway, `pyora` was already taken, so I went with `tyora`... ;)\n\n## Contributing\n\nContributions are welcome! If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request.\n\n**Rye**\n\nThis project uses [Rye](https://rye-up.com/) to manage dependencies, formatting, linting and packaging.\nInstall it using the instructions on the Rye website, then run `rye sync` in the root of the project to install the necessary tools.\n\n**How to use Rye**\n\nReading the documentation is probably a good idea, but in short:\n\n- `rye sync` installs the necessary tools.\n- `rye format` formats the code.\n- `rye lint` lints the code.\n\n**pre-commit**\n\nWe use pre-commit to run the linters before each commit. To install it, run `rye sync` and `rye run pre-commit install`.\nThis is not strictly required, but it'll make your life easier by catching issues before the github actions deny your PR.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n",
"bugtrack_url": null,
"license": null,
"summary": "CLI to interact with the mooc.fi instance of CSES",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/madeddie/tyora/"
},
"split_keywords": [
"cli",
" cses",
" data structures and algorithms",
" dsa",
" mooc.fi",
" tira.mooc.fi"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ae615d77f8b496175c96ac629460516a3e7e667cc995704a2a4b27f81350883b",
"md5": "8cb1311beea6ceed0860b2652cbdcb15",
"sha256": "6db7944ab6ddc461b905b31f8f51b6adf7d2761c0c96a77867271931a646304a"
},
"downloads": -1,
"filename": "tyora-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8cb1311beea6ceed0860b2652cbdcb15",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 9488,
"upload_time": "2024-05-24T20:12:37",
"upload_time_iso_8601": "2024-05-24T20:12:37.600000Z",
"url": "https://files.pythonhosted.org/packages/ae/61/5d77f8b496175c96ac629460516a3e7e667cc995704a2a4b27f81350883b/tyora-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b8c0e652f38021302b6580fdfea5744c3818445fdb678898f23e2af01fa7583b",
"md5": "1c09822a01e1168f65b12fc482f017be",
"sha256": "b2bd30a772e52c4067e39e0bbe0e126710c4840e72286f87b30e1a4f8634c484"
},
"downloads": -1,
"filename": "tyora-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "1c09822a01e1168f65b12fc482f017be",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 55827,
"upload_time": "2024-05-24T20:12:40",
"upload_time_iso_8601": "2024-05-24T20:12:40.439729Z",
"url": "https://files.pythonhosted.org/packages/b8/c0/e652f38021302b6580fdfea5744c3818445fdb678898f23e2af01fa7583b/tyora-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-24 20:12:40",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "madeddie",
"github_project": "tyora",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "tyora"
}