# 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/81/1a/60a87dba3ac60ba2ea0818e4b5eb364458016bb171dbd4b85507c8ef1001/youtrack_sdk-1.0.202507151231.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.202507151231",
"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": "30b28571233209687f09a514e9b6781c6d72242d41e1c9787cb99f9f695cbcb3",
"md5": "637fae23c7c4a222f6d05d1dbd82f2a1",
"sha256": "da4665fd05857375d7a99ed1075e79685e2273196941bb82488ddb8501b95acc"
},
"downloads": -1,
"filename": "youtrack_sdk-1.0.202507151231-py3-none-any.whl",
"has_sig": false,
"md5_digest": "637fae23c7c4a222f6d05d1dbd82f2a1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 11566,
"upload_time": "2025-07-15T12:31:02",
"upload_time_iso_8601": "2025-07-15T12:31:02.542186Z",
"url": "https://files.pythonhosted.org/packages/30/b2/8571233209687f09a514e9b6781c6d72242d41e1c9787cb99f9f695cbcb3/youtrack_sdk-1.0.202507151231-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "811a60a87dba3ac60ba2ea0818e4b5eb364458016bb171dbd4b85507c8ef1001",
"md5": "599eda349a7ca0e9801e7c21a9e78152",
"sha256": "d365fe6f930a081e3f86068db000f448bb3f521348e42c9312ae81ba41effb17"
},
"downloads": -1,
"filename": "youtrack_sdk-1.0.202507151231.tar.gz",
"has_sig": false,
"md5_digest": "599eda349a7ca0e9801e7c21a9e78152",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 10339,
"upload_time": "2025-07-15T12:31:03",
"upload_time_iso_8601": "2025-07-15T12:31:03.290662Z",
"url": "https://files.pythonhosted.org/packages/81/1a/60a87dba3ac60ba2ea0818e4b5eb364458016bb171dbd4b85507c8ef1001/youtrack_sdk-1.0.202507151231.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-15 12:31:03",
"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"
}