Skip to main content
What is it?
===========
"orgassist" is a bot - an assistant who handles your appointments, tasks and
note-taking when you're away from your computer. It can integrate multiple
sources of notifications and use multiple different communication interfaces -
by default XMPP.

Currently working functions include:
- Bidirectional communication over XMPP.
- Notifying in advance about planned appointments.
- Generating and sending an agenda for the current day.
- Reading events from org-mode tree (schedules, deadlines, appointments)
- Reading events from Exchange calendar.
- Taking notes and storing in an org-mode inbox file.

It's architected to be easily expandable, currently planned features:
- other bot-interfaces: irc interface, email interface, web interface,
android push-notification interface,
- caldav integration,
- rescheduling tasks and snoozing notifications using remote commands,
- intelligent capturing which handles tags and dates,
- changing task state,
- incremental search,
- etc.


But why?
===========

* Do you love your org-mode, but still struggle to get the agenda or
notifications on your two mobile devices?
* You have two org-mode trees - one for work, one for private planning?
* And appointments in Outlook or Google Calendar?
* And sticky notes or notepad to gather notes on the run?
* Or maybe a mobile app to gather notes (orgzly?)
* Taking notes on the run requires you to later integrate them?
* You treat your org-mode as private notes and dislike keeping them decrypted
everywhere, but at the same time would like to use it remotely?

I had most of those problems and decided this would be an elegant way to solve
all of them without dropping org-mode or using cloud-sync solutions.


Plugins
===========
OrgAssist is split into plugins with a well-defined API.

Calendar
-----------
"Core" plugin - required by org and exchange plugin.

It manages a list of dated events with a state (TODO, DONE, etc.) in a common
format. For this events, it generates notifications and agenda views.

Planned: Incremental search over events.

Org
-----------
Reads org files and feeds events into the calendar. Handles command to take
notes.

Planned: changing state of tasks, rescheduling, smarter capture.

Exchange
-----------
Fills calendar with events from your company's Exchange. Detects those set by
you, and with your required and optional attendance.

Planned: detecting new events.

Planned: Shell
-----------
Execute a configured shell command on request. Enable/disable alarms, control
music, etc.


Setup
===========
Tested with Python 3.5 and 3.6.

1. pip3 install orgassist
2. assist.py --generate-config
3. emacs/vim ~/.org/orgassist.yml - configure XMPP accounts, boss JID, org-mode
directory, etc. See comments in the config file for ideas.
3. Run bot: $ assist.py --config ~/.org/orgassist.yml

Developing own plugins
==========
See `example_plugin.py` for an example and showcase of the API. You can develop
plugins using the PyPI version of orgassist by specifying config parameters
`plugins_path` and `plugins`.

Architecture
-------
Single orgassist instance can have multiple interfaces (xmpp, irc) with multiple
assistants connected to them. Each assistant handles a single "boss" -
identified by JID or irc nick/realname. Each assistant can have different
plugins enabled, with different configuration and state.

/- Calendar Plugin
Interfaces --> | Assistant 1 (Boss JID 1) -+
(xmpp, irc) | state, config \- Org plugin
|
| /- Calendar plugin
| Assistant 2 (JID 2) ------+
| \- Org plugin, OWA Plugin
| Assistant 3 ---> etc.


License
=======
License: MIT License.
Author: Tomasz Fortuna, 2019.
Contact: bla@thera.be

Orgassist includes an external MIT-licensed module "orgnode" by Albin Stjerna,
Takafumi Arakaki, and Charles Cave (https://github.com/albins/orgnode.git).
Edited by myself to cleanup API and fix some problems.


Metadata

Release files for orgassist 0.4.0

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

Source distribution (sdist)

Source distribution for orgassist 0.4.0
File Size Uploaded
orgassist-0.4.0.tar.gz 34.9 kB Details

Built distribution (wheel)

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

Total release size: 89.1 kB

Release files / orgassist-0.4.0.tar.gz

Download URL orgassist-0.4.0.tar.gz
Size 34.9 kB
Tags Source
SHA-256 checksum
How to use checksums
36e1674b975449c972612fb98d9524f7c6cb005f5fec7ead85cfad68217e4d00
BLAKE2b-256 checksum
How to use checksums
a2c75acf3e086008d7d8ec3c5b2ded205e70ab8c72a12b79f8196bb8c2a46445
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / orgassist-0.4.0-py3-none-any.whl

Download URL orgassist-0.4.0-py3-none-any.whl
Size 54.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d903489b68891ee8316f0c136d3ecb5cc9c6de433a4dccd13a8f1d34a9193036
BLAKE2b-256 checksum
How to use checksums
c5b302d1847bcdf6d1bd8b43e8e408396d95467387e8fc836c52bc02d061004d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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