{ "info": { "author": "Hanjun Kim", "author_email": "hallazzang@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Communications :: Email", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "gmaily\n======\n\nPythonic Gmail client (WIP)\n\nFeatures\n--------\n\n- [x] Clean API\n- [x] No other dependencies than standard libraries\n- [x] Supports all of the ``SEARCH`` criteria\n- [-] Supports access to all of the ``HEADER`` fields via attributes\n- [ ] Lazy loading for contents\n\nExample\n-------\n\n.. code:: python\n\n import sys\n import getpass\n import datetime\n\n from gmaily import Gmaily\n\n g = Gmaily()\n\n user_email = input('Email: ')\n user_pw = getpass.getpass()\n\n if not g.login(user_email, user_pw):\n print('Cannot login')\n sys.exit(1)\n\n msgs = g.inbox().after(datetime.date.today() - datetime.timedelta(weeks=2))\n for msg in msgs.all():\n print('\\n' + (' Mail UID: %d ' % msg.uid).center(80, '=') + '\\n')\n print('Subject:', msg.subject)\n print('From:', msg.sender)\n print('Date:', msg.date)\n print('Attachments:', msg.attachments)\n\n print('-' * 10)\n print(msg.text)\n\n g.logout()\n\nUsage\n-----\n\nSearching Mailbox\n~~~~~~~~~~~~~~~~~\n\n``SearchQuery``, which is returned by some methods like ``Gmaily.inbox``\nsupports method chaining and you can easily mix search criterias together:\n\n.. code:: python\n\n two_weeks_ago = datetime.date.today() - datetime.timedelta(weeks=2)\n msgs = g.inbox().by('john@example.com').before(two_weeks_ago)\n\nAlternatively, you can use other mailboxes than ``INBOX`` in the above example\nusing ``Gmaily.mailbox`` method:\n\n.. code:: python\n\n msgs = g.mailbox('URGENT').on(datetime.date.today())\n\nYou can then execute the query and fetch the results using ``SearchQuery.all``:\n\n.. code:: python\n\n print(msgs.all())\n\nYou can find the full list of supported criterias and their description at `here\n`_. Note that ``ALL`` criteria\nis not present because it's the default criteria and ``SearchQuery.all`` stands\nfor executing the query. Any other names like ``.fetch()``, ``.do()`` could be\ntaken the place, but I chose the ``.all()`` because it looks similar than famous\nORMs'.\n\nAnd some other criterias are omitted too:\n\n- ``NOT``\n- ``OR``\n- ``UID``\n\nInstallation\n------------\n\nCurrently it requires Python 3.\n\n.. code:: bash\n\n $ pip install gmaily\n\nLicense\n-------\n\nMIT\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hallazzang/gmaily", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "gmaily", "package_url": "https://pypi.org/project/gmaily/", "platform": "any", "project_url": "https://pypi.org/project/gmaily/", "project_urls": { "Homepage": "https://github.com/hallazzang/gmaily" }, "release_url": "https://pypi.org/project/gmaily/0.0.2/", "requires_dist": null, "requires_python": ">=3", "summary": "Pythonic Gmail client", "version": "0.0.2" }, "last_serial": 3528730, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "75cb1b0c8dd158650bed10b6e8b20d30", "sha256": "f7e778404d1b41a790603aef28c8df22da0b6d13ffafd85f21ccd688b87644ed" }, "downloads": -1, "filename": "gmaily-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "75cb1b0c8dd158650bed10b6e8b20d30", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 4479, "upload_time": "2018-01-27T07:46:49", "url": "https://files.pythonhosted.org/packages/cb/b7/991bbf9796ca49323b3c531b7139832d31bdb8e40cdb9471b02fbcc900b3/gmaily-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f8954aa4ea0beb485b0f636b5371f479", "sha256": "472519d59fa4403051b213a615231a00e434e19dc604d91580ba8def9503bfab" }, "downloads": -1, "filename": "gmaily-0.0.1.tar.gz", "has_sig": false, "md5_digest": "f8954aa4ea0beb485b0f636b5371f479", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 3047, "upload_time": "2018-01-27T07:46:50", "url": "https://files.pythonhosted.org/packages/b8/82/f381b4b0f775ee6127982c495cd55077d2a4379ca9ecbec57b6eabbf72ac/gmaily-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "5b32d30cbbc905c180130c30953c90d1", "sha256": "11cd13c4e5e02e35f92d12e0bf29b397c0fa39af74e990ae5df27c43b6c84c8c" }, "downloads": -1, "filename": "gmaily-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5b32d30cbbc905c180130c30953c90d1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 5832, "upload_time": "2018-01-28T09:47:40", "url": "https://files.pythonhosted.org/packages/94/dc/2219dad5c4a22a66d0aa4dddf00c508216dc2649a928a3ec580d08197805/gmaily-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da8cab2d9f2bde13bddf3d59d302da3b", "sha256": "27cb9ef6eb1a7e3bc32d91ef17eb6089a067ecee279db0420ce502893ba4e5cd" }, "downloads": -1, "filename": "gmaily-0.0.2.tar.gz", "has_sig": false, "md5_digest": "da8cab2d9f2bde13bddf3d59d302da3b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 3964, "upload_time": "2018-01-28T09:47:44", "url": "https://files.pythonhosted.org/packages/d5/c3/4448819fa6240a4ca032ac6e7a03b3ed9855513f86b512bfe870f677e11d/gmaily-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5b32d30cbbc905c180130c30953c90d1", "sha256": "11cd13c4e5e02e35f92d12e0bf29b397c0fa39af74e990ae5df27c43b6c84c8c" }, "downloads": -1, "filename": "gmaily-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5b32d30cbbc905c180130c30953c90d1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 5832, "upload_time": "2018-01-28T09:47:40", "url": "https://files.pythonhosted.org/packages/94/dc/2219dad5c4a22a66d0aa4dddf00c508216dc2649a928a3ec580d08197805/gmaily-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da8cab2d9f2bde13bddf3d59d302da3b", "sha256": "27cb9ef6eb1a7e3bc32d91ef17eb6089a067ecee279db0420ce502893ba4e5cd" }, "downloads": -1, "filename": "gmaily-0.0.2.tar.gz", "has_sig": false, "md5_digest": "da8cab2d9f2bde13bddf3d59d302da3b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 3964, "upload_time": "2018-01-28T09:47:44", "url": "https://files.pythonhosted.org/packages/d5/c3/4448819fa6240a4ca032ac6e7a03b3ed9855513f86b512bfe870f677e11d/gmaily-0.0.2.tar.gz" } ] }