Registry / crm-productivity / kanboard

kanboard

JSON →
library1.1.8pypypi✓ verified 85d ago

The `kanboard` library is a Python client for interacting with the Kanboard API (version 1.1.8). It provides both synchronous and asynchronous access to all Kanboard API methods, dynamically mapping Python calls to JSON-RPC procedures. The library is actively maintained with regular releases and requires Python 3.9 or higher.

pip install kanboard
INSTALL
IMPORT
SIG · KANBOARD
K
kanboard
crm-productivitypythonv1.1.8
Install
1.6s avg
Import
247ms
Disk
16MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.1.8 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
installs and imports cleanly · install 0.0s · import 0.263s · 17.8MB
glibc
py 3.103.920 runs
installs and imports cleanly · install 1.6s · import 0.232s · 18MB
16MB installed
● package 16MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Client
from kanboard import Client
ClientError
from kanboard import ClientError
Used for catching API-specific errors.

This quickstart demonstrates how to initialize the Kanboard client and create a new project. It uses environment variables for the API URL, username, and token for secure credential management. It also includes basic error handling and a check to prevent duplicate project creation.

import os import kanboard KANBOARD_URL = os.environ.get('KANBOARD_API_URL', 'http://localhost/jsonrpc.php') KANBOARD_USERNAME = os.environ.get('KANBOARD_API_USERNAME', 'jsonrpc') # Use 'jsonrpc' for application token KANBOARD_API_TOKEN = os.environ.get('KANBOARD_API_TOKEN', 'your_api_token') # Or user password/personal access token try: # Initialize the client, using 'jsonrpc' user and an API token with kanboard.Client(KANBOARD_URL, KANBOARD_USERNAME, KANBOARD_API_TOKEN) as kb: # Kanboard API calls expect named arguments # Check if project 'My Test Project' already exists to avoid creation error projects = kb.get_all_projects() project_exists = any(p.get('name') == 'My Test Project' for p in projects) if not project_exists: project_id = kb.create_project(name="My Test Project") print(f"Project 'My Test Project' created with ID: {project_id}") else: print("Project 'My Test Project' already exists.") # Example of getting current user information (requires user credentials, not 'jsonrpc' token) # If KANBOARD_USERNAME is an actual user, you could call: # me = kb.get_me() # print(f"Connected as: {me.get('username')}") except kanboard.ClientError as e: print(f"An API or network error occurred: {e}") except Exception as e: print(f"An unexpected error occurred: {e}")
Debug
Known issues
breakingSupport for Python 3.7 and 3.8 was dropped in version 1.1.7. Users on older Python versions will need to upgrade to Python 3.9+ or use an older version of the library.
fix
Upgrade your Python environment to 3.9 or higher. If unable to upgrade, pin the `kanboard` library version to `<1.1.7` (e.g., `pip install kanboard==1.1.6`).
affects: >=1.1.7
gotchaAll Kanboard API methods, when called via the Python client, require named arguments. Positional arguments will not work.
fix
Always pass arguments to API methods using their keyword names (e.g., `kb.create_project(name='My Project')` instead of `kb.create_project('My Project')`).
affects: All versions
gotchaFor asynchronous API calls, you must append `_async` to the method name (e.g., `kb.create_project_async`).
fix
When using `async/await` syntax, ensure method names are suffixed with `_async` for asynchronous execution.
affects: All versions
gotchaKanboard instances configured with a custom authentication header require specifying the `auth_header` parameter during client initialization.
fix
If your Kanboard `config.php` defines `API_AUTHENTICATION_HEADER`, pass `auth_header='X-Your-Custom-Header'` to the `kanboard.Client` constructor.
affects: All versions
Errors
Common errors & fixes
kanboard.ClientError: HTTP Error 403: Forbidden
This typically indicates an authorization issue. The user or API token used does not have the necessary permissions to perform the requested action. For 'jsonrpc' user, this could mean accessing 'My...' methods.
fix
Ensure the API token or user credentials have the required permissions in Kanboard. For 'jsonrpc' user, remember it cannot access 'My...' procedures. Verify the API token is correct and active. Check Kanboard's server logs for more details on the 403 error.
kanboard.ClientError: HTTP Error 401: Not Authorized
Incorrect username or API token/password provided for authentication.
fix
Double-check the `username` and `password` (or `API_TOKEN`) passed to `kanboard.Client`. Ensure they match an active Kanboard user or a valid API token. For users with 2FA, API keys must be used.
TypeError: Call takes no positional arguments but 1 positional argument was given
Kanboard client API methods expect named arguments only.
fix
Refactor your API calls to use keyword arguments instead of positional arguments (e.g., `kb.create_project(name='My Project')` instead of `kb.create_project('My Project')`).
Upgrade
Version history
1.1.8latest on PyPI · released Mar 25, 2026
Audit
Dependencies
pythonrequiredRequires Python 3.9 or higher for compatibility.
Agent activity
44 hits · last 30 days
node
38
OpenAI (training)
1
Resources