Skip to main content

nextcloud-deck-client

A Python client for the Nextcloud Deck API, with both synchronous and asynchronous clients.

Install

pip install nextcloud-deck-client

Use

from ncdeck import DeckClient

deck = DeckClient("https://cloud.example.com", "username", "app-password", board_id=1)

for stack in deck.get_stacks():
    print(stack.title)
    for card in stack.cards:
        print("   ", card.title)

Async:

from ncdeck import AsyncDeckClient

deck = AsyncDeckClient("https://cloud.example.com", "username", "app-password")
boards = await deck.get_boards()

What it covers

Boards, stacks, cards, labels, comments and attachments. Cards can be created, updated, moved, archived and deleted. The activity feed is exposed so callers can determine when a card was moved. DeckClient (sync) and AsyncDeckClient (async) expose the same methods with the same arguments — pick whichever matches your program and the two are interchangeable.

Two Deck quirks are handled for you:

  • move_card() uses the documented update route addressed at the target stack, rather than the /cards/{id}/reorder endpoint, working around Deck issue #6830. The /reorder route makes Deck renumber every card in the target stack and stamp lastModified on all of them; move_card() avoids that, so lastModified stays a reliable signal for every other card in the stack.
  • The activity endpoint answers HTTP 304 with an empty body when there is no data; get_deck_activity() returns an empty list rather than failing.

1.0.0 — breaking changes

  • board_id moved to the last, optional parameter on every method of both DeckClient and AsyncDeckClient.
  • move_card() now takes a Card instead of raw stack/card ids, and requires .source to be populated (fetch the card via get_stacks() first) — it raises ValueError otherwise. It no longer renumbers sibling cards, so several cards in the target stack may end up sharing order: 0.
  • fetch_stacks() was removed in favour of get_stacks().

Authentication

Use a Nextcloud app password, not your account password.

Related tools

nextcloud-deck-cli is a set of command-line tools for Nextcloud Deck built on top of this library.

Licence

LGPL-3.0-or-later. See COPYING.LESSER.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nextcloud_deck_client-1.0.1.tar.gz (22.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nextcloud_deck_client-1.0.1-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

Details for the file nextcloud_deck_client-1.0.1.tar.gz.

File metadata

  • Download URL: nextcloud_deck_client-1.0.1.tar.gz
  • Upload date:
  • Size: 22.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for nextcloud_deck_client-1.0.1.tar.gz
Algorithm Hash digest
SHA256 226c7b266014d594d7916e51db64ad7d9247bd7dc5ff46a1a22c6298b8d2b473
MD5 b29ac1956fb660c687855878dd48708a
BLAKE2b-256 4a3498c2134870715ab183d9909a596aabf40dba7922baacc9ae3f388b816c07

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextcloud_deck_client-1.0.1.tar.gz:

Publisher: release.yml on Olen/nextcloud-deck-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nextcloud_deck_client-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for nextcloud_deck_client-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4fd8b17cca61304dd2b9da5fff3af53ccd14179cacf7df79220eb0cbac8ca489
MD5 240a3f6d10ec27db9e074c9bcbeb1f2d
BLAKE2b-256 c4479397faa0ac64f1b6456d2d34439702f6ce1f9419005ff237cbbf028fc336

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextcloud_deck_client-1.0.1-py3-none-any.whl:

Publisher: release.yml on Olen/nextcloud-deck-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page