{ "info": { "author": "Emory University Libraries", "author_email": "libsysdev-l@listserv.cc.emory.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# piffle\n\nPython library for generating and parsing [IIIF Image API](http://iiif.io/api/image/2.1/) URLs in an\nobject-oriented, pythonic fashion.\n\n[![Build Status](https://travis-ci.org/Princeton-CDH/piffle.svg?branch=master)](https://travis-ci.org/Princeton-CDH/piffle)\n[![Coverage Status](https://coveralls.io/repos/github/Princeton-CDH/piffle/badge.svg?branch=master)](https://coveralls.io/github/Princeton-CDH/piffle?branch=master)\n[![Say Thanks!](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/cdhdevteam)\n\nPiffle is tested on Python 2.7 and 3.3-3.6.\n\nPiffle was originally developed by Emory University as a part of\n[Readux](https://github.com/ecds/readux>) and forked as a separate project\nunder [emory-lits-labs](https://github.com/emory-lits-labs/).\n\n## Installation and example use:\n\n`pip install piffle`\n\nExample use for generating an IIIF image url:\n\n```\n>>> from piffle.iiif import IIIFImageClient\n>>> myimg = IIIFImageClient('http://image.server/path/', 'myimgid')\n>>> print myimg\nhttp://image.server/path/myimgid/full/full/0/default.jpg\n>>> print myimg.info()\nhttp://image.server/path/myimgid/info.json\"\n>>> print myimg.size(width=120).format('png')\nhttp://image.server/path/myimgid/full/120,/0/default.png\n```\n\nExample use for parsing an IIIF image url:\n\n```\n>>> from piffle.iiif import IIIFImageClient\n>>> myimg = IIIFImageClient.init_from_url('http://www.example.org/image-service/abcd1234/full/full/0/default.jpg')\n>>> print myimg\nhttp://www.example.org/image-service/abcd1234/full/full/0/default.jpg\n>>> print myimg.info()\nhttp://www.example.org/image-service/abcd1234/info.json\n>>> myimg.as_dict()['size']['full']\nTrue\n>>> myimg.as_dict()['size']['exact']\nFalse\n>>> myimg.as_dict()['rotation']['degrees']\n0.0\n```\n\n## Development and Testing\n\nThis project uses [git-flow](https://github.com/nvie/gitflow) branching conventions.\n\nInstall locally for development (the use of virtualenv is recommended):\n\n`pip install -e .`\n\nInstall test dependencies:\n\n`pip install -e \".[test]\"`\n\nRun unit tests: `py.test` or `python setup.py test`\n\n## Publishing\n\nTo upload a tagged release to [PyPI](https://pypi.python.org/pypi) with\na [wheel](http://pythonwheels.com/) package:\n\n `python setup.py sdist bdist_wheel upload`\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/emory-lits-labs/piffle", "keywords": "", "license": "Apache License, Version 2.0", "maintainer": "", "maintainer_email": "", "name": "piffle", "package_url": "https://pypi.org/project/piffle/", "platform": "", "project_url": "https://pypi.org/project/piffle/", "project_urls": { "Homepage": "https://github.com/emory-lits-labs/piffle" }, "release_url": "https://pypi.org/project/piffle/0.3.0/", "requires_dist": null, "requires_python": "", "summary": "Python library for generating IIIF Image API urls", "version": "0.3.0" }, "last_serial": 5820269, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "c080ec1242ac0d72d6e296ec37151fba", "sha256": "66f9d2e451d575b15f1be9131ac02c4208ffcc1638aa86becd7c8eab39ee9cd0" }, "downloads": -1, "filename": "piffle-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c080ec1242ac0d72d6e296ec37151fba", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3981, "upload_time": "2016-08-03T21:21:19", "url": "https://files.pythonhosted.org/packages/a3/74/595172aad0eb6025ba3c87db851ad2894e9c1179b265270312187af0d2b2/piffle-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d20fafcae44053f6d0d36c0e37a987d3", "sha256": "5e0acf9b3649ea043f236a5f7d55cddab28a1aa2ae8d3d301cf14a7520653ff2" }, "downloads": -1, "filename": "piffle-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d20fafcae44053f6d0d36c0e37a987d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2787, "upload_time": "2016-08-03T21:21:17", "url": "https://files.pythonhosted.org/packages/d7/14/e7508b715ac195d0a663bea776d0c3af2658c516b87783d6bd837d2f4663/piffle-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "948217b0ba2e2d1c5b8487fd7a9dc432", "sha256": "61263b490eab3162d6d18723a56e5fe00543cc5388bd1ebeeb98cfdd900bf600" }, "downloads": -1, "filename": "piffle-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "948217b0ba2e2d1c5b8487fd7a9dc432", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8518, "upload_time": "2016-09-01T21:52:20", "url": "https://files.pythonhosted.org/packages/d8/fb/4f8e3a0bf8ef7bf577c69930cabea9f474b2ed754e69bb0b77c36ae92583/piffle-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "226547881ff8874be506b577a770f389", "sha256": "e70ade2db04915c6e2e3404cad1210ebb9b4fd9e58ca21e6c72af21e2e3eb063" }, "downloads": -1, "filename": "piffle-0.2.0.tar.gz", "has_sig": false, "md5_digest": "226547881ff8874be506b577a770f389", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6454, "upload_time": "2016-09-01T21:52:18", "url": "https://files.pythonhosted.org/packages/63/c5/e6ba9d34da1ace166c8b9104fb32773015064f0495ad7718eea0d4c36237/piffle-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "94607951402c3099d1ffeb0ac24d3858", "sha256": "a204da33b9de435796f03fe90d21a5bd44f9372d8f5d3316ebe74e8ff6f1ed47" }, "downloads": -1, "filename": "piffle-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "94607951402c3099d1ffeb0ac24d3858", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8739, "upload_time": "2016-09-08T17:59:56", "url": "https://files.pythonhosted.org/packages/36/12/76e2967c1328b2f56c1f4ac3eb65024a292a9e7ac7ae96c379e6c2c82cbf/piffle-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f44df7069c2e766afaad2e3950da067c", "sha256": "fffda32011293b87da27a6f259ca532663e75888d9cd4cb52acfe4e3ffc1a973" }, "downloads": -1, "filename": "piffle-0.2.1.tar.gz", "has_sig": false, "md5_digest": "f44df7069c2e766afaad2e3950da067c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6663, "upload_time": "2016-09-08T17:59:54", "url": "https://files.pythonhosted.org/packages/8d/aa/22c3ab0e38c48f50f7a4a1d794467875f268db4c6812ed3ada38a971916c/piffle-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "17316371bb85de49cda2502cdc3f58ec", "sha256": "d080283a2e6416cbfd1b1d7441f69a668b1bd698f634be5adc5a0b628ec866f1" }, "downloads": -1, "filename": "piffle-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "17316371bb85de49cda2502cdc3f58ec", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 9116, "upload_time": "2018-05-02T18:31:11", "url": "https://files.pythonhosted.org/packages/b2/0b/09f1c6adc0479506e03f1f01545802c1fa12f84314a9e02d408c38fdfd4c/piffle-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c845f3aec188a7c8af5a0fafae284c0", "sha256": "0752cd9a360e2b8c38cdda12ac4c20515581a5215c6673e4afdaa3a671daee94" }, "downloads": -1, "filename": "piffle-0.3.0.tar.gz", "has_sig": false, "md5_digest": "6c845f3aec188a7c8af5a0fafae284c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8936, "upload_time": "2018-05-02T18:31:09", "url": "https://files.pythonhosted.org/packages/29/e8/ce902bd4f867d316ba28e353a71478ed17f7dd8148db35cb74de5dfae253/piffle-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "17316371bb85de49cda2502cdc3f58ec", "sha256": "d080283a2e6416cbfd1b1d7441f69a668b1bd698f634be5adc5a0b628ec866f1" }, "downloads": -1, "filename": "piffle-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "17316371bb85de49cda2502cdc3f58ec", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 9116, "upload_time": "2018-05-02T18:31:11", "url": "https://files.pythonhosted.org/packages/b2/0b/09f1c6adc0479506e03f1f01545802c1fa12f84314a9e02d408c38fdfd4c/piffle-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c845f3aec188a7c8af5a0fafae284c0", "sha256": "0752cd9a360e2b8c38cdda12ac4c20515581a5215c6673e4afdaa3a671daee94" }, "downloads": -1, "filename": "piffle-0.3.0.tar.gz", "has_sig": false, "md5_digest": "6c845f3aec188a7c8af5a0fafae284c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8936, "upload_time": "2018-05-02T18:31:09", "url": "https://files.pythonhosted.org/packages/29/e8/ce902bd4f867d316ba28e353a71478ed17f7dd8148db35cb74de5dfae253/piffle-0.3.0.tar.gz" } ] }