- Author:
Trevor Murphy
- Contact:
This command line tool updates your Org mode agenda files to match your personal Asana workspace:
$ todo-sync org /path/to/init/file.el asana $ASANA_PERSONAL_ACCESS_TOKEN
or updates your Asana workspace to match your Org agenda files:
$ todo-sync asana $ASANA_PERSONAL_ACCESS_TOKEN org /path/to/init/file.el
Use the -n flag for a dry run.
Requirements
- Python 3.6
Earlier versions of Python 3 are probably fine, I just haven’t tested them yet. Python 3.7 is not currently supported due to a bug in the official Asana bindings library.
asana
pexpect >= 4.3
- Emacs 25.1 or higher
Probably not a hard requirement, I just haven’t tested with any earlier versions.
- Org Mode 8.2.4 or higher
Most modern Emacs distributions include Org Mode 9 or higher.
- A personal Asana account
This tool may work with other types of accounts, I just haven’t tested it yet.
Install
Install Python Tools
Just use pip!
$ pip install todo-sync
Install Emacs Tools
Emacs
Consult the official installation instructions from the GNU Project.
Org
Your Emacs distribution likely includes a high enough version of Org. You can check from within Emacs with M-x org-version RET. If you need a more recent version, consult the official installation instructions from the Org project.
Todo-Sync’s Library
Install ts-org-interaction.el from this repo to your personal site lisp.
$ cd /path/to/your/site/lisp
$ curl -O https://raw.githubusercontent.com/tmurph/todo-sync/master/emacs/ts-org-interaction.el
(Optional) Create a Minimal Init File
If you don’t do this, you’ll have to point the tool at your main init file, which just might invoke complicated code that could hang the tool’s Emacs subprocess in difficult-to-debug ways.
Here’s a template that should get you going:
;;; make Org mode available to Emacs
(push "/path/to/org" load-path)
;;; make the downloaded ts-org-interaction library available
(push "/path/to/your/site/lisp" load-path)
;;; set Org agenda file variables
(defvar org-directory "/path/for/relative/filename/expansion")
(defvar org-agenda-files '("relative/path/to/first/file"
"relative/path/to/second/file"
"/absolute/path/to/third/file"
"etc"))
Get your Asana Token
Follow this link to your Account Settings dialog or click your picture in the Asana application and navigate to the “My Profile Settings” link, where you can find the “Apps” tab. At the bottom of this tab there is a “Manage Developer Apps” link.
Follow the steps to “Create New Personal Access Token” and save it someplace secure where the command line tool can find it.
License
Distributed under the terms of the GPLv3 license.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file todo_sync-0.3.1.tar.gz.
File metadata
- Download URL: todo_sync-0.3.1.tar.gz
- Upload date:
- Size: 29.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6da0da10fb06784af6df3ebf722162c84c864acbc37ba8f453cf638fabc87eba
|
|
| MD5 |
65421289616d0ba1219acceadff4f595
|
|
| BLAKE2b-256 |
4bd5689172c781bfe98d909f307d8e8948ab406873cfa1669cb2aad491557c99
|
File details
Details for the file todo_sync-0.3.1-py3-none-any.whl.
File metadata
- Download URL: todo_sync-0.3.1-py3-none-any.whl
- Upload date:
- Size: 17.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1885c2665bfb8711abea36792094f716c5795506c30a30a2129a9e84bb2c8030
|
|
| MD5 |
81ad949cc1d09c35d67529cc9d30e845
|
|
| BLAKE2b-256 |
96d42e5bed7595c7c40b99255df310a4fb76e918d5a65eb5ff351106aa11d69e
|