{ "info": { "author": "Rebecca Turner", "author_email": "637275@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Affero General Public License v3", "Programming Language :: Python :: 3" ], "description": "# Tumblr with no OAuth\n\nTL;DR: `tumblr_noauth` is a Python package which provides a\n`TumblrSession(email, password)` class which extends\n[`requests.Session`][session] and provides a Tumblr login/logout process.\n\nTumblr supplies an [OAuth API][api] which you can use for fairly simple tasks,\nmostly for **dashboard-like functions**; there\u2019s a lot left out, such as\n\n* Checking if a URL is available for creating a new blog; the endpoint at\n `www.tumblr.com/check_if_tumblelog_name_is_available` requires authentication\n* Probably others which I forget\n\nWith no official way to access that data, `tumblr_noauth` provides a workaround:\nemulate a whole Tumblr \u201csession\u201d; you feed it a username and password (which\n**aren\u2019t stored, even in the `TumblrSession` object**) and it performs a login\nrequest (and a logout request with `__exit__` or at the end of the `with`\nclause).\n\nUnder the hood, a `TumblrSession` is a [`requests.Session`][session] with some\nspecial behavior optimized for use with Python\u2019s [`with` statements][with].\n\nThe following methods in a `TumblrSession` object are specialized to make the\n`https://www.tumblr.com/` prefix optional:\n\n* `delete`\n* `get`\n* `head`\n* `options`\n* `patch`\n* `post`\n* `put`\n\ni.e. the high-level HTTP requests.\n\nExample usage:\n\n import json\n import tumblr_noauth\n\n with open('creds.json') as f:\n creds = json.load(f)\n\n with TumblrSession(creds['email'], creds['password']) as session:\n data = {'name': staff}\n resp = session.post('check_if_tumblelog_name_is_available',\n data=data)\n\n print(resp, ';', resp.text)\n\nWhere the `with` clause automatically logs in and out of Tumblr.\n\nFor additional \u201cauthenticity\u201d, you might want to set your headers to something\nlike...\n\n # this is lying\n headers = {\n 'Host': 'www.tumblr.com',\n 'Origin': 'https://www.tumblr.com',\n 'Referer': 'https://www.tumblr.com/dashboard',\n 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36',\n 'X-Requested-With': 'XMLHttpRequest',\n }\n\n[requests]: http://docs.python-requests.org/en/master/\n[session]: http://docs.python-requests.org/en/master/api/#request-sessions\n[api]: https://www.tumblr.com/docs/en/api/v2\n[with]: https://docs.python.org/3/reference/compound_stmts.html#the-with-statement\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/9999years/tumblr_noauth", "keywords": "tumblr api", "license": "AGPL-3.0", "maintainer": "", "maintainer_email": "", "name": "tumblr-noauth", "package_url": "https://pypi.org/project/tumblr-noauth/", "platform": "", "project_url": "https://pypi.org/project/tumblr-noauth/", "project_urls": { "Homepage": "https://github.com/9999years/tumblr_noauth" }, "release_url": "https://pypi.org/project/tumblr-noauth/0.1.0/", "requires_dist": [ "requests", "beautifulsoup4" ], "requires_python": "", "summary": "A sneaky Tumblr API", "version": "0.1.0" }, "last_serial": 3851625, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "dbeae1dcee234563baadfeeda90a1bd0", "sha256": "e10477894d594c409f297f31fd9a43140b1a3d7bac44363aa9e460581c2d10ec" }, "downloads": -1, "filename": "tumblr_noauth-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "dbeae1dcee234563baadfeeda90a1bd0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6217, "upload_time": "2018-05-10T19:24:47", "url": "https://files.pythonhosted.org/packages/51/4b/321162d5aa295203516c7d81708770e0f417fb23d112b96c993ada230c0b/tumblr_noauth-0.0.1-py3-none-any.whl" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "01345aaedb4464ab93562753c27ebb64", "sha256": "4d1e2827f0e8fa16817a9630d6d66fe2786efec0c3e53210f7406711dfe20b31" }, "downloads": -1, "filename": "tumblr_noauth-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "01345aaedb4464ab93562753c27ebb64", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4119, "upload_time": "2018-05-10T19:27:51", "url": "https://files.pythonhosted.org/packages/5c/1e/4a1fd6fb6e721e54d498e025afd1e0e69ad5df3430b112a1d5c09a8d128f/tumblr_noauth-0.0.2-py3-none-any.whl" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "07087d406a9bd3c8a4ca41678399ff04", "sha256": "c59c32efcfe083d73aa8624f1b415c4954c6a5a59fc9bc181a5ca6c84c2c5e0e" }, "downloads": -1, "filename": "tumblr_noauth-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "07087d406a9bd3c8a4ca41678399ff04", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4131, "upload_time": "2018-05-10T19:31:11", "url": "https://files.pythonhosted.org/packages/f8/3c/2ef39f49299ccedf15257b247eb565ffb558bc0050a26a3db619678b3c41/tumblr_noauth-0.0.3-py3-none-any.whl" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "57ba653efc8eae0ac538bb2f61a3fb77", "sha256": "1339b1d4d49e9de7baa504cc369dfa6741595fd6bfeed975b702819ec3738149" }, "downloads": -1, "filename": "tumblr_noauth-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "57ba653efc8eae0ac538bb2f61a3fb77", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4138, "upload_time": "2018-05-10T19:45:11", "url": "https://files.pythonhosted.org/packages/d4/3c/50d176bcb7992b448b55926ffa49094a81f752a5ac1cba82eec22e1a19cc/tumblr_noauth-0.1.0-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "57ba653efc8eae0ac538bb2f61a3fb77", "sha256": "1339b1d4d49e9de7baa504cc369dfa6741595fd6bfeed975b702819ec3738149" }, "downloads": -1, "filename": "tumblr_noauth-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "57ba653efc8eae0ac538bb2f61a3fb77", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4138, "upload_time": "2018-05-10T19:45:11", "url": "https://files.pythonhosted.org/packages/d4/3c/50d176bcb7992b448b55926ffa49094a81f752a5ac1cba82eec22e1a19cc/tumblr_noauth-0.1.0-py3-none-any.whl" } ] }