# kattis-problem-setup
Download the sample data for any problems from [Kattis](https://open.kattis.com/).
## Requirements
The project is built in [Python 3](https://www.python.org/).
## Installation
To install, simply clone the project:
```shell_script
git clone https://github.com/bradendubois/kattis-problem-setup
cd kattis-problem-setup
```
## Usage
To run the project, simply run the ``main.py`` either directly, or in Python, with any number of problem IDs provided.
```shell_script
./main.py PROBLEM_1 PROBLEM_1
```
or
```shell_script
python main.py PROBLEM_1 PROBLEM_2
```
where ``PROBLEM`` would be the ID of a problem.
**Example**: If there were sample material for the problem [Hello World!](https://open.kattis.com/problems/hello), where the ID is ``hello``, usage would be:
```shell_script
pythom main.py hello
```
and output would be:
```
Parsing: hello
Title: Hello World!
ID: hello
CPU Time Limit: 5 seconds
Memory Limit: 1024 MB
Difficulty: 1.2
```
## Disclaimers
**The description of each problem is not downloaded.**
Kattis [Terms of Service](https://open.kattis.com/help/tos) is clear (see ``2. License for content``); materials cannot be (a) *copied* or (b) *publically displayed*. This script gets uninformative information on memory limits / CPU time, etc. but does not represent materials concerning the *problem itself*. It would be a clear violation of the TOS to copy, or likely facilitate copying, the actual description of each problem.
**Can it copy all the problems from Kattis?**
It could be easily made to download a description of every problem from Kattis, but for the same reasons as above, it will not be implemented.
## Acknowledgements
- [Kattis](https://open.kattis.com/), for hosting fun competitive programming problems.
- [Beautiful Soup](https://www.crummy.com/software/BeautifulSoup/), still the best choice for web scraping in Python.
Raw data
{
"_id": null,
"home_page": "https://github.com/bradendubois/kattis-problem-setup",
"name": "kattis-problem-setup",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "kattis parsing beautifulsoup",
"author": "Braden Dubois",
"author_email": "braden.dubois@usask.ca",
"download_url": "https://files.pythonhosted.org/packages/ce/9b/81e47e8b7bb603e4809e25d383427be478bae97611d079f3383160a0dcef/kattis-problem-setup-1.0.3.tar.gz",
"platform": null,
"description": "# kattis-problem-setup\n\nDownload the sample data for any problems from [Kattis](https://open.kattis.com/).\n\n## Requirements\n\nThe project is built in [Python 3](https://www.python.org/).\n\n## Installation\n\nTo install, simply clone the project:\n\n```shell_script\ngit clone https://github.com/bradendubois/kattis-problem-setup\ncd kattis-problem-setup\n```\n\n## Usage\n\nTo run the project, simply run the ``main.py`` either directly, or in Python, with any number of problem IDs provided.\n\n```shell_script\n./main.py PROBLEM_1 PROBLEM_1\n```\n\nor\n\n```shell_script\npython main.py PROBLEM_1 PROBLEM_2\n```\n\nwhere ``PROBLEM`` would be the ID of a problem. \n\n**Example**: If there were sample material for the problem [Hello World!](https://open.kattis.com/problems/hello), where the ID is ``hello``, usage would be:\n\n```shell_script\npythom main.py hello\n```\n\nand output would be:\n\n```\nParsing: hello \n\nTitle: Hello World!\nID: hello\nCPU Time Limit: 5 seconds\nMemory Limit: 1024 MB\nDifficulty: 1.2\n```\n\n## Disclaimers\n\n**The description of each problem is not downloaded.**\n\nKattis [Terms of Service](https://open.kattis.com/help/tos) is clear (see ``2. License for content``); materials cannot be (a) *copied* or (b) *publically displayed*. This script gets uninformative information on memory limits / CPU time, etc. but does not represent materials concerning the *problem itself*. It would be a clear violation of the TOS to copy, or likely facilitate copying, the actual description of each problem. \n\n**Can it copy all the problems from Kattis?**\n\nIt could be easily made to download a description of every problem from Kattis, but for the same reasons as above, it will not be implemented.\n\n## Acknowledgements\n\n- [Kattis](https://open.kattis.com/), for hosting fun competitive programming problems.\n- [Beautiful Soup](https://www.crummy.com/software/BeautifulSoup/), still the best choice for web scraping in Python.\n\n\n",
"bugtrack_url": null,
"license": "",
"summary": "View information on Kattis problems and download sample data.",
"version": "1.0.3",
"project_urls": {
"Homepage": "https://github.com/bradendubois/kattis-problem-setup"
},
"split_keywords": [
"kattis",
"parsing",
"beautifulsoup"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9cf82d18ba701c58e28a3b3859c05978bc42e78717be28bfa0d76f0c504b6ae6",
"md5": "6020943b79d2dfe948e8f81e28bb289a",
"sha256": "55a1c0b77e7a81d9d93eb9e4ebc3569a9cb25e9ee13a17eb01098307675a129b"
},
"downloads": -1,
"filename": "kattis_problem_setup-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6020943b79d2dfe948e8f81e28bb289a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4466,
"upload_time": "2023-05-31T23:06:57",
"upload_time_iso_8601": "2023-05-31T23:06:57.013024Z",
"url": "https://files.pythonhosted.org/packages/9c/f8/2d18ba701c58e28a3b3859c05978bc42e78717be28bfa0d76f0c504b6ae6/kattis_problem_setup-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ce9b81e47e8b7bb603e4809e25d383427be478bae97611d079f3383160a0dcef",
"md5": "fc2955015d2755767c6abd834548fa9f",
"sha256": "2cdd7580eef52e0e223e0d48b9286142166e49962596cce473123288f1ca4f81"
},
"downloads": -1,
"filename": "kattis-problem-setup-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "fc2955015d2755767c6abd834548fa9f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4000,
"upload_time": "2023-05-31T23:06:58",
"upload_time_iso_8601": "2023-05-31T23:06:58.358869Z",
"url": "https://files.pythonhosted.org/packages/ce/9b/81e47e8b7bb603e4809e25d383427be478bae97611d079f3383160a0dcef/kattis-problem-setup-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-31 23:06:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bradendubois",
"github_project": "kattis-problem-setup",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "kattis-problem-setup"
}