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.
===========
"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)
| File | Size | Uploaded | |
|---|---|---|---|
| orgassist-0.4.0.tar.gz | 34.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 |