{ "info": { "author": "Dudi Levy", "author_email": "dudil@users.noreply.github.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# py365\n## What is it?\nPython Library for App Development over MS Graph365\n\nThe concept is simple - look at the API docs and \"copy\" same structure. \nWhile not very \"pythonic\" (I would guess - what does it mean anyway?), \nit is easy to follow and go along:\nJust open the [official API reference](https://docs.microsoft.com/en-us/graph/api/overview?view=graph-rest-1.0)\n\n## What is it good for?\nIf you are using any of MS services you are getting to the point that automating things via code is the best way to unleash it true massive power.\n\nWhile you can use .net core and other services, scripting with python is still very convenient if all you need is just small or serveless scripts.\n\n### Target Python - 3.6\nSince this is the version used by Azure serverless engines.\n\n## How to use it?\n```bash\n$ pip install py365\n```\n\n```python\n# Graph365 is the main access point to the MS Graph\n# rsc is the graph resources we use to feed the graph API\nfrom py365 import Graph365, rsc\n\n#Connect to the tenant\ng365 = Graph365(appId=config['app_id'],\n appSecret=config['app_secret'],\n tenantId=config['tenant_id']) \n\n# Create new user \n# API doc: https://docs.microsoft.com/en-us/graph/api/user-post-users?view=graph-rest-1.0\nuser = rsc.User(displayName=\"Steve J\", userPrincipalName=\"steve.j@consotco.com\")\ng365.users.createUser(newUser=user)\n\n```\n\n## API implemented\n- [x] Create User (Partially)\n- [x] Get User (Partially)\n- [x] Update user (Partially)\n- [X] Send email\n- [X] Guest Invite\n\n## What is next? (ATM)\n- [ ] Modify online excel\n- [ ] Get Planner tasks\n- [ ] Add unit testings\n\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dudil/py365", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "py365", "package_url": "https://pypi.org/project/py365/", "platform": "", "project_url": "https://pypi.org/project/py365/", "project_urls": { "Homepage": "https://github.com/dudil/py365" }, "release_url": "https://pypi.org/project/py365/0.1.2/", "requires_dist": [ "adal (>=1.2.1)", "requests (>=2.21.0)", "urllib3 (>=1.24.2)" ], "requires_python": ">=3.6", "summary": "Python Library for App Development over MS Graph365", "version": "0.1.2" }, "last_serial": 5218319, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "bb1ab897fb954d0c4e0a0a44375331f2", "sha256": "4d3b003941a4d4a9f011286e72ab205862f81e88942f23d0b05b0f174cfba888" }, "downloads": -1, "filename": "py365-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bb1ab897fb954d0c4e0a0a44375331f2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 4264, "upload_time": "2019-04-07T09:33:56", "url": "https://files.pythonhosted.org/packages/09/b4/214a6b3b67883e76f139802e39dd6577abbbd5e5564e0305eac79595a9d0/py365-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b819cc3a54d7ea9181cfb08c31f3f1f", "sha256": "88158b74d6a343cf68022837865eb6dd9c5ba7399bb588840c56930bd16db7d0" }, "downloads": -1, "filename": "py365-0.0.1.tar.gz", "has_sig": false, "md5_digest": "6b819cc3a54d7ea9181cfb08c31f3f1f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 2586, "upload_time": "2019-04-07T09:33:58", "url": "https://files.pythonhosted.org/packages/97/c6/b9935b4e6317d2ef4fdafe73a3c1f1d41e7c731e4dab1db922c3d390d698/py365-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "e8b8afc57c3de3c359fa30775e6bf4c1", "sha256": "8289d134d50878ef771812fb409359bcbd2cbad5293920a60fe12dbbf2929e91" }, "downloads": -1, "filename": "py365-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e8b8afc57c3de3c359fa30775e6bf4c1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 10764, "upload_time": "2019-04-24T18:29:37", "url": "https://files.pythonhosted.org/packages/e6/f6/e46c8cc2ecd31907cedd8a39307c4edc9a98cb4e217164a0ce1bd5ad537a/py365-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c18414b86d67d46d81a03fe48d51bdbe", "sha256": "916fb6b22c736601e967d896d893ea11a295a10e0e7cf1de1728c6eab11fcec0" }, "downloads": -1, "filename": "py365-0.0.2.tar.gz", "has_sig": false, "md5_digest": "c18414b86d67d46d81a03fe48d51bdbe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5306, "upload_time": "2019-04-24T18:29:41", "url": "https://files.pythonhosted.org/packages/6f/de/4ca4e2df6afc1d44d56e111ce172c97827fb79a7b3377004ea60a85c2039/py365-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "295b89bb5c5ebf8a17fa87560e663980", "sha256": "ba0c5c73161e4417247008926474d65a0482ed9357c6b8324a1f81813b2d0eee" }, "downloads": -1, "filename": "py365-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "295b89bb5c5ebf8a17fa87560e663980", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 10764, "upload_time": "2019-04-24T18:29:38", "url": "https://files.pythonhosted.org/packages/d1/04/20be4006432601ed9dbbfac1324b179021b683b590efce22a142f09a6393/py365-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "051c35a190c54603fc4b09986b4e844f", "sha256": "19c4ee25f4b611b2308e2ae6d7bbc0104d6c52067f9c323b54aebbdaeef7b7ca" }, "downloads": -1, "filename": "py365-0.0.3.tar.gz", "has_sig": false, "md5_digest": "051c35a190c54603fc4b09986b4e844f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5303, "upload_time": "2019-04-24T18:29:42", "url": "https://files.pythonhosted.org/packages/72/21/79838528d8f5bf4f6f0b46673f59f6471292532e2ddb98c057e171fc25eb/py365-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "d47c1362021387d713cff30abf7337d0", "sha256": "f836de39ff438f7c2db289750d580cecc7ebd6cf8a13bb7c2b177c2014cdcff3" }, "downloads": -1, "filename": "py365-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "d47c1362021387d713cff30abf7337d0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 2644, "upload_time": "2019-04-24T22:50:29", "url": "https://files.pythonhosted.org/packages/b2/33/2bc981e49697e4c89adaa87ecc6cbf80f53755f554c122006d40d84fe3b6/py365-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "74e886491f2be4f8529d4020f5c52396", "sha256": "49673a6da5669e0819b8633d82e04263ff7a092ee07f54bb214209c1e2f32fdf" }, "downloads": -1, "filename": "py365-0.0.4.tar.gz", "has_sig": false, "md5_digest": "74e886491f2be4f8529d4020f5c52396", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3898, "upload_time": "2019-04-24T22:50:31", "url": "https://files.pythonhosted.org/packages/9f/02/46ca27674da49aca51dee053c688c3c732c5199649f65db503cf97ad2974/py365-0.0.4.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ddf828b6d7ff910444c63ce0271c0429", "sha256": "3a31a212cadbbaf99c1170acf9885b5b3b07c17e8a56d312eba44b56e8810986" }, "downloads": -1, "filename": "py365-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ddf828b6d7ff910444c63ce0271c0429", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 12653, "upload_time": "2019-04-26T21:47:22", "url": "https://files.pythonhosted.org/packages/3d/be/4b3244a44750690c22f511293d0a2229b137ff04356c0686e77c6c6202c7/py365-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d548e1f280aa9abd5da19f39cbec59f7", "sha256": "7460c79d18ce8f483c6f6d0264b6fb3d122a028dffd75eba3c8cd5368472a720" }, "downloads": -1, "filename": "py365-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d548e1f280aa9abd5da19f39cbec59f7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6955, "upload_time": "2019-04-26T21:47:24", "url": "https://files.pythonhosted.org/packages/79/aa/239852dabcbb48038b2704da256fcb7c3d129f3f619000a389cb27573131/py365-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "cfb2f441e4499d38e34f3f92fcb92d8f", "sha256": "163169b5d52c3bfdff12ad24a01ca82ff8f7bb7458fa9b00f44dabdfa342a327" }, "downloads": -1, "filename": "py365-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "cfb2f441e4499d38e34f3f92fcb92d8f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22670, "upload_time": "2019-05-02T16:57:31", "url": "https://files.pythonhosted.org/packages/57/0c/d2ea62f862a92c38f659c729f10c043af5e467ae258a45d12d38caffc39f/py365-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "38fc7e3004a69e7e3a91286c88f09539", "sha256": "4c8259cf793ac35c571e1725db3f926ba87fae0def6a3eb65729dda1871be580" }, "downloads": -1, "filename": "py365-0.1.2.tar.gz", "has_sig": false, "md5_digest": "38fc7e3004a69e7e3a91286c88f09539", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 9857, "upload_time": "2019-05-02T16:57:33", "url": "https://files.pythonhosted.org/packages/9a/1b/a5a1b8f4635aaa887f1712527b5fe950b591645e7c2300fc5916fa7800df/py365-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cfb2f441e4499d38e34f3f92fcb92d8f", "sha256": "163169b5d52c3bfdff12ad24a01ca82ff8f7bb7458fa9b00f44dabdfa342a327" }, "downloads": -1, "filename": "py365-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "cfb2f441e4499d38e34f3f92fcb92d8f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22670, "upload_time": "2019-05-02T16:57:31", "url": "https://files.pythonhosted.org/packages/57/0c/d2ea62f862a92c38f659c729f10c043af5e467ae258a45d12d38caffc39f/py365-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "38fc7e3004a69e7e3a91286c88f09539", "sha256": "4c8259cf793ac35c571e1725db3f926ba87fae0def6a3eb65729dda1871be580" }, "downloads": -1, "filename": "py365-0.1.2.tar.gz", "has_sig": false, "md5_digest": "38fc7e3004a69e7e3a91286c88f09539", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 9857, "upload_time": "2019-05-02T16:57:33", "url": "https://files.pythonhosted.org/packages/9a/1b/a5a1b8f4635aaa887f1712527b5fe950b591645e7c2300fc5916fa7800df/py365-0.1.2.tar.gz" } ] }