# tenuki
A set of development tools for go/baduk/wéiqí projects.
## Installation
Use `pip` or your favorite package manager to install `tenuki`:
```bash
pip install tenuki
```
## Rank
`Rank` class is a representation of a player's rank.
```python
from tenuki.rank import Rank
rank_1 = Rank.parse("1d")
rank_2 = Rank.parse("1k")
assert rank_1 > rank_2
assert rank_1.diff(rank_2) == 1
assert rank_1 + 8 == Rank.parse("9d")
```
### EGF
#### GoR <-> Rank
Convert between GoR and Rank:
```python
from tenuki.rank import Rank
from tenuki.egf import gor_to_rank, rank_to_gor
assert gor_to_rank(2100) == Rank.parse("1d")
assert rank_to_gor(Rank.parse("1d")) == 2100
```
Raw data
{
"_id": null,
"home_page": "https://github.com/konradhalas/tenuki",
"name": "tenuki",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": "",
"keywords": "",
"author": "Konrad Ha\u0142as",
"author_email": "halas.konrad@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/2c/07/edb5653978e7ba878c409320bda0667b9bebb027e0c96ce5aceb3a0e79ea/tenuki-0.2.0.tar.gz",
"platform": null,
"description": "# tenuki\n\nA set of development tools for go/baduk/w\u00e9iq\u00ed projects.\n\n## Installation\n\nUse `pip` or your favorite package manager to install `tenuki`:\n\n```bash\npip install tenuki\n```\n\n## Rank\n\n`Rank` class is a representation of a player's rank.\n\n```python\nfrom tenuki.rank import Rank\n\nrank_1 = Rank.parse(\"1d\")\nrank_2 = Rank.parse(\"1k\")\n\nassert rank_1 > rank_2\nassert rank_1.diff(rank_2) == 1\nassert rank_1 + 8 == Rank.parse(\"9d\")\n```\n\n### EGF\n\n#### GoR <-> Rank\n\nConvert between GoR and Rank:\n\n```python\nfrom tenuki.rank import Rank\nfrom tenuki.egf import gor_to_rank, rank_to_gor\n\nassert gor_to_rank(2100) == Rank.parse(\"1d\")\nassert rank_to_gor(Rank.parse(\"1d\")) == 2100\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A set of development tools for go/baduk/w\u00e9iq\u00ed projects.",
"version": "0.2.0",
"project_urls": {
"Homepage": "https://github.com/konradhalas/tenuki"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e182467a6a608ca597e644c7dfa4f7304a66b9a34d40ddb465815124c7023846",
"md5": "76341b431340dbec2fac6e864591348d",
"sha256": "fea1a8c6c96704e95bfd824a4b87353126aa89999f0a2ad46122a155a6ffff6e"
},
"downloads": -1,
"filename": "tenuki-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "76341b431340dbec2fac6e864591348d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 3230,
"upload_time": "2023-07-11T13:38:40",
"upload_time_iso_8601": "2023-07-11T13:38:40.559877Z",
"url": "https://files.pythonhosted.org/packages/e1/82/467a6a608ca597e644c7dfa4f7304a66b9a34d40ddb465815124c7023846/tenuki-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2c07edb5653978e7ba878c409320bda0667b9bebb027e0c96ce5aceb3a0e79ea",
"md5": "04b07397c7231fe155c02c83b73c064a",
"sha256": "d460d89dd5ed0c6252c5f2a907319c47a0bb9f4f66cfd7e051bb35ca1bb55e0e"
},
"downloads": -1,
"filename": "tenuki-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "04b07397c7231fe155c02c83b73c064a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 3723,
"upload_time": "2023-07-11T13:38:41",
"upload_time_iso_8601": "2023-07-11T13:38:41.917754Z",
"url": "https://files.pythonhosted.org/packages/2c/07/edb5653978e7ba878c409320bda0667b9bebb027e0c96ce5aceb3a0e79ea/tenuki-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-11 13:38:41",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "konradhalas",
"github_project": "tenuki",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "tenuki"
}