Skip to main content

Akiflow Python SDK

PyPI version License: MIT

Work in Progress: This project is under active development and is not yet ready for production use.

Disclaimer: This project is not affiliated with, endorsed by, or associated with Akiflow in any way. It is an unofficial, community-built SDK. The underlying API is undocumented and may change at any time without notice, which could break this library. Use at your own risk.

A lightweight Python SDK for the Akiflow task management software. Built on httpx with full type annotations.

Status

This is an early proof of concept. Currently implemented:

  • Tasks — create, list, update, mark done, delete
  • Labels — create, list, update, delete, lookup by name

Other Akiflow features are not yet covered.

Feel free to contribute!

Documentation

Full API documentation is available at thielem.github.io/akiflow-python-sdk.

Installation

Requires Python 3.10+.

pip install akiflow

Or with uv:

uv add akiflow

Quick Start

Interactive Login

Note: This SDK only supports Akiflow's passwordless email + OTP login. Other authentication methods (e.g., Google SSO) have not been tested and may not work.

The SDK uses Akiflow's passwordless email + OTP flow:

from akiflow import Akiflow

client = Akiflow(email="you@example.com")  # prompts for OTP code

Reusing Tokens

Save and reuse tokens to avoid logging in every time:

from akiflow import Akiflow

client = Akiflow(
    access_token="eyJ...",
    refresh_token="def50200...",
)

The client automatically refreshes expired access tokens using the refresh token.

Tasks

# Create a task
task = client.task.create("Buy groceries")

# Create a scheduled task with priority
task = client.task.create(
    "Team meeting",
    datetime="2025-01-15T10:00:00",
    duration=3600,
    priority=2,
)

# List tasks
tasks = client.task.list()

# Mark done
client.task.done(task["id"])

# Delete
client.task.delete(task["id"])

Labels

# Create a label
label = client.label.create("Work", color="#FF0000")

# List labels
labels = client.label.list()

# Look up label ID by name
label_id = client.label.get_id("Work")

# Delete
client.label.delete(label_id)

Debugging

Enable debug mode to print all HTTP requests and responses:

client = Akiflow(email="you@example.com", debug=True)

To bypass SSL verification (useful with proxy tools like Proxyman or Charles):

client = Akiflow(email="you@example.com", verify_ssl=False)

Examples

See the examples/ directory for complete working scripts:

  • login_and_create.py — Interactive login with token persistence
  • token_and_create.py — Reuse saved tokens
  • create_and_done.py — Task lifecycle (create, done, delete)
  • label_lifecycle.py — Label CRUD operations

License

MIT

Metadata

Release files for akiflow 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for akiflow 0.0.2
File Size Uploaded
akiflow-0.0.2.tar.gz 176.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for akiflow 0.0.2
File Interpreter ABI Platform
akiflow-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 190.3 kB

Release files / akiflow-0.0.2.tar.gz

Download URL akiflow-0.0.2.tar.gz
Size 176.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c0cbff685d249d17a9ded7716dea8f313c2afe9de7ee55b9067dca0985f08f66
BLAKE2b-256 checksum
How to use checksums
668b2634eeb793008ab953d58ac3187e5c6f59e24e9f0f97e9e3d166f0ba9134
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 26, 2026.

Transparency log

Release files / akiflow-0.0.2-py3-none-any.whl

Download URL akiflow-0.0.2-py3-none-any.whl
Size 14.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
70ac96244bd65dca059915764fe65fb1b4d32b10c302803e6a111fabde01d932
BLAKE2b-256 checksum
How to use checksums
d42baad44d881c533bd23407120a73a8b71a998597433f8d13a18498b557fcba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page