Skip to content

fernand0/manage-agenda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

manage-agenda

PyPI Changelog Tests License

A tool for adding entries on my Google Calendar from email messages

Steps of an execution.

When running (in ineractive mode, -i True) with:

uv run manage-agenda add -i True 
  1. Asks for the selection of some AI

    Local/mistral/gemini model )(l/m/g)? 
    

    Let us choose, for instance, (g)emini.

  2. Asks to choose one of the available models.

    image

    ...

    image

    It has a default selection. Let us suppose that we push [Enter].

  3. Then we can select one of the configured email accounts.

    Rules:
    0) ('gmail', 'set', 'fernand0@elmundoesimperfecto', 'posts')
    1) ('gmail', 'set', 'fernand0@elmundoesimperfecto.com', 'drafts')
    1) ('gmail', 'set', 'otherOne@elmundoesimperfecto.com', 'posts')
    

    We can select the first one, for example.

  4. It will read the messages tagged with zAgenda (it can be selected)

  5. Extracts the content of each message and sends an adequate prompt to the selected AI. It will return a json formatted event suitable for Google calendar.

  6. Asks to choose a Google calendar account.

    Rules:
    0) ('gcalendar', 'set', 'fernand0@elmundoesimperfecto.com', 'posts')
    1) ('gcalendar', 'set', 'otherOne@elmundoesimperfecto.com', 'posts')
    

    Let us suppose that we choose the first one.

  7. It will show the subject of the message and it will ask to choose the calendar to enter the event.

    Subject: (some subject)
    
    0) Work
    1) Leissure 
    2) Meetings
    ...
    6) Others
    Selection 
    
  8. It will ask if we want to delete the tag.

    Delete tag? (Press Enter to continue)
    

It will repeat the last four steps for each message with the tag.

Dependencies

It relies on:

  • Module socialModules for reading in your gmail account and writing in your google calendar (needs configuration).

At this moment it can use several AI modules:

All of them need some configuration (provided in their respective sites)

Installation

git clone git@github.com:fernand0/manage-agenda.git

It can not be installed via pip (does it make sense in such a raw state?).

This is my first attempt at using click (using click-app cookiecutter template some parts will not work.

Usage

The easiest way to run it is to use uv.

For example, for help, run:

uv run manage-agenda --help

<--- For help, run:

manage-agenda --help

You can also use:

python -m manage_agenda --help

--->

Development

Tests check nothing but the correct structure of the project (using the template).

To contribute to this tool, first checkout the code. Then create a new virtual environment:

cd manage-agenda
python -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests:

python -m pytest

About

A tool for adding entries on my Google Calendar from email messages

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages