Modern, typesafe Python client for GitHub's unofficial API for importing issues.
This package is based on the API description by jonmagic. Unlike the official REST or GraphQL APIs, this API allows you to keep the timestamps of the imported issues and comments.
$ pip install github-issues-import
import os
from github_issues_import.client import ApiClient, HttpClient
from github_issues_import.models import IssueImportRequest, Issue, Comment
client = ApiClient(http_client=HttpClient(token=os.environ["GITHUB_TOKEN"]))
status = client.import_issue("jonmagic", "i-got-issues", IssueImportRequest(
issue=Issue(
title="My money, mo issues",
body="Required!"
),
comments=[Comment(body="talk talk")],
))
result = client.get_status(status.url)
print(result)
import os
import httpx
from github_issues_import.client import ApiClient, HttpClient
# httpx client options
client1 = ApiClient(http_client=HttpClient(token=os.environ["GITHUB_TOKEN"], timeout=60))
# own httpx-based client
client2 = ApiClient(http_client=httpx.Client(base_url=HttpClient.BASE_URL))
To release a new version and publish it to PyPI:
- Bump version with
hatch
and commithatch version minor
orhatch version patch
- Create GitHub release (and tag)