pyqiita
Qiita api v2 client for Python.
pyqiita provides a small typed wrapper around Qiita API v2. Responses are converted to dataclass models such as User, Item, Comment, and Tag.
Installation
pip install qiita-v2-client
Setup
Get your token from https://qiita.com/settings/tokens/new.
from pyqiita import Qiita
qiita = Qiita(token="your access token")
You can also pass a custom endpoint, for example when using Qiita Team.
qiita = Qiita(
token="your access token",
endpoint="https://your-team.qiita.com",
)
Usage
from pyqiita import APIError, Qiita
qiita = Qiita(token="your access token")
me = qiita.authenticated_user.get()
print(me.id, me.items_count)
page = qiita.items.list(query="tag:Python", per_page=10)
for item in page.items:
print(item.title, item.url)
for item in qiita.items.iter(query="tag:Python", per_page=100):
print(item.id)
try:
user = qiita.users.get("qiita")
except APIError as exc:
print(exc.status_code, exc.type, exc.message)
Resources
- Documentation
- Token settings: https://qiita.com/settings/tokens/new
The client is organized by API resource.
qiita.items.get(item_id)
qiita.items.create(title="...", body="...", tags=[{"name": "Python"}])
qiita.comments.get(comment_id)
qiita.comments.update(comment_id, body="...")
qiita.tags.get("Python")
qiita.tags.follow("Python")
qiita.users.get("qiita")
qiita.users.follow("user_id")
Available resource clients include:
access_tokensauthenticated_usercommentsexpanded_templatesgroupsitem_actionsitemsposting_campaignsprojectsreactionstagsteam_access_tokensteam_invitationsteamstemplatesusers
Development
uv run pytest
uv build
Samples
Example scripts are available in samples.
export QIITA_TOKEN="your access token"
uv run python samples/list_items.py
uv run python samples/authenticated_user.py
uv run python samples/search_users_and_tags.py
samples/create_private_item.py creates an actual private item on Qiita.
License
MIT License. See LICENSE.
Release files for qiita-v2-client 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qiita_v2_client-0.1.0.tar.gz | 9.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qiita_v2_client-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.6 kB
Release files / qiita_v2_client-0.1.0.tar.gz
| Download URL | qiita_v2_client-0.1.0.tar.gz |
|---|---|
| Size | 9.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e52d84f0cc3a94dd9a9650313c79d33c99f6f69ae901c0444da9fe17339b34b5
|
|
BLAKE2b-256 checksum How to use checksums |
ae0099446d7d82890e029eef7bcbe073c2ef8dffde94eb564faa622de601f7d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / qiita_v2_client-0.1.0-py3-none-any.whl
| Download URL | qiita_v2_client-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cf97b7b5015b36b837d92656782f39d20fbe81a44178f9e28eba6c3a03c543db
|
|
BLAKE2b-256 checksum How to use checksums |
2adc826f77e77d2eba475501cc64a3f75cb8697b28688ca758288adedf0c775a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|