# YouTrack REST API Client
A client library for accessing YouTrack REST API.
## Usage
```python
from datetime import date
from youtrack_sdk import Client
from youtrack_sdk.entities import (
DateIssueCustomField,
EnumBundleElement,
Issue,
Tag,
Project,
SingleEnumIssueCustomField,
SingleUserIssueCustomField,
StateBundleElement,
StateIssueCustomField,
User,
)
client = Client(base_url="https://dummy.myjetbrains.com/youtrack", token="dummy")
result = client.create_issue(
issue=Issue(
project=Project(id="0-0"),
summary="Created from YouTrack SDK",
description="Description **text**.",
tags=[
Tag(id="6-0"),
],
custom_fields=[
StateIssueCustomField(
name="State",
value=StateBundleElement(
name="In Progress",
),
),
SingleUserIssueCustomField(
name="Assignee",
value=User(
ring_id="00000000-a31c-4174-bb27-abd3387df67a",
),
),
SingleEnumIssueCustomField(
name="Type",
value=EnumBundleElement(
name="Bug",
),
),
DateIssueCustomField(
name="Due Date",
value=date(2005, 12, 31),
),
],
),
)
```
## Note
- You should prefer to use internal entity IDs everywhere. Some methods accept readable issue IDs (e.g. HD-99) but it's not supported everywhere.
Raw data
{
"_id": null,
"home_page": "https://github.com/moneymeets/youtrack-sdk",
"name": "youtrack-sdk",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "youtrack, sdk",
"author": "moneymeets",
"author_email": "service@moneymeets.com",
"download_url": "https://files.pythonhosted.org/packages/fd/75/a7b8c56ce4e74f93b58100d3a61dbcb4078da4a6c46bc0f99c0e1bb66a16/youtrack_sdk-1.0.202508190620.tar.gz",
"platform": null,
"description": "# YouTrack REST API Client\n\nA client library for accessing YouTrack REST API.\n\n## Usage\n\n```python\nfrom datetime import date\nfrom youtrack_sdk import Client\nfrom youtrack_sdk.entities import (\n DateIssueCustomField,\n EnumBundleElement,\n Issue,\n Tag,\n Project,\n SingleEnumIssueCustomField,\n SingleUserIssueCustomField,\n StateBundleElement,\n StateIssueCustomField,\n User,\n)\n\nclient = Client(base_url=\"https://dummy.myjetbrains.com/youtrack\", token=\"dummy\")\nresult = client.create_issue(\n issue=Issue(\n project=Project(id=\"0-0\"),\n summary=\"Created from YouTrack SDK\",\n description=\"Description **text**.\",\n tags=[\n Tag(id=\"6-0\"),\n ],\n custom_fields=[\n StateIssueCustomField(\n name=\"State\",\n value=StateBundleElement(\n name=\"In Progress\",\n ),\n ),\n SingleUserIssueCustomField(\n name=\"Assignee\",\n value=User(\n ring_id=\"00000000-a31c-4174-bb27-abd3387df67a\",\n ),\n ),\n SingleEnumIssueCustomField(\n name=\"Type\",\n value=EnumBundleElement(\n name=\"Bug\",\n ),\n ),\n DateIssueCustomField(\n name=\"Due Date\",\n value=date(2005, 12, 31),\n ),\n ],\n ),\n)\n```\n\n## Note\n\n- You should prefer to use internal entity IDs everywhere. Some methods accept readable issue IDs (e.g. HD-99) but it's not supported everywhere.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "YouTrack SDK",
"version": "1.0.202508190620",
"project_urls": {
"Homepage": "https://github.com/moneymeets/youtrack-sdk",
"Repository": "https://github.com/moneymeets/youtrack-sdk"
},
"split_keywords": [
"youtrack",
" sdk"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0f869e8dd71218772f445c4651b0496e0867eb304d63785b8bd9ed99853054e2",
"md5": "159e4b31d25015bdd389999786ae4227",
"sha256": "a43f1658ad4d61ea9e71391c0a1acea2336844adfea318f09341d8560fa1df06"
},
"downloads": -1,
"filename": "youtrack_sdk-1.0.202508190620-py3-none-any.whl",
"has_sig": false,
"md5_digest": "159e4b31d25015bdd389999786ae4227",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 11566,
"upload_time": "2025-08-19T06:20:08",
"upload_time_iso_8601": "2025-08-19T06:20:08.548832Z",
"url": "https://files.pythonhosted.org/packages/0f/86/9e8dd71218772f445c4651b0496e0867eb304d63785b8bd9ed99853054e2/youtrack_sdk-1.0.202508190620-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fd75a7b8c56ce4e74f93b58100d3a61dbcb4078da4a6c46bc0f99c0e1bb66a16",
"md5": "7f6f3bbfbc6d94c197ab0072e9e9011f",
"sha256": "0bb6f7210f4f5c62622f8b627f91ee5bbf48b53180ae82d80c6e1081186591f8"
},
"downloads": -1,
"filename": "youtrack_sdk-1.0.202508190620.tar.gz",
"has_sig": false,
"md5_digest": "7f6f3bbfbc6d94c197ab0072e9e9011f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 10339,
"upload_time": "2025-08-19T06:20:09",
"upload_time_iso_8601": "2025-08-19T06:20:09.645703Z",
"url": "https://files.pythonhosted.org/packages/fd/75/a7b8c56ce4e74f93b58100d3a61dbcb4078da4a6c46bc0f99c0e1bb66a16/youtrack_sdk-1.0.202508190620.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-19 06:20:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "moneymeets",
"github_project": "youtrack-sdk",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "youtrack-sdk"
}