pydiscourse
"A Python library for the Discourse API"
Decision gist · record as of 2026-08-14
Yes, if you need to interact with Discourse from Python. The library is stable, has no known vulnerabilities, and depends only on requests. However, be aware that the last release was 850 days ago; if you need support for very recent Discourse API changes, verify compatibility first or check whether the repository has unreleased fixes on the main branch.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction; depends only on requests.
- Maintenance status is aging—last release was 850 days ago (April 2024), though the repository remains active with a recent commit in February 2025.
- No known vulnerabilities.
License · maintenance · safety
"MIT" (permissive) — MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
last release 2024-04-16 (850 days) · last repo commit 2025-02-25 · 86 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 89,172 downloads/mo, #13,676 on PyPI
Alternatives
Verify before relying
pip install pydiscourse
from pydiscourse import DiscourseClient
client = DiscourseClient(
'http://example.com',
api_username='username',
api_key='your_api_key')
user = client.user('username')- Current Discourse API version compatibility—the fact sheet notes the Discourse API is a moving target but does not specify which versions are supported by 1.7.0.
- Whether Python support is truly unspecified or if there is a practical minimum version given the codebase history (Python 2.7 dropped in 1.2.0, but requires_python is null).
What it is and what it does
pydiscourse is a Python wrapper around the Discourse forum API. It lets you programmatically create and manage users, topics, posts, groups, and other forum objects on a Discourse server. The library exposes Discourse's HTTP API as Python methods, so you can automate forum administration, integrate Discourse into your application, or build tools that interact with forum data.
The package is a maintained fork of an earlier version, with a focus on documentation and broad Python version support. It includes a command-line tool for experimenting with API calls and supports Discourse-specific features like SSO integration. The only runtime dependency is requests, making it lightweight to install.
Use it for
- Automate user creation and management on a Discourse forum from a Python application or admin script.
- Integrate Discourse SSO (single sign-on) into your Python web application so users log in via your site.
- Build a bot or tool that monitors forum activity, creates posts, or manages groups programmatically.
- Query forum data (users, topics, posts) from Python to feed into analytics or reporting systems.
- Migrate or synchronize user data between Discourse and another system via the API.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to interact with Discourse from Python.
The library is stable, has no known vulnerabilities, and depends only on requests. However, be aware that the last release was 850 days ago; if you need support for very recent Discourse API changes, verify compatibility first or check whether the repository has unreleased fixes on the main branch.
Install
pydiscourse on PyPI
Before you install
Low install friction; depends only on requests. Maintenance status is aging—last release was 850 days ago (April 2024), though the repository remains active with a recent commit in February 2025. No known vulnerabilities.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install pydiscourse
from pydiscourse import DiscourseClient
client = DiscourseClient(
'http://example.com',
api_username='username',
api_key='your_api_key')
user = client.user('username')
Verify before relying
- Current Discourse API version compatibility—the fact sheet notes the Discourse API is a moving target but does not specify which versions are supported by 1.7.0.
- Whether Python support is truly unspecified or if there is a practical minimum version given the codebase history (Python 2.7 dropped in 1.2.0, but requires_python is null).
Package facts
| License | "MIT" permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagerequests |
| Maintenance | Aging 850 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 89,172 / month, #13,676 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: pydiscourse-1.7.0-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “discourse api client”
- pydiscourseA Python client library for the Discourse API that provides methods…
- rhoknprhoknp is a Python binding for Japanese language processing tools…
- unbabel-cometEvaluates machine translation quality using neural metrics, scoring…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also pysignalclirestapi · apiclient · nv-ingest-client · django-esi · workos · requests-toolbelt · pylxd · azure-ai-language-conversations · python-intercom · azure-communication-chat