{ "info": { "author": "Eric Davis, Brian Hartvigsen, Joshua Crowgey", "author_email": "edavis@insanum.com, brian.andrew@brianandjenny.com, jcrowgey@uw.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3" ], "description": "gcalcli\n=======\n\n`Build Status `__\n\nGoogle Calendar Command Line Interface\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\ngcalcli is a Python application that allows you to access your Google Calendar(s) from a command line. It's easy to get your agenda, search for events, add new events, delete events, edit events, see recently updated events, and even import those annoying ICS/vCal invites from Microsoft Exchange and/or other sources. Additionally, gcalcli can be used as a reminder service and execute any application you want when an event is coming up.\n\ngcalcli uses the `Google Calendar API version 3 `__.\n\nRequirements\n------------\n\n- `Python `__ (2.7, 3+)\n- `dateutil `__\n- `Google API Client `__\n- `httplib2 `__\n- `oauth2client `__\n- `six `__\n- `parsedatetime `__\n- A love for the command line!\n\nOptional packages\n~~~~~~~~~~~~~~~~~\n\n- `vobject `__ Python module Used for ics/vcal importing.\n\nInstallation\n------------\n\nCheck your OS distribution for packages.\n\nDebian/Ubuntu\n~~~~~~~~~~~~~\n\n.. code:: sh\n\n apt-get install gcalcli\n\nInstall using `Nix `__\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: sh\n\n nix-env -i gcalcli\n\nInstall from PyPI\n~~~~~~~~~~~~~~~~~\n\n.. code:: sh\n\n pip install gcalcli\n\nInstall from source\n~~~~~~~~~~~~~~~~~~~\n\n.. code:: sh\n\n git clone https://github.com/insanum/gcalcli.git\n cd gcalcli\n python setup.py install\n\nInstall optional package\n~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: sh\n\n pip install vobject\n\nFeatures\n--------\n\n- OAuth2 authention with your Google account\n- list your calendars\n- show an agenda using a specified start/end date and time\n- show updates since a specified datetime for events between a start/end date and time\n- ascii text graphical calendar display with variable width\n- search for past and/or future events\n- \"quick add\" new events to a specified calendar\n- \"add\" a new event to a specified calendar (interactively or automatically)\n- \"delete\" event(s) from a calendar(s) (interactively or automatically)\n- \"edit\" event(s) interactively\n- import events from ICS/vCal files to a specified calendar\n- easy integration with your favorite mail client (attachment handler)\n- run as a cron job and execute a command for reminders\n- work against specific calendars (by calendar name w/ regex)\n- flag file support for specifying option defaults\n- colored output and unicode character support\n- super fun hacking with shell scripts, cron, screen, tmux, conky, etc\n\nScreenshots\n-----------\n\n|gcalcli 5|\n\n|gcalcli 1|\n\n|gcalcli 2|\n\n|gcalcli 3|\n\n|gcalcli 4|\n\nHowTo\n-----\n\nUsage\n^^^^^\n\n``gcalcli`` provides a series of subcommands with the following functionality:\n\n::\n\n list list available calendars\n edit edit calendar events\n agenda get an agenda for a time period\n updates get updates since a datetime for a time period\n calw get a week-based agenda in calendar format\n calm get a month agenda in calendar format\n quick quick-add an event to a calendar\n add add a detailed event to the calendar\n import import an ics/vcal file to a calendar\n remind execute command if event occurs within time\n\nSee the manual (``man (1) gcalcli``), or run with ``--help``/``-h`` for detailed usage.\n\nLogin Information\n^^^^^^^^^^^^^^^^^\n\nOAuth2 is used for authenticating with your Google account. The resulting token is placed in the ~/.gcalcli_oauth file. When you first start gcalcli the authentication process will proceed. Simply follow the instructions.\n\nIf desired, you can use your own Calendar API instead of the default API values. *NOTE*: these steps are optional!\n\n- Go to the `Google developer console `__\n- Make a new project for gcalcli\n- On the sidebar under APIs & Auth, click APIs\n- Enable the Calendar API\n- On the sidebar click Credentials\n- Create a new Client ID. Set the type to Installed Application and the subtype to Other. You will be asked to fill in some consent form information, but what you put here isn't important. It's just what will show up when gcalcli opens up the OAuth website. Anything optional can safely be left blank.\n- Go back to the credentials page and grab your ID and Secret.\n- If desired, add the client_id and client_secret to your .gcalclirc:\n\n ::\n\n --client_id=xxxxxxxxxxxxxxx.apps.googleusercontent.com\n --client_secret=xxxxxxxxxxxxxxxxx\n\n- Remove your existing OAuth information (typically ~/.gcalcli_oauth).\n- Run gcalcli with any desired argument, making sure the new client_id and client_secret are passed on the command line or placed in your .gcalclirc. The OAuth authorization page should be opened automatically in your default browser.\n\nHTTP Proxy Support\n^^^^^^^^^^^^^^^^^^\n\ngcalcli will automatically work with an HTTP Proxy simply by setting up some environment variables used by the gdata Python module:\n\n::\n\n http_proxy\n https_proxy\n proxy-username or proxy_username\n proxy-password or proxy_password\n\nNote that these environment variables must be lowercase.\n\nFlag File\n^^^^^^^^^\n\n``gcalcli`` is able to read default configuration information from a flag file. This file is located, by default, at '~/.gcalclirc'. The flag file takes one command line parameter per line.\n\nIn the current version, the flag file only supports the global options (options against the ``gcalcli`` program itself). The plan, longer term, is to support a a configuration formation (probably toml or ini), which will allow for configuration of subcommands (such as ``add``, ``agenda``, ``calw``, etc.)\n\nExample:\n\n::\n\n --nocache\n --nocolor\n --default-calendar=CALENDAR_NAME\n --client-secret=API_KEY\n\nNote that long options require an equal sign if specifying a parameter. With short options the equal sign is optional.\n\nConfiguration Folders\n^^^^^^^^^^^^^^^^^^^^^\n\ngcalcli is able to store all its necessary information in a specific folder (use the --configFolder option.) Each folder will contain 2 files: oauth and cache. An optional 3rd file, gcalclirc, can be present for specific flags that you only want to apply when using this configuration folder.\n\nImporting VCS/VCAL/ICS Files from Exchange (or other)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nImporting events from files is easy with gcalcli. The 'import' command accepts a filename on the command line or can read from standard input. Here is a script that can be used as an attachment handler for Thunderbird or in a mailcap entry with Mutt (or in Mutt you could just use the attachment viewer and pipe command):\n\n.. code:: sh\n\n #!/bin/bash\n\n TERMINAL=evilvte\n CONFIG=~/.gcalclirc\n\n $TERMINAL -e bash -c \"echo 'Importing invite...' ; \\\n gcalcli --detail-url=short \\\n --calendar='Eric Davis' \\\n import -v \\\"$1\\\" ; \\\n read -p 'press enter to exit: '\"\n\nNote that with Thunderbird you'll have to have the 'Show All Body Parts' extension installed for seeing the calendar attachments when not using 'Lightning'. See this `bug report `__ for more details.\n\nEvent Popup Reminders\n^^^^^^^^^^^^^^^^^^^^^\n\nThe 'remind' command for gcalcli is used to execute any command as an event notification. This can be a notify-send or an xmessage-like popup or whatever else you can think of. gcalcli does not contain a daemon so you'll have to use some other tool to ensure gcalcli is run in a timely manner for notifications. Two options are using cron or a loop inside a shell script.\n\nCron:\n\n.. code:: sh\n\n % crontab -l\n */10 * * * * /usr/bin/gcalcli remind\n\nShell script like your .xinitrc so notifications only occur when you're logged in via X:\n\n.. code:: sh\n\n #!/bin/bash\n\n [[ -x /usr/bin/dunst ]] && /usr/bin/dunst -config ~/.dunstrc &\n\n if [ -x /usr/bin/gcalcli ]; then\n while true; do\n /usr/bin/gcalcli --calendar=\"davis\" remind\n sleep 300\n done &\n fi\n\n exec herbstluftwm # :-)\n\nBy default gcalcli executes the notify-send command for notifications. Most common Linux desktop enviroments already contain a DBUS notification daemon that supports libnotify so it should automagically just work. If you're like me and use nothing that is common I highly recommend the `dunst `__ dmenu'ish notification daemon.\n\nNote that each time you run this you will get a reminder if you're still inside the event duration. Also note that due to time slip between machines, gcalcli will give you a ~5 minute margin of error. Plan your cron jobs accordingly.\n\nAgenda On Your Root Desktop\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nPut your agenda on your desktop using `Conky `__. The '--conky' option causes gcalcli to output Conky color sequences. Note that you need to use the Conky 'execpi' command for the gcalcli output to be parsed for color sequences. Add the following to your .conkyrc:\n\n::\n\n ${execpi 300 gcalcli --conky agenda}\n\nTo also get a graphical calendar that shows the next three weeks add:\n\n::\n\n ${execpi 300 gcalcli --conky calw 3}\n\nYou may need to increase the ``text_buffer_size`` in your conkyrc file. Users have reported that the default of 256 bytes is too small for busy calendars.\n\nAdditionaly you need to set ``--lineart=unicode`` to output unicode-characters for box drawing. To avoid misaligned borders use a monospace font like 'DejaVu Sans Mono'. On Python2 it might be necessary to set the environment variable ``PYTHONIOENCODING=utf8`` if you are using characters beyond ascii. For example:\n\n::\n\n ${font DejaVu Sans Mono:size=9}${execpi 300 export PYTHONIOENCODING=utf8 && gcalcli --conky --lineart=unicode calw 3}\n\nAgenda Integration With tmux\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nPut your next event in the left of your 'tmux' status line. Add the following to your tmux.conf file:\n\n::\n\n set-option -g status-interval 60\n set-option -g status-left \"#[fg=blue,bright]#(gcalcli agenda | head -2 | tail -1)#[default]\"\n\nAgenda Integration With screen\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nPut your next event in your 'screen' hardstatus line. First add a cron job that will dump you agenda to a text file:\n\n::\n\n % crontab -e\n\nThen add the following line:\n\n::\n\n */5 * * * * gcalcli --nocolor --nostarted agenda \"`date`\" > /tmp/gcalcli_agenda.txt\n\nNext create a simple shell script that will extract the first agenda line. Let's call this script 'screen_agenda':\n\n::\n\n #!/bin/bash\n head -2 /tmp/gcalcli_agenda.txt | tail -1\n\nNext configure screen's hardstatus line to gather data from a backtick command. Of course your hardstatus line is most likely very different than this (Mine is!):\n\n::\n\n backtick 1 60 60 screen_agenda\n hardstatus \"[ %1` ]\"\n\n.. |gcalcli 5| image:: https://github.com/insanum/gcalcli/raw/master/docs/gcalcli_5.png\n.. |gcalcli 1| image:: https://github.com/insanum/gcalcli/raw/master/docs/gcalcli_1.png\n.. |gcalcli 2| image:: https://github.com/insanum/gcalcli/raw/master/docs/gcalcli_2.png\n.. |gcalcli 3| image:: https://github.com/insanum/gcalcli/raw/master/docs/gcalcli_3.png\n.. |gcalcli 4| image:: https://github.com/insanum/gcalcli/raw/master/docs/gcalcli_4.png\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/insanum/gcalcli", "keywords": "", "license": "MIT", "maintainer": "Joshua Crowgey", "maintainer_email": "jcrowgey@uw.edu", "name": "gcalcli", "package_url": "https://pypi.org/project/gcalcli/", "platform": "", "project_url": "https://pypi.org/project/gcalcli/", "project_urls": { "Homepage": "https://github.com/insanum/gcalcli" }, "release_url": "https://pypi.org/project/gcalcli/4.2.0/", "requires_dist": [ "python-dateutil", "google-api-python-client (>=1.4)", "httplib2", "oauth2client", "parsedatetime", "six", "vobject ; extra == 'vobject'" ], "requires_python": "", "summary": "Google Calendar Command Line Interface", "version": "4.2.0" }, "last_serial": 5833918, "releases": { "3.1": [ { "comment_text": "", "digests": { "md5": "389c50f15463ea154634bb035575a001", "sha256": "9bf7365cc2beb343ce73df58649c09d86e9851d75e8fc1c8fafb3135c88a6a98" }, "downloads": -1, "filename": "gcalcli-3.1.tar.gz", "has_sig": false, "md5_digest": "389c50f15463ea154634bb035575a001", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25685, "upload_time": "2014-12-04T05:16:01", "url": "https://files.pythonhosted.org/packages/b6/24/f09cca05c81eafb65000858fd43707ce7a8866bfe555c00e89388c6b88cb/gcalcli-3.1.tar.gz" } ], "3.2": [ { "comment_text": "", "digests": { "md5": "5deba37645e07bc59c51d76b92da0697", "sha256": "1a4dda5f0871846c45a5864114724a423e33d5942f933d83c57467589246ac01" }, "downloads": -1, "filename": "gcalcli-3.2.tar.gz", "has_sig": false, "md5_digest": "5deba37645e07bc59c51d76b92da0697", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26001, "upload_time": "2014-12-17T01:52:40", "url": "https://files.pythonhosted.org/packages/0c/5a/7b21d0d5d0fc2b23e1eba204b4149565d5879ab6e04ed69a44e3b4b52810/gcalcli-3.2.tar.gz" } ], "3.3": [ { "comment_text": "", "digests": { "md5": "7d4e194599054ed9777012e3c1b91116", "sha256": "026bcdf69a2a6d6a49c6b3735357fba139a6a64f014643ba33ce7be776a6c50c" }, "downloads": -1, "filename": "gcalcli-3.3.tar.gz", "has_sig": false, "md5_digest": "7d4e194599054ed9777012e3c1b91116", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27063, "upload_time": "2015-06-11T09:18:08", "url": "https://files.pythonhosted.org/packages/db/07/4db2fd2176945ebaebf6e6f4232aa78f914c16e890a5000077e62b6d0160/gcalcli-3.3.tar.gz" } ], "3.3.1": [ { "comment_text": "", "digests": { "md5": "0997a881ca89484256bb31a2c70eb69a", "sha256": "5f253be3fb82b35062b02f86b79e14f356682d9d71b7ff0baddf9607b75cba1f" }, "downloads": -1, "filename": "gcalcli-3.3.1.tar.gz", "has_sig": false, "md5_digest": "0997a881ca89484256bb31a2c70eb69a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27750, "upload_time": "2015-09-08T00:14:10", "url": "https://files.pythonhosted.org/packages/98/33/00b34547113397e1128b26f73d57fea573b4eee48bc01ebdce4dacecd985/gcalcli-3.3.1.tar.gz" } ], "3.3.2": [ { "comment_text": "", "digests": { "md5": "65b76ef79e3f0b0a1baa82050dbb250c", "sha256": "72d6344638bf6edfc18321d955aecbff9bb548e7cc7addab21716a01df07867b" }, "downloads": -1, "filename": "gcalcli-3.3.2.tar.gz", "has_sig": false, "md5_digest": "65b76ef79e3f0b0a1baa82050dbb250c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21518, "upload_time": "2015-09-14T05:33:26", "url": "https://files.pythonhosted.org/packages/75/24/d160f4314a9b6503efeb9e8c66da89290404853e26315fe54114202f0109/gcalcli-3.3.2.tar.gz" } ], "3.4.0": [ { "comment_text": "", "digests": { "md5": "b9a1b0cc80baa76510f1e5d34bc955f6", "sha256": "80f5884b5ceea556728b3ccb9bdee050d51973ecfda38c3e97820b58e68b19dc" }, "downloads": -1, "filename": "gcalcli-3.4.0.tar.gz", "has_sig": false, "md5_digest": "b9a1b0cc80baa76510f1e5d34bc955f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1682942, "upload_time": "2016-08-26T22:11:32", "url": "https://files.pythonhosted.org/packages/14/1f/4f4d50f1de1f703bf7f679d151e9045dadb8de976d6b4849292aebb695cf/gcalcli-3.4.0.tar.gz" } ], "4.0.0": [ { "comment_text": "", "digests": { "md5": "15e68ae5e1ef434ed344dcf9f13a237f", "sha256": "2ede47b3023508848b6b244349b47381fc58657943e673d8304c838c6b53878a" }, "downloads": -1, "filename": "gcalcli-4.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "15e68ae5e1ef434ed344dcf9f13a237f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29954, "upload_time": "2019-02-08T06:52:06", "url": "https://files.pythonhosted.org/packages/bc/4e/0762ef321f523ea11dbf97d87fb2c40d4b5e44cfe19183cf265ce1446dc7/gcalcli-4.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8a64be5164e71fe313d44fac721dfb1", "sha256": "8f3063d5ccbc283a81fc8cd4deb75f5852fb4b4de98896185e4d24fa6673c705" }, "downloads": -1, "filename": "gcalcli-4.0.0.tar.gz", "has_sig": false, "md5_digest": "d8a64be5164e71fe313d44fac721dfb1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1683159, "upload_time": "2019-02-08T06:52:10", "url": "https://files.pythonhosted.org/packages/e6/82/81f8d5d74b81de8ff8bcce56b45f19dc4b2eb989e8759817da830f1ed882/gcalcli-4.0.0.tar.gz" } ], "4.0.0a1": [ { "comment_text": "", "digests": { "md5": "260a46e925f33213b7881754f83f8c0f", "sha256": "0e43b7f44c3e344630c730f229301b7aa54da31812f9d413c323a7f142527fd6" }, "downloads": -1, "filename": "gcalcli-4.0.0a1.tar.gz", "has_sig": false, "md5_digest": "260a46e925f33213b7881754f83f8c0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1682127, "upload_time": "2016-08-26T22:03:52", "url": "https://files.pythonhosted.org/packages/9b/f3/6dfe20eb4e5c510941d20c4b9de2d3fda1ad0394e621de50f4451ef1935a/gcalcli-4.0.0a1.tar.gz" } ], "4.0.0a2": [ { "comment_text": "", "digests": { "md5": "a038af8a8f9cc51a86d04123fff68921", "sha256": "0d963e22f84767692e639fc3573902a74c85157349c9c6c968938192568a09a4" }, "downloads": -1, "filename": "gcalcli-4.0.0a2.tar.gz", "has_sig": false, "md5_digest": "a038af8a8f9cc51a86d04123fff68921", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1674642, "upload_time": "2016-08-29T08:15:10", "url": "https://files.pythonhosted.org/packages/57/f8/a5cf4247c1fc495b03bf81e4114caf3c290156613879a50d260014b60634/gcalcli-4.0.0a2.tar.gz" } ], "4.0.0a3": [ { "comment_text": "", "digests": { "md5": "672c65e4a2b9773ab81ea404845020d9", "sha256": "620c06449dab00514142d856e89e20c9e1331598cf1bbe9c96cb3eef9903ffc3" }, "downloads": -1, "filename": "gcalcli-4.0.0a3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "672c65e4a2b9773ab81ea404845020d9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 35905, "upload_time": "2017-02-21T01:47:07", "url": "https://files.pythonhosted.org/packages/f4/8c/20e1f23c496ab89edc328862650f2347a179149e2cf65061d3d90418a123/gcalcli-4.0.0a3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "48ada523dd951ff1440af8739b06bded", "sha256": "985d31d4a63d4a786610434f606092dc323e9b33bb7d55bdf10fc02eb6a58d1f" }, "downloads": -1, "filename": "gcalcli-4.0.0a3.tar.gz", "has_sig": false, "md5_digest": "48ada523dd951ff1440af8739b06bded", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1682736, "upload_time": "2017-02-21T01:47:13", "url": "https://files.pythonhosted.org/packages/85/32/d0fbacb10fc52048619b83a8e22533999a11073ba2230375fb8c3421e5f7/gcalcli-4.0.0a3.tar.gz" } ], "4.0.0a4": [ { "comment_text": "", "digests": { "md5": "31eb0fb2ef12bc44e4940ac11f3ee94c", "sha256": "d957b0876901213204ea03a3f2e1c997f210449ef8996ff4a8513dc09d1e5ac1" }, "downloads": -1, "filename": "gcalcli-4.0.0a4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "31eb0fb2ef12bc44e4940ac11f3ee94c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 36114, "upload_time": "2018-03-26T04:16:16", "url": "https://files.pythonhosted.org/packages/c8/80/0d384f955ebb45991ffd696a46062d6603cebba1dd6fd66ba2eccba20e10/gcalcli-4.0.0a4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ce3c2ec623b88a27c1aa41f7635d0f4f", "sha256": "fad1eab7532ed970238ea973f1697117b9360e89100cf7dfae975fc12061fbcb" }, "downloads": -1, "filename": "gcalcli-4.0.0a4.tar.gz", "has_sig": false, "md5_digest": "ce3c2ec623b88a27c1aa41f7635d0f4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1687787, "upload_time": "2018-03-26T04:16:20", "url": "https://files.pythonhosted.org/packages/9b/44/989d3b568d052f90e26e25229eece622400b08594b1014e8b8a61e159350/gcalcli-4.0.0a4.tar.gz" } ], "4.0.1": [ { "comment_text": "", "digests": { "md5": "d0898b1a58a533559851a1552edc47e1", "sha256": "28542b98282940876f7aa816938bd276fd3c3e4f878f73f9aeeccc7e39a2dc4a" }, "downloads": -1, "filename": "gcalcli-4.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d0898b1a58a533559851a1552edc47e1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34239, "upload_time": "2019-02-08T07:08:17", "url": "https://files.pythonhosted.org/packages/28/f9/1af6417a5de94663fc2441a5415e48cf56515d287d280e31f6175a59297d/gcalcli-4.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5471db0885862b0396892e933d88cff", "sha256": "7e77798716d0c29556acaf4785b6bc67b5bf52677fe1deff1e8d1f0acf67ac4e" }, "downloads": -1, "filename": "gcalcli-4.0.1.tar.gz", "has_sig": false, "md5_digest": "b5471db0885862b0396892e933d88cff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1684809, "upload_time": "2019-02-08T07:08:21", "url": "https://files.pythonhosted.org/packages/8c/c4/2caaccb8beb32a948945dd2e290bc50d33ee0354ac8ff75e931c776aa8a8/gcalcli-4.0.1.tar.gz" } ], "4.0.2": [ { "comment_text": "", "digests": { "md5": "c8626408fb72be3fe84133cb1614b3cb", "sha256": "f59157eec927db5ef0075c1ad9ac4ea05da7683980edce2b681db9d9a70bc5ee" }, "downloads": -1, "filename": "gcalcli-4.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c8626408fb72be3fe84133cb1614b3cb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34241, "upload_time": "2019-02-08T07:26:04", "url": "https://files.pythonhosted.org/packages/06/38/3ed32776b0e52704b70212eb8d8c92034bb7ba777f311a4d560931b99983/gcalcli-4.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7feda357b9cdc36c939660c71f87692", "sha256": "f0550b32e947ef01624761219fca3ab7139bdf644353db46c9c1bb2f5964b6d7" }, "downloads": -1, "filename": "gcalcli-4.0.2.tar.gz", "has_sig": false, "md5_digest": "a7feda357b9cdc36c939660c71f87692", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1684819, "upload_time": "2019-02-08T07:26:08", "url": "https://files.pythonhosted.org/packages/b9/f7/e36b13c00942fedc9d426085b7d9eedb9ee38056512968cb2825c7d50f1e/gcalcli-4.0.2.tar.gz" } ], "4.0.3": [ { "comment_text": "", "digests": { "md5": "845d17230037a6ce71469bfb0ae1bd9a", "sha256": "9c6a05f9e788be914b6da186eedb24aefdd8fa3a1fdda4f15e3822af36b906f3" }, "downloads": -1, "filename": "gcalcli-4.0.3.tar.gz", "has_sig": false, "md5_digest": "845d17230037a6ce71469bfb0ae1bd9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1683655, "upload_time": "2019-02-11T18:41:01", "url": "https://files.pythonhosted.org/packages/ae/fd/28e4eeb79d1315b5120d1ea5490b5d990e7a538d6917127d7d1f7f9c1798/gcalcli-4.0.3.tar.gz" } ], "4.1.0": [ { "comment_text": "", "digests": { "md5": "8b2e36b14234749f12e2254b89d0506a", "sha256": "a67ea923c171a8ad7c93109312888de5014024af2069aeb444425a77599b2e80" }, "downloads": -1, "filename": "gcalcli-4.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8b2e36b14234749f12e2254b89d0506a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 33990, "upload_time": "2019-04-19T03:47:25", "url": "https://files.pythonhosted.org/packages/87/48/a8227cd8a0ad74f7f0d86cc4d015bd9a834c662f4e23676dc2f640577849/gcalcli-4.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ec407911fba2b4f2d7dd9ce8d2b15866", "sha256": "8aeacab5d6022c202c76eeabf57a7fd35a36c956903fba473c507bcffc32b621" }, "downloads": -1, "filename": "gcalcli-4.1.0.tar.gz", "has_sig": false, "md5_digest": "ec407911fba2b4f2d7dd9ce8d2b15866", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1683707, "upload_time": "2019-04-19T03:47:33", "url": "https://files.pythonhosted.org/packages/2e/68/8f90d55b40477f8b5b94ab1040f1e4fa24f12df00cbe255e924f586f19bf/gcalcli-4.1.0.tar.gz" } ], "4.1.1": [ { "comment_text": "", "digests": { "md5": "4e98ea3f0c8155e3a2b38197cc1885b3", "sha256": "dad2b5b5eb4cfc1683a4145035d6c829e7d2587440283d25a07527b601480786" }, "downloads": -1, "filename": "gcalcli-4.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4e98ea3f0c8155e3a2b38197cc1885b3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34063, "upload_time": "2019-05-30T04:47:06", "url": "https://files.pythonhosted.org/packages/48/96/48b2fad714d9dd73638b86a200f1999605a181944091d2b018ef19365367/gcalcli-4.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9bbc9d0069a9660e5b9120ad533e1093", "sha256": "354748e9c3e405edeaf5f9443f3e7b0311f27e87211387faa0befc6d91322705" }, "downloads": -1, "filename": "gcalcli-4.1.1.tar.gz", "has_sig": false, "md5_digest": "9bbc9d0069a9660e5b9120ad533e1093", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1683941, "upload_time": "2019-05-30T04:47:10", "url": "https://files.pythonhosted.org/packages/9a/c3/8349b22c619c2240a4ece1cf5fd9a93149cf7dd6a7bd5a245cbe57f74677/gcalcli-4.1.1.tar.gz" } ], "4.2.0": [ { "comment_text": "", "digests": { "md5": "5d2323120c9cfcbcf9e0ba0c49895cae", "sha256": "4d6540b3d633164bb1639d112aff9ccd4a6930f3b5c1301549a5974804d4fae2" }, "downloads": -1, "filename": "gcalcli-4.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5d2323120c9cfcbcf9e0ba0c49895cae", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 35101, "upload_time": "2019-09-16T04:20:25", "url": "https://files.pythonhosted.org/packages/2c/bc/084f9c8e56cccf91383d882d16e3f38370a878a81f8911875137f0e64a07/gcalcli-4.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "793c023a9ea1c7640b19da31b2276e5f", "sha256": "6229dd4e6c500e749a9e443dfdd7e20b4dfc2759228b6045022e6f14e12d5346" }, "downloads": -1, "filename": "gcalcli-4.2.0.tar.gz", "has_sig": false, "md5_digest": "793c023a9ea1c7640b19da31b2276e5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1685008, "upload_time": "2019-09-16T04:20:30", "url": "https://files.pythonhosted.org/packages/82/a5/a1d598219b87cc00b200466d3c9ac6cd8569c6199ceeab9a23b8de412b23/gcalcli-4.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5d2323120c9cfcbcf9e0ba0c49895cae", "sha256": "4d6540b3d633164bb1639d112aff9ccd4a6930f3b5c1301549a5974804d4fae2" }, "downloads": -1, "filename": "gcalcli-4.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5d2323120c9cfcbcf9e0ba0c49895cae", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 35101, "upload_time": "2019-09-16T04:20:25", "url": "https://files.pythonhosted.org/packages/2c/bc/084f9c8e56cccf91383d882d16e3f38370a878a81f8911875137f0e64a07/gcalcli-4.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "793c023a9ea1c7640b19da31b2276e5f", "sha256": "6229dd4e6c500e749a9e443dfdd7e20b4dfc2759228b6045022e6f14e12d5346" }, "downloads": -1, "filename": "gcalcli-4.2.0.tar.gz", "has_sig": false, "md5_digest": "793c023a9ea1c7640b19da31b2276e5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1685008, "upload_time": "2019-09-16T04:20:30", "url": "https://files.pythonhosted.org/packages/82/a5/a1d598219b87cc00b200466d3c9ac6cd8569c6199ceeab9a23b8de412b23/gcalcli-4.2.0.tar.gz" } ] }