{ "info": { "author": "Egnyte", "author_email": "api-support@egnyte.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Egnyte SDK\n==========\n\nThis is the official Python client library for Egnyte's Public APIs.\nFor overview of the HTTP API, go to https://developers.egnyte.com\n\nGetting an API key\n==================\n\nRegister on https://developers.egnyte.com/member/register to get API key\nfor your Egnyte account. This key is required to generate an Egnyte OAuth\ntoken.\n\nExamples\n========\n\n* Include this library\n\n.. code-block::python\n\n import egnyte\n\n* Generate an access token\n\n.. code-block::python\n\n egnyte.base.get_access_token({\"api_key\":\"cba97f3apst9eqzdr5hskggx\", \"login\":\"test\", \"password\":\"password\", \"grant_type\":\"password\", \"domain\":\"apidemo\"})\n\n* Create a client object\n\n.. code-block:: python\n\n client = egnyte.EgnyteClient({\"domain\": \"apidemo.egnyte.com\",\n \"access_token\": \"68zc95e3xv954u6k3hbnma3q\"})\n\n* Create a folder\n\n.. code-block:: python\n\n folder = client.folder(\"/Shared/new\").create(ignore_if_exists=True)\n\n* Delete a folder\n\n.. code-block:: python\n\n client.folder(\"/Shared/time to say goodbye\").delete()\n\n* Get a list of files in a folder, download a file, replace it's contents, add a note\n\n.. code-block:: python\n\n folder = client.folder(\"/Shared/foo that need to be bar\")\n folder.list()\n for file_obj in folder.files:\n with file_obj.download() as download:\n data = download.read()\n # replace file contents\n file_obj.upload(data.replace(b\"foo\", b\"bar\"))\n file_obj.add_note(\"all occurrences of 'foo' replaced by 'bar'!\")\n\n* Get a list of files in a subfolders\n\n.. code-block:: python\n\n folder = client.folder(\"/Shared\")\n folder.list()\n for folder_obj in folder.folders:\n do_something(folder_obj)\n\n* Upload a new file from local file\n\n.. code-block:: python\n\n file_obj = client.file(\"/Private/smeagol/my precious\")\n with open(\"local path\", \"rb\") as fp:\n file_obj.upload(fp)\n\n* Delete a file\n\n.. code-block:: python\n\n file_obj.delete()\n\n* Do a recursive download\n\n.. code-block:: python\n\n client.bulk_download(['/Shared/a dir', '/Shared/another dir'],\n '/home/smeagol/', overwrite=True)\n\n* Do a recursive upload\n\n.. code-block:: python\n\n client.bulk_upload(['/tmp/some directory', '/tmp/some file'], '/Shared/Marketing')\n\n* Search for files\n\n.. code-block:: python\n\n import datetime\n results = api.search.files('\"some text\" OR \"other text\"', folder='/Shared', modified_after=datetime.date(2015, 1, 15))\n\n* Get and process events from server\n\n.. code-block:: python\n\n events = api.events.filter(folder='/Shared', suppress='user')\n old_events = events.list(events.latest_event_id - 10, count = 10) # get events in batches\n future_events = iter(events)\n for event in future_events: # polls server continously, iterator over single events, iterator will never end\n do_something(event)\n if condition(event):\n break\n\n\n\nFull documentation\n==================\n\nThe docs subdirectory contains just the source for the documentation.\nYou can read the documentation at http://egnyte.github.io/python-egnyte-docs/\n\n\nCommand line\n============\n\nIf you're using implicit flow, you'll need to provide access token directly.\nIf you're using API token with resource flow, you can generate API access token using command line options.\nSee the full documentation or install, then use:\n\n.. code-block:: python\n\n python -m egnyte -h\n\nCreate configuration\n====================\n\nConfiguration file will be created in ~/.egnyte/config.json\n\n.. code-block:: python\n\n python -m egnyte config create -d DOMAIN [-l LOGIN] [-p PASSWORD] -k API_KEY [-t ACCESS_TOKEN] [-T TIMEOUT]\n\nSet request timeout\n===================\n\n.. code-block:: python\n\n python -m egnyte config update --timeout TIMEOUT_INTEGER\n\nDependencies\n============\n\nThis library depends on:\n\n- requests 2.13.0 or later - for HTTPS calls\n- six 1.10.0 or later - for Python 2 and 3 compatibility using same\n source\n\nThread safety\n=============\n\nEach client object should be used from one thread at a time. This\nlibrary does no locking of it's own - it is responsibility of the caller\nto do so if necessary.\n\nRunning tests\n=============\n\nTests can be run with nose or trial directly on the egnyte package, or\nfrom setup.py:\n\n.. code-block:: python\n\n python setup.py test\n\nor\n\n.. code-block:: python\n\n python -m unittest discover\n\nIn order to run tests, you need to create test configuration file: ~/.egnyte/test\\_config.json\n\n.. code-block:: json\n\n {\n \"access_token\": \"access token you received after passing the auth flow\", \n \"api_key\": \"key you received after registering your developer account\", \n \"domain\": \"your Egnyte domain, e.g. example.egnyte.com\", \n \"login\": \"username of Egnyte admin user\", \n \"password\": \"password of the same Egnyte admin user\"\n }\n\nYou can create this file manually or with following command:\n\n.. code-block:: python\n\n python -m egnyte -c test\\_config.json config create -k -d -l -p -t \n\nTests will be run against your domain on behalf on admin user.\n\nPlease refer to https://developers.egnyte.com/docs/read/Public_API_Authentication#Internal-Applications for information\nabout how to generate access token.\n\nHelping with development\n========================\n\nPlease report any problems you find to\napi-support@egnyte.com or pint@egnyte.com\n\nIf you'd like to fix something yourself, please fork this repository,\ncommit the fixes and updates to tests, then set up a pull request with\ninformation what you're fixing.\n\nPlease remember to assign copyright of your fixes to Egnyte or make them\npublic domain so we can legally merge them.", "description_content_type": null, "docs_url": "https://pythonhosted.org/egnyte/", "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://developers.egnyte.com/", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "egnyte", "package_url": "https://pypi.org/project/egnyte/", "platform": "Any", "project_url": "https://pypi.org/project/egnyte/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://developers.egnyte.com/" }, "release_url": "https://pypi.org/project/egnyte/0.5.3/", "requires_dist": null, "requires_python": null, "summary": "Egnyte Public API SDK", "version": "0.5.3" }, "last_serial": 2893428, "releases": { "0.4": [ { "comment_text": "", "digests": { "md5": "52c0d4f0c773bf86e60a966fdfe31cd3", "sha256": "622c2ca40c2266d41d6489787661733381483576aba2e21e09fa73d18252a94c" }, "downloads": -1, "filename": "egnyte-0.4-py2.7.egg", "has_sig": false, "md5_digest": "52c0d4f0c773bf86e60a966fdfe31cd3", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 71421, "upload_time": "2015-01-30T11:36:27", "url": "https://files.pythonhosted.org/packages/53/bb/ccbded6617c92ac9c1e9a7c16ec3f4525d0cdc7daeeeddd81250d7d8a7d5/egnyte-0.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "53dcd6c6a6a0a96d708685d4de81a342", "sha256": "a6da8fc0b3908bfdd204be538fd34da31f9e475d016f65cb49acfd41c74bff2e" }, "downloads": -1, "filename": "egnyte-0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "53dcd6c6a6a0a96d708685d4de81a342", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32368, "upload_time": "2015-01-30T11:36:30", "url": "https://files.pythonhosted.org/packages/41/9c/2315be4f36f00c56576c8306448951185e5ec86aecbb6b4739b74a5a1d07/egnyte-0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0a0e3e7261dcd0a7d7c4498d961f1ec4", "sha256": "03bf3d087b91d96c9115196967a2a4a4da53741d912753a8274f2188256e7291" }, "downloads": -1, "filename": "egnyte-0.4-py3.4.egg", "has_sig": false, "md5_digest": "0a0e3e7261dcd0a7d7c4498d961f1ec4", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 73093, "upload_time": "2015-01-30T11:36:34", "url": "https://files.pythonhosted.org/packages/c6/55/512b977fbfd7fe913e731f59f72b3452f07aefb6ae195e5ca1b573783e31/egnyte-0.4-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "3b7d4b1b89c6bb8478b141a87e32aebf", "sha256": "652b45e4ca1ad7a3e05c2b0d8fc0e0206969fc595b9359641afc44c4e106aaef" }, "downloads": -1, "filename": "egnyte-0.4.tar.gz", "has_sig": false, "md5_digest": "3b7d4b1b89c6bb8478b141a87e32aebf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24358, "upload_time": "2015-01-30T11:36:37", "url": "https://files.pythonhosted.org/packages/09/53/b39d54a505211ea7bcc7869f2ec6642e3290a8b333bf46f47de10a43524e/egnyte-0.4.tar.gz" } ], "0.4beta": [], "0.5": [ { "comment_text": "", "digests": { "md5": "df2b22ad7c2fd97e946f1e19d047be5c", "sha256": "f99996b72a9a588bc5e5f8d675b14631c63f0aa6e830a9ab622013cf750f7899" }, "downloads": -1, "filename": "egnyte-0.5-py2.7.egg", "has_sig": false, "md5_digest": "df2b22ad7c2fd97e946f1e19d047be5c", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 82399, "upload_time": "2015-02-17T10:05:17", "url": "https://files.pythonhosted.org/packages/68/53/77e852a29514cf2b6824d9afe971be29905e82930f8b29351cff20282de0/egnyte-0.5-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "9871515b200b6c43fdc1163ed9855594", "sha256": "2c6fd26b638e564ea2a48f8a89c03446403de5006af4257b8189bce57389e2b1" }, "downloads": -1, "filename": "egnyte-0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9871515b200b6c43fdc1163ed9855594", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37298, "upload_time": "2015-02-17T10:05:19", "url": "https://files.pythonhosted.org/packages/5a/6d/d88df1f010f1b6d15a6f4b697ef8fd350f3eab54ac143a3d2228da82fcf2/egnyte-0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80a80e947f1ef69ef325915c4d72a9c9", "sha256": "a780f73f8ee9af8e5ffb981024f0e363bfe1035667599cf03afa0e10f541eccd" }, "downloads": -1, "filename": "egnyte-0.5.tar.gz", "has_sig": false, "md5_digest": "80a80e947f1ef69ef325915c4d72a9c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27963, "upload_time": "2015-02-17T10:05:22", "url": "https://files.pythonhosted.org/packages/80/a4/f9f68a977b9a79dd77e36598c288a67c1151b03f0a5f517b2fc871477f35/egnyte-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "2fafda6357e2f53bcc2c6d3b890858d8", "sha256": "471975fbf71db29e056f49da6ce8eb19fbe49c9783fbc9c2a0cf8774bc7de7ef" }, "downloads": -1, "filename": "egnyte-0.5.1-py2.7.egg", "has_sig": false, "md5_digest": "2fafda6357e2f53bcc2c6d3b890858d8", "packagetype": "bdist_egg", "python_version": "any", "requires_python": null, "size": 82882, "upload_time": "2016-12-07T11:39:56", "url": "https://files.pythonhosted.org/packages/15/2b/1a5f692379cd0aa6b9831f6c42ead46b06efbd4be2f3fad24de12fddc402/egnyte-0.5.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "c450d3abbad369db1e6519f7540b84c1", "sha256": "40f0bb337860ac9389087696292714cf119f2d6e4e3a55573262ff809f8b33ac" }, "downloads": -1, "filename": "egnyte-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c450d3abbad369db1e6519f7540b84c1", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 37516, "upload_time": "2016-12-07T11:37:19", "url": "https://files.pythonhosted.org/packages/12/8d/cec70cb7cb3fac7d0c2708684e1c17ce7c0590236757a8f03fb6254deceb/egnyte-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "11dfa8c6bc1e18a03bd7185a165fa715", "sha256": "63973c7872ed99ad0a35f47f6bac140ec3e5c73b8d817721f43bd2c22894f45e" }, "downloads": -1, "filename": "egnyte-0.5.1.tar.gz", "has_sig": false, "md5_digest": "11dfa8c6bc1e18a03bd7185a165fa715", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30078, "upload_time": "2016-12-07T11:36:50", "url": "https://files.pythonhosted.org/packages/82/f6/1253360709424f8d0bae27f00e9593ee103e6dab90862fc0d0d067387949/egnyte-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "72933819708402890680c369ea446346", "sha256": "a8093ac4cc73258c74427fde7b3cd50b6cc6bee6c6fa89a886b48f012c02b9a7" }, "downloads": -1, "filename": "egnyte-0.5.2-py2.7.egg", "has_sig": false, "md5_digest": "72933819708402890680c369ea446346", "packagetype": "bdist_egg", "python_version": "any", "requires_python": null, "size": 90788, "upload_time": "2017-03-02T12:36:51", "url": "https://files.pythonhosted.org/packages/a5/57/7555003facf081775a2f6b5c226cd73a8b68b08d549d645b0ee766cdcd29/egnyte-0.5.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "ff025b53086c3be7d8d80573b7b32e8b", "sha256": "d939560d417e272d14a8632912691eb0e198aa698e0c7f2fb06a6e7aaca98902" }, "downloads": -1, "filename": "egnyte-0.5.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ff025b53086c3be7d8d80573b7b32e8b", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 40654, "upload_time": "2017-03-02T12:37:06", "url": "https://files.pythonhosted.org/packages/3a/5b/cc5d76f7181ed340c6550040b9f938cc734f53e87ac5d61d3991d72b5983/egnyte-0.5.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c85eb68bab5e8e7630c6d12db8f9c4f9", "sha256": "e89c0e32d6e62082b2b92d956e9bd90ede07be2b80bfd0bd1c42b8cf866675de" }, "downloads": -1, "filename": "egnyte-0.5.2.tar.gz", "has_sig": false, "md5_digest": "c85eb68bab5e8e7630c6d12db8f9c4f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32231, "upload_time": "2017-03-02T12:36:37", "url": "https://files.pythonhosted.org/packages/53/68/29f864e458428246316a8fd6953fa12db4e45b8f563df2de5d0845232d85/egnyte-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "bd4b05ef800c27597c693949ee859bc1", "sha256": "9b25e889fff80ca442e338a82f01ad62e0d552d89299b9a0a8e477e1c8506892" }, "downloads": -1, "filename": "egnyte-0.5.3-py2.7.egg", "has_sig": false, "md5_digest": "bd4b05ef800c27597c693949ee859bc1", "packagetype": "bdist_egg", "python_version": "any", "requires_python": null, "size": 91101, "upload_time": "2017-05-23T14:45:42", "url": "https://files.pythonhosted.org/packages/03/8f/f617f1f038f20f1dac764bd7fb9c3dacedd437e9c3efb3a2438127f22379/egnyte-0.5.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "7eaf232b1f6b14fc642a2d60a3208a5b", "sha256": "4a8082c9c4fc566f9cf8c97cfaab2c200c2c4d640986c30b7070148655b3a2c3" }, "downloads": -1, "filename": "egnyte-0.5.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7eaf232b1f6b14fc642a2d60a3208a5b", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 41006, "upload_time": "2017-05-23T14:45:54", "url": "https://files.pythonhosted.org/packages/50/05/036f296d4fc45675f3cbaa6f4b72b58648cffbb31f542138e3a0b464330d/egnyte-0.5.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b3ff3312bda757d6fbae49e8a914b2f7", "sha256": "accbebdb71d1fb6416f1eccd9d8a678570120d28dfc7888fe46de7bf066a36e2" }, "downloads": -1, "filename": "egnyte-0.5.3.tar.gz", "has_sig": false, "md5_digest": "b3ff3312bda757d6fbae49e8a914b2f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32741, "upload_time": "2017-05-23T14:45:29", "url": "https://files.pythonhosted.org/packages/72/f2/fc190d97d11c277ecc0ee01c52800c548e6754404f122146f931fe3583da/egnyte-0.5.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bd4b05ef800c27597c693949ee859bc1", "sha256": "9b25e889fff80ca442e338a82f01ad62e0d552d89299b9a0a8e477e1c8506892" }, "downloads": -1, "filename": "egnyte-0.5.3-py2.7.egg", "has_sig": false, "md5_digest": "bd4b05ef800c27597c693949ee859bc1", "packagetype": "bdist_egg", "python_version": "any", "requires_python": null, "size": 91101, "upload_time": "2017-05-23T14:45:42", "url": "https://files.pythonhosted.org/packages/03/8f/f617f1f038f20f1dac764bd7fb9c3dacedd437e9c3efb3a2438127f22379/egnyte-0.5.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "7eaf232b1f6b14fc642a2d60a3208a5b", "sha256": "4a8082c9c4fc566f9cf8c97cfaab2c200c2c4d640986c30b7070148655b3a2c3" }, "downloads": -1, "filename": "egnyte-0.5.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7eaf232b1f6b14fc642a2d60a3208a5b", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 41006, "upload_time": "2017-05-23T14:45:54", "url": "https://files.pythonhosted.org/packages/50/05/036f296d4fc45675f3cbaa6f4b72b58648cffbb31f542138e3a0b464330d/egnyte-0.5.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b3ff3312bda757d6fbae49e8a914b2f7", "sha256": "accbebdb71d1fb6416f1eccd9d8a678570120d28dfc7888fe46de7bf066a36e2" }, "downloads": -1, "filename": "egnyte-0.5.3.tar.gz", "has_sig": false, "md5_digest": "b3ff3312bda757d6fbae49e8a914b2f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32741, "upload_time": "2017-05-23T14:45:29", "url": "https://files.pythonhosted.org/packages/72/f2/fc190d97d11c277ecc0ee01c52800c548e6754404f122146f931fe3583da/egnyte-0.5.3.tar.gz" } ] }