{"id":18773821,"url":"https://github.com/kanboard/python-api-client","last_synced_at":"2025-04-13T02:19:50.358Z","repository":{"id":44912493,"uuid":"50242195","full_name":"kanboard/python-api-client","owner":"kanboard","description":"Python API Client for Kanboard","archived":false,"fork":false,"pushed_at":"2024-12-08T22:04:57.000Z","size":54,"stargazers_count":84,"open_issues_count":6,"forks_count":26,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-04T04:09:57.995Z","etag":null,"topics":["api","api-client","json-rpc","kanboard","python"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/kanboard","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kanboard.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-01-23T14:37:55.000Z","updated_at":"2025-02-07T00:49:21.000Z","dependencies_parsed_at":"2024-12-22T20:06:35.794Z","dependency_job_id":"01d7572d-9ba7-4af8-9156-acbcf59a5cac","html_url":"https://github.com/kanboard/python-api-client","commit_stats":{"total_commits":55,"total_committers":9,"mean_commits":6.111111111111111,"dds":"0.23636363636363633","last_synced_commit":"018036e387af900e04f68a16df63df781985b6cb"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanboard%2Fpython-api-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanboard%2Fpython-api-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanboard%2Fpython-api-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanboard%2Fpython-api-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kanboard","download_url":"https://codeload.github.com/kanboard/python-api-client/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248654500,"owners_count":21140312,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-client","json-rpc","kanboard","python"],"created_at":"2024-11-07T19:35:52.541Z","updated_at":"2025-04-13T02:19:50.337Z","avatar_url":"https://github.com/kanboard.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"==============================\nPython API Client for Kanboard\n==============================\n\nClient library for Kanboard API.\n\n- Author: Frédéric Guillot\n- License: MIT\n\nInstallation\n============\n\n.. code-block:: bash\n\n    python3 -m pip install kanboard\n\n\nThis library is compatible with Python \u003e= 3.7.\n\nNote: **Support for Python 2.7 has been dropped since version 1.1.0.**\n\nOn Fedora (36 and later), you can install the package using DNF:\n\n.. code-block:: bash\n\n    dnf install python3-kanboard\n\n\nExamples\n========\n\nMethods and arguments are the same as the JSON-RPC procedures described in the\n`official documentation \u003chttps://docs.kanboard.org/v1/api/\u003e`_.\n\nPython methods are dynamically mapped to the API procedures: **You must use named arguments**.\n\nBy default, calls are made synchronously, meaning that they will block the program until completed.\n\nCreating a new team project\n---------------------------\n\n.. code-block:: python\n\n    import kanboard\n\n    kb = kanboard.Client('http://localhost/jsonrpc.php', 'jsonrpc', 'your_api_token')\n    project_id = kb.create_project(name='My project')\n\n\nAuthenticate as user\n--------------------\n\n.. code-block:: python\n\n    import kanboard\n\n    kb = kanboard.Client('http://localhost/jsonrpc.php', 'admin', 'secret')\n    kb.get_my_projects()\n\nCreate a new task\n-----------------\n\n.. code-block:: python\n\n    import kanboard\n\n    kb = kanboard.Client('http://localhost/jsonrpc.php', 'jsonrpc', 'your_api_token')\n    project_id = kb.create_project(name='My project')\n    task_id = kb.create_task(project_id=project_id, title='My task title')\n\nUse a personalized user agent\n-----------------------------\n\n.. code-block:: python\n\n    import kanboard\n\n    kb = kanboard.Client(url='http://localhost/jsonrpc.php',\n                         username='admin',\n                         password='secret',\n                         user_agent='My Kanboard client')\n\nSSL connection and self-signed certificates\n===========================================\n\nExample with a valid certificate:\n\n.. code-block:: python\n\n    import kanboard\n\n    kb = kanboard.Client('https://example.org/jsonrpc.php', 'admin', 'secret')\n    kb.get_my_projects()\n\nExample with a custom certificate:\n\n.. code-block:: python\n\n    import kanboard\n\n    kb = kanboard.Client(url='https://example.org/jsonrpc.php',\n                         username='admin',\n                         password='secret',\n                         cafile='/path/to/my/cert.pem')\n    kb.get_my_projects()\n\nExample with a custom certificate and hostname mismatch:\n\n.. code-block:: python\n\n    import kanboard\n\n    kb = kanboard.Client(url='https://example.org/jsonrpc.php',\n                         username='admin',\n                         password='secret',\n                         cafile='/path/to/my/cert.pem',\n                         ignore_hostname_verification=True)\n    kb.get_my_projects()\n\nIgnore invalid/expired certificates and hostname mismatches, which will make your application vulnerable to man-in-the-middle (MitM) attacks:\n\n.. code-block:: python\n\n    import kanboard\n\n    kb = kanboard.Client(url='https://example.org/jsonrpc.php',\n                         username='admin',\n                         password='secret',\n                         insecure=True)\n    kb.get_my_projects()\n\nAsynchronous I/O\n================\n\nThe client also exposes async/await style method calls. Similarly to the synchronous calls (see above),\nthe method names are mapped to the API methods.\n\nTo invoke an asynchronous call, the method name must be appended with ``_async``. For example, a synchronous call\nto ``create_project`` can be made asynchronous by calling ``create_project_async`` instead.\n\n.. code-block:: python\n\n    import asyncio\n    import kanboard\n\n    kb = kanboard.Client('http://localhost/jsonrpc.php', 'jsonrpc', 'your_api_token')\n\n    loop = asyncio.get_event_loop()\n    project_id = loop.run_until_complete(kb.create_project_async(name='My project'))\n\n\n.. code-block:: python\n\n    import asyncio\n    import kanboard\n\n    async def call_within_function():\n        kb = kanboard.Client('http://localhost/jsonrpc.php', 'jsonrpc', 'your_api_token')\n        return await kb.create_project_async(name='My project')\n\n    loop = asyncio.get_event_loop()\n    project_id = loop.run_until_complete(call_within_function())\n\n\nSee the `official API documentation \u003chttps://docs.kanboard.org/v1/api/\u003e`_ for the complete list of\nmethods and arguments.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanboard%2Fpython-api-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkanboard%2Fpython-api-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanboard%2Fpython-api-client/lists"}