{ "info": { "author": "iRODS Consortium", "author_email": "support@irods.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: BSD License", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "=========================\nPython iRODS Client (PRC)\n=========================\n\n`iRODS `_ is an open source distributed data management system. This is a client API implemented in python.\n\nCurrently supported:\n\n- Establish a connection to iRODS, authenticate\n- Implement basic Gen Queries (select columns and filtering)\n- Support more advanced Gen Queries with limits, offsets, and aggregations\n- Query the collections and data objects within a collection\n- Execute direct SQL queries\n- Execute iRODS rules\n- Support read, write, and seek operations for files\n- PUT/GET data objects\n- Create data objects\n- Delete data objects\n- Create collections\n- Delete collections\n- Rename data objects\n- Rename collections\n- Register files and directories\n- Query metadata for collections and data objects\n- Add, edit, remove metadata\n- Replicate data objects to different resource servers\n- Connection pool management\n- Implement gen query result sets as lazy queries\n- Return empty result sets when CAT_NO_ROWS_FOUND is raised\n- Manage permissions\n- Manage users and groups\n- Manage resources\n- GSI authentication\n- Unicode strings\n- Ticket based access\n- iRODS connection over SSL\n- Python 2.7, 3.4 or newer\n\n\nInstalling\n----------\n\nPRC requires Python 2.7 or 3.4+.\nTo install with pip::\n\n pip install python-irodsclient\n\nor::\n\n pip install git+https://github.com/irods/python-irodsclient.git[@branch|@commit|@tag]\n\n\nUninstalling\n------------\n\n::\n\n pip uninstall python-irodsclient\n\n\nEstablishing a connection\n-------------------------\n\nUsing environment files in ``~/.irods/``:\n\n>>> import os\n>>> from irods.session import iRODSSession\n>>> try:\n... env_file = os.environ['IRODS_ENVIRONMENT_FILE']\n... except KeyError:\n... env_file = os.path.expanduser('~/.irods/irods_environment.json')\n...\n>>> with iRODSSession(irods_env_file=env_file) as session:\n... pass\n...\n>>>\n\nPassing iRODS credentials as keyword arguments:\n\n>>> from irods.session import iRODSSession\n>>> with iRODSSession(host='localhost', port=1247, user='bob', password='1234', zone='tempZone') as session:\n... pass\n...\n>>>\n\nIf you're an administrator acting on behalf of another user:\n\n>>> from irods.session import iRODSSession\n>>> with iRODSSession(host='localhost', port=1247, user='rods', password='1234', zone='tempZone',\n client_user='bob', client_zone='possibly_another_zone') as session:\n... pass\n...\n>>>\n\nIf no ``client_zone`` is provided, the ``zone`` parameter is used in its place.\n\n\nWorking with collections\n------------------------\n\n>>> coll = session.collections.get(\"/tempZone/home/rods\")\n\n>>> coll.id\n45798\n\n>>> coll.path\n/tempZone/home/rods\n\n>>> for col in coll.subcollections:\n>>> print(col)\n\n\n\n>>> for obj in coll.data_objects:\n>>> print(obj)\n\n\n\n\nCreate a new collection:\n\n>>> coll = session.collections.create(\"/tempZone/home/rods/testdir\")\n>>> coll.id\n45799\n\n\nWorking with data objects (files)\n---------------------------------\n\nCreate a new data object:\n\n>>> obj = session.data_objects.create(\"/tempZone/home/rods/test1\")\n\n\nGet an existing data object:\n\n>>> obj = session.data_objects.get(\"/tempZone/home/rods/test1\")\n>>> obj.id\n12345\n\n>>> obj.name\ntest1\n>>> obj.collection\n\n\n>>> for replica in obj.replicas:\n... print(replica.resource_name)\n... print(replica.number)\n... print(replica.path)\n... print(replica.status)\n...\ndemoResc\n0\n/var/lib/irods/Vault/home/rods/test1\n1\n\n\nUsing the put() method rather than the create() method will trigger different policy enforcement points (PEPs) on the server.\n\nPut an existing file as a new data object:\n\n>>> session.data_objects.put(\"test.txt\",\"/tempZone/home/rods/test2\")\n>>> obj2 = session.data_objects.get(\"/tempZone/home/rods/test2\")\n>>> obj2.id\n56789\n\n\nReading and writing files\n-------------------------\n\nPRC provides `file-like objects `_\n\n>>> obj = session.data_objects.get(\"/tempZone/home/rods/test1\")\n>>> with obj.open('r+') as f:\n... f.write('foo\\nbar\\n')\n... f.seek(0,0)\n... for line in f:\n... print(line)\n...\nfoo\nbar\n\n\nWorking with metadata\n---------------------\n\n>>> obj = session.data_objects.get(\"/tempZone/home/rods/test1\")\n>>> print(obj.metadata.items())\n[]\n\n>>> obj.metadata.add('key1', 'value1', 'units1')\n>>> obj.metadata.add('key1', 'value2')\n>>> obj.metadata.add('key2', 'value3')\n>>> print(obj.metadata.items())\n[, ,\n]\n\n>>> print(obj.metadata.get_all('key1'))\n[, ]\n\n>>> print(obj.metadata.get_one('key2'))\n\n\n>>> obj.metadata.remove('key1', 'value1', 'units1')\n>>> print(obj.metadata.items())\n[, ]\n\n\nGeneral queries\n---------------\n\n>>> import os\n>>> from irods.session import iRODSSession\n>>> from irods.models import Collection, DataObject\n>>>\n>>> env_file = os.path.expanduser('~/.irods/irods_environment.json')\n>>> with iRODSSession(irods_env_file=env_file) as session:\n... query = session.query(Collection.name, DataObject.id, DataObject.name, DataObject.size)\n...\n... for result in query:\n... print('{}/{} id={} size={}'.format(result[Collection.name], result[DataObject.name], result[DataObject.id], result[DataObject.size]))\n...\n/tempZone/home/rods/manager/access_manager.py id=212665 size=2164\n/tempZone/home/rods/manager/access_manager.pyc id=212668 size=2554\n/tempZone/home/rods/manager/collection_manager.py id=212663 size=4472\n/tempZone/home/rods/manager/collection_manager.pyc id=212664 size=4464\n/tempZone/home/rods/manager/data_object_manager.py id=212662 size=10291\n/tempZone/home/rods/manager/data_object_manager.pyc id=212667 size=8772\n/tempZone/home/rods/manager/__init__.py id=212670 size=79\n/tempZone/home/rods/manager/__init__.pyc id=212671 size=443\n/tempZone/home/rods/manager/metadata_manager.py id=212660 size=4263\n/tempZone/home/rods/manager/metadata_manager.pyc id=212659 size=4119\n/tempZone/home/rods/manager/resource_manager.py id=212666 size=5329\n/tempZone/home/rods/manager/resource_manager.pyc id=212661 size=4570\n/tempZone/home/rods/manager/user_manager.py id=212669 size=5509\n/tempZone/home/rods/manager/user_manager.pyc id=212658 size=5233\n\nQuery with aggregation(min, max, sum, avg, count):\n\n>>> with iRODSSession(irods_env_file=env_file) as session:\n... query = session.query(DataObject.owner_name).count(DataObject.id).sum(DataObject.size)\n... print(next(query.get_results()))\n{: 'rods', : 62262, : 14}\n\nIn this case since we are expecting only one row we can directly call ``query.execute()``:\n\n>>> with iRODSSession(irods_env_file=env_file) as session:\n... query = session.query(DataObject.owner_name).count(DataObject.id).sum(DataObject.size)\n... print(query.execute())\n+--------------+-----------+-----------+\n| D_OWNER_NAME | D_DATA_ID | DATA_SIZE |\n+--------------+-----------+-----------+\n| rods | 14 | 62262 |\n+--------------+-----------+-----------+\n\n\nSpecific Queries\n----------------\n\n>>> import os\n>>> from irods.session import iRODSSession\n>>> from irods.models import Collection, DataObject\n>>> from irods.query import SpecificQuery\n>>>\n>>> env_file = os.path.expanduser('~/.irods/irods_environment.json')\n>>> with iRODSSession(irods_env_file=env_file) as session:\n... # define our query\n... sql = \"select data_name, data_id from r_data_main join r_coll_main using (coll_id) where coll_name = '/tempZone/home/rods/manager'\"\n... alias = 'list_data_name_id'\n... columns = [DataObject.name, DataObject.id] # optional, if we want to get results by key\n... query = SpecificQuery(session, sql, alias, columns)\n...\n... # register specific query in iCAT\n... _ = query.register()\n...\n... for result in query:\n... print('{} {}'.format(result[DataObject.name], result[DataObject.id]))\n...\n... # delete specific query\n... _ = query.remove()\n...\nuser_manager.pyc 212658\nmetadata_manager.pyc 212659\nmetadata_manager.py 212660\nresource_manager.pyc 212661\ndata_object_manager.py 212662\ncollection_manager.py 212663\ncollection_manager.pyc 212664\naccess_manager.py 212665\nresource_manager.py 212666\ndata_object_manager.pyc 212667\naccess_manager.pyc 212668\nuser_manager.py 212669\n__init__.py 212670\n__init__.pyc 212671\n\nRecherch\u00e9 queries\n-----------------\n\nIn some cases you might like to use a GenQuery operator not directly offered by this\nPython library, or even combine query filters in ways GenQuery may not directly support.\n\nAs an example, the code below finds metadata value fields lexicographically outside the range\nof decimal integers, while also requiring that the data objects to which they are attached do\nnot reside in the trash.\n\n>>> search_tuple = (DataObject.name , Collection.name ,\n... DataObjectMeta.name , DataObjectMeta.value)\n\n>>> # \"not like\" : direct instantiation of Criterion (operator in literal string)\n>>> not_in_trash = Criterion ('not like', Collection.name , '%/trash/%')\n\n>>> # \"not between\"( column, X, Y) := column < X OR column > Y (\"OR\" done via chained iterators)\n>>> res1 = session.query (* search_tuple).filter(not_in_trash).filter(DataObjectMeta.value < '0')\n>>> res2 = session.query (* search_tuple).filter(not_in_trash).filter(DataObjectMeta.value > '9' * 9999 )\n\n>>> chained_results = itertools.chain ( res1.get_results(), res2.get_results() )\n>>> pprint( list( chained_results ) )\n\n\nAnd more...\n-----------\n\nAdditional code samples are available in the `test directory `_\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/irods/python-irodsclient", "keywords": "irods", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "python-irodsclient", "package_url": "https://pypi.org/project/python-irodsclient/", "platform": "", "project_url": "https://pypi.org/project/python-irodsclient/", "project_urls": { "Homepage": "https://github.com/irods/python-irodsclient" }, "release_url": "https://pypi.org/project/python-irodsclient/0.8.1/", "requires_dist": [ "six (>=1.10.0)", "PrettyTable (>=0.7.2)", "xmlrunner (>=1.7.7)" ], "requires_python": "", "summary": "A python API for iRODS", "version": "0.8.1" }, "last_serial": 4314843, "releases": { "0.3.1": [ { "comment_text": "", "digests": { "md5": "0c9deb13e498730e23190f3fa90ef60a", "sha256": "0963101b7c7d34e1d1026888c92ee0aaf26cdc7704f066a26c59c4f62b0c0580" }, "downloads": -1, "filename": "python_irodsclient-0.3.1-py2-none-any.whl", "has_sig": true, "md5_digest": "0c9deb13e498730e23190f3fa90ef60a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 26603, "upload_time": "2014-09-17T19:46:30", "url": "https://files.pythonhosted.org/packages/5d/46/7e94adb496fee3990696b31795bee49c1d81e70bd8edc17984a4a61907c2/python_irodsclient-0.3.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bdc0e9017a9860d24aba89479d1a3168", "sha256": "12d88e08f66bab8ccdaa9744b69f8a879c21fe640cac7fe0bcb9521151caacd5" }, "downloads": -1, "filename": "python-irodsclient-0.3.1.tar.gz", "has_sig": true, "md5_digest": "bdc0e9017a9860d24aba89479d1a3168", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22964, "upload_time": "2014-09-17T19:46:33", "url": "https://files.pythonhosted.org/packages/2e/d6/3788211e9f93a593bb3e1882fc903758a93a1d97c9cb9a5a20a3154f2510/python-irodsclient-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "32dcf9b4e25266258b5bd4c5cc9e33e9", "sha256": "c349ab40d94e44534a332504b8224a783ecf8d0a8bb390ffffb304f4ebacb7c0" }, "downloads": -1, "filename": "python_irodsclient-0.4.0-py2-none-any.whl", "has_sig": true, "md5_digest": "32dcf9b4e25266258b5bd4c5cc9e33e9", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 34719, "upload_time": "2014-09-17T20:44:16", "url": "https://files.pythonhosted.org/packages/5d/11/f2944c3f907d188ec2221930f4afc7bb0077e023ef60b0899d6a3f578bd4/python_irodsclient-0.4.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "55db8bfd332767de43cfcec13fc448e8", "sha256": "dca5184f65580769a7b15f3ee8a42761e1a14d0ef2aeb778de9a2d7801f05706" }, "downloads": -1, "filename": "python-irodsclient-0.4.0.tar.gz", "has_sig": true, "md5_digest": "55db8bfd332767de43cfcec13fc448e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27477, "upload_time": "2014-09-17T20:44:18", "url": "https://files.pythonhosted.org/packages/cd/5a/28c9488e53f0cfcac4cc61d9d7a4f1d602040e92f8016e6ba628c6f7848e/python-irodsclient-0.4.0.tar.gz" } ], "0.5.0rc1": [ { "comment_text": "", "digests": { "md5": "90ece29fe5e79da61b5280e0dd802a5f", "sha256": "20494846b0dc620637d2ea633e58847c6688e29aca8fdf7ef2cf05baf06e3f6a" }, "downloads": -1, "filename": "python_irodsclient-0.5.0rc1-py2-none-any.whl", "has_sig": true, "md5_digest": "90ece29fe5e79da61b5280e0dd802a5f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 58211, "upload_time": "2016-08-15T16:05:12", "url": "https://files.pythonhosted.org/packages/3c/f9/a1851903f9a8a54558bb9bc172dcb796e175a01fd62cfc2fdce2f8222952/python_irodsclient-0.5.0rc1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a0abeadd674bab050730b06aaaf2fef", "sha256": "5eb62fe0df23226cab6842af093a284791e5f599de01535d32ede8fd90d802f4" }, "downloads": -1, "filename": "python-irodsclient-0.5.0rc1.tar.gz", "has_sig": true, "md5_digest": "6a0abeadd674bab050730b06aaaf2fef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43489, "upload_time": "2016-08-15T16:05:19", "url": "https://files.pythonhosted.org/packages/2b/3e/331cef12394445537f9e4ccb271b20d9e6f852494f0080aae231dd5fe53e/python-irodsclient-0.5.0rc1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "d297ebd69fd8a7a6e664a3067dac420a", "sha256": "042a1df5953a33e4bc0ff720f54333e0513c10006f39e1e8c8718a4c6c916e03" }, "downloads": -1, "filename": "python_irodsclient-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d297ebd69fd8a7a6e664a3067dac420a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 83182, "upload_time": "2017-06-01T15:10:37", "url": "https://files.pythonhosted.org/packages/6a/dd/8863d5a98ec5d96629fc6779832dbd5f383fdf589fd3332be519ca94b287/python_irodsclient-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "33c47871017ba96c379f7f1e68fc74b7", "sha256": "ca4fb5c390744420d2265043796a8fbb5f9ca1e3ac2c19e13e3072fc52161daf" }, "downloads": -1, "filename": "python-irodsclient-0.6.0.tar.gz", "has_sig": false, "md5_digest": "33c47871017ba96c379f7f1e68fc74b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70944, "upload_time": "2017-06-01T15:10:39", "url": "https://files.pythonhosted.org/packages/6e/ac/7c35555b3cbb1662efe765ba33ec0d521bda700deac9b4fe35da4de3b904/python-irodsclient-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "ad8ff4a2e1004e9856114b17dead2ad7", "sha256": "5e43a28c23223f5c37669f24dfb042adf7a078d0f92b48d2d04f13325d5f311b" }, "downloads": -1, "filename": "python_irodsclient-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ad8ff4a2e1004e9856114b17dead2ad7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 91863, "upload_time": "2017-12-15T16:53:16", "url": "https://files.pythonhosted.org/packages/cc/b3/9c6e9a66aba187699246f143880f8be35f5e9368d44a022a0cb88c54919b/python_irodsclient-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "65dc092f82810cd61122fa0dfa027cda", "sha256": "81dd6718722c357b37dfd197f6d7b51f40adc52048dd2adfc9b53846c1f1a39c" }, "downloads": -1, "filename": "python-irodsclient-0.7.0.tar.gz", "has_sig": false, "md5_digest": "65dc092f82810cd61122fa0dfa027cda", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80045, "upload_time": "2017-12-15T16:53:17", "url": "https://files.pythonhosted.org/packages/be/0f/f9226ef5da51d7939e2e90bf2c3ff694700b5643d683d50c7f7c211bd052/python-irodsclient-0.7.0.tar.gz" } ], "0.7.0rc1": [ { "comment_text": "", "digests": { "md5": "961a3aade4c78d11ae7d1553b29bbeec", "sha256": "1044b22cfe32de51365bd5435ce261cdfb144fb5718bf86314b0d87f3e9a2ac9" }, "downloads": -1, "filename": "python_irodsclient-0.7.0rc1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "961a3aade4c78d11ae7d1553b29bbeec", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 91867, "upload_time": "2017-12-07T16:05:48", "url": "https://files.pythonhosted.org/packages/2a/58/58a1d21fbcae234bd51368600cf5ce9ef56c4e5d358d927b41f9e1e78d0d/python_irodsclient-0.7.0rc1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ccfba7e5a24a1627188fe747ece4f102", "sha256": "9e865f0b56aceda36809c158c11bfa479af1622f25e0e09eeebdc5bbf54e216b" }, "downloads": -1, "filename": "python-irodsclient-0.7.0rc1.tar.gz", "has_sig": false, "md5_digest": "ccfba7e5a24a1627188fe747ece4f102", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79950, "upload_time": "2017-12-07T16:05:50", "url": "https://files.pythonhosted.org/packages/c6/62/498789c81b2ca231d0bb4f943749ae4f247cb872ac1412c42827e907b96c/python-irodsclient-0.7.0rc1.tar.gz" } ], "0.7.0rc2": [ { "comment_text": "", "digests": { "md5": "dfa1e0a37fa4403ed33a7577dd260cb7", "sha256": "52a6226071d160f96f8c3f0337d8fa972f170ca816574b0e948435cf49cf3c8d" }, "downloads": -1, "filename": "python_irodsclient-0.7.0rc2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dfa1e0a37fa4403ed33a7577dd260cb7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 91910, "upload_time": "2017-12-08T21:24:05", "url": "https://files.pythonhosted.org/packages/8d/53/1e69b848b50d90cafc9a2fc2f9db35d97cef3a20571e8fadbd9a3b538802/python_irodsclient-0.7.0rc2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a51ef649b9d90f940395e25f8d3645c9", "sha256": "88ed1574230b504b919caa5077923dca19707e0822cd497a99c1567011e3ba54" }, "downloads": -1, "filename": "python-irodsclient-0.7.0rc2.tar.gz", "has_sig": false, "md5_digest": "a51ef649b9d90f940395e25f8d3645c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80043, "upload_time": "2017-12-08T21:24:06", "url": "https://files.pythonhosted.org/packages/89/d4/a9ed96911d2b848bab1f1ca9f78df19027e95f48e21ccadc447790650d7d/python-irodsclient-0.7.0rc2.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "b371724391052014ddc36aa033742f8a", "sha256": "ecd6dd2a6b08ee469538412d52bb70211c32c3553c4c309e93ad3af2f4786e8a" }, "downloads": -1, "filename": "python_irodsclient-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b371724391052014ddc36aa033742f8a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 90476, "upload_time": "2018-05-03T16:54:46", "url": "https://files.pythonhosted.org/packages/b9/d9/1a0e85b6962be65aff904b88001c38d1cc12be61e7f75ae32955467defd3/python_irodsclient-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8afe3398dd18c20a99b87d7324cb92bb", "sha256": "84939b2a2427a68d837c01fbbde20608d0be2d74679f7d1458e911fed80e197e" }, "downloads": -1, "filename": "python-irodsclient-0.8.0.tar.gz", "has_sig": false, "md5_digest": "8afe3398dd18c20a99b87d7324cb92bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 82846, "upload_time": "2018-05-03T16:54:47", "url": "https://files.pythonhosted.org/packages/34/53/bff0d6a5d66229946a85cb66cef801caa546343ca306f87bb08847434b64/python-irodsclient-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "347b07fa53b8fef2e4a6d3cbde20380a", "sha256": "509b2e22e5d1a552ae3d59d519b6ddf8544ee5280051990fe44b2e6d41d7650f" }, "downloads": -1, "filename": "python_irodsclient-0.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "347b07fa53b8fef2e4a6d3cbde20380a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 90605, "upload_time": "2018-09-27T03:30:43", "url": "https://files.pythonhosted.org/packages/03/6f/3b0950c9ab26a1d05e357b7be2e45795d105f9a0b3af538aa6155a36c13b/python_irodsclient-0.8.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bf8c9a20e36be3151efa4b0820266750", "sha256": "6e73d49970b263c988917af681780a2e795a51a59379d278cc8c30fb071f2685" }, "downloads": -1, "filename": "python-irodsclient-0.8.1.tar.gz", "has_sig": false, "md5_digest": "bf8c9a20e36be3151efa4b0820266750", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83293, "upload_time": "2018-09-27T03:30:45", "url": "https://files.pythonhosted.org/packages/85/c8/65fad8d793913f20b9e6282e661f0bffd8aac9b9b14680e349e46938becd/python-irodsclient-0.8.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "347b07fa53b8fef2e4a6d3cbde20380a", "sha256": "509b2e22e5d1a552ae3d59d519b6ddf8544ee5280051990fe44b2e6d41d7650f" }, "downloads": -1, "filename": "python_irodsclient-0.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "347b07fa53b8fef2e4a6d3cbde20380a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 90605, "upload_time": "2018-09-27T03:30:43", "url": "https://files.pythonhosted.org/packages/03/6f/3b0950c9ab26a1d05e357b7be2e45795d105f9a0b3af538aa6155a36c13b/python_irodsclient-0.8.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bf8c9a20e36be3151efa4b0820266750", "sha256": "6e73d49970b263c988917af681780a2e795a51a59379d278cc8c30fb071f2685" }, "downloads": -1, "filename": "python-irodsclient-0.8.1.tar.gz", "has_sig": false, "md5_digest": "bf8c9a20e36be3151efa4b0820266750", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83293, "upload_time": "2018-09-27T03:30:45", "url": "https://files.pythonhosted.org/packages/85/c8/65fad8d793913f20b9e6282e661f0bffd8aac9b9b14680e349e46938becd/python-irodsclient-0.8.1.tar.gz" } ] }