thingsapi/things.py
thingsapi/things.py has 230 GitHub stars and 29 forks. Star changes are not measured yet. Last checked 2026-11-14 02:18 UTC. Last push 2026-11-07.
Gemessener Sternzuwachs
- in 24h
- Verlauf wird gesammelt
- in 7 days
- Verlauf wird gesammelt
- in 15 days
- Verlauf wird gesammelt
- in 1 month
- Verlauf wird gesammelt
Nettoänderungen in überlappenden Zeiträumen, keine Tagessummen. Fehlende Messwerte bleiben leer. Sterne zeigen Interesse, nicht Qualität.
Über uns
A simple Python 3 library to read your Things app data.
DatenREADME.md
OriginalThings Python API
things.py is a simple Python 3 library to read data from your Things app.
Table of Contents
Install
$ pip3 install things.py
# or
$ git clone https://github.com/thingsapi/things.py && cd things.py && make install
Examples
>>> import things
>>> things.todos()
[{'uuid': '2Ukg8I2nLukhyEM7wYiBeb',
'type': 'to-do',
'title': 'Make reservation for dinner',
'project': 'bNj6TPdKYhY6fScvXWVRDX',
...},
{'uuid': 'RLZroza3jz0XPs3uAlynS7',
'type': 'to-do',
'title': 'Buy a whiteboard and accessories',
'project': 'w8oSP1HjWstPin8RMaJOtB',
'notes': "Something around 4' x 3' that's free-standing, two-sided, and magnetic.",
'checklist': True,
...
>>> things.todos('RLZroza3jz0XPs3uAlynS7')
{'uuid': 'RLZroza3jz0XPs3uAlynS7',
'type': 'to-do',
'title': 'Buy a whiteboard and accessories',
...
'checklist': [
{'title': 'Cleaning Spray', 'status': 'completed', ...},
{'title': 'Magnetic Eraser', 'status': 'incomplete', ...},
{'title': 'Round magnets', 'status': 'incomplete', ...}
]
...
}
>>> things.projects()
[{'uuid': 'bNj6TPdKYhY6fScvXWVRDX',
'type': 'project',
'title': 'Throw Birthday Party',
'area': 'bNj6TPdKYhY6fScvXWVRDX',
...},
{'uuid': 'w8oSP1HjWstPin8RMaJOtB',
'type': 'project',
'title': 'Set Up Home Office',
'area': 'Gw9QefIdgR6nPEoY5hBNSh',
...
>>> things.areas()
[{'uuid': 'ToLxnnBrWkfHC3tkx4vxdV',
'type': 'area',
'title': 'Family',
...},
{'uuid': 'Gw9QefIdgR6nPEoY5hBNSh',
'type': 'area',
'title': 'Apartment',
...
>>> things.tags()
[{'uuid': 'CKILg3kKF2jlCRisNFcqOj',
'type': 'tag',
'title': 'Home',
'shortcut': None},
{'uuid': 'gfmpz8zxnyfqMDvRi3E8vo',
'type': 'tag',
'title': 'Office',
'shortcut': None},
...
>>> things.get('CKILg3kKF2jlCRisNFcqOj')
{'uuid': 'CKILg3kKF2jlCRisNFcqOj',
'type': 'tag',
'title': 'Home',
'shortcut': None}
Background
The task management app Things stores all your to-dos in a SQLite database file (details here). This format is intended to be machine-readable, not human-readable. The aim of this project is to let you access all your Things data in a human-readable way. We thereby stay as true to the database as possible while doing SQL joins and transformations to aid understanding of the data. Note that you can print the SQL used by adding the parameter print_sql=True to most API calls.
If any aspect of the API seems overly complex or doesn't meet your needs, please don't hesitate to add a new issue here.
Terminology
Here are the core technical terms used involving the database:
- area
- tag
- task
- type
'to-do': can have checklists;'project': can have to-dos and headings;'heading': part of a project; groups to-dos.
- status:
'incomplete','canceled', or'completed' - trashed:
TrueorFalse - start:
'Inbox','Anytime', or'Someday'
- type
- checklist item (contained within a to-do)
Documentation
The full documentation for this library can be found here: https://thingsapi.github.io/things.py/things/api.html
Things URL Scheme
You can make good use of the uuid to link to to-dos, areas, tags, and more from other apps. Doing updates are possible as well. Read an introduction here and see the documentation here.
Contributing
We welcome contributions to things.py! Before submitting a pull request, please take a moment to look over the contributing guidelines first.
Used By
The following open-source projects make use of this library:
- Asana to Things (ryansteed)
- Things to CSV (nathankoerschner)
- Things to Markdown (chrisgurney)
- Things to Markdown (yinan-c)
- Things to Notion (Avery2)
- Things to Notion (MrAsynchronous)
- Things to OmniFocus via TaskPaper (wolf)
- Things to Org file (chrizel)
- Things to Reclaim (cato447)
- CLI for Things
- GTD-like Reviews (minthemiddle)
- HTTP Daemon for Things (ehippy)
- KanbanView for Things (AlexanderWillner)
- MCP Server for Things (hald)
- MCP Server for Things (ebowman)
- MCP Server for Things (excelsier)
- Pomodoro timer for Things (walteh fork)
- ThingsStats (lmgibson)
Ähnliche Projekte entdecken
Asabeneh/30-Days-Of-Python
Die Programmier-Challenge 30 Days of Python ist eine Schritt-für-Schritt-Anleitung, um die Programmiersprache Python in 30 Tagen zu lernen. Diese Challenge kann mehr als 100 Tage dauern. Gehe in deinem eigenen Tempo vor. Diese Videos können ebenfalls helfen: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,710 Sternegrafana/grafana
Offene und kombinierbare Plattform für Observability und Datenvisualisierung. Visualisiert Metriken, Logs und Traces aus mehreren Quellen wie Prometheus, Loki, Elasticsearch, InfluxDB, Postgres und vielen weiteren.
77,892 Sterneredis/redis
Für Entwickler, die echtzeitfähige, datengesteuerte Anwendungen erstellen, ist Redis der bevorzugte, schnellste und funktionsreichste Cache, Datenstrukturserver und die entsprechende Abfrageengine für Dokumente und Vektoren.
77,490 Sterneapache/superset
Apache Superset ist eine Plattform für Datenvisualisierung und Datenexploration.
75,521 Sterne