Skip to main content

python-kanka

A modern Python client for the Kanka API, the collaborative worldbuilding and campaign management platform.

Originally inspired by/forked from Kathrin Weihe's python-kanka. Thank you to Kathrin for the foundation and inspiration.

Features

  • 12 Entity Types: Characters, Locations, Organisations, Families, Calendars, Events, Quests, Journals, Notes, Tags, Races, Creatures
  • Type Safety: Built with Pydantic v2 for data validation and type hints
  • Consistent API: Same CRUD interface across all entity types
  • Posts, Assets & Images: Full support for entity sub-resources and automatic image management
  • Search & Filtering: Search across types, filter by name/tags/privacy/dates
  • Rate Limit Handling: Automatic retry with exponential backoff
  • Pagination: Built-in pagination support with metadata

Installation

pip install python-kanka

Quick Start

from kanka import KankaClient

client = KankaClient(token="your-api-token", campaign_id=12345)

# Create a character
gandalf = client.characters.create(
    name="Gandalf the Grey",
    type="Wizard",
    title="Istari",
)

# List with filters
wizards = client.characters.list(type="Wizard", is_private=False)

# Search across all entity types
results = client.search("dragon")

# Update and delete
gandalf = client.characters.update(gandalf, title="The White")
client.characters.delete(gandalf)

Documentation

See the full documentation for guides, examples, and complete API reference.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Links

Download files

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

Source Distribution

python_kanka-2.6.2.tar.gz (182.7 kB view details)

Uploaded Source

Built Distribution

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

python_kanka-2.6.2-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

Details for the file python_kanka-2.6.2.tar.gz.

File metadata

  • Download URL: python_kanka-2.6.2.tar.gz
  • Upload date:
  • Size: 182.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for python_kanka-2.6.2.tar.gz
Algorithm Hash digest
SHA256 761d2fd7876a34debf1cc71c7d6dc6857c7cde3040e7bb22f3fbde1ab32743e9
MD5 0d7c97e5a156a1eda73fbe409eb1b4de
BLAKE2b-256 8690aa0f4f33a717c50b5a3bd57873491e2f9a46ab4759b46cd3cb6060fbc7c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_kanka-2.6.2.tar.gz:

Publisher: publish.yml on ervwalter/python-kanka

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

File details

Details for the file python_kanka-2.6.2-py3-none-any.whl.

File metadata

  • Download URL: python_kanka-2.6.2-py3-none-any.whl
  • Upload date:
  • Size: 26.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for python_kanka-2.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d8854f220a653e93c1ef9971ca20950ee2afdfb16d6a127c6301544a74886e0e
MD5 8cf2be13a59ba635dc09f7f178115ece
BLAKE2b-256 1240261caff0aaa5784adac9855a3befb835f6fabb19f0bd0c031a8520ecb9ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_kanka-2.6.2-py3-none-any.whl:

Publisher: publish.yml on ervwalter/python-kanka

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

Release history Release notifications | RSS feed

This release

2.6.2 This release

2 files

2.6.1

2 files

2.6.0

2 files

2.5.0

2 files

2.4.1

2 files

2.4.0

2 files

2.3.0

2 files

2.2.0

2 files

2.1.0

2 files

2.0.0

2 files

Supported by

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