============
Flask-IIIF
============
.. image:: https://github.com/inveniosoftware/flask-iiif/workflows/CI/badge.svg
:target: https://github.com/inveniosoftware/flask-iiif/actions
.. image:: https://img.shields.io/coveralls/inveniosoftware/flask-iiif.svg
:target: https://coveralls.io/r/inveniosoftware/flask-iiif
.. image:: https://img.shields.io/github/tag/inveniosoftware/flask-iiif.svg
:target: https://github.com/inveniosoftware/flask-iiif/releases
.. image:: https://img.shields.io/pypi/dm/flask-iiif.svg
:target: https://pypi.python.org/pypi/flask-iiif
.. image:: https://img.shields.io/github/license/inveniosoftware/flask-iiif.svg
:target: https://github.com/inveniosoftware/flask-iiif/blob/master/LICENSE
About
=====
Flask-IIIF is a Flask extension permitting easy integration with the
International Image Interoperability Framework (IIIF) API standards.
Installation
============
Flask-IIIF is on PyPI so all you need is: ::
pip install Flask-IIIF
Documentation
=============
Documentation is readable at http://flask-iiif.readthedocs.io or can be
built using Sphinx: ::
git submodule init
git submodule update
pip install Sphinx
python setup.py build_sphinx
Testing
=======
Running the test suite is as simple as: ::
python setup.py test
or, to also show code coverage: ::
./run-tests.sh
Changes
=======
Version 1.2.0 (released 2024-12-12)
- fix: docs reference target not found
- setup: remove werkzeug pin
Version v1.1.1 (released 2024-11-05)
- setup: remove werkzeug pin
Version v1.1.0 (released 2024-08-26)
- resize: added upscaling params for h & w
Here you can see the full list of changes between each Flask-IIIF
release.
Version 1.0.0 (released 2023-10-27)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- api: fix resize of greyscale source images
- bump flask to >=2.0, pin Werkzeug <3.0
- fix deprecated use of ``attachment_filename``
Version 0.6.3 (released 2022-07-08)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- remove custom resizing of GIF
Version 0.6.2 (released 2021-12-09)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Removes encoding of key, due to incompatibility with python3
- Makes temp folder location regarding the generation of gif files configurable
- Removes upper pinning of Werkzeug
- Closes image after usage to avoid leaking memory during api requests
- Migrates CI to gh-actions
- Updates copyright and contributors
Version 0.6.1 (released 2020-03-19)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Added missing ``app`` argument for the ``flask_iiif.cache.ImageCache``
constructor.
Version 0.6.0 (released 2020-03-13)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Removes support for Python 2.7
- Image API specification fixes
- Support both ``gray`` and ``grey`` as valid qualities.
- Rotations are now performed clock-wise.
- No padding added to resized images.
- Better support for image extension conversions (``.tif/.tiff``, ``.jp2``).
- Pillow bumped to v4.0
- Introduced ``IIIF_CACHE_IGNORE_ERRORS`` config variable to allow ignoring
cache access exceptions.
- Changed ``current_iiif.cache`` from a callable function to a Werkzeug
``cached_property``.
Version 0.5.3 (released 2019-11-21)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Adds Last-Lodified and If-Modified-Since to imageapi
- Removes warning message for LocalProxy
- Fixes werkzeug deprecation warning
Version 0.5.2 (released 2019-07-25)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Sets Redis cache prefix
- Fixes cache control headers
Version 0.5.1 (released 2019-05-23)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixes syntax error in documentation
- Fixes import sorting
Version 0.5.0 (released 2018-05-18)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ Fixes
- wrong ratio calculation for best fit
+ New features
- adds black background to requested best fit thumbnail or gif
if the image does not cover the whole window of requested size
Version 0.4.0 (released 2018-04-17)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixes unicode filename issues.
- Changes default resampling algorithm to BICUBIC for better image quality.
- Adds support for _external, _scheme etc parameters for iiif_image_url.
Version 0.3.2 (released 2018-04-09)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ Security
- Fixed missing API protection on image metadata endpoint.
Version 0.3.1 (released 2017-08-18)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Deployment changes.
Version 0.3.0 (released 2017-08-17)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ New features
- Adds TIFF image support to the default config.
- Adds proper GIF resize.
- Adds optional Redis cache.
+ Notes
- Minimum Pillow version is update to 3.4.
Version 0.2.0 (released 2015-05-22)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ Incompatible changes
- Removes `uuid_to_path_handler` callback.
- Updates error classes names (MultimediaImageResizeError and
MultimediaImageCropError).
+ New features
- Adds image information request endpoint `<uuid>/info.json` which
contains available metadata for the image, such as the full height
and width, and the functionality available for the image, such as
the formats in which it may be retrieved, and the IIIF profile
used.
- Adds new signals to REST API that permits to have access before
and after process of the request as well as after the validation
of IIIF.
- Adds a configurable decorator to the REST API which can be
configure with the `api_decorator_handler`.
- Adds the `uuid_to_image_opener_handler` which can handle both
`fullpath` and `bytestream` as source.
+ Improved features
- Improves the initialisation of the REST API by adding a
possibility to override the default API prefix
`/api/multimedia/image/`.
- Adds better testing cases and increases the overall test
efficiency.
+ Notes
- The decorator can be used to restrict access to the REST API.
Version 0.1.0 (released 2015-04-28)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Initial public release.
Raw data
{
"_id": null,
"home_page": "http://github.com/inveniosoftware/flask-iiif/",
"name": "flask-iiif",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": "Invenio collaboration",
"author_email": "info@inveniosoftware.org",
"download_url": "https://files.pythonhosted.org/packages/a1/13/4f46b5818a421bc5c9e20bc3b58717b7ba50002134c7499de37fd43c07d1/flask-iiif-1.2.0.tar.gz",
"platform": "any",
"description": "============\n Flask-IIIF\n============\n\n.. image:: https://github.com/inveniosoftware/flask-iiif/workflows/CI/badge.svg\n :target: https://github.com/inveniosoftware/flask-iiif/actions\n\n.. image:: https://img.shields.io/coveralls/inveniosoftware/flask-iiif.svg\n :target: https://coveralls.io/r/inveniosoftware/flask-iiif\n\n.. image:: https://img.shields.io/github/tag/inveniosoftware/flask-iiif.svg\n :target: https://github.com/inveniosoftware/flask-iiif/releases\n\n.. image:: https://img.shields.io/pypi/dm/flask-iiif.svg\n :target: https://pypi.python.org/pypi/flask-iiif\n\n.. image:: https://img.shields.io/github/license/inveniosoftware/flask-iiif.svg\n :target: https://github.com/inveniosoftware/flask-iiif/blob/master/LICENSE\n\nAbout\n=====\n\nFlask-IIIF is a Flask extension permitting easy integration with the\nInternational Image Interoperability Framework (IIIF) API standards.\n\nInstallation\n============\n\nFlask-IIIF is on PyPI so all you need is: ::\n\n pip install Flask-IIIF\n\nDocumentation\n=============\n\nDocumentation is readable at http://flask-iiif.readthedocs.io or can be\nbuilt using Sphinx: ::\n\n git submodule init\n git submodule update\n pip install Sphinx\n python setup.py build_sphinx\n\nTesting\n=======\nRunning the test suite is as simple as: ::\n\n python setup.py test\n\nor, to also show code coverage: ::\n\n ./run-tests.sh\n\nChanges\n=======\n\nVersion 1.2.0 (released 2024-12-12)\n\n- fix: docs reference target not found\n- setup: remove werkzeug pin\n\nVersion v1.1.1 (released 2024-11-05)\n\n- setup: remove werkzeug pin\n\nVersion v1.1.0 (released 2024-08-26)\n\n- resize: added upscaling params for h & w\n\nHere you can see the full list of changes between each Flask-IIIF\nrelease.\n\nVersion 1.0.0 (released 2023-10-27)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- api: fix resize of greyscale source images\n- bump flask to >=2.0, pin Werkzeug <3.0\n- fix deprecated use of ``attachment_filename``\n\nVersion 0.6.3 (released 2022-07-08)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- remove custom resizing of GIF\n\nVersion 0.6.2 (released 2021-12-09)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- Removes encoding of key, due to incompatibility with python3\n- Makes temp folder location regarding the generation of gif files configurable\n- Removes upper pinning of Werkzeug\n- Closes image after usage to avoid leaking memory during api requests\n- Migrates CI to gh-actions\n- Updates copyright and contributors\n\nVersion 0.6.1 (released 2020-03-19)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- Added missing ``app`` argument for the ``flask_iiif.cache.ImageCache``\n constructor.\n\nVersion 0.6.0 (released 2020-03-13)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- Removes support for Python 2.7\n- Image API specification fixes\n - Support both ``gray`` and ``grey`` as valid qualities.\n - Rotations are now performed clock-wise.\n - No padding added to resized images.\n- Better support for image extension conversions (``.tif/.tiff``, ``.jp2``).\n- Pillow bumped to v4.0\n- Introduced ``IIIF_CACHE_IGNORE_ERRORS`` config variable to allow ignoring\n cache access exceptions.\n- Changed ``current_iiif.cache`` from a callable function to a Werkzeug\n ``cached_property``.\n\nVersion 0.5.3 (released 2019-11-21)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- Adds Last-Lodified and If-Modified-Since to imageapi\n- Removes warning message for LocalProxy\n- Fixes werkzeug deprecation warning\n\nVersion 0.5.2 (released 2019-07-25)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- Sets Redis cache prefix\n- Fixes cache control headers\n\nVersion 0.5.1 (released 2019-05-23)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- Fixes syntax error in documentation\n- Fixes import sorting\n\nVersion 0.5.0 (released 2018-05-18)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n+ Fixes\n\n - wrong ratio calculation for best fit\n\n+ New features\n\n - adds black background to requested best fit thumbnail or gif\n if the image does not cover the whole window of requested size\n\n\nVersion 0.4.0 (released 2018-04-17)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- Fixes unicode filename issues.\n\n- Changes default resampling algorithm to BICUBIC for better image quality.\n\n- Adds support for _external, _scheme etc parameters for iiif_image_url.\n\n\nVersion 0.3.2 (released 2018-04-09)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n+ Security\n\n - Fixed missing API protection on image metadata endpoint.\n\nVersion 0.3.1 (released 2017-08-18)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- Deployment changes.\n\nVersion 0.3.0 (released 2017-08-17)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n+ New features\n\n - Adds TIFF image support to the default config.\n\n - Adds proper GIF resize.\n\n - Adds optional Redis cache.\n\n+ Notes\n\n - Minimum Pillow version is update to 3.4.\n\nVersion 0.2.0 (released 2015-05-22)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n+ Incompatible changes\n\n - Removes `uuid_to_path_handler` callback.\n\n - Updates error classes names (MultimediaImageResizeError and\n MultimediaImageCropError).\n\n+ New features\n\n - Adds image information request endpoint `<uuid>/info.json` which\n contains available metadata for the image, such as the full height\n and width, and the functionality available for the image, such as\n the formats in which it may be retrieved, and the IIIF profile\n used.\n\n - Adds new signals to REST API that permits to have access before\n and after process of the request as well as after the validation\n of IIIF.\n\n - Adds a configurable decorator to the REST API which can be\n configure with the `api_decorator_handler`.\n\n - Adds the `uuid_to_image_opener_handler` which can handle both\n `fullpath` and `bytestream` as source.\n\n+ Improved features\n\n - Improves the initialisation of the REST API by adding a\n possibility to override the default API prefix\n `/api/multimedia/image/`.\n\n - Adds better testing cases and increases the overall test\n efficiency.\n\n+ Notes\n\n - The decorator can be used to restrict access to the REST API.\n\nVersion 0.1.0 (released 2015-04-28)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- Initial public release.\n\n\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "\"Flask-IIIF extension provides easy IIIF API standard integration.\"",
"version": "1.2.0",
"project_urls": {
"Homepage": "http://github.com/inveniosoftware/flask-iiif/"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "419a0602c5ff803f9833da4ed7d3c69a7be31c2755a5dd9b26fe76ceb948b2f3",
"md5": "37642b2d854bb5483177b140aceb7e6c",
"sha256": "5b11b93bbb91d7a6e9f7eacb6291979f04161edb9bc8025bdaab52f301f3b367"
},
"downloads": -1,
"filename": "flask_iiif-1.2.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "37642b2d854bb5483177b140aceb7e6c",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.7",
"size": 36586,
"upload_time": "2024-12-12T21:09:53",
"upload_time_iso_8601": "2024-12-12T21:09:53.998816Z",
"url": "https://files.pythonhosted.org/packages/41/9a/0602c5ff803f9833da4ed7d3c69a7be31c2755a5dd9b26fe76ceb948b2f3/flask_iiif-1.2.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a1134f46b5818a421bc5c9e20bc3b58717b7ba50002134c7499de37fd43c07d1",
"md5": "5892f8daa2138bfa9f78e3c322bff0d5",
"sha256": "8f288697d0eb747652bd9420b49586f2a77714f7805535a5cd2ba62484503344"
},
"downloads": -1,
"filename": "flask-iiif-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "5892f8daa2138bfa9f78e3c322bff0d5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 35364,
"upload_time": "2024-12-12T21:09:56",
"upload_time_iso_8601": "2024-12-12T21:09:56.703129Z",
"url": "https://files.pythonhosted.org/packages/a1/13/4f46b5818a421bc5c9e20bc3b58717b7ba50002134c7499de37fd43c07d1/flask-iiif-1.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-12 21:09:56",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "inveniosoftware",
"github_project": "flask-iiif",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "flask-iiif"
}