{ "info": { "author": "Steve Pelkey", "author_email": "spelkey@ucdavis.edu", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# almapipy: Python Wrapper for Alma API\n\nalmapipy is python requests wrapper for easily accessing the Ex Libris Alma API. It is designed to be lightweight, and imposes a structure that mimics the [Alma API architecture](https://developers.exlibrisgroup.com/alma/apis).\n\n## Installation\n`pip install almapipy`\n\n## Progress and Roadmap\nGet functionality has been developed around all the Alma APIs (listed below).\nPost, Put and Delete functions will be gradually added in future releases.\n\n| API | Get | Post | Put | Delete |\n| --- | :---: | :---: | :---: | :---: |\n| [bibs](#access-bibliographic-data) | X | | | |\n| [analytics](#access-reports) | X | NA | NA | NA |\n| [acquisitions](#access-acquisitions) | X | | | |\n| [configuration](#access-configuration-settings) | X | | | |\n| [courses](#access-courses) | X | | | |\n| [resource sharing partners](#access-resource-sharing-partners) | X | | | |\n| [task-lists](#access-task-lists) | X | | | |\n| [users](#access-users) | X | | | |\n| [electronic](#access-electronic) | X | | | |\n\n## Use\n\n### Import\n```python\n# Import and call primary Client class\nfrom almapipy import AlmaCnxn\nalma = AlmaCnxn('your_api_key', data_format='json')\n```\n### Access Bibliographic Data\nAlma provides a set of Web services for handling bibliographic records related information, enabling you to quickly and easily manipulate bibliographic records related details. These Web services can be used by external systems to retrieve or update bibliographic records related data.\n```python\n# Use Alma mms_id for retrieving bib records\nharry_potter = \"9980963346303126\"\nbib_record = alma.bibs.catalog.get(harry_potter)\n\n# get holding items for a bib record\nholdings = alma.bibs.catalog.get_holdings(harry_potter)\n\n# get loans by title\nloans = alma.bibs.loans.get_by_title(harry_potter)\n# or by a specific holding item\nloans = alma.bibs.loans.get_by_item(harry_potter, holding_id, item_id)\n\n# get requests or availability of bib\nalma.bibs.requests.get_by_title(harry_potter)\nalma.bibs.requests.get_by_item(harry_potter, holding_id, item_id)\nalma.bibs.requests.get_availability(harry_potter, period=20)\n\n# get digital representations\nalma.bibs.representations.get(harry_potter)\n\n# get linked data\nalma.bibs.linked_data.get(harry_potter)\n```\n\n### Access Reports\nThe Analytics API returns an Alma report.\n```python\n# Find the system path to the report if don't know path\nalma.analytics.paths.get('/shared')\n\n# retrieve the report as an XML ET element (native response)\nreport = alma.analytics.reports.get('path_to_report')\n\n# or convert the xml to json after API call\nreport = alma.analytics.reports.get('path_to_report', return_json = True)\n```\n\n### Access Courses\nAlma provides a set of Web services for handling courses and reading lists related information, enabling you to quickly and easily manipulate their details. These Web services can be used by external systems such as Courses Management Systems to retrieve or update courses and reading lists related data.\n```python\n# Get a complete list of courses. Makes multiple calls if necessary.\ncourse_list = alma.courses.get(all_records = True)\n\n# or filter on search parameters\necon_courses = alma.courses.get(query = {'code': 'ECN'})\n\n# get reading lists for a course\ncourse_id = econ_courses['course'][0]['id']\nreading_lists = alma.courses.reading_lists.get(course_id)\n\n# get more detailed information about a specific reading list\nreading_list_id = reading_lists['reading_list'][0]['id']\nalma.courses.reading_lists(course_id, reading_list_id, view = 'full')\n\n# get citations for a reading list\nalma.courses.citations(course_id, reading_list_id)\n```\n\n### Access Users\nAlma provides a set of Web services for handling user information, enabling you to quickly and easily manipulate user details. These Web services can be used by external systems\u2014such as student information systems (SIS)\u2014to retrieve or update user data.\n```python\n# Get a list of users or filter on search parameters\nusers = alma.users.get(query = {'first_name': 'Sterling', 'last_name': 'Archer'})\n\n# get more information on that user\nuser_id = users['user'][0]['primary_id']\nalma.users.get(user_id)\n\n# get all loans or requests for a user. Makes multiple calls if necessary.\nloans = alma.user.loans.get(user_id, all_records = True)\nrequests = alma.user.requests.get(user_id, all_records = True)\n\n# get deposits or fees for a user\ndeposits = alma.users.deposits.get(user_id)\nfees = alma.users.fees.get(user_id)\n```\n### Access Acquisitions\nAlma provides a set of Web services for handling acquisitions information, enabling you to quickly and easily manipulate acquisitions details. These Web services can be used by external systems - such as subscription agent systems - to retrieve or update acquisitions data.\n```python\n# get all funds\nalma.acq.funds.get(all_records=True)\n\n# get po_lines by search\namazon_lines = alma.acq.po_lines.get(query={'vendor_account': 'AMAZON'})\nsingle_line_id = amazon_lines['po_line'][0]['number']\n# or by a specific line number\nalma.acq.po_lines.get(single_line_id)\n\n# search for a vendor\nalma.acq.vendors.get(status='active', query={'name':'AMAZON'})\n# or get a specific vendor\nalma.acq.vendors.get('AMAZON.COM')\n\n# get invoices or polines for a specific vendor\nalma.acq.vendors.get_invoices('AMAZON.COM')\nalma.acq.vendors.get_po_lines('AMAZON.COM')\n\n# or get specific invoices\nalma.acq.invoices.get('invoice_id')\n\n# get all licenses\nalma.acq.licenses.get(all_records=True)\n```\n### Access Configuration Settings\nAlma provides a set of Web services for handling Configuration related information, enabling you to quickly and easily receive configuration details. These Web services can be used by external systems in order to get list of possible data.\n```python\n# Get libraries, locations, departments, and hours\nlibraries = alma.conf.units.get_libaries()\nlibrary_id = libraries['library'][0]['code']\nlocations = alma.conf.units.get_locations(library_id)\nhours = alma.conf.general.get_hours(library_id)\ndepartments = alma.conf.units.get_departments()\n\n# Get system code tables\ntable = 'UserGroups'\nalma.conf.general.get_code_table(table)\n\n# Get scheduled jobs and run history\njobs = alma.conf.jobs.get()\njob_id = jobs['job'][0]['id']\nrun_history = alma.conf.jobs.get_instances(job_id)\n\n# Get sets and set members\nsets = alma.conf.sets.get()\nset_id = sets['set'][0]['id']\nset_members = alma.conf.sets.get_members(set_id)\n\n# get profiles and reminders\ndepost_profiles = alma.conf.deposit_profiles.get()\nimport_profiles = alma.conf.import_profiles.get()\nreminders = alma.conf.reminders.get()\n```\n### Access Resource Sharing Partners\nAlma provides a set of Web services for handling Resource Sharing Partner information, enabling you to quickly and easily manipulate partner details. These Web services can be used by external systems to retrieve or update partner data.\n```python\n# get partners\npartners = alma.partners.get()\n```\n### Access Electronic\nAlma provides a set of Web services for handling electronic information, enabling you to quickly and easily manipulate electronic details. These Web services can be used by external systems in order to retrieve or update electronic data.\n```python\n# get e-collections\ncollections = alma.electronic.collections.get()\ncollection_id = collections['electronic_collection'][0]['id']\n\n# get services for a collection\nservices = alma.electronic.services.get(collection_id)\nservice_id = services['electronic_service'][0]['id']\n\n# get portfolios for a service\nalma.electronic.portfolios.get(collection_id, service_id)\n\n```\n### Access Task Lists\nAlma provides a set of Web services for handling task lists information, enabling you to quickly and easily manipulate their details. These Web services can be used by external systems.\n```python\n# get requested resources for a specific circulation desk\nalma.task_lists.resources.get(library_id, circ_desk)\n\n# get lending requests for a specific library\nalma.task_lists.lending.get(library_id)\n\n```\n\n## Attribution and Contact\n\n\n* **Author**: [Steve Pelkey](mailto:spelkey@ucdavis.edu)\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/UCDavisLibrary/almapipy", "keywords": "alma exlibris exlibrisgroup api bibliographic", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "almapipy", "package_url": "https://pypi.org/project/almapipy/", "platform": "", "project_url": "https://pypi.org/project/almapipy/", "project_urls": { "Homepage": "https://github.com/UCDavisLibrary/almapipy" }, "release_url": "https://pypi.org/project/almapipy/1.0.3/", "requires_dist": [ "requests" ], "requires_python": ">=3.0", "summary": "Python requests wrapper for the Ex Libris Alma API", "version": "1.0.3" }, "last_serial": 5822053, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "7830fd1b991564a4e1255ca23e9900dd", "sha256": "8fce8fb43b4f7d6b036c7c5a1355d9260340a07d74be1b0db789413bd38e88b9" }, "downloads": -1, "filename": "almapipy-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7830fd1b991564a4e1255ca23e9900dd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24728, "upload_time": "2018-02-20T16:57:08", "url": "https://files.pythonhosted.org/packages/5b/23/b37a3fb5bf07b4cc2ea9f10d548ef01612a08f714f4294bf36837658b847/almapipy-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "60e532a2d7ad7bfd322ae97d7cfc3541", "sha256": "9c56df43a8f5dbe3a793c64cc9f0db8a92b60181b438c2fcf4c72742f94b60ea" }, "downloads": -1, "filename": "almapipy-1.0.0.tar.gz", "has_sig": false, "md5_digest": "60e532a2d7ad7bfd322ae97d7cfc3541", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18358, "upload_time": "2018-02-20T16:57:09", "url": "https://files.pythonhosted.org/packages/92/da/2e694aab04061e759b9fbda4a21b990cc7889fa56159a1ec72abaa86f36e/almapipy-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "3f982001fd85c37c32756e9badb07b5d", "sha256": "cc4794918a334ef125b78246bf49412e01700c1b65833669241e578d63542434" }, "downloads": -1, "filename": "almapipy-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3f982001fd85c37c32756e9badb07b5d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26459, "upload_time": "2018-12-06T16:34:52", "url": "https://files.pythonhosted.org/packages/a3/ce/d38069b46cc2905d5534f105e67a5a689c7868fd84131276eec630413bb8/almapipy-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d578bdcc7fbd08f7909daa551f0c8abf", "sha256": "76420ad4a130b2cf3e6a367b09cf246b318de2db6ebb58b7d439a261df42a3d9" }, "downloads": -1, "filename": "almapipy-1.0.1.tar.gz", "has_sig": false, "md5_digest": "d578bdcc7fbd08f7909daa551f0c8abf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20598, "upload_time": "2018-12-06T16:34:54", "url": "https://files.pythonhosted.org/packages/24/40/c75968dbe774684e08f299a57e76ac74c45f02c79280f0efa5ba1d002e4d/almapipy-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "7793adb0a685a74a761b9d8716d723a3", "sha256": "601c56336b6493cddf74a848729ec6199f8e8a7cddad41be5a5b48105ad12fec" }, "downloads": -1, "filename": "almapipy-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7793adb0a685a74a761b9d8716d723a3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 29163, "upload_time": "2019-09-12T14:32:03", "url": "https://files.pythonhosted.org/packages/5b/6b/1c75d9722f3157eeb9702d2a8de33cdfe07bcf3ba0110a52a32590134941/almapipy-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "454c8750d9524c89b9e0b120254fae7b", "sha256": "9ee3cfc5b0084786657309e9a2a574188fb1c7c195ce1175f7673f152b6d71a7" }, "downloads": -1, "filename": "almapipy-1.0.2.tar.gz", "has_sig": false, "md5_digest": "454c8750d9524c89b9e0b120254fae7b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 22736, "upload_time": "2019-09-12T14:32:06", "url": "https://files.pythonhosted.org/packages/ee/c2/c8912004a849dcaf7c905c1dec8d2d7966b25392ce33d8e31ded27eb95d2/almapipy-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "7d5e59bf51b2f07c2765d5f7367878b9", "sha256": "1003d4ad06bd4f81b3f166ad4a753f3263a29bed1bbc3c14ac4dc08e784d6598" }, "downloads": -1, "filename": "almapipy-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "7d5e59bf51b2f07c2765d5f7367878b9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 29254, "upload_time": "2019-09-12T19:05:40", "url": "https://files.pythonhosted.org/packages/76/18/8d10e63247cb64b7ccc6756c653502490d0e5c5d71853a5da78c956fdc4f/almapipy-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "984bb191c41000dd4bfc77c44e90e1fe", "sha256": "b70a149626ee5dc77275c887154864d95cf2a5cdff634756388b1795fb3e3bfa" }, "downloads": -1, "filename": "almapipy-1.0.3.tar.gz", "has_sig": false, "md5_digest": "984bb191c41000dd4bfc77c44e90e1fe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 22848, "upload_time": "2019-09-12T19:05:44", "url": "https://files.pythonhosted.org/packages/5a/fd/a2a83f3654a73a987a596113237894840027f6f90b2f862d78f59505df29/almapipy-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7d5e59bf51b2f07c2765d5f7367878b9", "sha256": "1003d4ad06bd4f81b3f166ad4a753f3263a29bed1bbc3c14ac4dc08e784d6598" }, "downloads": -1, "filename": "almapipy-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "7d5e59bf51b2f07c2765d5f7367878b9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 29254, "upload_time": "2019-09-12T19:05:40", "url": "https://files.pythonhosted.org/packages/76/18/8d10e63247cb64b7ccc6756c653502490d0e5c5d71853a5da78c956fdc4f/almapipy-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "984bb191c41000dd4bfc77c44e90e1fe", "sha256": "b70a149626ee5dc77275c887154864d95cf2a5cdff634756388b1795fb3e3bfa" }, "downloads": -1, "filename": "almapipy-1.0.3.tar.gz", "has_sig": false, "md5_digest": "984bb191c41000dd4bfc77c44e90e1fe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 22848, "upload_time": "2019-09-12T19:05:44", "url": "https://files.pythonhosted.org/packages/5a/fd/a2a83f3654a73a987a596113237894840027f6f90b2f862d78f59505df29/almapipy-1.0.3.tar.gz" } ] }