From 7d515830cadce08e2af56c674062a062c8997377 Mon Sep 17 00:00:00 2001 From: Peter Weber Date: Thu, 9 Jan 2020 16:17:41 +0100 Subject: [PATCH] instance: upate invenio to 3.2, improve harvesting * Updates invenio to version 3.2. * Bumps ES to version 7. * Uses Postgress 12 * Adds XSL style to OAI2D. * Implements deletion of resource links for unavailable ebooks during harvesting. * Uses poetry. * Adds oai2debug endpoint with debug output. Co-Authored-by: Peter Weber --- .travis.yml | 15 +- Dockerfile | 6 +- Dockerfile.base | 2 +- MANIFEST.in | 1 + Pipfile | 57 - Pipfile.lock | 1727 ---- requirements-devel.txt => data/oaisets.yml | 24 +- docker-compose.full.yml | 8 +- docker-services.yml | 10 +- docker/nginx/nginx.conf | 7 +- docs/conf.py | 2 - poetry.lock | 4028 +++++++++ pyproject.toml | 99 + pytest.ini | 5 + requirements.txt | 31 - rero_ebooks/api.py | 239 +- rero_ebooks/apiharvester/cli.py | 18 +- rero_ebooks/apiharvester/errors.py | 51 + rero_ebooks/apiharvester/models.py | 10 +- rero_ebooks/apiharvester/tasks.py | 24 +- rero_ebooks/apiharvester/utils.py | 62 +- rero_ebooks/cantook/api.py | 129 +- rero_ebooks/celery.py | 47 + rero_ebooks/config.py | 59 +- rero_ebooks/dojson/marc21/fields/bd00x.py | 2 - rero_ebooks/dojson/marc21/model.py | 2 +- rero_ebooks/ext.py | 10 - rero_ebooks/fetchers.py | 2 +- .../mappings/v6/ebooks/ebook-v1.0.0.json | 7991 ----------------- rero_ebooks/mappings/{v6 => v7}/__init__.py | 0 .../mappings/v7/ebooks/ebook-v1.0.0.json | 7976 ++++++++++++++++ rero_ebooks/receivers.py | 47 - rero_ebooks/static/xsl/oai.xsl | 705 ++ rero_ebooks/tasks.py | 71 - rero_ebooks/version.py | 2 +- rero_ebooks/views.py | 24 +- run-tests.sh | 69 +- scripts/{worker_beat => __init__.py} | 19 +- scripts/bootstrap | 108 +- scripts/console | 49 +- scripts/server | 85 +- scripts/setup | 86 +- scripts/update | 50 +- setup.py | 5 +- tests/api/conftest.py | 61 +- tests/api/test_api.py | 55 +- tests/conftest.py | 33 + tests/unit/test_apiharvester_cli.py | 57 +- 48 files changed, 13971 insertions(+), 10199 deletions(-) delete mode 100644 Pipfile delete mode 100644 Pipfile.lock rename requirements-devel.txt => data/oaisets.yml (60%) create mode 100644 poetry.lock create mode 100644 pyproject.toml delete mode 100644 requirements.txt create mode 100644 rero_ebooks/apiharvester/errors.py create mode 100644 rero_ebooks/celery.py delete mode 100644 rero_ebooks/mappings/v6/ebooks/ebook-v1.0.0.json rename rero_ebooks/mappings/{v6 => v7}/__init__.py (100%) create mode 100644 rero_ebooks/mappings/v7/ebooks/ebook-v1.0.0.json delete mode 100644 rero_ebooks/receivers.py create mode 100644 rero_ebooks/static/xsl/oai.xsl delete mode 100644 rero_ebooks/tasks.py rename scripts/{worker_beat => __init__.py} (65%) mode change 100755 => 100644 diff --git a/.travis.yml b/.travis.yml index 1ea4d54..05a676f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,9 +50,11 @@ env: - E2E_OUTPUT=base64 # Enable end-to-end tests - E2E=no + # Enable Europe/Zurich timezone + - TZ="Europe/Zurich" matrix: - - REQUIREMENTS=prod - - REQUIREMENTS=qa + - REQUIREMENTS="--deploy" E2E=yes + - REQUIREMENTS="" python: - "3.6" @@ -66,14 +68,15 @@ before_install: # Chrome webdriver for Selenium - "PATH=$PATH:$HOME/webdrivers" - "if [ ${E2E} == 'yes' ] && [ ! -f $HOME/webdrivers/chromedriver ]; then wget https://chromedriver.storage.googleapis.com/2.31/chromedriver_linux64.zip -P $HOME/webdrivers; unzip -d $HOME/webdrivers $HOME/webdrivers/chromedriver_linux64.zip; fi" - - "nvm install 6; nvm use 6" - - "travis_retry pip install --upgrade setuptools py pipenv==2018.10.9" + - "nvm install 8; nvm use 8" + - "travis_retry pip install --upgrade setuptools py poetry" - "travis_retry pip install twine wheel coveralls" - # patch default version of travis which is mark as unsave by pipenv check + # patch default version of travis which is mark as unsave by safety check - "travis_retry pip install --upgrade numpy" install: - "./scripts/bootstrap --ci" + - "poetry show" # To have details about installed libs (isort, pytest, etc.) before_script: # https://docs.travis-ci.com/user/gui-and-headless-browsers/ @@ -83,7 +86,7 @@ before_script: - "./docker/wait-for-services.sh" script: - - ./run-tests.sh # E2E tests are skipped if E2E env is set to 'no' + - poetry run run-tests # E2E tests are skipped if E2E env is set to 'no' after_success: - coveralls diff --git a/Dockerfile b/Dockerfile index 2d5aeaa..a56cfe0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,9 +35,7 @@ RUN chown -R invenio:invenio ${WORKING_DIR} USER 1000 -# workaround -RUN rm -rf /invenio/src/ui/admin/node_modules -RUN npm uninstall --prefix `pipenv --venv` --silent -g node-sass clean-css uglify-js requirejs +RUN npm uninstall --prefix `poetry env info -p` --silent -g node-sass clean-css uglify-js requirejs ENV INVENIO_COLLECT_STORAGE='flask_collect.storage.file' -RUN ./scripts/bootstrap --deploy +RUN poetry run bootstrap --deploy diff --git a/Dockerfile.base b/Dockerfile.base index 9e70786..5fa9f81 100644 --- a/Dockerfile.base +++ b/Dockerfile.base @@ -27,7 +27,7 @@ FROM python:3.6-slim-stretch # require debian packages RUN apt-get update -y && apt-get upgrade -y RUN apt-get install --no-install-recommends -y git vim-tiny curl gcc gnupg libc6-dev && rm -rf /var/lib/apt/lists/* -RUN pip install --upgrade setuptools wheel pip pipenv +RUN pip install --upgrade setuptools wheel pip poetry # # uwsgi uwsgitop uwsgi-tools diff --git a/MANIFEST.in b/MANIFEST.in index 03b826f..b68c909 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -77,5 +77,6 @@ include Pipfile recursive-include rero_ebooks *.png recursive-include rero_ebooks *.scss recursive-include rero_ebooks *.py +recursive-include rero_ebooks *.xsl recursive-include tests *.json recursive-include tests *.yml diff --git a/Pipfile b/Pipfile deleted file mode 100644 index 883d0b6..0000000 --- a/Pipfile +++ /dev/null @@ -1,57 +0,0 @@ -[[source]] -url = "https://pypi.org/simple" -verify_ssl = true -name = "pypi" - -[packages] -# Default from Invenio -Babel = ">=2.4.0" -Flask-BabelEx = ">=0.9.3" -uwsgi = ">=2.0" -uwsgitop = ">=0.11" -uwsgi-tools = ">=1.1.1" -lxml = ">=3.5.0,<4.2.6" -# RERO ILS specific python packages -PyYAML = ">=3.13" -isbnlib = ">=3.9.1" -requests = ">=2.20.0" -responses = "*" -# Invenio -celery = "<4.3.0" -invenio-oaiharvester = {ref = "v1.0.0a4",git = "https://github.com/inveniosoftware/invenio-oaiharvester.git"} -invenio = {version = "~=3.1.0",extras = ["base", "postgresql", "auth", "elasticsearch6" ]} -dojson = ">=1.3.2" -# get rid of invenio-search-ui -invenio-indexer = ">=1.0.1,<1.1.0" -invenio-jsonschemas = ">=1.0.0,<1.1.0" -invenio-oaiserver = ">=1.0.3,<1.1.0" -invenio-pidstore = ">=1.0.0,<1.1.0" -invenio-records-rest = ">=1.4.0,<1.5.0" -invenio-records-ui = ">=1.0.1,<1.1.0" -# separate tables -invenio-records = ">=1.3.0" -# self install -rero-ebooks = {editable = true,path = "."} - -[dev-packages] -Sphinx = ">=1.5.1" -check-manifest = ">=0.35" -coverage = ">=4.4.1" -isort = ">=4.3.5,<4.3.10" -mock = ">=2.0.0" -pydocstyle = ">=2.0.0" -pytest = ">=3.3.1" -pytest-cov = ">=2.5.1" -pytest-invenio = ">=1.1.0" -pytest-mock = ">=1.6.0" -pytest-pep8 = ">=1.0.6" -pytest-random-order = ">=0.5.4" -pytest-runner = ">=3.0.0,<5" - -[requires] -python_version = "3.6" - -[scripts] -test = "python setup.py test" -build_sphinx = "python setup.py build_sphinx" -dev = "pytest --no-cov -vs tests" diff --git a/Pipfile.lock b/Pipfile.lock deleted file mode 100644 index 6d6392a..0000000 --- a/Pipfile.lock +++ /dev/null @@ -1,1727 +0,0 @@ -{ - "_meta": { - "hash": { - "sha256": "7a87f314c7dc6cd6fb55dce5a2f48d299664bfd2b03f5da755baceecbfd227f5" - }, - "pipfile-spec": 6, - "requires": { - "python_version": "3.6" - }, - "sources": [ - { - "name": "pypi", - "url": "https://pypi.org/simple", - "verify_ssl": true - } - ] - }, - "default": { - "alembic": { - "hashes": [ - "sha256:9f907d7e8b286a1cfb22db9084f9ce4fde7ad7956bb496dc7c952e10ac90e36a" - ], - "version": "==1.2.1" - }, - "amqp": { - "hashes": [ - "sha256:19a917e260178b8d410122712bac69cb3e6db010d68f6101e7307508aded5e68", - "sha256:19d851b879a471fcfdcf01df9936cff924f422baa77653289f7095dedd5fb26a" - ], - "version": "==2.5.1" - }, - "appnope": { - "hashes": [ - "sha256:5b26757dc6f79a3b7dc9fab95359328d5747fcb2409d331ea66d0272b90ab2a0", - "sha256:8b995ffe925347a2138d7ac0fe77155e4311a0ea6d6da4f5128fe4b3cbe5ed71" - ], - "markers": "sys_platform == 'darwin'", - "version": "==0.1.0" - }, - "arrow": { - "hashes": [ - "sha256:10257c5daba1a88db34afa284823382f4963feca7733b9107956bed041aff24f", - "sha256:c2325911fcd79972cf493cfd957072f9644af8ad25456201ae1ede3316576eb4" - ], - "version": "==0.15.2" - }, - "asn1crypto": { - "hashes": [ - "sha256:2f1adbb7546ed199e3c90ef23ec95c5cf3585bac7d11fb7eb562a3fe89c64e87", - "sha256:9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49" - ], - "version": "==0.24.0" - }, - "attrs": { - "hashes": [ - "sha256:69c0dbf2ed392de1cb5ec704444b08a5ef81680a61cb899dc08127123af36a79", - "sha256:f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399" - ], - "version": "==19.1.0" - }, - "babel": { - "hashes": [ - "sha256:af92e6106cb7c55286b25b38ad7695f8b4efb36a90ba483d7f7a6628c46158ab", - "sha256:e86135ae101e31e2c8ec20a4e0c5220f4eed12487d5cf3f78be7e98d3a57fc28" - ], - "index": "pypi", - "version": "==2.7.0" - }, - "backcall": { - "hashes": [ - "sha256:38ecd85be2c1e78f77fd91700c76e14667dc21e2713b63876c0eb901196e01e4", - "sha256:bbbf4b1e5cd2bdb08f915895b51081c041bac22394fdfcfdfbe9f14b77c08bf2" - ], - "version": "==0.1.0" - }, - "billiard": { - "hashes": [ - "sha256:42d9a227401ac4fba892918bba0a0c409def5435c4b483267ebfe821afaaba0e" - ], - "version": "==3.5.0.5" - }, - "binaryornot": { - "hashes": [ - "sha256:359501dfc9d40632edc9fac890e19542db1a287bbcfa58175b66658392018061", - "sha256:b8b71173c917bddcd2c16070412e369c3ed7f0528926f70cac18a6c97fd563e4" - ], - "version": "==0.4.4" - }, - "bleach": { - "hashes": [ - "sha256:213336e49e102af26d9cde77dd2d0397afabc5a6bf2fed985dc35b5d1e285a16", - "sha256:3fdf7f77adcf649c9911387df51254b813185e32b2c6619f690b593a617e19fa" - ], - "version": "==3.1.0" - }, - "blinker": { - "hashes": [ - "sha256:471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6" - ], - "version": "==1.4" - }, - "celery": { - "hashes": [ - "sha256:373d6544c8d6ee66b9c1c9ba61ec4c74334c9a861306002662252bd5fd0ff6a1", - "sha256:b1b7da98be6b4082abfa6e18282ece450271f366bce81d0d521342a0db862506" - ], - "index": "pypi", - "version": "==4.2.2" - }, - "certifi": { - "hashes": [ - "sha256:e4f3620cfea4f83eedc95b24abd9cd56f3c4b146dd0177e83a21b4eb49e21e50", - "sha256:fd7c7c74727ddcf00e9acd26bba8da604ffec95bf1c2144e67aff7a8b50e6cef" - ], - "version": "==2019.9.11" - }, - "cffi": { - "hashes": [ - "sha256:041c81822e9f84b1d9c401182e174996f0bae9991f33725d059b771744290774", - "sha256:046ef9a22f5d3eed06334d01b1e836977eeef500d9b78e9ef693f9380ad0b83d", - "sha256:066bc4c7895c91812eff46f4b1c285220947d4aa46fa0a2651ff85f2afae9c90", - "sha256:066c7ff148ae33040c01058662d6752fd73fbc8e64787229ea8498c7d7f4041b", - "sha256:2444d0c61f03dcd26dbf7600cf64354376ee579acad77aef459e34efcb438c63", - "sha256:300832850b8f7967e278870c5d51e3819b9aad8f0a2c8dbe39ab11f119237f45", - "sha256:34c77afe85b6b9e967bd8154e3855e847b70ca42043db6ad17f26899a3df1b25", - "sha256:46de5fa00f7ac09f020729148ff632819649b3e05a007d286242c4882f7b1dc3", - "sha256:4aa8ee7ba27c472d429b980c51e714a24f47ca296d53f4d7868075b175866f4b", - "sha256:4d0004eb4351e35ed950c14c11e734182591465a33e960a4ab5e8d4f04d72647", - "sha256:4e3d3f31a1e202b0f5a35ba3bc4eb41e2fc2b11c1eff38b362de710bcffb5016", - "sha256:50bec6d35e6b1aaeb17f7c4e2b9374ebf95a8975d57863546fa83e8d31bdb8c4", - "sha256:55cad9a6df1e2a1d62063f79d0881a414a906a6962bc160ac968cc03ed3efcfb", - "sha256:5662ad4e4e84f1eaa8efce5da695c5d2e229c563f9d5ce5b0113f71321bcf753", - "sha256:59b4dc008f98fc6ee2bb4fd7fc786a8d70000d058c2bbe2698275bc53a8d3fa7", - "sha256:73e1ffefe05e4ccd7bcea61af76f36077b914f92b76f95ccf00b0c1b9186f3f9", - "sha256:a1f0fd46eba2d71ce1589f7e50a9e2ffaeb739fb2c11e8192aa2b45d5f6cc41f", - "sha256:a2e85dc204556657661051ff4bab75a84e968669765c8a2cd425918699c3d0e8", - "sha256:a5457d47dfff24882a21492e5815f891c0ca35fefae8aa742c6c263dac16ef1f", - "sha256:a8dccd61d52a8dae4a825cdbb7735da530179fea472903eb871a5513b5abbfdc", - "sha256:ae61af521ed676cf16ae94f30fe202781a38d7178b6b4ab622e4eec8cefaff42", - "sha256:b012a5edb48288f77a63dba0840c92d0504aa215612da4541b7b42d849bc83a3", - "sha256:d2c5cfa536227f57f97c92ac30c8109688ace8fa4ac086d19d0af47d134e2909", - "sha256:d42b5796e20aacc9d15e66befb7a345454eef794fdb0737d1af593447c6c8f45", - "sha256:dee54f5d30d775f525894d67b1495625dd9322945e7fee00731952e0368ff42d", - "sha256:e070535507bd6aa07124258171be2ee8dfc19119c28ca94c9dfb7efd23564512", - "sha256:e1ff2748c84d97b065cc95429814cdba39bcbd77c9c85c89344b317dc0d9cbff", - "sha256:ed851c75d1e0e043cbf5ca9a8e1b13c4c90f3fbd863dacb01c0808e2b5204201" - ], - "version": "==1.12.3" - }, - "chardet": { - "hashes": [ - "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", - "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" - ], - "version": "==3.0.4" - }, - "click": { - "hashes": [ - "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13", - "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7" - ], - "version": "==7.0" - }, - "cookiecutter": { - "hashes": [ - "sha256:1316a52e1c1f08db0c9efbf7d876dbc01463a74b155a0d83e722be88beda9a3e", - "sha256:ed8f54a8fc79b6864020d773ce11539b5f08e4617f353de1f22d23226f6a0d36" - ], - "version": "==1.6.0" - }, - "cryptography": { - "hashes": [ - "sha256:24b61e5fcb506424d3ec4e18bca995833839bf13c59fc43e530e488f28d46b8c", - "sha256:25dd1581a183e9e7a806fe0543f485103232f940fcfc301db65e630512cce643", - "sha256:3452bba7c21c69f2df772762be0066c7ed5dc65df494a1d53a58b683a83e1216", - "sha256:41a0be220dd1ed9e998f5891948306eb8c812b512dc398e5a01846d855050799", - "sha256:5751d8a11b956fbfa314f6553d186b94aa70fdb03d8a4d4f1c82dcacf0cbe28a", - "sha256:5f61c7d749048fa6e3322258b4263463bfccefecb0dd731b6561cb617a1d9bb9", - "sha256:72e24c521fa2106f19623a3851e9f89ddfdeb9ac63871c7643790f872a305dfc", - "sha256:7b97ae6ef5cba2e3bb14256625423413d5ce8d1abb91d4f29b6d1a081da765f8", - "sha256:961e886d8a3590fd2c723cf07be14e2a91cf53c25f02435c04d39e90780e3b53", - "sha256:96d8473848e984184b6728e2c9d391482008646276c3ff084a1bd89e15ff53a1", - "sha256:ae536da50c7ad1e002c3eee101871d93abdc90d9c5f651818450a0d3af718609", - "sha256:b0db0cecf396033abb4a93c95d1602f268b3a68bb0a9cc06a7cff587bb9a7292", - "sha256:cfee9164954c186b191b91d4193989ca994703b2fff406f71cf454a2d3c7327e", - "sha256:e6347742ac8f35ded4a46ff835c60e68c22a536a8ae5c4422966d06946b6d4c6", - "sha256:f27d93f0139a3c056172ebb5d4f9056e770fdf0206c2f422ff2ebbad142e09ed", - "sha256:f57b76e46a58b63d1c6375017f4564a28f19a5ca912691fd2e4261b3414b618d" - ], - "version": "==2.7" - }, - "decorator": { - "hashes": [ - "sha256:86156361c50488b84a3f148056ea716ca587df2f0de1d34750d35c21312725de", - "sha256:f069f3a01830ca754ba5258fde2278454a0b5b79e0d7f5c13b3b97e57d4acff6" - ], - "version": "==4.4.0" - }, - "dojson": { - "hashes": [ - "sha256:a52fd3466cbdeae996817a27e58f97bde573a5b790f85cf42c43211d4cff298c", - "sha256:fb5c362cea79ee1215778cdf36f0d2cca9885e1068fc90d6a6dafcc0ce8a7c5f" - ], - "index": "pypi", - "version": "==1.4.0" - }, - "elasticsearch": { - "hashes": [ - "sha256:1f0f633e3b500d5042424f75a505badf8c4b9962c1b4734cdfb3087fb67920be", - "sha256:fb5ab15ee283f104b5a7a5695c7e879cb2927e4eb5aed9c530811590b41259ad" - ], - "version": "==6.4.0" - }, - "elasticsearch-dsl": { - "hashes": [ - "sha256:5114a38a88e93a4663782eae07a1e8084ba333c49887335c83de8b8043bc72b2", - "sha256:d6d974cd2289543a3350690494a43fe9996485b8dc6f1d8758cb56bee01244bd" - ], - "version": "==6.1.0" - }, - "flask": { - "hashes": [ - "sha256:13f9f196f330c7c2c5d7a5cf91af894110ca0215ac051b5844701f2bfd934d52", - "sha256:45eb5a6fd193d6cf7e0cf5d8a5b31f83d5faae0293695626f539a823e93b13f6" - ], - "version": "==1.1.1" - }, - "flask-admin": { - "hashes": [ - "sha256:ca0be6ec11a6913b73f656c65c444ae5be416c57c75638dd3199376ce6bc7422" - ], - "version": "==1.5.3" - }, - "flask-alembic": { - "hashes": [ - "sha256:05a1e6f4148dbfcc9280a393373bfbd250af6f9f4f0ca9f744ef8f7376a3deec", - "sha256:7e67740b0b08d58dcae0c701d56b56e60f5fa4af907bb82b4cb0469229ba94ff" - ], - "version": "==2.0.1" - }, - "flask-assets": { - "hashes": [ - "sha256:6031527b89fb3509d1581d932affa5a79dd348cfffb58d0aef99a43461d47847" - ], - "version": "==0.12" - }, - "flask-babelex": { - "hashes": [ - "sha256:cf79cdedb5ce860166120136b0e059e9d97b8df07a3bc2411f6243de04b754b4" - ], - "index": "pypi", - "version": "==0.9.3" - }, - "flask-breadcrumbs": { - "hashes": [ - "sha256:49bf108f448b4066eda20631d9ac699fb25310cfe05867c8d36ae67eafdf237c", - "sha256:95a5adf1df7eb76c910692cb7001f6d7247428d0ab3ad0fde51223fbc1bed62e" - ], - "version": "==0.4.0" - }, - "flask-caching": { - "hashes": [ - "sha256:52e236cbc836c41a5ced0c0a67b48ad180c9e2b5cb69e881089bba766db5569e", - "sha256:b0daabd5249bebfbae3da4c22987bac22047fc8b18ea2716c4fc63d57d218946" - ], - "version": "==1.7.2" - }, - "flask-celeryext": { - "hashes": [ - "sha256:68bd3bda8a721199df0c69663f9ff92dd79a5023833ffa2ac2cd7169630ab68a", - "sha256:8b72cab1af721f39953dd547f6143f51f15f584bab6decf84f3190751217de67" - ], - "version": "==0.3.2" - }, - "flask-collect": { - "hashes": [ - "sha256:26c8a76451ba1d31236367afd90f4c5a99ba88392adad675ee4fb93a45a36927", - "sha256:3274f651b532e93549d37c21c5630fa98e4b9eccf49573f8d920b1225716a12b" - ], - "version": "==1.2.2" - }, - "flask-cors": { - "hashes": [ - "sha256:72170423eb4612f0847318afff8c247b38bd516b7737adfc10d1c2cdbb382d16", - "sha256:f4d97201660e6bbcff2d89d082b5b6d31abee04b1b3003ee073a6fd25ad1d69a" - ], - "version": "==3.0.8" - }, - "flask-kvsession": { - "hashes": [ - "sha256:9c0ee93fae089c45baeda0a3fd3ae32a96ee81c34996017749f8b3fd06df936c" - ], - "version": "==0.6.2" - }, - "flask-limiter": { - "hashes": [ - "sha256:8cce98dcf25bf2ddbb824c2b503b4fc8e1a139154240fd2c60d9306bad8a0db8" - ], - "version": "==1.0.1" - }, - "flask-login": { - "hashes": [ - "sha256:c815c1ac7b3e35e2081685e389a665f2c74d7e077cb93cecabaea352da4752ec" - ], - "version": "==0.4.1" - }, - "flask-mail": { - "hashes": [ - "sha256:22e5eb9a940bf407bcf30410ecc3708f3c56cc44b29c34e1726fe85006935f41" - ], - "version": "==0.9.1" - }, - "flask-menu": { - "hashes": [ - "sha256:7374c3265c34a3fbb1ab5f1df6385f3b10fc0b05c142fd2f39217c9cece4df29", - "sha256:c30f767af3c008d3157a86533d20ea2bc7b73f5b5820ddca773584674f26517b" - ], - "version": "==0.7.1" - }, - "flask-oauthlib": { - "hashes": [ - "sha256:cbfe835902569909a19828582c3381148995ad677243016ccad9c951acf69406", - "sha256:d3e8ea932df01177018c502e5a07eaeb5c27bcb5352b678f14e57f892272bb56" - ], - "version": "==0.9.5" - }, - "flask-principal": { - "hashes": [ - "sha256:f5d6134b5caebfdbb86f32d56d18ee44b080876a27269560a96ea35f75c99453" - ], - "version": "==0.4.0" - }, - "flask-security": { - "hashes": [ - "sha256:d61daa5f5a48f89f30f50555872bdf581b2c65804668b0313345cd7beff26432", - "sha256:ef837c03558db41335c8dabd16ae4977af0a5ef0c2cdecf738e33ef5202ce489" - ], - "version": "==3.0.0" - }, - "flask-shell-ipython": { - "hashes": [ - "sha256:f212b4fad6831edf652799c719cd05fd0716edfaa5506eb41ff9ef09109890d3", - "sha256:fb3b390f4dc03d7a960c62c5b51ce4deca19ceff77e4db3d4670012adc529ebd" - ], - "version": "==0.4.1" - }, - "flask-sqlalchemy": { - "hashes": [ - "sha256:0078d8663330dc05a74bc72b3b6ddc441b9a744e2f56fe60af1a5bfc81334327", - "sha256:6974785d913666587949f7c2946f7001e4fa2cb2d19f4e69ead02e4b8f50b33d" - ], - "version": "==2.4.1" - }, - "flask-talisman": { - "hashes": [ - "sha256:5d77780b2220012a6748e0b603cbbf7889a2833c4e77157794e13dddb183e347", - "sha256:e4e3ccba66895e1f46d5b62a9cc0f273731da601bc92d2b9af908011298c0e2b" - ], - "version": "==0.5.0" - }, - "flask-webpackext": { - "hashes": [ - "sha256:8a5b9032ed707f920234fcc7c32d24962f17213eb66636a53f5d7d8aa7f18da4", - "sha256:92569ae05b6799a9eba791cc7877a39f1d5545cabd0d4c2cc5bfb5964dbf4958" - ], - "version": "==1.0.0" - }, - "flask-wtf": { - "hashes": [ - "sha256:5d14d55cfd35f613d99ee7cba0fc3fbbe63ba02f544d349158c14ca15561cc36", - "sha256:d9a9e366b32dcbb98ef17228e76be15702cd2600675668bca23f63a7947fd5ac" - ], - "version": "==0.14.2" - }, - "ftfy": { - "hashes": [ - "sha256:3c0066db64a98436e751e56414f03f1cdea54f29364c0632c141c36cca6a5d94" - ], - "version": "==4.4.3" - }, - "future": { - "hashes": [ - "sha256:67045236dcfd6816dc439556d009594abf643e5eb48992e36beac09c2ca659b8" - ], - "version": "==0.17.1" - }, - "html5lib": { - "hashes": [ - "sha256:20b159aa3badc9d5ee8f5c647e5efd02ed2a66ab8d354930bd9ff139fc1dc0a3", - "sha256:66cb0dcfdbbc4f9c3ba1a63fdb511ffdbd4f513b2b6d81b80cd26ce6b3fb3736" - ], - "version": "==1.0.1" - }, - "idna": { - "hashes": [ - "sha256:156a6814fb5ac1fc6850fb002e0852d56c0c8d2531923a51032d1b70760e186e", - "sha256:684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16" - ], - "version": "==2.7" - }, - "importlib-metadata": { - "hashes": [ - "sha256:aa18d7378b00b40847790e7c27e11673d7fed219354109d0e7b9e5b25dc3ad26", - "sha256:d5f18a79777f3aa179c145737780282e27b508fc8fd688cb17c7a813e8bd39af" - ], - "markers": "python_version < '3.8'", - "version": "==0.23" - }, - "infinity": { - "hashes": [ - "sha256:dc4aa138d7e366fc00d2e741e32c78a0fecd16b74f8daeb3f7408b459668005c" - ], - "version": "==1.4" - }, - "intervals": { - "hashes": [ - "sha256:37921da1407a5e9384e8e1350cfb8500f8d0d69fc43d03d01a4fdc6e7a7c7166" - ], - "version": "==0.8.1" - }, - "invenio": { - "extras": [ - "auth", - "base", - "elasticsearch6", - "postgresql" - ], - "hashes": [ - "sha256:adff48d55747a109c6b2c279c0d9b957779a65b5e2dd2e71c484840481510c76", - "sha256:b093fd5b684eb0d4ae2c9d080d332c9ee955e0d3ee3ec494bcb525ca2e1dcbf9" - ], - "index": "pypi", - "version": "==3.1.1" - }, - "invenio-access": { - "hashes": [ - "sha256:1e7439bfdb1c9a697fa41dccc79969af445baa0ddb6248f9cadc1046a2bed36f", - "sha256:430225aa095e4ad11401a84fdf449566498f0e69b8b5c74e77239c1446b9e4da" - ], - "version": "==1.1.0" - }, - "invenio-accounts": { - "hashes": [ - "sha256:82f75c33e66fb57ec7811da22cc2225601b43c600ef303ca45ce20d40f2422cf", - "sha256:b928535e4f3ffe53fcf07b2056f1f1b27b4ff8b83f57583c489f05db6dec5587" - ], - "version": "==1.1.1" - }, - "invenio-admin": { - "hashes": [ - "sha256:9b2481acb16489133fc9243ef2dec552b7fcc2bd586bac8748704c621667ede4", - "sha256:aad90631e6597430abbb62e963ed24041a06f940018e733aaac98a61099d0020" - ], - "version": "==1.1.1" - }, - "invenio-app": { - "hashes": [ - "sha256:a77aee57118d06909d2187a3e25f3d0a299189e06bb43b4d7404a689119ae75a", - "sha256:df15a9ef65758f82f75f8b392456793c2fc36e9984d15113c852a7d8fd2c52dd" - ], - "version": "==1.1.1" - }, - "invenio-assets": { - "hashes": [ - "sha256:8941ef6ff9a735b3649033dbd7f2de57d10f47f5c7c192f7b5d14fd2d4f1ea96", - "sha256:b90566633c9907a98f3beeae3bc27c7e87f7bfea9c1c6df6b9c8f5a1bc3e9be3" - ], - "version": "==1.1.3" - }, - "invenio-base": { - "hashes": [ - "sha256:6e532854a43e4f54fc7d9b1cbda720ce4ce6383b00cee6ba5f7e86ef78f12fe2", - "sha256:f972e10b69a68a80c342f0bcf6b3b02a6a67af4fb6e8e347ce8b482fcb47e973" - ], - "version": "==1.0.2" - }, - "invenio-cache": { - "hashes": [ - "sha256:8431d8b68dbb737cd7035f6467fec18dd29ad9ac35e20405d52af6c2d294557a", - "sha256:f3620bb842f9084ddd5dc81f0fe234f58228c33f59e6771483fd09cb127201cc" - ], - "version": "==1.0.0" - }, - "invenio-celery": { - "hashes": [ - "sha256:22cda704fa8abaa885a327539899887a939832beda7de0d1f1d5d84b4ac153b1", - "sha256:d102dcf3e94cfa11b0973626852f5fd6cac8fa3ba364c42fcec8ecc0b533d838" - ], - "version": "==1.0.1" - }, - "invenio-config": { - "hashes": [ - "sha256:84f67b7fc45095800aacbad4bf23f7498d03eab9f2f2fad3a367f2c56bf1b9e4", - "sha256:885e092f98aaf50a0bb6ecfd667e239346bb1eb6fc6762d52493842f497664d0" - ], - "version": "==1.0.2" - }, - "invenio-db": { - "extras": [ - "postgresql", - "versioning" - ], - "hashes": [ - "sha256:610e9a812527469403806a112ae98bd3579a65b93f8a0ed0842c6db07398edf6", - "sha256:6c61e40ec7487eba01e1e29b43946c996a44855dd3083d7e7bec8426c0e195b4" - ], - "version": "==1.0.4" - }, - "invenio-formatter": { - "hashes": [ - "sha256:b484a0d4b42994aa83729200aa6762e7cb9db11c0c646bf686b66024bd2262da", - "sha256:e18e9044916d35a8a34aba2e62c6a9b0591201667d0a063c1b92e73a24b83d36" - ], - "version": "==1.0.2" - }, - "invenio-i18n": { - "hashes": [ - "sha256:69513d531ccffdfa47cec1e7cd701c72966573d2e9c4e24c96607cb7324dce48", - "sha256:b591d753cd79a98bbef98a0ac5d9abf105f5cb8af94614dbf92688782a7b77b0" - ], - "version": "==1.1.1" - }, - "invenio-indexer": { - "hashes": [ - "sha256:ca8c705813eb1256625f3c6d1550a0610be693676d4929f2f63e0fcf17879973" - ], - "index": "pypi", - "version": "==1.0.2" - }, - "invenio-jsonschemas": { - "hashes": [ - "sha256:c044d7876319237dc057cea322c66ed00af6b534edd55046a912f283f3cbb7cd", - "sha256:ff9c3975bed91925aa50c56ccda5e8c1fca5552667c901e273c64b0bff9e2436" - ], - "index": "pypi", - "version": "==1.0.1" - }, - "invenio-logging": { - "hashes": [ - "sha256:8c2f6633905d100867814e5894564e79682bca7e45ea2870a6c03a69c4860dec", - "sha256:f3a87ab70993e6c7eb5990e70dda3ab0729b1bfa6c90ecf1f9890018accb926f" - ], - "version": "==1.1.1" - }, - "invenio-mail": { - "hashes": [ - "sha256:898952aa8984426074fd92b60bbe3ac67117cae0c724724aa63476416a7b7647", - "sha256:fcd9ec4a89e0e68d09a9b9a638ee625e260ef98d6bc9d7aa172ec3969a95933f" - ], - "version": "==1.0.2" - }, - "invenio-oaiharvester": { - "git": "https://github.com/inveniosoftware/invenio-oaiharvester.git", - "ref": "fe55e095a8e78b36cfad875f752f2facc2908bae" - }, - "invenio-oaiserver": { - "hashes": [ - "sha256:0ad03228ff0cb1be9bc403420c8ebc2b7b5fc8625fbde14e254b068a12020abe", - "sha256:c3aa3b0e63f79ab68ac88b950f8b67d455bc5458b93bf0b07ffef67d88412100" - ], - "index": "pypi", - "version": "==1.0.3" - }, - "invenio-oauth2server": { - "hashes": [ - "sha256:303b642e24ca8942d1c5f888ea648625ee4f27ce83bda31adb6a047bac6aca1b", - "sha256:d5f5f12df1a76d65f17b3dafdc40cec91667f4cb41694e4ab134b7d31018a0b7" - ], - "version": "==1.0.3" - }, - "invenio-oauthclient": { - "hashes": [ - "sha256:1ec836adce24a686029c15a40c3aeb887d1e9431a5189132b3235d34325b4329", - "sha256:7e107b4554bf724fecba8b7108a9021982b7b4974fcaa6a4cd4620521a6bf31a" - ], - "version": "==1.1.3" - }, - "invenio-pidstore": { - "hashes": [ - "sha256:582b28e7e2bdf4df93e5398a0e147b2eb08690ede339249dd3a8c92b713e6f00", - "sha256:77f59075dfa34564b913e5d58f37d55b2c78d7b4fa1eeaa5f8c42576848bb06d" - ], - "index": "pypi", - "version": "==1.0.0" - }, - "invenio-records": { - "hashes": [ - "sha256:8b7571e27d7a08da2fc3cf48c01dd80cac2bf1702ba63e24127b36f15e0dd9df", - "sha256:8d8d24211b101c601b81d76eb2f0d67d402f7fa755739adf83c173e2530e8d92" - ], - "index": "pypi", - "version": "==1.3.0" - }, - "invenio-records-rest": { - "hashes": [ - "sha256:ea5bb3e05d331bd38dfcf154d8fc123558dbeaaad0eb990dab852f946ee8f5b9", - "sha256:f89124c7e1e8fcc16b8652597d3c529a66cfc9f1bbba7e4d40bf880038b29691" - ], - "index": "pypi", - "version": "==1.4.2" - }, - "invenio-records-ui": { - "hashes": [ - "sha256:5f6c203735eb109f28a507e4b2d01acbf9e89ee0dc0d618f24cc3c072c73f830", - "sha256:662f75200893375f0380347a9053e7b70938a2b370244ed69c6163a43e50b57b" - ], - "index": "pypi", - "version": "==1.0.1" - }, - "invenio-rest": { - "hashes": [ - "sha256:665cdc6d7f47b532e4823dc1a0a62de32e31caf387efc93aff7593a34124ee1d", - "sha256:e5a73fcfc15c052840608950c0524447f1e86d24cc58a8fbf12a48a82f7e582a" - ], - "version": "==1.0.0" - }, - "invenio-search": { - "extras": [ - "elasticsearch6" - ], - "hashes": [ - "sha256:3db927a9a447bcfb8f84f4798a3bf656ab8ff6f093d8de83224bdde4518bf830", - "sha256:b51d0af749fb08a6d8e46e8d7d2232e75462d87bb11a78aade33497ed1079773" - ], - "version": "==1.1.1" - }, - "invenio-theme": { - "hashes": [ - "sha256:b98224b54fd94615d6588d3606c73b3cefa3963cafb8d859bd7c715036ba556a", - "sha256:d642c08df6a8af099188a48043aedfe8a44971ebaf67bc8ae21cf1a96eae2916" - ], - "version": "==1.1.4" - }, - "invenio-userprofiles": { - "hashes": [ - "sha256:607a8722a3a12af001a0435ca1baf1bbe7e5f359c237acf6c442cc8c5feba515", - "sha256:6ab44b7a7682b2ba883f58256bec3c789491c7e78b8e3526622e978647aa2ae6" - ], - "version": "==1.0.1" - }, - "ipaddress": { - "hashes": [ - "sha256:64b28eec5e78e7510698f6d4da08800a5c575caa4a286c93d651c5d3ff7b6794", - "sha256:b146c751ea45cad6188dd6cf2d9b757f6f4f8d6ffb96a023e6f2e26eea02a72c" - ], - "version": "==1.0.22" - }, - "ipython": { - "hashes": [ - "sha256:c4ab005921641e40a68e405e286e7a1fcc464497e14d81b6914b4fd95e5dee9b", - "sha256:dd76831f065f17bddd7eaa5c781f5ea32de5ef217592cf019e34043b56895aa1" - ], - "version": "==7.8.0" - }, - "ipython-genutils": { - "hashes": [ - "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8", - "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8" - ], - "version": "==0.2.0" - }, - "isbnlib": { - "hashes": [ - "sha256:ca27dc15763759d038a22f4e05d849acc121ffcb8ffe008768f09a0d844f7172", - "sha256:cfcbafcc619be58efec8d17c7d50e0620798ac5b8956dc1bc8db701afddb96fc" - ], - "index": "pypi", - "version": "==3.9.8" - }, - "itsdangerous": { - "hashes": [ - "sha256:321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19", - "sha256:b12271b2047cb23eeb98c8b5622e2e5c5e9abd9784a153e9d8ef9cb4dd09d749" - ], - "version": "==1.1.0" - }, - "jedi": { - "hashes": [ - "sha256:786b6c3d80e2f06fd77162a07fed81b8baa22dde5d62896a790a331d6ac21a27", - "sha256:ba859c74fa3c966a22f2aeebe1b74ee27e2a462f56d3f5f7ca4a59af61bfe42e" - ], - "version": "==0.15.1" - }, - "jinja2": { - "hashes": [ - "sha256:065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013", - "sha256:14dd6caf1527abb21f08f86c784eac40853ba93edb79552aa1e4b8aef1b61c7b" - ], - "version": "==2.10.1" - }, - "jinja2-time": { - "hashes": [ - "sha256:d14eaa4d315e7688daa4969f616f226614350c48730bfa1692d2caebd8c90d40", - "sha256:d3eab6605e3ec8b7a0863df09cc1d23714908fa61aa6986a845c20ba488b4efa" - ], - "version": "==0.2.0" - }, - "jsmin": { - "hashes": [ - "sha256:b6df99b2cd1c75d9d342e4335b535789b8da9107ec748212706ef7bbe5c2553b" - ], - "version": "==2.2.2" - }, - "jsonpatch": { - "hashes": [ - "sha256:83f29a2978c13da29bfdf89da9d65542d62576479caf215df19632d7dc04c6e6", - "sha256:cbb72f8bf35260628aea6b508a107245f757d1ec839a19c34349985e2c05645a" - ], - "version": "==1.24" - }, - "jsonpointer": { - "hashes": [ - "sha256:c192ba86648e05fdae4f08a17ec25180a9aef5008d973407b581798a83975362", - "sha256:ff379fa021d1b81ab539f5ec467c7745beb1a5671463f9dcc2b2d458bd361c1e" - ], - "version": "==2.0" - }, - "jsonref": { - "hashes": [ - "sha256:b1e82fa0b62e2c2796a13e5401fe51790b248f6d9bf9d7212a3e31a3501b291f", - "sha256:f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697" - ], - "version": "==0.2" - }, - "jsonresolver": { - "hashes": [ - "sha256:bd4268b07143cc6a5895783185266e72be1546c9332febbd09f29ad80daa0f7e", - "sha256:cf1e37f4c8db7415a53f8118cde988ba746f486d890732bd83f6f1ff6083c11b" - ], - "version": "==0.2.1" - }, - "jsonschema": { - "hashes": [ - "sha256:5f9c0a719ca2ce14c5de2fd350a64fd2d13e8539db29836a86adc990bb1a068f", - "sha256:8d4a2b7b6c2237e0199c8ea1a6d3e05bf118e289ae2b9d7ba444182a2959560d" - ], - "version": "==3.0.2" - }, - "kombu": { - "hashes": [ - "sha256:529df9e0ecc0bad9fc2b376c3ce4796c41b482cf697b78b71aea6ebe7ca353c8", - "sha256:7a2cbed551103db9a4e2efafe9b63222e012a61a18a881160ad797b9d4e1d0a1" - ], - "version": "==4.3.0" - }, - "limits": { - "hashes": [ - "sha256:9df578f4161017d79f5188609f1d65f6b639f8aad2914c3960c9252e56a0ff95", - "sha256:a017b8d9e9da6761f4574642149c337f8f540d4edfe573fb91ad2c4001a2bc76" - ], - "version": "==1.3" - }, - "lxml": { - "hashes": [ - "sha256:02bc220d61f46e9b9d5a53c361ef95e9f5e1d27171cd461dddb17677ae2289a5", - "sha256:22f253b542a342755f6cfc047fe4d3a296515cf9b542bc6e261af45a80b8caf6", - "sha256:2f31145c7ff665b330919bfa44aacd3a0211a76ca7e7b441039d2a0b0451e415", - "sha256:36720698c29e7a9626a0dc802ef8885f8f0239bfd1689628ecd459a061f2807f", - "sha256:438a1b0203545521f6616132bfe0f4bca86f8a401364008b30e2b26ec408ce85", - "sha256:4815892904c336bbaf73dafd54f45f69f4021c22b5bad7332176bbf4fb830568", - "sha256:5be031b0f15ad63910d8e5038b489d95a79929513b3634ad4babf77100602588", - "sha256:5c93ae37c3c588e829b037fdfbd64a6e40c901d3f93f7beed6d724c44829a3ad", - "sha256:60842230678674cdac4a1cf0f707ef12d75b9a4fc4a565add4f710b5fcf185d5", - "sha256:62939a8bb6758d1bf923aa1c13f0bcfa9bf5b2fc0f5fa917a6e25db5fe0cfa4e", - "sha256:75830c06a62fe7b8fe3bbb5f269f0b308f19f3949ac81cfd40062f47c1455faf", - "sha256:81992565b74332c7c1aff6a913a3e906771aa81c9d0c68c68113cffcae45bc53", - "sha256:8c892fb0ee52c594d9a7751c7d7356056a9682674b92cc1c4dc968ff0f30c52f", - "sha256:9d862e3cf4fc1f2837dedce9c42269c8c76d027e49820a548ac89fdcee1e361f", - "sha256:a623965c086a6e91bb703d4da62dabe59fe88888e82c4117d544e11fd74835d6", - "sha256:a7783ab7f6a508b0510490cef9f857b763d796ba7476d9703f89722928d1e113", - "sha256:aab09fbe8abfa3b9ce62aaf45aca2d28726b1b9ee44871dbe644050a2fff4940", - "sha256:abf181934ac3ef193832fb973fd7f6149b5c531903c2ec0f1220941d73eee601", - "sha256:ae07fa0c115733fce1e9da96a3ac3fa24801742ca17e917e0c79d63a01eeb843", - "sha256:b9c78242219f674ab645ec571c9a95d70f381319a23911941cd2358a8e0521cf", - "sha256:bccb267678b870d9782c3b44d0cefe3ba0e329f9af8c946d32bf3778e7a4f271", - "sha256:c4df4d27f4c93b2cef74579f00b1d3a31a929c7d8023f870c4b476f03a274db4", - "sha256:caf0e50b546bb60dfa99bb18dfa6748458a83131ecdceaf5c071d74907e7e78a", - "sha256:d3266bd3ac59ac4edcd5fa75165dee80b94a3e5c91049df5f7c057ccf097551c", - "sha256:db0d213987bcd4e6d41710fb4532b22315b0d8fb439ff901782234456556aed1", - "sha256:dbbd5cf7690a40a9f0a9325ab480d0fccf46d16b378eefc08e195d84299bfae1", - "sha256:e16e07a0ec3a75b5ee61f2b1003c35696738f937dc8148fbda9fe2147ccb6e61", - "sha256:e175a006725c7faadbe69e791877d09936c0ef2cf49d01b60a6c1efcb0e8be6f", - "sha256:edd9c13a97f6550f9da2236126bb51c092b3b1ce6187f2bd966533ad794bbb5e", - "sha256:fa39ea60d527fbdd94215b5e5552f1c6a912624521093f1384a491a8ad89ad8b" - ], - "index": "pypi", - "version": "==4.2.5" - }, - "mako": { - "hashes": [ - "sha256:a36919599a9b7dc5d86a7a8988f23a9a3a3d083070023bab23d64f7f1d1e0a4b" - ], - "version": "==1.1.0" - }, - "markupsafe": { - "hashes": [ - "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", - "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", - "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", - "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", - "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", - "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", - "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", - "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", - "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", - "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", - "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", - "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", - "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", - "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", - "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", - "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", - "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", - "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", - "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", - "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", - "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", - "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", - "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", - "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", - "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", - "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", - "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", - "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7" - ], - "version": "==1.1.1" - }, - "marshmallow": { - "hashes": [ - "sha256:ee20892f41b2ac51f9f1927f30696a2fb91b99fe9e12bf54624e78654612cba7", - "sha256:f88fdf8b9cad487bf74cc03382e0e3792dd740144d4ef3395d74b03f31dcd9cf" - ], - "version": "==2.20.5" - }, - "maxminddb": { - "hashes": [ - "sha256:df1451bcd848199905ac0de4631b3d02d6a655ad28ba5e5a4ca29a23358db712" - ], - "version": "==1.4.1" - }, - "maxminddb-geolite2": { - "hashes": [ - "sha256:2bd118c5567f3a8323d6c5da23a6e6d52cfc09cd9987b54eb712cf6001a96e03" - ], - "version": "==2018.703" - }, - "more-itertools": { - "hashes": [ - "sha256:409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832", - "sha256:92b8c4b06dac4f0611c0729b2f2ede52b2e1bac1ab48f089c7ddc12e26bb60c4" - ], - "version": "==7.2.0" - }, - "msgpack-python": { - "hashes": [ - "sha256:378cc8a6d3545b532dfd149da715abae4fda2a3adb6d74e525d0d5e51f46909b" - ], - "version": "==0.5.6" - }, - "node-semver": { - "hashes": [ - "sha256:e29ee4e51efb6d82c55aef5d569b888842e62e6404ce95df18d80c421f8e7dac" - ], - "version": "==0.1.1" - }, - "oauthlib": { - "hashes": [ - "sha256:ac35665a61c1685c56336bda97d5eefa246f1202618a1d6f34fccb1bdd404162", - "sha256:d883b36b21a6ad813953803edfa563b1b579d79ca758fe950d1bc9e8b326025b" - ], - "version": "==2.1.0" - }, - "parso": { - "hashes": [ - "sha256:63854233e1fadb5da97f2744b6b24346d2750b85965e7e399bec1620232797dc", - "sha256:666b0ee4a7a1220f65d367617f2cd3ffddff3e205f3f16a0284df30e774c2a9c" - ], - "version": "==0.5.1" - }, - "passlib": { - "hashes": [ - "sha256:3d948f64138c25633613f303bcc471126eae67c04d5e3f6b7b8ce6242f8653e0", - "sha256:43526aea08fa32c6b6dbbbe9963c4c767285b78147b7437597f992812f69d280" - ], - "version": "==1.7.1" - }, - "pexpect": { - "hashes": [ - "sha256:2094eefdfcf37a1fdbfb9aa090862c1a4878e5c7e0e7e7088bdb511c558e5cd1", - "sha256:9e2c1fd0e6ee3a49b28f95d4b33bc389c89b20af6a1255906e90ff1262ce62eb" - ], - "markers": "sys_platform != 'win32'", - "version": "==4.7.0" - }, - "pickleshare": { - "hashes": [ - "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", - "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56" - ], - "version": "==0.7.5" - }, - "pluggy": { - "hashes": [ - "sha256:0db4b7601aae1d35b4a033282da476845aa19185c1e6964b25cf324b5e4ec3e6", - "sha256:fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34" - ], - "version": "==0.13.0" - }, - "poyo": { - "hashes": [ - "sha256:3e2ca8e33fdc3c411cd101ca395668395dd5dc7ac775b8e809e3def9f9fe041a", - "sha256:e26956aa780c45f011ca9886f044590e2d8fd8b61db7b1c1cf4e0869f48ed4dd" - ], - "version": "==0.5.0" - }, - "prompt-toolkit": { - "hashes": [ - "sha256:11adf3389a996a6d45cc277580d0d53e8a5afd281d0c9ec71b28e6f121463780", - "sha256:2519ad1d8038fd5fc8e770362237ad0364d16a7650fb5724af6997ed5515e3c1", - "sha256:977c6583ae813a37dc1c2e1b715892461fcbdaa57f6fc62f33a528c4886c8f55" - ], - "version": "==2.0.9" - }, - "psycopg2-binary": { - "hashes": [ - "sha256:080c72714784989474f97be9ab0ddf7b2ad2984527e77f2909fcd04d4df53809", - "sha256:110457be80b63ff4915febb06faa7be002b93a76e5ba19bf3f27636a2ef58598", - "sha256:171352a03b22fc099f15103959b52ee77d9a27e028895d7e5fde127aa8e3bac5", - "sha256:19d013e7b0817087517a4b3cab39c084d78898369e5c46258aab7be4f233d6a1", - "sha256:249b6b21ae4eb0f7b8423b330aa80fab5f821b9ffc3f7561a5e2fd6bb142cf5d", - "sha256:2ac0731d2d84b05c7bb39e85b7e123c3a0acd4cda631d8d542802c88deb9e87e", - "sha256:2b6d561193f0dc3f50acfb22dd52ea8c8dfbc64bcafe3938b5f209cc17cb6f00", - "sha256:2bd23e242e954214944481124755cbefe7c2cf563b1a54cd8d196d502f2578bf", - "sha256:3e1239242ca60b3725e65ab2f13765fc199b03af9eaf1b5572f0e97bdcee5b43", - "sha256:3eb70bb697abbe86b1d2b1316370c02ba320bfd1e9e35cf3b9566a855ea8e4e5", - "sha256:51a2fc7e94b98bd1bb5d4570936f24fc2b0541b63eccadf8fdea266db8ad2f70", - "sha256:52f1bdafdc764b7447e393ed39bb263eccb12bfda25a4ac06d82e3a9056251f6", - "sha256:5b3581319a3951f1e866f4f6c5e42023db0fae0284273b82e97dfd32c51985cd", - "sha256:63c1b66e3b2a3a336288e4bcec499e0dc310cd1dceaed1c46fa7419764c68877", - "sha256:8123a99f24ecee469e5c1339427bcdb2a33920a18bb5c0d58b7c13f3b0298ba3", - "sha256:85e699fcabe7f817c0f0a412d4e7c6627e00c412b418da7666ff353f38e30f67", - "sha256:8dbff4557bbef963697583366400822387cccf794ccb001f1f2307ed21854c68", - "sha256:908d21d08d6b81f1b7e056bbf40b2f77f8c499ab29e64ec5113052819ef1c89b", - "sha256:af39d0237b17d0a5a5f638e9dffb34013ce2b1d41441fd30283e42b22d16858a", - "sha256:af51bb9f055a3f4af0187149a8f60c9d516cf7d5565b3dac53358796a8fb2a5b", - "sha256:b2ecac57eb49e461e86c092761e6b8e1fd9654dbaaddf71a076dcc869f7014e2", - "sha256:cd37cc170678a4609becb26b53a2bc1edea65177be70c48dd7b39a1149cabd6e", - "sha256:d17e3054b17e1a6cb8c1140f76310f6ede811e75b7a9d461922d2c72973f583e", - "sha256:d305313c5a9695f40c46294d4315ed3a07c7d2b55e48a9010dad7db7a66c8b7f", - "sha256:dd0ef0eb1f7dd18a3f4187226e226a7284bda6af5671937a221766e6ef1ee88f", - "sha256:e1adff53b56db9905db48a972fb89370ad5736e0450b96f91bcf99cadd96cfd7", - "sha256:f0d43828003c82dbc9269de87aa449e9896077a71954fbbb10a614c017e65737", - "sha256:f78e8b487de4d92640105c1389e5b90be3496b1d75c90a666edd8737cc2dbab7" - ], - "version": "==2.8.3" - }, - "ptyprocess": { - "hashes": [ - "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0", - "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f" - ], - "version": "==0.6.0" - }, - "pycparser": { - "hashes": [ - "sha256:a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3" - ], - "version": "==2.19" - }, - "pygments": { - "hashes": [ - "sha256:71e430bc85c88a430f000ac1d9b331d2407f681d6f6aec95e8bcfbc3df5b0127", - "sha256:881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297" - ], - "version": "==2.4.2" - }, - "pyjwt": { - "hashes": [ - "sha256:5c6eca3c2940464d106b99ba83b00c6add741c9becaec087fb7ccdefea71350e", - "sha256:8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96" - ], - "version": "==1.7.1" - }, - "pynpm": { - "hashes": [ - "sha256:b3c2efafc15b0ca4f0a1cc819e55af4179c2b43a2f9bb7b1a1cc1763dc3daa52", - "sha256:e4df0427cd2357ca67d68a322af6873c5ce67e1625a45acfb9603e4448bf3464" - ], - "version": "==0.1.1" - }, - "pyrsistent": { - "hashes": [ - "sha256:34b47fa169d6006b32e99d4b3c4031f155e6e68ebcc107d6454852e8e0ee6533" - ], - "version": "==0.15.4" - }, - "python-dateutil": { - "hashes": [ - "sha256:7e6584c74aeed623791615e26efd690f29817a27c73085b78e4bad02493df2fb", - "sha256:c89805f6f4d64db21ed966fda138f8a5ed7a4fdbc1a8ee329ce1b74e3c74da9e" - ], - "version": "==2.8.0" - }, - "python-editor": { - "hashes": [ - "sha256:1bf6e860a8ad52a14c3ee1252d5dc25b2030618ed80c022598f00176adc8367d", - "sha256:51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b", - "sha256:5f98b069316ea1c2ed3f67e7f5df6c0d8f10b689964a4a811ff64f0106819ec8" - ], - "version": "==1.0.4" - }, - "pytz": { - "hashes": [ - "sha256:26c0b32e437e54a18161324a2fca3c4b9846b74a8dccddd843113109e1116b32", - "sha256:c894d57500a4cd2d5c71114aaab77dbab5eabd9022308ce5ac9bb93a60a6f0c7" - ], - "version": "==2019.2" - }, - "pywebpack": { - "hashes": [ - "sha256:2ee79570f56a5a5ec532ffb1ae95c268cd5acceb94d94df63cec47486a7e2e2c", - "sha256:ef115f8f87347f975271523b0dea85d38cf04db0aa017a684c4d8067c71324e4" - ], - "version": "==1.0.0" - }, - "pyyaml": { - "hashes": [ - "sha256:0113bc0ec2ad727182326b61326afa3d1d8280ae1122493553fd6f4397f33df9", - "sha256:01adf0b6c6f61bd11af6e10ca52b7d4057dd0be0343eb9283c878cf3af56aee4", - "sha256:5124373960b0b3f4aa7df1707e63e9f109b5263eca5976c66e08b1c552d4eaf8", - "sha256:5ca4f10adbddae56d824b2c09668e91219bb178a1eee1faa56af6f99f11bf696", - "sha256:7907be34ffa3c5a32b60b95f4d95ea25361c951383a894fec31be7252b2b6f34", - "sha256:7ec9b2a4ed5cad025c2278a1e6a19c011c80a3caaac804fd2d329e9cc2c287c9", - "sha256:87ae4c829bb25b9fe99cf71fbb2140c448f534e24c998cc60f39ae4f94396a73", - "sha256:9de9919becc9cc2ff03637872a440195ac4241c80536632fffeb6a1e25a74299", - "sha256:a5a85b10e450c66b49f98846937e8cfca1db3127a9d5d1e31ca45c3d0bef4c5b", - "sha256:b0997827b4f6a7c286c01c5f60384d218dca4ed7d9efa945c3e1aa623d5709ae", - "sha256:b631ef96d3222e62861443cc89d6563ba3eeb816eeb96b2629345ab795e53681", - "sha256:bf47c0607522fdbca6c9e817a6e81b08491de50f3766a7a0e6a5be7905961b41", - "sha256:f81025eddd0327c7d4cfe9b62cf33190e1e736cc6e97502b3ec425f574b3e7a8" - ], - "index": "pypi", - "version": "==5.1.2" - }, - "redis": { - "hashes": [ - "sha256:98a22fb750c9b9bb46e75e945dc3f61d0ab30d06117cbb21ff9cd1d315fedd3b", - "sha256:c504251769031b0dd7dd5cf786050a6050197c6de0d37778c80c08cb04ae8275" - ], - "version": "==3.3.8" - }, - "requests": { - "hashes": [ - "sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4", - "sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31" - ], - "index": "pypi", - "version": "==2.22.0" - }, - "requests-oauthlib": { - "hashes": [ - "sha256:be76f2bb72ca5525998e81d47913e09b1ca8b7957ae89b46f787a79e68ad5e61", - "sha256:eabd8eb700ebed81ba080c6ead96d39d6bdc39996094bd23000204f6965786b0" - ], - "version": "==1.1.0" - }, - "rero-ebooks": { - "editable": true, - "path": "." - }, - "responses": { - "hashes": [ - "sha256:502d9c0c8008439cfcdef7e251f507fcfdd503b56e8c0c87c3c3e3393953f790", - "sha256:97193c0183d63fba8cd3a041c75464e4b09ea0aff6328800d1546598567dde0b" - ], - "index": "pypi", - "version": "==0.10.6" - }, - "simplejson": { - "hashes": [ - "sha256:067a7177ddfa32e1483ba5169ebea1bc2ea27f224853211ca669325648ca5642", - "sha256:2fc546e6af49fb45b93bbe878dea4c48edc34083729c0abd09981fe55bdf7f91", - "sha256:354fa32b02885e6dae925f1b5bbf842c333c1e11ea5453ddd67309dc31fdb40a", - "sha256:37e685986cf6f8144607f90340cff72d36acf654f3653a6c47b84c5c38d00df7", - "sha256:3af610ee72efbe644e19d5eaad575c73fb83026192114e5f6719f4901097fce2", - "sha256:3b919fc9cf508f13b929a9b274c40786036b31ad28657819b3b9ba44ba651f50", - "sha256:3dd289368bbd064974d9a5961101f080e939cbe051e6689a193c99fb6e9ac89b", - "sha256:6c3258ffff58712818a233b9737fe4be943d306c40cf63d14ddc82ba563f483a", - "sha256:75e3f0b12c28945c08f54350d91e624f8dd580ab74fd4f1bbea54bc6b0165610", - "sha256:b1f329139ba647a9548aa05fb95d046b4a677643070dc2afc05fa2e975d09ca5", - "sha256:ee9625fc8ee164902dfbb0ff932b26df112da9f871c32f0f9c1bcf20c350fe2a", - "sha256:fb2530b53c28f0d4d84990e945c2ebb470edb469d63e389bf02ff409012fe7c5" - ], - "version": "==3.16.0" - }, - "simplekv": { - "hashes": [ - "sha256:58bbb99c3d3a55ab69a2dabb064a309fd7089730cb5f9d3eecb47b110e3fc5b0", - "sha256:a2f8cdde73b1f9ae60540f9bc0b49c564226d8a46f6a1bd98d1b6169f98274ed", - "sha256:ae52e8f48618ecf9f81631c152ea8fbed8b88fb7c17870db984a295481483c06" - ], - "version": "==0.13.0" - }, - "six": { - "hashes": [ - "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c", - "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73" - ], - "version": "==1.12.0" - }, - "speaklater": { - "hashes": [ - "sha256:59fea336d0eed38c1f0bf3181ee1222d0ef45f3a9dd34ebe65e6bfffdd6a65a9" - ], - "version": "==1.3" - }, - "sqlalchemy": { - "hashes": [ - "sha256:2f8ff566a4d3a92246d367f2e9cd6ed3edeef670dcd6dda6dfdc9efed88bcd80" - ], - "version": "==1.3.8" - }, - "sqlalchemy-continuum": { - "hashes": [ - "sha256:4f4e378938baf3ca7321ee6f5c310c50868b66fef2507fb84ff5e0e27106f82c" - ], - "version": "==1.3.9" - }, - "sqlalchemy-utils": { - "extras": [ - "encrypted" - ], - "hashes": [ - "sha256:6689b29d7951c5c7c4d79fa6b8c95f9ff9ec708b07aa53f82060599bd14dcc88" - ], - "version": "==0.34.2" - }, - "traitlets": { - "hashes": [ - "sha256:9c4bd2d267b7153df9152698efb1050a5d84982d3384a37b2c1f7723ba3e7835", - "sha256:c6cb5e6f57c5a9bdaa40fa71ce7b4af30298fbab9ece9815b5d995ab6217c7d9" - ], - "version": "==4.3.2" - }, - "ua-parser": { - "hashes": [ - "sha256:3908c19ea0abdcdfe7245366dc03e5b4a8901ec17105bd66ba2ccbe3948dce8a", - "sha256:97bbcfc9321a3151d96bb5d62e54270247b0e3be0590a6f2ff12329851718dcb" - ], - "version": "==0.8.0" - }, - "uritools": { - "hashes": [ - "sha256:522c2027e51e70e0cc40aa703fbf8665a879776826317ff1b68069084030975b", - "sha256:80e8e23cafad54fd85811b5d9ba0fc595d933f5727c61c3937945eec09f99e2b" - ], - "version": "==2.2.0" - }, - "urllib3": { - "hashes": [ - "sha256:2393a695cd12afedd0dcb26fe5d50d0cf248e5a66f75dbd89a3d4eb333a61af4", - "sha256:a637e5fae88995b256e3409dc4d52c2e2e0ba32c42a6365fee8bbd2238de3cfb" - ], - "version": "==1.24.3" - }, - "uwsgi": { - "hashes": [ - "sha256:4972ac538800fb2d421027f49b4a1869b66048839507ccf0aa2fda792d99f583" - ], - "index": "pypi", - "version": "==2.0.18" - }, - "uwsgi-tools": { - "hashes": [ - "sha256:565e10945c50ed6f4378168a2a609bb7d1c2c5b21ab23edd1ad5f73d15ab6356", - "sha256:7d557c83b1803962ea73c2f19688b0d5e7d212f382d0a1a0a4586ae0f34f4cb2" - ], - "index": "pypi", - "version": "==1.1.1" - }, - "uwsgitop": { - "hashes": [ - "sha256:99ca245119e4a0600840a62b7b4e020c9870fe90952b24eecfff0c9090c75d14" - ], - "index": "pypi", - "version": "==0.11" - }, - "validators": { - "hashes": [ - "sha256:f0ac832212e3ee2e9b10e156f19b106888cf1429c291fbc5297aae87685014ae" - ], - "version": "==0.14.0" - }, - "vine": { - "hashes": [ - "sha256:133ee6d7a9016f177ddeaf191c1f58421a1dcc6ee9a42c58b34bed40e1d2cd87", - "sha256:ea4947cc56d1fd6f2095c8d543ee25dad966f78692528e68b4fada11ba3f98af" - ], - "version": "==1.3.0" - }, - "wcwidth": { - "hashes": [ - "sha256:3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e", - "sha256:f4ebe71925af7b40a864553f761ed559b43544f8f71746c2d756c7fe788ade7c" - ], - "version": "==0.1.7" - }, - "webargs": { - "hashes": [ - "sha256:97b94d375196422a7037971a0a7e0b405a15b06099635dddcb3ecad48872f073", - "sha256:d23e57ebcaf44722349d7d3b235479d329fcc91b7db2f1df7fab950d7ade54f8", - "sha256:e0ece4ce48e880b16dc764e613972314acb4fb99f9043b7cbf5776f3a6a4b531" - ], - "version": "==5.5.1" - }, - "webassets": { - "hashes": [ - "sha256:e7d9c8887343123fd5b32309b33167428cb1318cdda97ece12d0907fd69d38db" - ], - "version": "==0.12.1" - }, - "webencodings": { - "hashes": [ - "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", - "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923" - ], - "version": "==0.5.1" - }, - "werkzeug": { - "hashes": [ - "sha256:7280924747b5733b246fe23972186c6b348f9ae29724135a6dfc1e53cea433e7", - "sha256:e5f4a1f98b52b18a93da705a7458e55afb26f32bff83ff5d19189f92462d65c4" - ], - "version": "==0.16.0" - }, - "whichcraft": { - "hashes": [ - "sha256:acdbb91b63d6a15efbd6430d1d7b2d36e44a71697e93e19b7ded477afd9fce87", - "sha256:deda9266fbb22b8c64fd3ee45c050d61139cd87419765f588e37c8d23e236dd9" - ], - "version": "==0.6.1" - }, - "wtforms": { - "hashes": [ - "sha256:0cdbac3e7f6878086c334aa25dc5a33869a3954e9d1e015130d65a69309b3b61", - "sha256:e3ee092c827582c50877cdbd49e9ce6d2c5c1f6561f849b3b068c1b8029626f1" - ], - "version": "==2.2.1" - }, - "wtforms-alchemy": { - "hashes": [ - "sha256:c491755380490c5c016f04e62949b22056f915160f54d0d1103c76b944c1c321" - ], - "version": "==0.16.9" - }, - "wtforms-components": { - "hashes": [ - "sha256:4a7751fc12dc4e4b2ef5700973296b5368094dcdf85c2808d2faff2c8e8f4caa" - ], - "version": "==0.10.4" - }, - "zipp": { - "hashes": [ - "sha256:3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e", - "sha256:f06903e9f1f43b12d371004b4ac7b06ab39a44adc747266928ae6debfa7b3335" - ], - "version": "==0.6.0" - } - }, - "develop": { - "alabaster": { - "hashes": [ - "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359", - "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02" - ], - "version": "==0.7.12" - }, - "apipkg": { - "hashes": [ - "sha256:37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6", - "sha256:58587dd4dc3daefad0487f6d9ae32b4542b185e1c36db6993290e7c41ca2b47c" - ], - "version": "==1.5" - }, - "atomicwrites": { - "hashes": [ - "sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4", - "sha256:75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6" - ], - "version": "==1.3.0" - }, - "attrs": { - "hashes": [ - "sha256:69c0dbf2ed392de1cb5ec704444b08a5ef81680a61cb899dc08127123af36a79", - "sha256:f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399" - ], - "version": "==19.1.0" - }, - "babel": { - "hashes": [ - "sha256:af92e6106cb7c55286b25b38ad7695f8b4efb36a90ba483d7f7a6628c46158ab", - "sha256:e86135ae101e31e2c8ec20a4e0c5220f4eed12487d5cf3f78be7e98d3a57fc28" - ], - "index": "pypi", - "version": "==2.7.0" - }, - "certifi": { - "hashes": [ - "sha256:e4f3620cfea4f83eedc95b24abd9cd56f3c4b146dd0177e83a21b4eb49e21e50", - "sha256:fd7c7c74727ddcf00e9acd26bba8da604ffec95bf1c2144e67aff7a8b50e6cef" - ], - "version": "==2019.9.11" - }, - "chardet": { - "hashes": [ - "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", - "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" - ], - "version": "==3.0.4" - }, - "check-manifest": { - "hashes": [ - "sha256:8754cc8efd7c062a3705b442d1c23ff702d4477b41a269c2e354b25e1f5535a4", - "sha256:a4c555f658a7c135b8a22bd26c2e55cfaf5876e4d5962d8c25652f2addd556bc" - ], - "index": "pypi", - "version": "==0.39" - }, - "click": { - "hashes": [ - "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13", - "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7" - ], - "version": "==7.0" - }, - "coverage": { - "hashes": [ - "sha256:08907593569fe59baca0bf152c43f3863201efb6113ecb38ce7e97ce339805a6", - "sha256:0be0f1ed45fc0c185cfd4ecc19a1d6532d72f86a2bac9de7e24541febad72650", - "sha256:141f08ed3c4b1847015e2cd62ec06d35e67a3ac185c26f7635f4406b90afa9c5", - "sha256:19e4df788a0581238e9390c85a7a09af39c7b539b29f25c89209e6c3e371270d", - "sha256:23cc09ed395b03424d1ae30dcc292615c1372bfba7141eb85e11e50efaa6b351", - "sha256:245388cda02af78276b479f299bbf3783ef0a6a6273037d7c60dc73b8d8d7755", - "sha256:331cb5115673a20fb131dadd22f5bcaf7677ef758741312bee4937d71a14b2ef", - "sha256:386e2e4090f0bc5df274e720105c342263423e77ee8826002dcffe0c9533dbca", - "sha256:3a794ce50daee01c74a494919d5ebdc23d58873747fa0e288318728533a3e1ca", - "sha256:60851187677b24c6085248f0a0b9b98d49cba7ecc7ec60ba6b9d2e5574ac1ee9", - "sha256:63a9a5fc43b58735f65ed63d2cf43508f462dc49857da70b8980ad78d41d52fc", - "sha256:6b62544bb68106e3f00b21c8930e83e584fdca005d4fffd29bb39fb3ffa03cb5", - "sha256:6ba744056423ef8d450cf627289166da65903885272055fb4b5e113137cfa14f", - "sha256:7494b0b0274c5072bddbfd5b4a6c6f18fbbe1ab1d22a41e99cd2d00c8f96ecfe", - "sha256:826f32b9547c8091679ff292a82aca9c7b9650f9fda3e2ca6bf2ac905b7ce888", - "sha256:93715dffbcd0678057f947f496484e906bf9509f5c1c38fc9ba3922893cda5f5", - "sha256:9a334d6c83dfeadae576b4d633a71620d40d1c379129d587faa42ee3e2a85cce", - "sha256:af7ed8a8aa6957aac47b4268631fa1df984643f07ef00acd374e456364b373f5", - "sha256:bf0a7aed7f5521c7ca67febd57db473af4762b9622254291fbcbb8cd0ba5e33e", - "sha256:bf1ef9eb901113a9805287e090452c05547578eaab1b62e4ad456fcc049a9b7e", - "sha256:c0afd27bc0e307a1ffc04ca5ec010a290e49e3afbe841c5cafc5c5a80ecd81c9", - "sha256:dd579709a87092c6dbee09d1b7cfa81831040705ffa12a1b248935274aee0437", - "sha256:df6712284b2e44a065097846488f66840445eb987eb81b3cc6e4149e7b6982e1", - "sha256:e07d9f1a23e9e93ab5c62902833bf3e4b1f65502927379148b6622686223125c", - "sha256:e2ede7c1d45e65e209d6093b762e98e8318ddeff95317d07a27a2140b80cfd24", - "sha256:e4ef9c164eb55123c62411f5936b5c2e521b12356037b6e1c2617cef45523d47", - "sha256:eca2b7343524e7ba246cab8ff00cab47a2d6d54ada3b02772e908a45675722e2", - "sha256:eee64c616adeff7db37cc37da4180a3a5b6177f5c46b187894e633f088fb5b28", - "sha256:ef824cad1f980d27f26166f86856efe11eff9912c4fed97d3804820d43fa550c", - "sha256:efc89291bd5a08855829a3c522df16d856455297cf35ae827a37edac45f466a7", - "sha256:fa964bae817babece5aa2e8c1af841bebb6d0b9add8e637548809d040443fee0", - "sha256:ff37757e068ae606659c28c3bd0d923f9d29a85de79bf25b2b34b148473b5025" - ], - "index": "pypi", - "version": "==4.5.4" - }, - "docutils": { - "hashes": [ - "sha256:6c4f696463b79f1fb8ba0c594b63840ebd41f059e92b31957c46b74a4599b6d0", - "sha256:9e4d7ecfc600058e07ba661411a2b7de2fd0fafa17d1a7f7361cd47b1175c827", - "sha256:a2aeea129088da402665e92e0b25b04b073c04b2dce4ab65caaa38b7ce2e1a99" - ], - "version": "==0.15.2" - }, - "execnet": { - "hashes": [ - "sha256:cacb9df31c9680ec5f95553976c4da484d407e85e41c83cb812aa014f0eddc50", - "sha256:d4efd397930c46415f62f8a31388d6be4f27a91d7550eb79bc64a756e0056547" - ], - "version": "==1.7.1" - }, - "flask": { - "hashes": [ - "sha256:13f9f196f330c7c2c5d7a5cf91af894110ca0215ac051b5844701f2bfd934d52", - "sha256:45eb5a6fd193d6cf7e0cf5d8a5b31f83d5faae0293695626f539a823e93b13f6" - ], - "version": "==1.1.1" - }, - "idna": { - "hashes": [ - "sha256:156a6814fb5ac1fc6850fb002e0852d56c0c8d2531923a51032d1b70760e186e", - "sha256:684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16" - ], - "version": "==2.7" - }, - "imagesize": { - "hashes": [ - "sha256:3f349de3eb99145973fefb7dbe38554414e5c30abd0c8e4b970a7c9d09f3a1d8", - "sha256:f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5" - ], - "version": "==1.1.0" - }, - "importlib-metadata": { - "hashes": [ - "sha256:aa18d7378b00b40847790e7c27e11673d7fed219354109d0e7b9e5b25dc3ad26", - "sha256:d5f18a79777f3aa179c145737780282e27b508fc8fd688cb17c7a813e8bd39af" - ], - "markers": "python_version < '3.8'", - "version": "==0.23" - }, - "isort": { - "hashes": [ - "sha256:ee5fddfd792e6e1d664ee28f3fbe00dfc26d8d3c6f059ee78f4da4c19718007c", - "sha256:f19b23b22fb5a919a081bc31aabcc0991614c244d9215267e11abf2ca7b684ce" - ], - "index": "pypi", - "version": "==4.3.9" - }, - "itsdangerous": { - "hashes": [ - "sha256:321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19", - "sha256:b12271b2047cb23eeb98c8b5622e2e5c5e9abd9784a153e9d8ef9cb4dd09d749" - ], - "version": "==1.1.0" - }, - "jinja2": { - "hashes": [ - "sha256:065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013", - "sha256:14dd6caf1527abb21f08f86c784eac40853ba93edb79552aa1e4b8aef1b61c7b" - ], - "version": "==2.10.1" - }, - "markupsafe": { - "hashes": [ - "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", - "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", - "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", - "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", - "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", - "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", - "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", - "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", - "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", - "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", - "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", - "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", - "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", - "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", - "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", - "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", - "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", - "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", - "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", - "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", - "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", - "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", - "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", - "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", - "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", - "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", - "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", - "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7" - ], - "version": "==1.1.1" - }, - "mock": { - "hashes": [ - "sha256:83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3", - "sha256:d157e52d4e5b938c550f39eb2fd15610db062441a9c2747d3dbfa9298211d0f8" - ], - "index": "pypi", - "version": "==3.0.5" - }, - "more-itertools": { - "hashes": [ - "sha256:409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832", - "sha256:92b8c4b06dac4f0611c0729b2f2ede52b2e1bac1ab48f089c7ddc12e26bb60c4" - ], - "version": "==7.2.0" - }, - "packaging": { - "hashes": [ - "sha256:28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47", - "sha256:d9551545c6d761f3def1677baf08ab2a3ca17c56879e70fecba2fc4dde4ed108" - ], - "version": "==19.2" - }, - "pep8": { - "hashes": [ - "sha256:b22cfae5db09833bb9bd7c8463b53e1a9c9b39f12e304a8d0bba729c501827ee", - "sha256:fe249b52e20498e59e0b5c5256aa52ee99fc295b26ec9eaa85776ffdb9fe6374" - ], - "version": "==1.7.1" - }, - "pluggy": { - "hashes": [ - "sha256:0db4b7601aae1d35b4a033282da476845aa19185c1e6964b25cf324b5e4ec3e6", - "sha256:fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34" - ], - "version": "==0.13.0" - }, - "py": { - "hashes": [ - "sha256:64f65755aee5b381cea27766a3a147c3f15b9b6b9ac88676de66ba2ae36793fa", - "sha256:dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53" - ], - "version": "==1.8.0" - }, - "pydocstyle": { - "hashes": [ - "sha256:04c84e034ebb56eb6396c820442b8c4499ac5eb94a3bda88951ac3dc519b6058", - "sha256:66aff87ffe34b1e49bff2dd03a88ce6843be2f3346b0c9814410d34987fbab59" - ], - "index": "pypi", - "version": "==4.0.1" - }, - "pygments": { - "hashes": [ - "sha256:71e430bc85c88a430f000ac1d9b331d2407f681d6f6aec95e8bcfbc3df5b0127", - "sha256:881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297" - ], - "version": "==2.4.2" - }, - "pyparsing": { - "hashes": [ - "sha256:6f98a7b9397e206d78cc01df10131398f1c8b8510a2f4d97d9abd82e1aacdd80", - "sha256:d9338df12903bbf5d65a0e4e87c2161968b10d2e489652bb47001d82a9b028b4" - ], - "version": "==2.4.2" - }, - "pytest": { - "hashes": [ - "sha256:813b99704b22c7d377bbd756ebe56c35252bb710937b46f207100e843440b3c2", - "sha256:cc6620b96bc667a0c8d4fa592a8c9c94178a1bd6cc799dbb057dfd9286d31a31" - ], - "index": "pypi", - "version": "==5.1.3" - }, - "pytest-cache": { - "hashes": [ - "sha256:be7468edd4d3d83f1e844959fd6e3fd28e77a481440a7118d430130ea31b07a9" - ], - "version": "==1.0" - }, - "pytest-cov": { - "hashes": [ - "sha256:2b097cde81a302e1047331b48cadacf23577e431b61e9c6f49a1170bbe3d3da6", - "sha256:e00ea4fdde970725482f1f35630d12f074e121a23801aabf2ae154ec6bdd343a" - ], - "index": "pypi", - "version": "==2.7.1" - }, - "pytest-flask": { - "hashes": [ - "sha256:283730b469604ecb94caac28df99a40b7c785b828dd8d3323596718b51dfaeb2", - "sha256:d874781b622210d8c5d8061cdb091cb059fcb12203125110bd8e6f9256ccbf49" - ], - "version": "==0.15.0" - }, - "pytest-invenio": { - "hashes": [ - "sha256:7d6593eb374f1697d8de0194543dd66e4591905ab87aae5a8a8970dce091fc44", - "sha256:86d06c518752f586d7c508510dd9e938ecb764cc2310a680c12dd2e6dc25f412" - ], - "index": "pypi", - "version": "==1.2.0" - }, - "pytest-mock": { - "hashes": [ - "sha256:43ce4e9dd5074993e7c021bb1c22cbb5363e612a2b5a76bc6d956775b10758b7", - "sha256:5bf5771b1db93beac965a7347dc81c675ec4090cb841e49d9d34637a25c30568" - ], - "index": "pypi", - "version": "==1.10.4" - }, - "pytest-pep8": { - "hashes": [ - "sha256:032ef7e5fa3ac30f4458c73e05bb67b0f036a8a5cb418a534b3170f89f120318" - ], - "index": "pypi", - "version": "==1.0.6" - }, - "pytest-random-order": { - "hashes": [ - "sha256:6b2159342a4c8c10855bc4fc6d65ee890fc614cb2b4ff688979b008a82a0ff52", - "sha256:72279a7f823969e18b10e438950f58330d17e0fcffb57cbd7929770cd687ecb2" - ], - "index": "pypi", - "version": "==1.0.4" - }, - "pytest-runner": { - "hashes": [ - "sha256:175d3d9271332b54df0190bec59c3614676f6895ad1056aa391ed034e03f95f6", - "sha256:d1cb3d654b120d6124914bc33dcd25679860464545e4509bb6bf96eed5a2f1ef" - ], - "index": "pypi", - "version": "==4.5.1" - }, - "pytz": { - "hashes": [ - "sha256:26c0b32e437e54a18161324a2fca3c4b9846b74a8dccddd843113109e1116b32", - "sha256:c894d57500a4cd2d5c71114aaab77dbab5eabd9022308ce5ac9bb93a60a6f0c7" - ], - "version": "==2019.2" - }, - "requests": { - "hashes": [ - "sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4", - "sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31" - ], - "index": "pypi", - "version": "==2.22.0" - }, - "selenium": { - "hashes": [ - "sha256:2d7131d7bc5a5b99a2d9b04aaf2612c411b03b8ca1b1ee8d3de5845a9be2cb3c", - "sha256:deaf32b60ad91a4611b98d8002757f29e6f2c2d5fcaf202e1c9ad06d6772300d" - ], - "version": "==3.141.0" - }, - "six": { - "hashes": [ - "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c", - "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73" - ], - "version": "==1.12.0" - }, - "snowballstemmer": { - "hashes": [ - "sha256:713e53b79cbcf97bc5245a06080a33d54a77e7cce2f789c835a143bcdb5c033e" - ], - "version": "==1.9.1" - }, - "sphinx": { - "hashes": [ - "sha256:0d586b0f8c2fc3cc6559c5e8fd6124628110514fda0e5d7c82e682d749d2e845", - "sha256:839a3ed6f6b092bb60f492024489cc9e6991360fb9f52ed6361acd510d261069" - ], - "index": "pypi", - "version": "==2.2.0" - }, - "sphinxcontrib-applehelp": { - "hashes": [ - "sha256:edaa0ab2b2bc74403149cb0209d6775c96de797dfd5b5e2a71981309efab3897", - "sha256:fb8dee85af95e5c30c91f10e7eb3c8967308518e0f7488a2828ef7bc191d0d5d" - ], - "version": "==1.0.1" - }, - "sphinxcontrib-devhelp": { - "hashes": [ - "sha256:6c64b077937330a9128a4da74586e8c2130262f014689b4b89e2d08ee7294a34", - "sha256:9512ecb00a2b0821a146736b39f7aeb90759834b07e81e8cc23a9c70bacb9981" - ], - "version": "==1.0.1" - }, - "sphinxcontrib-htmlhelp": { - "hashes": [ - "sha256:4670f99f8951bd78cd4ad2ab962f798f5618b17675c35c5ac3b2132a14ea8422", - "sha256:d4fd39a65a625c9df86d7fa8a2d9f3cd8299a3a4b15db63b50aac9e161d8eff7" - ], - "version": "==1.0.2" - }, - "sphinxcontrib-jsmath": { - "hashes": [ - "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178", - "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8" - ], - "version": "==1.0.1" - }, - "sphinxcontrib-qthelp": { - "hashes": [ - "sha256:513049b93031beb1f57d4daea74068a4feb77aa5630f856fcff2e50de14e9a20", - "sha256:79465ce11ae5694ff165becda529a600c754f4bc459778778c7017374d4d406f" - ], - "version": "==1.0.2" - }, - "sphinxcontrib-serializinghtml": { - "hashes": [ - "sha256:c0efb33f8052c04fd7a26c0a07f1678e8512e0faec19f4aa8f2473a8b81d5227", - "sha256:db6615af393650bf1151a6cd39120c29abaf93cc60db8c48eb2dddbfdc3a9768" - ], - "version": "==1.1.3" - }, - "toml": { - "hashes": [ - "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c", - "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e" - ], - "version": "==0.10.0" - }, - "urllib3": { - "hashes": [ - "sha256:2393a695cd12afedd0dcb26fe5d50d0cf248e5a66f75dbd89a3d4eb333a61af4", - "sha256:a637e5fae88995b256e3409dc4d52c2e2e0ba32c42a6365fee8bbd2238de3cfb" - ], - "version": "==1.24.3" - }, - "wcwidth": { - "hashes": [ - "sha256:3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e", - "sha256:f4ebe71925af7b40a864553f761ed559b43544f8f71746c2d756c7fe788ade7c" - ], - "version": "==0.1.7" - }, - "werkzeug": { - "hashes": [ - "sha256:7280924747b5733b246fe23972186c6b348f9ae29724135a6dfc1e53cea433e7", - "sha256:e5f4a1f98b52b18a93da705a7458e55afb26f32bff83ff5d19189f92462d65c4" - ], - "version": "==0.16.0" - }, - "zipp": { - "hashes": [ - "sha256:3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e", - "sha256:f06903e9f1f43b12d371004b4ac7b06ab39a44adc747266928ae6debfa7b3335" - ], - "version": "==0.6.0" - } - } -} diff --git a/requirements-devel.txt b/data/oaisets.yml similarity index 60% rename from requirements-devel.txt rename to data/oaisets.yml index c1d1419..8ce0df9 100644 --- a/requirements-devel.txt +++ b/data/oaisets.yml @@ -1,28 +1,34 @@ # -*- coding: utf-8 -*- # -# This file is part of RERO Ebooks. -# Copyright (C) 2018 RERO. +# This file is part of Invenio. +# Copyright (C) 2017 RERO. # -# RERO Ebooks is free software; you can redistribute it +# Invenio is free software; you can redistribute it # and/or modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of the # License, or (at your option) any later version. # -# RERO Ebooks is distributed in the hope that it will be +# Invenio is distributed in the hope that it will be # useful, but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with RERO Ebooks; if not, write to the +# along with Invenio; if not, write to the # Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, # MA 02111-1307, USA. # # In applying this license, RERO does not # waive the privileges and immunities granted to it by virtue of its status # as an Intergovernmental Organization or submit itself to any jurisdiction. -# for development --e git+git://github.com/inveniosoftware/dojson.git#egg=dojson --e git+git://github.com/inveniosoftware/invenio-oaiharvester.git#egg=invenio-oaiharvester --e git+git://github.com/inveniosoftware/invenio-oaiserver.git#egg=invenio-oaiserver + +# OAI set configuration. +mv-cantook: + description: http://mediatheque-valais.cantookstation.eu + pattern: electronic_location_and_access.nonpublic_note:mv-cantook + + +ebibliomedia: + description: https://bm.ebibliomedia.ch + pattern: electronic_location_and_access.nonpublic_note:ebibliomedia diff --git a/docker-compose.full.yml b/docker-compose.full.yml index f28ac29..c59f7a4 100644 --- a/docker-compose.full.yml +++ b/docker-compose.full.yml @@ -46,7 +46,7 @@ services: extends: file: docker-services.yml service: app - command: pipenv run uwsgi /invenio/var/instance/uwsgi_ui.ini + command: poetry run uwsgi /invenio/var/instance/uwsgi_ui.ini image: rero-ebooks-web--ui ports: - "5000:5000" @@ -62,7 +62,7 @@ services: extends: file: docker-services.yml service: app - command: pipenv run uwsgi /invenio/var/instance/uwsgi_rest.ini + command: poetry run uwsgi /invenio/var/instance/uwsgi_rest.ini image: rero-ebooks-web-api ports: - "5001:5001" @@ -79,7 +79,7 @@ services: file: docker-services.yml service: app restart: "always" - command: "pipenv run celery worker -A invenio_app.celery --loglevel=INFO" + command: "poetry run celery worker -A rero_ebooks.celery --loglevel=INFO" image: rero-ebooks-worker links: - cache @@ -92,7 +92,7 @@ services: file: docker-services.yml service: app restart: "always" - command: "pipenv run celery beat -A invenio_app.celery --loglevel=INFO" + command: "poetry run celery beat -A rero_ebooks.celery --loglevel=INFO" image: rero-ebooks-beat links: - cache diff --git a/docker-services.yml b/docker-services.yml index c9cb584..be06988 100644 --- a/docker-services.yml +++ b/docker-services.yml @@ -64,7 +64,7 @@ services: ports: - "6379:6379" db: - image: postgres:9.6 + image: postgres:12 restart: "always" environment: - "POSTGRES_USER=rero-ebooks" @@ -79,11 +79,13 @@ services: - "15672:15672" - "5672:5672" es: - image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.6.2 + image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.6.2 restart: "always" environment: - - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" + - "discovery.type=single-node" + - "bootstrap.memory_lock=true" + - "indices.query.bool.max_clause_count=3000" ulimits: memlock: soft: -1 @@ -93,7 +95,7 @@ services: - "9200:9200" - "9300:9300" kibana: - image: docker.elastic.co/elasticsearch/kibana-oss:6.6.2 + image: docker.elastic.co/elasticsearch/kibana-oss:7.6.2 environment: - "ELASTICSEARCH_URL=http://es:9200" - "ES_JAVA_OPTS=-Xms512m -Xmx512m" diff --git a/docker/nginx/nginx.conf b/docker/nginx/nginx.conf index bef7dea..01fa31f 100644 --- a/docker/nginx/nginx.conf +++ b/docker/nginx/nginx.conf @@ -36,11 +36,16 @@ http { include /etc/nginx/mime.types; default_type application/octet-stream; + map "$request:$status:$body_bytes_sent" $loggable { + "OPTIONS / HTTP/1.0:200:0" 0; + default 1; + } + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; - access_log /var/log/nginx/access.log main; + access_log /var/log/nginx/access.log main if=$loggable; sendfile on; tcp_nopush on; diff --git a/docs/conf.py b/docs/conf.py index a5ccb7d..9bec00d 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -29,8 +29,6 @@ import os -import sphinx.environment - # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 0000000..8779a49 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,4028 @@ +[[package]] +category = "dev" +description = "A configurable sidebar-enabled Sphinx theme" +name = "alabaster" +optional = false +python-versions = "*" +version = "0.7.12" + +[[package]] +category = "main" +description = "A database migration tool for SQLAlchemy." +name = "alembic" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.4.2" + +[package.dependencies] +Mako = "*" +SQLAlchemy = ">=1.1.0" +python-dateutil = "*" +python-editor = ">=0.3" + +[[package]] +category = "main" +description = "Low-level AMQP client for Python (fork of amqplib)." +marker = "python_version < \"3.7\" or python_version >= \"3.7\"" +name = "amqp" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "2.6.0" + +[package.dependencies] +vine = ">=1.1.3,<5.0.0a1" + +[[package]] +category = "dev" +description = "apipkg: namespace control and lazy-import mechanism" +name = "apipkg" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.5" + +[[package]] +category = "main" +description = "Disable App Nap on OS X 10.9" +name = "appnope" +optional = false +python-versions = "*" +version = "0.1.0" + +[[package]] +category = "main" +description = "Better dates & times for Python" +name = "arrow" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "0.15.6" + +[package.dependencies] +python-dateutil = "*" + +[[package]] +category = "dev" +description = "Atomic file writes." +marker = "sys_platform == \"win32\"" +name = "atomicwrites" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.4.0" + +[[package]] +category = "main" +description = "Classes Without Boilerplate" +name = "attrs" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "19.3.0" + +[package.extras] +azure-pipelines = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "pytest-azurepipelines"] +dev = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "sphinx", "pre-commit"] +docs = ["sphinx", "zope.interface"] +tests = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"] + +[[package]] +category = "dev" +description = "Removes unused imports and unused variables" +name = "autoflake" +optional = false +python-versions = "*" +version = "1.3.1" + +[package.dependencies] +pyflakes = ">=1.1.0" + +[[package]] +category = "main" +description = "Internationalization utilities" +name = "babel" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "2.8.0" + +[package.dependencies] +pytz = ">=2015.7" + +[[package]] +category = "main" +description = "Specifications for callback functions passed in to an API" +name = "backcall" +optional = false +python-versions = "*" +version = "0.1.0" + +[[package]] +category = "main" +description = "Small library to generate, encode and decode random base32 strings." +name = "base32-lib" +optional = false +python-versions = "*" +version = "1.0.2" + +[package.dependencies] +six = ">=1.10" + +[package.extras] +all = ["Sphinx (>=1.4.2)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "pydocstyle (>=1.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest-runner (>=2.7.0)", "pytest (>=3.6.0)"] +docs = ["Sphinx (>=1.4.2)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "pydocstyle (>=1.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest-runner (>=2.7.0)", "pytest (>=3.6.0)"] + +[[package]] +category = "main" +description = "Python multiprocessing fork with improvements and bugfixes" +marker = "python_version < \"3.7\" or python_version >= \"3.7\"" +name = "billiard" +optional = false +python-versions = "*" +version = "3.6.3.0" + +[[package]] +category = "main" +description = "An easy safelist-based HTML-sanitizing tool." +name = "bleach" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "3.1.5" + +[package.dependencies] +packaging = "*" +six = ">=1.9.0" +webencodings = "*" + +[[package]] +category = "main" +description = "Fast, simple object-to-object and broadcast signaling" +name = "blinker" +optional = false +python-versions = "*" +version = "1.4" + +[[package]] +category = "main" +description = "Distributed Task Queue." +name = "celery" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "4.4.4" + +[package.dependencies] +billiard = ">=3.6.3.0,<4.0" +kombu = ">=4.6.10,<4.7" +pytz = ">0.0-dev" +vine = "1.3.0" + +[package.extras] +arangodb = ["pyArango (>=1.3.2)"] +auth = ["cryptography"] +azureblockblob = ["azure-storage (0.36.0)", "azure-common (1.1.5)", "azure-storage-common (1.1.0)"] +brotli = ["brotli (>=1.0.0)", "brotlipy (>=0.7.0)"] +cassandra = ["cassandra-driver (<3.21.0)"] +consul = ["python-consul"] +cosmosdbsql = ["pydocumentdb (2.3.2)"] +couchbase = ["couchbase-cffi (<3.0.0)", "couchbase (<3.0.0)"] +couchdb = ["pycouchdb"] +django = ["Django (>=1.11)"] +dynamodb = ["boto3 (>=1.9.178)"] +elasticsearch = ["elasticsearch"] +eventlet = ["eventlet (>=0.24.1)"] +gevent = ["gevent"] +librabbitmq = ["librabbitmq (>=1.5.0)"] +lzma = ["backports.lzma"] +memcache = ["pylibmc"] +mongodb = ["pymongo (>=3.3.0)"] +msgpack = ["msgpack"] +pymemcache = ["python-memcached"] +pyro = ["pyro4"] +redis = ["redis (>=3.2.0)"] +riak = ["riak (>=2.0)"] +s3 = ["boto3 (>=1.9.125)"] +slmq = ["softlayer-messaging (>=1.0.3)"] +solar = ["ephem"] +sqlalchemy = ["sqlalchemy"] +sqs = ["boto3 (>=1.9.125)", "pycurl (7.43.0.5)"] +tblib = ["tblib (>=1.3.0)", "tblib (>=1.5.0)"] +yaml = ["PyYAML (>=3.10)"] +zookeeper = ["kazoo (>=1.3.1)"] +zstd = ["zstandard"] + +[[package]] +category = "main" +description = "Python package for providing Mozilla's CA Bundle." +name = "certifi" +optional = false +python-versions = "*" +version = "2020.4.5.1" + +[[package]] +category = "main" +description = "Foreign Function Interface for Python calling C code." +name = "cffi" +optional = false +python-versions = "*" +version = "1.14.0" + +[package.dependencies] +pycparser = "*" + +[[package]] +category = "main" +description = "Universal encoding detector for Python 2 and 3" +name = "chardet" +optional = false +python-versions = "*" +version = "3.0.4" + +[[package]] +category = "dev" +description = "Check MANIFEST.in in a Python source package for completeness" +name = "check-manifest" +optional = false +python-versions = ">=3.5" +version = "0.42" + +[package.dependencies] +pep517 = "*" +setuptools = "*" +toml = "*" + +[package.extras] +test = ["mock (>=3.0.0)"] + +[[package]] +category = "main" +description = "Composable command line interface toolkit" +name = "click" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "7.1.2" + +[[package]] +category = "main" +description = "Cross-platform colored terminal text." +marker = "sys_platform == \"win32\"" +name = "colorama" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "0.4.3" + +[[package]] +category = "main" +description = "Backports and enhancements for the contextlib module" +name = "contextlib2" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "0.6.0.post1" + +[[package]] +category = "dev" +description = "Code coverage measurement for Python" +name = "coverage" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" +version = "5.1" + +[package.extras] +toml = ["toml"] + +[[package]] +category = "main" +description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +name = "cryptography" +optional = false +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" +version = "2.9.2" + +[package.dependencies] +cffi = ">=1.8,<1.11.3 || >1.11.3" +six = ">=1.4.1" + +[package.extras] +docs = ["sphinx (>=1.6.5,<1.8.0 || >1.8.0)", "sphinx-rtd-theme"] +docstest = ["doc8", "pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"] +idna = ["idna (>=2.1)"] +pep8test = ["flake8", "flake8-import-order", "pep8-naming"] +test = ["pytest (>=3.6.0,<3.9.0 || >3.9.0,<3.9.1 || >3.9.1,<3.9.2 || >3.9.2)", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,<3.79.2 || >3.79.2)"] + +[[package]] +category = "main" +description = "Decorators for Humans" +name = "decorator" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*" +version = "4.4.2" + +[[package]] +category = "main" +description = "DNS toolkit" +name = "dnspython" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.16.0" + +[package.extras] +DNSSEC = ["pycryptodome", "ecdsa (>=0.13)"] +IDNA = ["idna (>=2.1)"] + +[[package]] +category = "dev" +description = "Docutils -- Python Documentation Utilities" +name = "docutils" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "0.16" + +[[package]] +category = "main" +description = "DoJSON is a simple Pythonic JSON to JSON converter." +name = "dojson" +optional = false +python-versions = "*" +version = "1.4.0" + +[package.dependencies] +click = ">=5.0.0" +lxml = ">=3.4" +simplejson = ">=3.8.1" + +[package.extras] +all = ["Sphinx (>=1.5.2)", "check-manifest (>=0.25)", "coverage (>=4.0)", "coverage (>=4.0.0)", "isort (>=4.2.2)", "jsonschema (>=2.5.1)", "mock (>=1.0.0)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=2.1.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "jsonschema (>=2.5.1)", "Sphinx (>=1.5.2)", "check-manifest (>=0.25)", "coverage (>=4.0)", "coverage (>=4.0.0)", "isort (>=4.2.2)", "jsonschema (>=2.5.1)", "mock (>=1.0.0)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=2.1.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "jsonschema (>=2.5.1)"] +docs = ["Sphinx (>=1.5.2)"] +jsonschema = ["jsonschema (>=2.5.1)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "coverage (>=4.0.0)", "isort (>=4.2.2)", "jsonschema (>=2.5.1)", "mock (>=1.0.0)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=2.1.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] + +[[package]] +category = "dev" +description = "A parser for Python dependency files" +name = "dparse" +optional = false +python-versions = ">=3.5" +version = "0.5.1" + +[package.dependencies] +packaging = "*" +pyyaml = "*" +toml = "*" + +[package.extras] +pipenv = ["pipenv"] + +[[package]] +category = "main" +description = "Python client for Elasticsearch" +name = "elasticsearch" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4" +version = "7.7.1" + +[package.dependencies] +certifi = "*" +urllib3 = ">=1.21.1" + +[package.extras] +develop = ["requests (>=2.0.0,<3.0.0)", "nose", "coverage", "mock", "pyyaml", "nosexcover", "sphinx (<1.7)", "sphinx-rtd-theme", "black", "jinja2"] +docs = ["sphinx (<1.7)", "sphinx-rtd-theme"] +requests = ["requests (>=2.4.0,<3.0.0)"] + +[[package]] +category = "main" +description = "Python client for Elasticsearch" +name = "elasticsearch-dsl" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "7.2.1" + +[package.dependencies] +elasticsearch = ">=7.0.0,<8.0.0" +python-dateutil = "*" +six = "*" + +[package.extras] +develop = ["coverage (<5.0.0)", "mock", "pytest-cov", "pytest-mock (<3.0.0)", "pytest (>=3.0.0)", "pytz", "sphinx", "sphinx-rtd-theme"] + +[[package]] +category = "main" +description = "A robust email syntax and deliverability validation library for Python 2.x/3.x." +name = "email-validator" +optional = false +python-versions = "*" +version = "1.1.1" + +[package.dependencies] +dnspython = ">=1.15.0" +idna = ">=2.0.0" + +[[package]] +category = "dev" +description = "execnet: rapid multi-Python deployment" +name = "execnet" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.7.1" + +[package.dependencies] +apipkg = ">=1.4" + +[package.extras] +testing = ["pre-commit"] + +[[package]] +category = "main" +description = "A simple framework for building complex web applications." +name = "flask" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.0.4" + +[package.dependencies] +Jinja2 = ">=2.10" +Werkzeug = ">=0.14" +click = ">=5.1" +itsdangerous = ">=0.24" + +[package.extras] +dev = ["pytest", "coverage", "tox", "sphinx", "pallets-sphinx-themes", "sphinxcontrib-log-cabinet", "sphinx-issues"] +docs = ["sphinx", "pallets-sphinx-themes", "sphinxcontrib-log-cabinet", "sphinx-issues"] +dotenv = ["python-dotenv"] + +[[package]] +category = "main" +description = "Simple and extensible admin interface framework for Flask" +name = "flask-admin" +optional = false +python-versions = "*" +version = "1.5.6" + +[package.dependencies] +Flask = ">=0.7" +wtforms = "*" + +[package.extras] +aws = ["boto"] +azure = ["azure-storage-blob"] + +[[package]] +category = "main" +description = "Flask extension to integrate Alembic migrations" +name = "flask-alembic" +optional = false +python-versions = "*" +version = "2.0.1" + +[package.dependencies] +Flask = ">=0.10" +Flask-SQLAlchemy = "*" +SQLAlchemy = "*" +alembic = ">=0.8" + +[[package]] +category = "main" +description = "Asset management for Flask, to compress and merge CSS and Javascript files." +name = "flask-assets" +optional = false +python-versions = "*" +version = "2.0" + +[package.dependencies] +Flask = ">=0.8" +webassets = ">=2.0" + +[[package]] +category = "main" +description = "Adds i18n/l10n support to Flask applications" +name = "flask-babelex" +optional = false +python-versions = "*" +version = "0.9.4" + +[package.dependencies] +Babel = ">=1.0" +Flask = "*" +Jinja2 = ">=2.5" +speaklater = ">=1.2" + +[[package]] +category = "main" +description = "Flask-Breadcrumbs adds support for generating site breadcrumb navigation." +name = "flask-breadcrumbs" +optional = false +python-versions = "*" +version = "0.5.1" + +[package.dependencies] +Flask = ">=1.0.4" +Flask-Menu = ">=0.2" +six = ">=1.12.0" + +[package.extras] +all = ["Sphinx (>=1.5.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.3.11)", "mock (>=1.0.0)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.8.0)"] +docs = ["Sphinx (>=1.5.1)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.3.11)", "mock (>=1.0.0)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.8.0)"] + +[[package]] +category = "main" +description = "Adds caching support to your Flask application" +name = "flask-caching" +optional = false +python-versions = "*" +version = "1.9.0" + +[package.dependencies] +Flask = "*" + +[[package]] +category = "main" +description = "Flask-CeleryExt is a simple integration layer between Celery and Flask." +name = "flask-celeryext" +optional = false +python-versions = "*" +version = "0.3.4" + +[package.dependencies] +Flask = ">=0.10" + +[[package.dependencies.celery]] +python = "<3.7" +version = ">=3.1" + +[[package.dependencies.celery]] +python = ">=3.7" +version = ">=4.3" + +[package.extras] +all = ["Sphinx (>=1.4.2)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.3.4)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "pytest-mock (>=1.6.0)"] +docs = ["Sphinx (>=1.4.2)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.3.4)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "pytest-mock (>=1.6.0)"] + +[[package]] +category = "main" +description = "Flask-Collect -- Collect static files in Flask application" +name = "flask-collect" +optional = false +python-versions = "*" +version = "1.2.2" + +[package.dependencies] +flask = ">=0.10.1" + +[[package]] +category = "main" +description = "A Flask extension adding a decorator for CORS support" +name = "flask-cors" +optional = false +python-versions = "*" +version = "3.0.8" + +[package.dependencies] +Flask = ">=0.9" +Six = "*" + +[[package]] +category = "dev" +description = "A toolbar overlay for debugging Flask applications." +name = "flask-debugtoolbar" +optional = false +python-versions = "*" +version = "0.11.0" + +[package.dependencies] +Blinker = "*" +Flask = ">=0.8" +itsdangerous = "*" +werkzeug = "*" + +[[package]] +category = "main" +description = "Transparent server-side session support for flask" +name = "flask-kvsession" +optional = false +python-versions = "*" +version = "0.6.2" + +[package.dependencies] +Flask = ">=0.8" +itsdangerous = ">=0.20" +simplekv = ">=0.9.2" +six = "*" +werkzeug = "*" + +[[package]] +category = "main" +description = "Rate limiting for flask applications" +name = "flask-limiter" +optional = false +python-versions = "*" +version = "1.1.0" + +[package.dependencies] +Flask = ">=0.8" +limits = "*" +six = ">=1.4.1" + +[[package]] +category = "main" +description = "User session management for Flask" +name = "flask-login" +optional = false +python-versions = "*" +version = "0.4.1" + +[package.dependencies] +Flask = "*" + +[[package]] +category = "main" +description = "Flask extension for sending email" +name = "flask-mail" +optional = false +python-versions = "*" +version = "0.9.1" + +[package.dependencies] +Flask = "*" +blinker = "*" + +[[package]] +category = "main" +description = "Flask-Menu is a Flask extension that adds support for generating menus." +name = "flask-menu" +optional = false +python-versions = "*" +version = "0.7.1" + +[package.dependencies] +Flask = ">=0.10.1" +six = ">=1.9.0" + +[package.extras] +all = ["sphinx (>=1.3)", "flask-classy (>=0.6.10)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "pydocstyle (>=1.0.0)", "pytest (>=2.8.0)", "pytest-cache (>=1.0)", "pytest-cov (>=2.1.0)", "pytest-pep8 (>=1.0.6)"] +classy = ["flask-classy (>=0.6.10)"] +docs = ["sphinx (>=1.3)"] +tests = ["flask-classy (>=0.6.10)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "pydocstyle (>=1.0.0)", "pytest (>=2.8.0)", "pytest-cache (>=1.0)", "pytest-cov (>=2.1.0)", "pytest-pep8 (>=1.0.6)"] + +[[package]] +category = "main" +description = "OAuthlib for Flask" +name = "flask-oauthlib" +optional = false +python-versions = "*" +version = "0.9.5" + +[package.dependencies] +Flask = "*" +oauthlib = ">=1.1.2,<2.0.3 || >2.0.3,<2.0.4 || >2.0.4,<2.0.5 || >2.0.5,<3.0.0" +requests-oauthlib = ">=0.6.2" + +[[package]] +category = "main" +description = "Identity management for flask" +name = "flask-principal" +optional = false +python-versions = "*" +version = "0.4.0" + +[package.dependencies] +Flask = "*" +blinker = "*" + +[[package]] +category = "main" +description = "Simple security for Flask apps." +name = "flask-security" +optional = false +python-versions = "*" +version = "3.0.0" + +[package.dependencies] +Flask = ">=0.11" +Flask-BabelEx = ">=0.9.3" +Flask-Login = ">=0.3.0" +Flask-Mail = ">=0.7.3" +Flask-Principal = ">=0.3.3" +Flask-WTF = ">=0.13.1" +itsdangerous = ">=0.21" +passlib = ">=1.7" + +[package.extras] +all = ["Flask-Sphinx-Themes (>=1.0.1)", "Sphinx (>=1.4.2)", "Flask-CLI (>=0.4.0)", "Flask-Mongoengine (>=0.7.0)", "Flask-Peewee (>=0.6.5)", "Flask-SQLAlchemy (>=1.0)", "bcrypt (>=1.0.2)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "mongoengine (>=0.10.0)", "pony (>=0.7.1)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=2.4.0)", "pytest-flakes (>=1.0.1)", "pytest-pep8 (>=1.0.6)", "pytest-translations (>=1.0.4)", "pytest (>=3.0.5)", "sqlalchemy (>=0.8.0)", "Flask-Sphinx-Themes (>=1.0.1)", "Sphinx (>=1.4.2)", "Flask-CLI (>=0.4.0)", "Flask-Mongoengine (>=0.7.0)", "Flask-Peewee (>=0.6.5)", "Flask-SQLAlchemy (>=1.0)", "bcrypt (>=1.0.2)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "mongoengine (>=0.10.0)", "pony (>=0.7.1)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=2.4.0)", "pytest-flakes (>=1.0.1)", "pytest-pep8 (>=1.0.6)", "pytest-translations (>=1.0.4)", "pytest (>=3.0.5)", "sqlalchemy (>=0.8.0)"] +docs = ["Flask-Sphinx-Themes (>=1.0.1)", "Sphinx (>=1.4.2)"] +tests = ["Flask-CLI (>=0.4.0)", "Flask-Mongoengine (>=0.7.0)", "Flask-Peewee (>=0.6.5)", "Flask-SQLAlchemy (>=1.0)", "bcrypt (>=1.0.2)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "mongoengine (>=0.10.0)", "pony (>=0.7.1)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=2.4.0)", "pytest-flakes (>=1.0.1)", "pytest-pep8 (>=1.0.6)", "pytest-translations (>=1.0.4)", "pytest (>=3.0.5)", "sqlalchemy (>=0.8.0)"] + +[[package]] +category = "main" +description = "Replace default `flask shell` command by similar command running IPython." +name = "flask-shell-ipython" +optional = false +python-versions = "*" +version = "0.4.1" + +[package.dependencies] +IPython = ">=5.0.0" +click = "*" +flask = ">=1.0" + +[[package]] +category = "main" +description = "Adds SQLAlchemy support to your Flask application." +name = "flask-sqlalchemy" +optional = false +python-versions = ">= 2.7, != 3.0.*, != 3.1.*, != 3.2.*, != 3.3.*" +version = "2.4.3" + +[package.dependencies] +Flask = ">=0.10" +SQLAlchemy = ">=0.8.0" + +[[package]] +category = "main" +description = "HTTP security headers for Flask." +name = "flask-talisman" +optional = false +python-versions = "*" +version = "0.5.0" + +[package.dependencies] +six = ">=1.9.0" + +[[package]] +category = "main" +description = "Webpack integration for Flask." +name = "flask-webpackext" +optional = false +python-versions = "*" +version = "1.0.2" + +[package.dependencies] +Flask = ">=0.11" +pynpm = ">=0.1.1" +pywebpack = ">=1.0.0" + +[package.extras] +all = ["Sphinx (>=1.5.1,<3)", "sphinx-click (>=1.4.0)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.3.21)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] +docs = ["Sphinx (>=1.5.1,<3)", "sphinx-click (>=1.4.0)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.3.21)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] + +[[package]] +category = "main" +description = "Simple integration of Flask and WTForms." +name = "flask-wtf" +optional = false +python-versions = "*" +version = "0.14.3" + +[package.dependencies] +Flask = "*" +WTForms = "*" +itsdangerous = "*" + +[[package]] +category = "main" +description = "Fixes some problems with Unicode text after the fact" +name = "ftfy" +optional = false +python-versions = "*" +version = "4.4.3" + +[package.dependencies] +html5lib = "*" +wcwidth = "*" + +[[package]] +category = "main" +description = "Clean single-source support for Python 3 and 2" +name = "future" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +version = "0.18.2" + +[[package]] +category = "main" +description = "HTML parser based on the WHATWG HTML specification" +name = "html5lib" +optional = false +python-versions = "*" +version = "1.0.1" + +[package.dependencies] +six = ">=1.9" +webencodings = "*" + +[package.extras] +all = ["genshi", "chardet (>=2.2)", "datrie", "lxml"] +chardet = ["chardet (>=2.2)"] +datrie = ["datrie"] +genshi = ["genshi"] +lxml = ["lxml"] + +[[package]] +category = "main" +description = "Internationalized Domain Names in Applications (IDNA)" +name = "idna" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "2.9" + +[[package]] +category = "dev" +description = "Getting image size from png/jpeg/jpeg2000/gif file" +name = "imagesize" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.2.0" + +[[package]] +category = "main" +description = "Read metadata from Python packages" +marker = "python_version < \"3.8\" or python_version >= \"3.7\" and python_version < \"3.8\"" +name = "importlib-metadata" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" +version = "1.6.0" + +[package.dependencies] +zipp = ">=0.5" + +[package.extras] +docs = ["sphinx", "rst.linker"] +testing = ["packaging", "importlib-resources"] + +[[package]] +category = "main" +description = "All-in-one infinity value for Python. Can be compared to any object." +name = "infinity" +optional = false +python-versions = "*" +version = "1.5" + +[package.extras] +test = ["pytest (>=2.2.3)", "Pygments (>=1.2)", "six (>=1.4.1)", "flake8 (>=2.4.0)", "isort (>=4.2.2)"] + +[[package]] +category = "main" +description = "Python tools for handling intervals (ranges of comparable objects)." +name = "intervals" +optional = false +python-versions = "*" +version = "0.8.1" + +[package.dependencies] +infinity = ">=0.1.3" + +[package.extras] +test = ["pytest (>=2.2.3)", "Pygments (>=1.2)", "flake8 (>=2.4.0)", "isort (>=4.2.2)"] + +[[package]] +category = "main" +description = "Invenio Digital Library Framework." +name = "invenio" +optional = false +python-versions = "*" +version = "3.2.2" + +[package.dependencies] +Flask = ">=1.0.4" +Werkzeug = ">=0.15.0,<1.0.0" +invenio-app = ">=1.2.6,<1.3.0" +invenio-base = ">=1.2.3,<1.3.0" +invenio-cache = ">=1.0.0,<1.1.0" +invenio-celery = ">=1.1.1,<1.2.0" +invenio-config = ">=1.0.3,<1.1.0" +invenio-i18n = ">=1.1.1,<1.2.0" + +[package.dependencies.invenio-access] +optional = true +version = ">=1.3.3,<1.4.0" + +[package.dependencies.invenio-accounts] +optional = true +version = ">=1.1.1,<1.2.0" + +[package.dependencies.invenio-admin] +optional = true +version = ">=1.1.2,<1.2.0" + +[package.dependencies.invenio-assets] +optional = true +version = ">=1.1.3,<1.2.0" + +[package.dependencies.invenio-db] +extras = ["versioning", "postgresql"] +optional = true +version = ">=1.0.5,<1.1.0" + +[package.dependencies.invenio-formatter] +optional = true +version = ">=1.0.3,<1.1.0" + +[package.dependencies.invenio-logging] +optional = true +version = ">=1.2.0,<1.3.0" + +[package.dependencies.invenio-mail] +optional = true +version = ">=1.0.2,<1.1.0" + +[package.dependencies.invenio-oauth2server] +optional = true +version = ">=1.0.5,<1.1.0" + +[package.dependencies.invenio-oauthclient] +optional = true +version = ">=1.1.3,<1.2.0" + +[package.dependencies.invenio-rest] +optional = true +version = ">=1.1.2,<1.2.0" + +[package.dependencies.invenio-search] +extras = ["elasticsearch7"] +optional = true +version = ">=1.2.4,<1.3.0" + +[package.dependencies.invenio-theme] +optional = true +version = ">=1.1.4,<1.2.0" + +[package.dependencies.invenio-userprofiles] +optional = true +version = ">=1.0.1,<1.1.0" + +[package.extras] +all = ["invenio-admin (>=1.1.2,<1.2.0)", "invenio-assets (>=1.1.3,<1.2.0)", "invenio-formatter (>=1.0.3,<1.1.0)", "invenio-logging (>=1.2.0,<1.3.0)", "invenio-mail (>=1.0.2,<1.1.0)", "invenio-rest (>=1.1.2,<1.2.0)", "invenio-theme (>=1.1.4,<1.2.0)", "invenio-access (>=1.3.3,<1.4.0)", "invenio-accounts (>=1.1.1,<1.2.0)", "invenio-oauth2server (>=1.0.5,<1.1.0)", "invenio-oauthclient (>=1.1.3,<1.2.0)", "invenio-userprofiles (>=1.0.1,<1.1.0)", "invenio-indexer (>=1.1.1,<1.2.0)", "invenio-jsonschemas (>=1.0.2,<1.1.0)", "invenio-oaiserver (>=1.1.1,<1.2.0)", "invenio-pidstore (>=1.1.0,<1.2.0)", "invenio-records-rest (>=1.6.5,<1.7.0)", "invenio-records-ui (>=1.0.1,<1.1.0)", "invenio-records (>=1.3.1,<1.4.0)", "invenio-search-ui (>=1.1.1,<1.2.0)", "invenio-files-rest (>=1.0.5,<1.1.0)", "invenio-iiif (>=1.0.0,<1.1.0)", "invenio-previewer (>=1.1.1,<1.2.0)", "invenio-records-files (>=1.2.1,<1.3.0)", "Sphinx (>=1.5.1)", "check-manifest (>=0.35)", "coverage (>=4.5.3)", "isort (>=4.3)", "pydocstyle (>=3.0.0)", "pytest-cov (>=2.7.1)", "pytest-invenio (>=1.2.2,<1.3.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.6.4,<5.0.0)"] +auth = ["invenio-access (>=1.3.3,<1.4.0)", "invenio-accounts (>=1.1.1,<1.2.0)", "invenio-oauth2server (>=1.0.5,<1.1.0)", "invenio-oauthclient (>=1.1.3,<1.2.0)", "invenio-userprofiles (>=1.0.1,<1.1.0)"] +base = ["invenio-admin (>=1.1.2,<1.2.0)", "invenio-assets (>=1.1.3,<1.2.0)", "invenio-formatter (>=1.0.3,<1.1.0)", "invenio-logging (>=1.2.0,<1.3.0)", "invenio-mail (>=1.0.2,<1.1.0)", "invenio-rest (>=1.1.2,<1.2.0)", "invenio-theme (>=1.1.4,<1.2.0)"] +docs = ["Sphinx (>=1.5.1)"] +elasticsearch2 = ["invenio-search (>=1.2.4,<1.3.0)"] +elasticsearch5 = ["invenio-search (>=1.2.4,<1.3.0)"] +elasticsearch6 = ["invenio-search (>=1.2.4,<1.3.0)"] +elasticsearch7 = ["invenio-search (>=1.2.4,<1.3.0)"] +files = ["invenio-files-rest (>=1.0.5,<1.1.0)", "invenio-iiif (>=1.0.0,<1.1.0)", "invenio-previewer (>=1.1.1,<1.2.0)", "invenio-records-files (>=1.2.1,<1.3.0)"] +metadata = ["invenio-indexer (>=1.1.1,<1.2.0)", "invenio-jsonschemas (>=1.0.2,<1.1.0)", "invenio-oaiserver (>=1.1.1,<1.2.0)", "invenio-pidstore (>=1.1.0,<1.2.0)", "invenio-records-rest (>=1.6.5,<1.7.0)", "invenio-records-ui (>=1.0.1,<1.1.0)", "invenio-records (>=1.3.1,<1.4.0)", "invenio-search-ui (>=1.1.1,<1.2.0)"] +mysql = ["invenio-db (>=1.0.5,<1.1.0)"] +postgresql = ["invenio-db (>=1.0.5,<1.1.0)"] +sqlite = ["invenio-db (>=1.0.5,<1.1.0)"] +tests = ["check-manifest (>=0.35)", "coverage (>=4.5.3)", "isort (>=4.3)", "pydocstyle (>=3.0.0)", "pytest-cov (>=2.7.1)", "pytest-invenio (>=1.2.2,<1.3.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.6.4,<5.0.0)"] + +[[package]] +category = "main" +description = "Invenio module for common role based access control." +name = "invenio-access" +optional = false +python-versions = "*" +version = "1.3.3" + +[package.dependencies] +Flask = ">=0.11.1" +Flask-Admin = ">=1.5.6" +Flask-BabelEx = ">=0.9.3" +invenio-accounts = ">=1.1.4" +six = ">=1.12.0" + +[package.extras] +all = ["Sphinx (>=1.8.4,<3)", "SQLAlchemy-Continuum (>=1.2.1)", "Werkzeug (>=0.11.2,<1.0.0)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.3.0)", "mock (>=1.0.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.6.0)", "redis (>=2.10.3)"] +docs = ["Sphinx (>=1.8.4,<3)"] +mysql = ["invenio-db (>=1.0.0)"] +postgresql = ["invenio-db (>=1.0.0)"] +sqlite = ["invenio-db (>=1.0.0)"] +tests = ["SQLAlchemy-Continuum (>=1.2.1)", "Werkzeug (>=0.11.2,<1.0.0)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.3.0)", "mock (>=1.0.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.6.0)", "redis (>=2.10.3)"] + +[[package]] +category = "main" +description = "Invenio user management and authentication." +name = "invenio-accounts" +optional = false +python-versions = "*" +version = "1.1.4" + +[package.dependencies] +Flask = ">=1.0.4" +Flask-Breadcrumbs = ">=0.4.0" +Flask-KVSession = ">=0.6.1" +Flask-Login = ">=0.3.0,<0.5.0" +Flask-Mail = ">=0.9.1" +Flask-Menu = ">=0.5.0" +Flask-Security = ">=3.0.0" +Flask-WTF = ">=0.13.1" +SQLAlchemy-Utils = ">=0.31.0" +cryptography = ">=2.1.4" +email-validator = ">=1.0.5" +future = ">=0.16.0" +invenio-celery = ">=1.1.2" +invenio-i18n = ">=1.0.0" +maxminddb-geolite2 = ">=2017.404" +passlib = ">=1.7.1" +pyjwt = ">=1.5.0" +redis = ">=2.10.5" +simplekv = ">=0.11.2" +ua-parser = ">=0.7.3" +werkzeug = ">=0.15" + +[package.extras] +admin = ["Flask-Admin (>=1.3.0)"] +all = ["Flask-Admin (>=1.3.0)", "Sphinx (>=1.4.2,<1.6)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.3.0)", "mock (>=2.0.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-flask (>=0.10.0,<1.0.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.0.0,<5.0.0)", "selenium (>=3.0.1)"] +docs = ["Sphinx (>=1.4.2,<1.6)"] +mysql = ["invenio-db (>=1.0.0)"] +postgresql = ["invenio-db (>=1.0.0)"] +sqlite = ["invenio-db (>=1.0.0)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.3.0)", "mock (>=2.0.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-flask (>=0.10.0,<1.0.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.0.0,<5.0.0)", "selenium (>=3.0.1)"] + +[[package]] +category = "main" +description = "Invenio module that adds administration panel to the system." +name = "invenio-admin" +optional = false +python-versions = "*" +version = "1.1.3" + +[package.dependencies] +Flask = ">=1.0.4" +Flask-Admin = ">=1.5.6" +Flask-Login = ">=0.3.0,<0.5.0" +Flask-Menu = ">=0.5.0" +Flask-Principal = ">=0.4.0" +invenio-db = ">=1.0.0" +six = ">=1.12.0" + +[package.extras] +access = ["invenio-access (>=1.0.0,<1.4.0)"] +all = ["Sphinx (>=1.4.2)", "invenio-access (>=1.0.0,<1.4.0)", "check-manifest (>=0.25)", "coverage (>=4.0)", "invenio-accounts (>=1.1.4)", "invenio-theme (>=1.1.1)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] +docs = ["Sphinx (>=1.4.2)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "invenio-accounts (>=1.1.4)", "invenio-theme (>=1.1.1)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] + +[[package]] +category = "main" +description = "WSGI, Celery and CLI applications for Invenio flavours." +name = "invenio-app" +optional = false +python-versions = "*" +version = "1.2.6" + +[package.dependencies] +flask-celeryext = ">=0.2.2" +flask-limiter = ">=1.0.1,<1.2.0" +flask-shell-ipython = ">=0.3.1" +flask-talisman = ">=0.3.2,<0.5.1" +invenio-base = ">=1.1.0" +invenio-cache = ">=1.0.0" +invenio-config = ">=1.0.0" +six = ">=1.12.0" +uritools = ">=1.0.1" + +[package.extras] +all = ["Sphinx (>=1.8.0)", "check-manifest (>=0.25)", "coverage (>=4.5.3)", "isort (>=4.3.21)", "pydocstyle (>=3.0.0)", "pytest-cov (>=2.7.1)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.6.4,<5.0.0)", "redis (>=2.10.5)", "mock (>=2.0.0)"] +docs = ["Sphinx (>=1.8.0)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.5.3)", "isort (>=4.3.21)", "pydocstyle (>=3.0.0)", "pytest-cov (>=2.7.1)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.6.4,<5.0.0)", "redis (>=2.10.5)", "mock (>=2.0.0)"] + +[[package]] +category = "main" +description = "Media assets management for Invenio." +name = "invenio-assets" +optional = false +python-versions = "*" +version = "1.1.5" + +[package.dependencies] +Babel = ">=1.3" +Flask = ">=0.11.1" +Flask-Assets = ">=0.12" +Flask-Collect = "1.2.2" +Flask-WebpackExt = ">=1.0.0" +node-semver = ">=0.1.1,<0.2.0" +speaklater = ">=1.3" +webassets = ">=0.12" + +[package.extras] +all = ["Sphinx (>=1.5.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.0.0,<5.0.0)"] +docs = ["Sphinx (>=1.5.1)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.0.0,<5.0.0)"] + +[[package]] +category = "main" +description = "Base package for building Invenio application factories." +name = "invenio-base" +optional = false +python-versions = "*" +version = "1.2.3" + +[package.dependencies] +Flask = ">=1.0.4" +blinker = ">=1.4" +six = ">=1.12.0" + +[package.extras] +all = ["Sphinx (>=1.4.2)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=2.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.8.0,<5.0.0)", "invenio-config (>=1.0.0)"] +docs = ["Sphinx (>=1.4.2)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=2.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.8.0,<5.0.0)", "invenio-config (>=1.0.0)"] + +[[package]] +category = "main" +description = "Cache module for Invenio." +name = "invenio-cache" +optional = false +python-versions = "*" +version = "1.0.0" + +[package.dependencies] +Flask = ">=0.11.1" +Flask-Caching = ">=1.3.2" + +[package.extras] +all = ["Sphinx (>=1.5.1)", "Flask-Login (>=0.3.0)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=2.0.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.2.0)", "python-memcached (>=1.58)", "redis (>=2.10.5)", "Sphinx (>=1.5.1)", "Flask-Login (>=0.3.0)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=2.0.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.2.0)", "python-memcached (>=1.58)", "redis (>=2.10.5)"] +docs = ["Sphinx (>=1.5.1)"] +login = ["Flask-Login (>=0.3.0)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=2.0.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.2.0)", "python-memcached (>=1.58)", "redis (>=2.10.5)"] + +[[package]] +category = "main" +description = "Celery module for Invenio." +name = "invenio-celery" +optional = false +python-versions = "*" +version = "1.1.3" + +[package.dependencies] +Flask = ">=0.11" +Flask-CeleryExt = ">=0.3.4" +celery = ">=4.2.1,<4.3 || >4.3" +msgpack = ">=0.6.2" +redis = ">=2.10.0" + +[package.extras] +all = ["Sphinx (>=1.4.2)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.8.0,<5.0.0)"] +docs = ["Sphinx (>=1.4.2)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.8.0,<5.0.0)"] + +[[package]] +category = "main" +description = "Invenio configuration loader." +name = "invenio-config" +optional = false +python-versions = "*" +version = "1.0.3" + +[package.dependencies] +Flask = ">=0.11.1" + +[package.extras] +all = ["Sphinx (>=1.8.0)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=2.0.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.0.0,<5.0.0)"] +docs = ["Sphinx (>=1.8.0)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=2.0.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.0.0,<5.0.0)"] + +[[package]] +category = "main" +description = "Database management for Invenio." +name = "invenio-db" +optional = false +python-versions = "*" +version = "1.0.5" + +[package.dependencies] +Flask-Alembic = ">=2.0.1" +Flask-SQLAlchemy = ">=2.1" +SQLAlchemy = ">=1.1.0" +SQLAlchemy-Utils = ">=0.33.1,<0.36" +invenio-base = ">=1.2.2" + +[package.dependencies.SQLAlchemy-Continuum] +optional = true +version = ">=1.3.6" + +[package.dependencies.psycopg2-binary] +optional = true +version = ">=2.7.4" + +[package.extras] +all = ["Sphinx (>=1.8.0)", "pymysql (>=0.6.7)", "psycopg2-binary (>=2.7.4)", "SQLAlchemy-Continuum (>=1.3.6)", "check-manifest (>=0.25)", "coverage (>=4.0)", "cryptography (>=2.1.4)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.8.0,<5.0.0)"] +docs = ["Sphinx (>=1.8.0)"] +mysql = ["pymysql (>=0.6.7)"] +postgresql = ["psycopg2-binary (>=2.7.4)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "cryptography (>=2.1.4)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.8.0,<5.0.0)"] +versioning = ["SQLAlchemy-Continuum (>=1.3.6)"] + +[[package]] +category = "main" +description = "Jinja utilities for Invenio." +name = "invenio-formatter" +optional = false +python-versions = "*" +version = "1.0.3" + +[package.dependencies] +Flask = ">=0.11.1" +Flask-BabelEx = ">=0.9.2" +Jinja2 = ">=2.8" +arrow = ">=0.7.0" +bleach = ">=3.1.0" + +[package.extras] +all = ["Sphinx (>=1.8.0)", "CairoSVG (>=1.0.20,<2.0.0)", "CairoSVG (>=1.0.20)", "Pillow (>=3.2.0)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.0.0,<5.0.0)"] +badges = ["Pillow (>=3.2.0)", "CairoSVG (>=1.0.20,<2.0.0)", "CairoSVG (>=1.0.20)"] +docs = ["Sphinx (>=1.8.0)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.0.0,<5.0.0)"] + +[[package]] +category = "main" +description = "Invenio internationalization module." +name = "invenio-i18n" +optional = false +python-versions = "*" +version = "1.1.1" + +[package.dependencies] +Flask = ">=0.11.1" +Flask-BabelEx = ">=0.9.2" +flask-webpackext = ">=1.0.0" + +[package.extras] +all = ["Sphinx (>=1.5.1)", "Flask-Login (>=0.3.0)", "check-manifest (>=0.25)", "coverage (>=4.0)", "invenio-assets (>=1.0.0)", "isort (>=4.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] +docs = ["Sphinx (>=1.5.1)"] +tests = ["Flask-Login (>=0.3.0)", "check-manifest (>=0.25)", "coverage (>=4.0)", "invenio-assets (>=1.0.0)", "isort (>=4.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] + +[[package]] +category = "main" +description = "Record indexer for Invenio." +name = "invenio-indexer" +optional = false +python-versions = "*" +version = "1.1.2" + +[package.dependencies] +Flask = ">=0.11.1" +Flask-CeleryExt = ">=0.3.0" +invenio-pidstore = ">=1.0.0" +invenio-records = ">=1.0.0" +pytz = ">=2016.4" + +[package.extras] +all = ["Sphinx (>=1.5.1,<1.6)", "attrs (>=17.4.0)", "check-manifest (>=0.25)", "coverage (>=4.0)", "invenio-db (>=1.0.0)", "isort (>=4.3.21)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "redis (>=2.10.0)", "Sphinx (>=1.5.1,<1.6)", "attrs (>=17.4.0)", "check-manifest (>=0.25)", "coverage (>=4.0)", "invenio-db (>=1.0.0)", "isort (>=4.3.21)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "redis (>=2.10.0)"] +docs = ["Sphinx (>=1.5.1,<1.6)"] +elasticsearch2 = ["invenio-search (>=1.2.0)"] +elasticsearch5 = ["invenio-search (>=1.2.0)"] +elasticsearch6 = ["invenio-search (>=1.2.0)"] +elasticsearch7 = ["invenio-search (>=1.2.0)"] +tests = ["attrs (>=17.4.0)", "check-manifest (>=0.25)", "coverage (>=4.0)", "invenio-db (>=1.0.0)", "isort (>=4.3.21)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "redis (>=2.10.0)"] + +[[package]] +category = "main" +description = "Invenio module for building and serving JSONSchemas." +name = "invenio-jsonschemas" +optional = false +python-versions = "*" +version = "1.0.2" + +[package.dependencies] +Flask = ">=1.0.4" +jsonref = ">=0.1" +jsonresolver = ">=0.2.1,<0.3.0" + +[package.extras] +all = ["Sphinx (>=1.6.2)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "jsonschema (>=2.5.1)", "pydocstyle (>=2.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.0.0,<5.0.0)", "mock (>=1.3.0)"] +docs = ["Sphinx (>=1.6.2)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "jsonschema (>=2.5.1)", "pydocstyle (>=2.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.0.0,<5.0.0)", "mock (>=1.3.0)"] + +[[package]] +category = "main" +description = "Module providing logging capabilities." +name = "invenio-logging" +optional = false +python-versions = "*" +version = "1.2.1" + +[package.dependencies] +Flask = ">=0.11.1" +six = ">=1.12.0" + +[package.dependencies.flask-celeryext] +optional = true +version = ">=0.2.2" + +[package.dependencies.raven] +extras = ["flask"] +optional = true +version = ">=5.10.2,<6" + +[package.dependencies.sentry-sdk] +extras = ["flask"] +optional = true +version = ">=0.10.2" + +[package.extras] +all = ["sentry-sdk (>=0.10.2)", "Sphinx (>=1.5.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "flask-login (>=0.3.2)", "httpretty (>=0.8.14)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "raven (>=5.10.2,<6)", "flask-celeryext (>=0.2.2)"] +docs = ["Sphinx (>=1.5.1)"] +sentry = ["raven (>=5.10.2,<6)", "flask-celeryext (>=0.2.2)"] +sentry-sdk = ["sentry-sdk (>=0.10.2)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "flask-login (>=0.3.2)", "httpretty (>=0.8.14)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] + +[[package]] +category = "main" +description = "Invenio-Mail is an integration layer between Invenio and Flask-Mail." +name = "invenio-mail" +optional = false +python-versions = "*" +version = "1.0.2" + +[package.dependencies] +Flask = ">=0.11.1" +Flask-Mail = ">=0.9.1" + +[package.extras] +all = ["Flask-CeleryExt (>=0.2.2)", "Sphinx (>=1.4.2)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] +celery = ["Flask-CeleryExt (>=0.2.2)"] +docs = ["Flask-CeleryExt (>=0.2.2)", "Sphinx (>=1.4.2)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] + +[[package]] +category = "main" +description = "Invenio module for OAI-PMH metadata harvesting between repositories." +name = "invenio-oaiharvester" +optional = false +python-versions = "*" +version = "1.0.0a4" + +[package.dependencies] +Flask = ">=0.12" +blinker = ">=1.4" +flask-celeryext = ">=0.2.2" +sickle = ">=0.5" + +[package.extras] +all = ["Sphinx (>=1.5.3,<1.6)", "check-manifest (>=0.35)", "coverage (>=4.3.4)", "isort (4.2.2)", "mock (>=2.0.0)", "pydocstyle (>=1.1.1)", "pytest-cache (>=1.0)", "pytest-cov (>=2.4.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "responses (>=0.5.1)", "celery (>=3.1.25,<4.0)", "Sphinx (>=1.5.3,<1.6)", "check-manifest (>=0.35)", "coverage (>=4.3.4)", "isort (4.2.2)", "mock (>=2.0.0)", "pydocstyle (>=1.1.1)", "pytest-cache (>=1.0)", "pytest-cov (>=2.4.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "responses (>=0.5.1)", "celery (>=3.1.25,<4.0)"] +docs = ["Sphinx (>=1.5.3,<1.6)"] +mysql = ["invenio-db (>=1.0.0a9)"] +postgresql = ["invenio-db (>=1.0.0a9)"] +sqlite = ["invenio-db (>=1.0.0a9)"] +tests = ["check-manifest (>=0.35)", "coverage (>=4.3.4)", "isort (4.2.2)", "mock (>=2.0.0)", "pydocstyle (>=1.1.1)", "pytest-cache (>=1.0)", "pytest-cov (>=2.4.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "responses (>=0.5.1)", "celery (>=3.1.25,<4.0)"] + +[package.source] +reference = "fe55e095a8e78b36cfad875f752f2facc2908bae" +type = "git" +url = "https://github.com/inveniosoftware/invenio-oaiharvester.git" +[[package]] +category = "main" +description = "Invenio module that implements OAI-PMH server." +name = "invenio-oaiserver" +optional = false +python-versions = "*" +version = "1.1.2" + +[package.dependencies] +Flask = ">=0.11.1" +Flask-BabelEx = ">=0.9.3" +Werkzeug = ">=0.14.1" +arrow = ">=0.13.0" +dojson = ">=1.3.0" +invenio-pidstore = ">=1.0.0" +invenio-records = ">=1.0.0" +invenio-rest = ">=1.1.1" +lxml = ">=3.5.0" + +[package.extras] +admin = ["Flask-Admin (>=1.3.0)"] +all = ["Flask-Admin (>=1.3.0)", "invenio-celery (>=1.1.1)", "Sphinx (>=1.6.7)", "SQLAlchemy-Continuum (>=1.2.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "invenio-indexer (>=1.1.0)", "invenio-jsonschemas (>=1.0.0)", "invenio-marc21 (>=1.0.0a9)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.0.0,<5.0.0)", "Flask-Admin (>=1.3.0)", "invenio-celery (>=1.1.1)", "Sphinx (>=1.6.7)", "SQLAlchemy-Continuum (>=1.2.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "invenio-indexer (>=1.1.0)", "invenio-jsonschemas (>=1.0.0)", "invenio-marc21 (>=1.0.0a9)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.0.0,<5.0.0)"] +celery = ["invenio-celery (>=1.1.1)"] +docs = ["Sphinx (>=1.6.7)"] +elasticsearch2 = ["invenio-search (>=1.2.0)"] +elasticsearch5 = ["invenio-search (>=1.2.0)"] +elasticsearch6 = ["invenio-search (>=1.2.0)"] +elasticsearch7 = ["invenio-search (>=1.2.0)"] +mysql = ["invenio-db (>=1.0.0)"] +postgresql = ["invenio-db (>=1.0.0)"] +sqlite = ["invenio-db (>=1.0.0)"] +tests = ["SQLAlchemy-Continuum (>=1.2.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "invenio-indexer (>=1.1.0)", "invenio-jsonschemas (>=1.0.0)", "invenio-marc21 (>=1.0.0a9)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.0.0,<5.0.0)"] + +[[package]] +category = "main" +description = "Invenio module that implements OAuth 2 server." +name = "invenio-oauth2server" +optional = false +python-versions = "*" +version = "1.0.5" + +[package.dependencies] +Flask = ">=0.11.1" +Flask-BabelEx = ">=0.9.3" +Flask-Breadcrumbs = ">=0.4.0" +Flask-OAuthlib = ">=0.9.5" +Flask-WTF = ">=0.13.1" +WTForms-Alchemy = ">=0.15.0" +future = ">=0.16.0" +invenio-accounts = ">=1.1.4" +oauthlib = ">=2.1.0,<3.0.0" +pyjwt = ">=1.5.0" +requests-oauthlib = ">=1.1.0,<1.2.0" +werkzeug = ">=0.15,<1.0.0" + +[package.dependencies.SQLAlchemy-Utils] +extras = ["encrypted"] +version = ">=0.33.0,<0.36.0" + +[package.extras] +admin = ["invenio-admin (>=1.0.0)"] +all = ["invenio-admin (>=1.0.0)", "Sphinx (>=1.5.1,<3.0.0)", "redis (>=2.10.5)", "SQLAlchemy-Continuum (>=1.2.1)", "check-manifest (>=0.25)", "coverage (>=4.1)", "invenio-assets (>=1.0.0)", "invenio-i18n (>=1.0.0)", "invenio-theme (>=1.0.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.8.0,<5.0.0)"] +docs = ["Sphinx (>=1.5.1,<3.0.0)"] +mysql = ["invenio-db (>=1.0.0)"] +postgresql = ["invenio-db (>=1.0.0)"] +redis = ["redis (>=2.10.5)"] +sqlite = ["invenio-db (>=1.0.0)"] +tests = ["SQLAlchemy-Continuum (>=1.2.1)", "check-manifest (>=0.25)", "coverage (>=4.1)", "invenio-assets (>=1.0.0)", "invenio-i18n (>=1.0.0)", "invenio-theme (>=1.0.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.8.0,<5.0.0)"] + +[[package]] +category = "main" +description = "Invenio module that provides OAuth web authorization support." +name = "invenio-oauthclient" +optional = false +python-versions = "*" +version = "1.1.3" + +[package.dependencies] +Flask = ">=0.11.1" +Flask-BabelEx = ">=0.9.3" +Flask-Breadcrumbs = ">=0.3.0" +Flask-OAuthlib = ">=0.9.3" +blinker = ">=1.4" +invenio-accounts = ">=1.0.0" +invenio-mail = ">=1.0.0" +oauthlib = ">=1.1.2,<3.0.0" +requests-oauthlib = ">=0.5.0,<1.2.0" +six = ">=1.9" +sqlalchemy-utils = ">=0.32.0" +uritools = ">=1.0.1" + +[package.extras] +admin = ["invenio-admin (>=1.0.0)"] +all = ["github3.py (>=1.0.0a4)", "uritemplate.py (>=0.2.0,<2.0)", "invenio-admin (>=1.0.0)", "Sphinx (>=1.5.1)", "SQLAlchemy-Continuum (>=1.2.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "httpretty (>=0.8.14)", "invenio-accounts (>=1.0.0)", "invenio-userprofiles (>=1.0.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.3)", "simplejson (>=3.8)"] +docs = ["Sphinx (>=1.5.1)"] +github = ["github3.py (>=1.0.0a4)", "uritemplate.py (>=0.2.0,<2.0)"] +mysql = ["invenio-db (>=1.0.0)"] +postgresql = ["invenio-db (>=1.0.0)"] +sqlite = ["invenio-db (>=1.0.0)"] +tests = ["SQLAlchemy-Continuum (>=1.2.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "httpretty (>=0.8.14)", "invenio-accounts (>=1.0.0)", "invenio-userprofiles (>=1.0.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.3)", "simplejson (>=3.8)"] + +[[package]] +category = "main" +description = "Invenio module that stores and registers persistent identifiers." +name = "invenio-pidstore" +optional = false +python-versions = "*" +version = "1.1.0" + +[package.dependencies] +Flask = ">=0.11.1" +Flask-BabelEx = ">=0.9.3" +base32-lib = ">=1.0.1" +six = ">=1.12.0" + +[package.extras] +admin = ["Flask-Admin (>=1.3.0)"] +all = ["Sphinx (>=1.8.5)", "Flask-Admin (>=1.3.0)", "datacite (>=0.1.0)", "attrs (>=17.4.0)", "SQLAlchemy-Continuum (>=1.2.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.3.0)", "invenio-admin (>=1.0.0)", "Flask-Menu (>=0.5.1)", "invenio-access (>=1.0.0)", "invenio-accounts (>=1.0.0)", "mock (>=3.0.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.8.0,<5.0.0)"] +datacite = ["datacite (>=0.1.0)"] +docs = ["Sphinx (>=1.8.5)"] +mysql = ["invenio-db (>=1.0.0)"] +postgresql = ["invenio-db (>=1.0.0)"] +sqlite = ["invenio-db (>=1.0.0)"] +tests = ["attrs (>=17.4.0)", "SQLAlchemy-Continuum (>=1.2.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.3.0)", "invenio-admin (>=1.0.0)", "Flask-Menu (>=0.5.1)", "invenio-access (>=1.0.0)", "invenio-accounts (>=1.0.0)", "mock (>=3.0.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.8.0,<5.0.0)"] + +[[package]] +category = "main" +description = "Invenio-Records is a metadata storage module." +name = "invenio-records" +optional = false +python-versions = "*" +version = "1.3.2" + +[package.dependencies] +Flask-BabelEx = ">=0.9.3" +blinker = ">=1.4" +flask = ">=0.11.1" +flask-celeryext = ">=0.2.2" +jsonpatch = ">=1.15" +jsonref = ">=0.1" +jsonresolver = ">=0.1.0" +jsonschema = ">=2.5.1" +werkzeug = ">=0.14.1" + +[package.extras] +admin = ["Flask-Admin (>=1.3.0)"] +all = ["Sphinx (>=1.7.2)", "Flask-Admin (>=1.3.0)", "check-manifest (>=0.25)", "coverage (>=4.5.3)", "Flask-Menu (>=0.5.0)", "invenio-admin (>=1.0.0)", "isort (>=4.3.0)", "mock (>=1.3.0)", "pydocstyle (>=3.0.0)", "pytest-cov (>=2.7.1)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.6.4,<5.0.0)"] +docs = ["Sphinx (>=1.7.2)"] +mysql = ["invenio-db (>=1.0.0)"] +postgresql = ["invenio-db (>=1.0.0)"] +sqlite = ["invenio-db (>=1.0.0)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.5.3)", "Flask-Menu (>=0.5.0)", "invenio-admin (>=1.0.0)", "isort (>=4.3.0)", "mock (>=1.3.0)", "pydocstyle (>=3.0.0)", "pytest-cov (>=2.7.1)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.6.4,<5.0.0)"] + +[[package]] +category = "main" +description = "REST API for invenio-records." +name = "invenio-records-rest" +optional = false +python-versions = "*" +version = "1.6.5" + +[package.dependencies] +Flask-BabelEx = ">=0.9.4" +arrow = ">=0.12.1" +attrs = ">=17.4.0" +bleach = ">=2.1.3" +ftfy = ">=4.4.3,<5.0" +invenio-base = ">=1.2.2" +invenio-indexer = ">=1.1.1" +invenio-pidstore = ">=1.1.0" +invenio-records = ">=1.3.0" +invenio-rest = ">=1.1.3" +python-dateutil = ">=2.4.2" +six = ">=1.12" + +[package.extras] +all = ["citeproc-py (>=0.3.0)", "citeproc-py-styles (>=0.1.0)", "datacite (>=1.0.1)", "Sphinx (>=1.6.7,<3)", "dcxml (>=0.1.0)", "pyld (>=0.7.1,<2)", "check-manifest (>=0.25)", "coverage (>=4.0)", "Flask-Login (>=0.3.2)", "invenio-db (>=1.0.2)", "invenio-indexer (>=1.0.0)", "isort (>=4.3.1)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.0.0,<5.0.0)", "invenio-config (>=1.0.2)"] +citeproc = ["citeproc-py (>=0.3.0)", "citeproc-py-styles (>=0.1.0)"] +datacite = ["datacite (>=1.0.1)"] +docs = ["Sphinx (>=1.6.7,<3)"] +dublincore = ["dcxml (>=0.1.0)"] +elasticsearch2 = ["invenio-search (>=1.2.3,<1.3.0)"] +elasticsearch5 = ["invenio-search (>=1.2.3,<1.3.0)"] +elasticsearch6 = ["invenio-search (>=1.2.3,<1.3.0)"] +elasticsearch7 = ["invenio-search (>=1.2.3,<1.3.0)"] +jsonld = ["pyld (>=0.7.1,<2)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "Flask-Login (>=0.3.2)", "invenio-db (>=1.0.2)", "invenio-indexer (>=1.0.0)", "isort (>=4.3.1)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.0.0,<5.0.0)", "invenio-config (>=1.0.2)"] + +[[package]] +category = "main" +description = "User interface for Invenio-Records." +name = "invenio-records-ui" +optional = false +python-versions = "*" +version = "1.0.1" + +[package.dependencies] +Flask = ">=0.11.1" +Flask-BabelEx = ">=0.9.3" +invenio-pidstore = ">=1.0.0" +invenio-records = ">=1.0.0" + +[package.extras] +all = ["Sphinx (>=1.5.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "invenio-access (>=1.0.0)", "invenio-accounts (>=1.0.0)", "invenio-db (>=1.0.0)", "isort (>=4.2.2)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "Sphinx (>=1.5.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "invenio-access (>=1.0.0)", "invenio-accounts (>=1.0.0)", "invenio-db (>=1.0.0)", "isort (>=4.2.2)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] +docs = ["Sphinx (>=1.5.1)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "invenio-access (>=1.0.0)", "invenio-accounts (>=1.0.0)", "invenio-db (>=1.0.0)", "isort (>=4.2.2)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] + +[[package]] +category = "main" +description = "REST API module for Invenio." +name = "invenio-rest" +optional = false +python-versions = "*" +version = "1.1.3" + +[package.dependencies] +Flask = ">=0.11.1" +Flask-CORS = ">=2.1.0" +webargs = ">=5.5.0,<6.0.0" + +[package.dependencies.marshmallow] +python = ">=3.0.0" +version = ">=2.15.2" + +[package.extras] +all = ["check-manifest (>=0.25)", "coverage (>=4.0)", "xmltodict (>=0.11.0)", "isort (>=4.2.15)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "Sphinx (>=1.4.2)", "marshmallow (>=2.15.2)", "marshmallow (>=2.15.2,<3.0.0)"] +docs = ["Sphinx (>=1.4.2)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "xmltodict (>=0.11.0)", "isort (>=4.2.15)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "Sphinx (>=1.4.2)"] + +[[package]] +category = "main" +description = "Invenio module for information retrieval." +name = "invenio-search" +optional = false +python-versions = "*" +version = "1.2.4" + +[package.dependencies] +Flask = ">=0.11.1" + +[package.dependencies.elasticsearch] +optional = true +version = ">=7.0.0,<8.0.0" + +[package.dependencies.elasticsearch-dsl] +optional = true +version = ">=7.0.0,<8.0.0" + +[package.extras] +all = ["Sphinx (>=1.8.4,<3)", "invenio-accounts (>=1.0.0)", "check-manifest (>=0.35)", "coverage (>=4.0)", "invenio-db (>=1.0.0)", "isort (>=4.2.15)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-random-order (>=0.5.4)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.8.1,<4)"] +docs = ["Sphinx (>=1.8.4,<3)", "invenio-accounts (>=1.0.0)"] +elasticsearch2 = ["elasticsearch (>=2.0.0,<3.0.0)", "elasticsearch-dsl (>=2.0.0,<3.0.0)"] +elasticsearch5 = ["elasticsearch (>=5.0.0,<6.0.0)", "elasticsearch-dsl (>=5.1.0,<6.0.0)"] +elasticsearch6 = ["elasticsearch (>=6.0.0,<7.0.0)", "elasticsearch-dsl (>=6.0.0,<6.2.0)"] +elasticsearch7 = ["elasticsearch (>=7.0.0,<8.0.0)", "elasticsearch-dsl (>=7.0.0,<8.0.0)"] +tests = ["check-manifest (>=0.35)", "coverage (>=4.0)", "invenio-db (>=1.0.0)", "isort (>=4.2.15)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-random-order (>=0.5.4)", "pytest-pep8 (>=1.0.6)", "pytest (>=3.8.1,<4)"] + +[[package]] +category = "main" +description = "Invenio standard theme." +name = "invenio-theme" +optional = false +python-versions = "*" +version = "1.1.4" + +[package.dependencies] +Flask = ">=0.11.1" +Flask-BabelEx = ">=0.9.2" +Flask-Breadcrumbs = ">=0.4.0" +Flask-Menu = ">=0.5.0" +invenio-assets = ">=1.1.0" +invenio-i18n = ">=1.1.0" +jsmin = ">=2.1.6" + +[package.extras] +all = ["Sphinx (>=1.5.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "pydocstyle (>=1.0.0)", "pytest-cov (>=2.7.1)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.6.4)"] +docs = ["Sphinx (>=1.5.1)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "pydocstyle (>=1.0.0)", "pytest-cov (>=2.7.1)", "pytest-pep8 (>=1.0.6)", "pytest (>=4.6.4)"] + +[[package]] +category = "main" +description = "User profiles module for Invenio." +name = "invenio-userprofiles" +optional = false +python-versions = "*" +version = "1.0.1" + +[package.dependencies] +Flask = ">=0.11.1" +Flask-BabelEx = ">=0.9.3" +Flask-Breadcrumbs = ">=0.3.0" +Flask-Mail = ">=0.9.1" +Flask-Menu = ">=0.4.0" +Flask-WTF = ">=0.13.1" +WTForms = ">=2.0.1" +invenio-accounts = ">=1.0.0" + +[package.extras] +admin = ["invenio-admin (>=1.0.0)"] +all = ["invenio-admin (>=1.0.0)", "Sphinx (>=1.4.2)", "invenio-mail (>=1.0.0)", "SQLAlchemy-Continuum (>=1.2.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "invenio-i18n (>=1.0.0)", "isort (>=4.2.2)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] +docs = ["Sphinx (>=1.4.2)", "invenio-mail (>=1.0.0)"] +mysql = ["invenio-db (>=1.0.0)"] +postgresql = ["invenio-db (>=1.0.0)"] +sqlite = ["invenio-db (>=1.0.0)"] +tests = ["SQLAlchemy-Continuum (>=1.2.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "invenio-i18n (>=1.0.0)", "isort (>=4.2.2)", "pydocstyle (>=1.0.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] + +[[package]] +category = "main" +description = "IPython: Productive Interactive Computing" +name = "ipython" +optional = false +python-versions = ">=3.6" +version = "7.15.0" + +[package.dependencies] +appnope = "*" +backcall = "*" +colorama = "*" +decorator = "*" +jedi = ">=0.10" +pexpect = "*" +pickleshare = "*" +prompt-toolkit = ">=2.0.0,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.1.0" +pygments = "*" +setuptools = ">=18.5" +traitlets = ">=4.2" + +[package.extras] +all = ["Sphinx (>=1.3)", "ipykernel", "ipyparallel", "ipywidgets", "nbconvert", "nbformat", "nose (>=0.10.1)", "notebook", "numpy (>=1.14)", "pygments", "qtconsole", "requests", "testpath"] +doc = ["Sphinx (>=1.3)"] +kernel = ["ipykernel"] +nbconvert = ["nbconvert"] +nbformat = ["nbformat"] +notebook = ["notebook", "ipywidgets"] +parallel = ["ipyparallel"] +qtconsole = ["qtconsole"] +test = ["nose (>=0.10.1)", "requests", "testpath", "pygments", "nbformat", "ipykernel", "numpy (>=1.14)"] + +[[package]] +category = "main" +description = "Vestigial utilities from IPython" +name = "ipython-genutils" +optional = false +python-versions = "*" +version = "0.2.0" + +[[package]] +category = "main" +description = "Extract, clean, transform, hyphenate and metadata for ISBNs (International Standard Book Number)." +name = "isbnlib" +optional = false +python-versions = "*" +version = "3.10.3" + +[[package]] +category = "dev" +description = "A Python utility / library to sort Python imports." +name = "isort" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "4.3.21" + +[package.extras] +pipfile = ["pipreqs", "requirementslib"] +pyproject = ["toml"] +requirements = ["pipreqs", "pip-api"] +xdg_home = ["appdirs (>=1.4.0)"] + +[[package]] +category = "main" +description = "Various helpers to pass data to untrusted environments and back." +name = "itsdangerous" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.1.0" + +[[package]] +category = "main" +description = "An autocompletion tool for Python that can be used for text editors." +name = "jedi" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "0.17.0" + +[package.dependencies] +parso = ">=0.7.0" + +[package.extras] +qa = ["flake8 (3.7.9)"] +testing = ["colorama", "docopt", "pytest (>=3.9.0,<5.0.0)"] + +[[package]] +category = "main" +description = "A very fast and expressive template engine." +name = "jinja2" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "2.11.2" + +[package.dependencies] +MarkupSafe = ">=0.23" + +[package.extras] +i18n = ["Babel (>=0.8)"] + +[[package]] +category = "main" +description = "JavaScript minifier." +name = "jsmin" +optional = false +python-versions = "*" +version = "2.2.2" + +[[package]] +category = "main" +description = " Apply JSON-Patches (RFC 6902) " +name = "jsonpatch" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "1.25" + +[package.dependencies] +jsonpointer = ">=1.9" + +[[package]] +category = "main" +description = "Identify specific nodes in a JSON document (RFC 6901)" +name = "jsonpointer" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "2.0" + +[[package]] +category = "main" +description = "An implementation of JSON Reference for Python" +name = "jsonref" +optional = false +python-versions = "*" +version = "0.2" + +[[package]] +category = "main" +description = "JSON data resolver with support for plugins." +name = "jsonresolver" +optional = false +python-versions = "*" +version = "0.2.1" + +[package.dependencies] +pluggy = ">=0.3.0,<1.0" +six = ">=1.8.0" +werkzeug = ">=0.10.4" + +[package.extras] +all = ["Sphinx (>=1.3)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "requests (>=2.7.0)", "jsonschema (>=2.5.1)", "jsonref (>=0.1)", "Sphinx (>=1.3)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "requests (>=2.7.0)", "jsonschema (>=2.5.1)", "jsonref (>=0.1)"] +docs = ["Sphinx (>=1.3)"] +jsonref = ["jsonref (>=0.1)"] +jsonschema = ["jsonschema (>=2.5.1)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "mock (>=1.3.0)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)", "requests (>=2.7.0)"] + +[[package]] +category = "main" +description = "An implementation of JSON Schema validation for Python" +name = "jsonschema" +optional = false +python-versions = "*" +version = "3.2.0" + +[package.dependencies] +attrs = ">=17.4.0" +pyrsistent = ">=0.14.0" +setuptools = "*" +six = ">=1.11.0" + +[package.dependencies.importlib-metadata] +python = "<3.8" +version = "*" + +[package.extras] +format = ["idna", "jsonpointer (>1.13)", "rfc3987", "strict-rfc3339", "webcolors"] +format_nongpl = ["idna", "jsonpointer (>1.13)", "webcolors", "rfc3986-validator (>0.1.0)", "rfc3339-validator"] + +[[package]] +category = "main" +description = "Messaging library for Python." +marker = "python_version < \"3.7\" or python_version >= \"3.7\"" +name = "kombu" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "4.6.10" + +[package.dependencies] +amqp = ">=2.6.0,<2.7" + +[package.dependencies.importlib-metadata] +python = "<3.8" +version = ">=0.18" + +[package.extras] +azureservicebus = ["azure-servicebus (>=0.21.1)"] +azurestoragequeues = ["azure-storage-queue"] +consul = ["python-consul (>=0.6.0)"] +librabbitmq = ["librabbitmq (>=1.5.2)"] +mongodb = ["pymongo (>=3.3.0)"] +msgpack = ["msgpack"] +pyro = ["pyro4"] +qpid = ["qpid-python (>=0.26)", "qpid-tools (>=0.26)"] +redis = ["redis (>=3.3.11)"] +slmq = ["softlayer-messaging (>=1.0.3)"] +sqlalchemy = ["sqlalchemy"] +sqs = ["boto3 (>=1.4.4)", "pycurl (7.43.0.2)"] +yaml = ["PyYAML (>=3.10)"] +zookeeper = ["kazoo (>=1.3.1)"] + +[[package]] +category = "main" +description = "Rate limiting utilities" +name = "limits" +optional = false +python-versions = "*" +version = "1.5.1" + +[package.dependencies] +six = ">=1.4.1" + +[[package]] +category = "main" +description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." +name = "lxml" +optional = false +python-versions = "*" +version = "4.2.5" + +[package.extras] +cssselect = ["cssselect (>=0.7)"] +html5 = ["html5lib"] +htmlsoup = ["beautifulsoup4"] +source = ["Cython (>=0.26.1)"] + +[[package]] +category = "main" +description = "A super-fast templating language that borrows the best ideas from the existing templating languages." +name = "mako" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.1.3" + +[package.dependencies] +MarkupSafe = ">=0.9.2" + +[package.extras] +babel = ["babel"] +lingua = ["lingua"] + +[[package]] +category = "main" +description = "Safely add untrusted strings to HTML/XML markup." +name = "markupsafe" +optional = false +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" +version = "1.1.1" + +[[package]] +category = "main" +description = "A lightweight library for converting complex datatypes to and from native Python datatypes." +name = "marshmallow" +optional = false +python-versions = "*" +version = "2.21.0" + +[package.extras] +dev = ["python-dateutil", "simplejson", "pytest", "pytz", "flake8 (3.7.4)", "tox"] +docs = ["sphinx (2.1.2)", "sphinx-issues (1.2.0)", "alabaster (0.7.12)", "sphinx-version-warning (1.1.2)"] +lint = ["flake8 (3.7.4)"] +reco = ["python-dateutil", "simplejson"] +tests = ["pytest", "pytz"] + +[[package]] +category = "main" +description = "Reader for the MaxMind DB format" +name = "maxminddb" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "1.5.4" + +[[package]] +category = "main" +description = "Provides access to the geolite2 database. This product includes GeoLite2 data created by MaxMind, available from http://www.maxmind.com/" +name = "maxminddb-geolite2" +optional = false +python-versions = "*" +version = "2018.703" + +[package.dependencies] +maxminddb = "*" + +[[package]] +category = "dev" +description = "Rolling backport of unittest.mock for all Pythons" +name = "mock" +optional = false +python-versions = ">=3.6" +version = "4.0.2" + +[package.extras] +build = ["twine", "wheel", "blurb"] +docs = ["sphinx"] +test = ["pytest", "pytest-cov"] + +[[package]] +category = "dev" +description = "More routines for operating on iterables, beyond itertools" +name = "more-itertools" +optional = false +python-versions = ">=3.5" +version = "8.3.0" + +[[package]] +category = "main" +description = "MessagePack (de)serializer." +name = "msgpack" +optional = false +python-versions = "*" +version = "1.0.0" + +[[package]] +category = "main" +description = "port of node-semver" +name = "node-semver" +optional = false +python-versions = "*" +version = "0.1.1" + +[package.dependencies] +setuptools = "*" + +[package.extras] +testing = ["pytest"] + +[[package]] +category = "main" +description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" +name = "oauthlib" +optional = false +python-versions = "*" +version = "2.1.0" + +[package.extras] +rsa = ["cryptography"] +signals = ["blinker"] +signedtoken = ["cryptography", "pyjwt (>=1.0.0)"] +test = ["nose", "unittest2", "cryptography", "mock", "pyjwt (>=1.0.0)", "blinker"] + +[[package]] +category = "main" +description = "Core utilities for Python packages" +name = "packaging" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "20.4" + +[package.dependencies] +pyparsing = ">=2.0.2" +six = "*" + +[[package]] +category = "main" +description = "A Python Parser" +name = "parso" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "0.7.0" + +[package.extras] +testing = ["docopt", "pytest (>=3.0.7)"] + +[[package]] +category = "main" +description = "comprehensive password hashing framework supporting over 30 schemes" +name = "passlib" +optional = false +python-versions = "*" +version = "1.7.2" + +[package.extras] +argon2 = ["argon2-cffi (>=18.2.0)"] +bcrypt = ["bcrypt (>=3.1.0)"] +build_docs = ["sphinx (>=1.6)", "sphinxcontrib-fulltoc (>=1.2.0)", "cloud-sptheme (>=1.10.0)"] +totp = ["cryptography"] + +[[package]] +category = "dev" +description = "Wrappers to build Python packages using PEP 517 hooks" +name = "pep517" +optional = false +python-versions = "*" +version = "0.8.2" + +[package.dependencies] +toml = "*" + +[package.dependencies.importlib_metadata] +python = "<3.8" +version = "*" + +[package.dependencies.zipp] +python = "<3.8" +version = "*" + +[[package]] +category = "dev" +description = "Python style guide checker" +name = "pep8" +optional = false +python-versions = "*" +version = "1.7.1" + +[[package]] +category = "main" +description = "Pexpect allows easy control of interactive console applications." +marker = "sys_platform != \"win32\"" +name = "pexpect" +optional = false +python-versions = "*" +version = "4.8.0" + +[package.dependencies] +ptyprocess = ">=0.5" + +[[package]] +category = "main" +description = "Tiny 'shelve'-like database with concurrency support" +name = "pickleshare" +optional = false +python-versions = "*" +version = "0.7.5" + +[[package]] +category = "main" +description = "plugin and hook calling mechanisms for python" +name = "pluggy" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "0.13.1" + +[package.dependencies] +[package.dependencies.importlib-metadata] +python = "<3.8" +version = ">=0.12" + +[package.extras] +dev = ["pre-commit", "tox"] + +[[package]] +category = "main" +description = "Library for building powerful interactive command lines in Python" +name = "prompt-toolkit" +optional = false +python-versions = ">=3.6" +version = "3.0.3" + +[package.dependencies] +wcwidth = "*" + +[[package]] +category = "main" +description = "Library for building powerful interactive command lines in Python" +name = "prompt-toolkit" +optional = false +python-versions = ">=3.6.1" +version = "3.0.5" + +[package.dependencies] +wcwidth = "*" + +[[package]] +category = "main" +description = "psycopg2 - Python-PostgreSQL Database Adapter" +name = "psycopg2-binary" +optional = false +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" +version = "2.8.5" + +[[package]] +category = "main" +description = "Run a subprocess in a pseudo terminal" +marker = "sys_platform != \"win32\"" +name = "ptyprocess" +optional = false +python-versions = "*" +version = "0.6.0" + +[[package]] +category = "dev" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +name = "py" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.8.1" + +[[package]] +category = "main" +description = "C parser in Python" +name = "pycparser" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "2.20" + +[[package]] +category = "dev" +description = "Python docstring style checker" +name = "pydocstyle" +optional = false +python-versions = ">=3.5" +version = "5.0.2" + +[package.dependencies] +snowballstemmer = "*" + +[[package]] +category = "dev" +description = "passive checker of Python programs" +name = "pyflakes" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "2.2.0" + +[[package]] +category = "main" +description = "Pygments is a syntax highlighting package written in Python." +name = "pygments" +optional = false +python-versions = ">=3.5" +version = "2.6.1" + +[[package]] +category = "main" +description = "JSON Web Token implementation in Python" +name = "pyjwt" +optional = false +python-versions = "*" +version = "1.7.1" + +[package.extras] +crypto = ["cryptography (>=1.4)"] +flake8 = ["flake8", "flake8-import-order", "pep8-naming"] +test = ["pytest (>=4.0.1,<5.0.0)", "pytest-cov (>=2.6.0,<3.0.0)", "pytest-runner (>=4.2,<5.0.0)"] + +[[package]] +category = "main" +description = "Python interface to your NPM and package.json." +name = "pynpm" +optional = false +python-versions = "*" +version = "0.1.2" + +[package.extras] +all = ["Sphinx (>=1.5.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] +docs = ["Sphinx (>=1.5.1)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.2.2)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] + +[[package]] +category = "main" +description = "Python parsing module" +name = "pyparsing" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +version = "2.4.7" + +[[package]] +category = "main" +description = "Persistent/Functional/Immutable data structures" +name = "pyrsistent" +optional = false +python-versions = "*" +version = "0.16.0" + +[package.dependencies] +six = "*" + +[[package]] +category = "dev" +description = "pytest: simple powerful testing with Python" +name = "pytest" +optional = false +python-versions = ">=3.5" +version = "5.4.3" + +[package.dependencies] +atomicwrites = ">=1.0" +attrs = ">=17.4.0" +colorama = "*" +more-itertools = ">=4.0.0" +packaging = "*" +pluggy = ">=0.12,<1.0" +py = ">=1.5.0" +wcwidth = "*" + +[package.dependencies.importlib-metadata] +python = "<3.8" +version = ">=0.12" + +[package.extras] +checkqa-mypy = ["mypy (v0.761)"] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] + +[[package]] +category = "dev" +description = "pytest plugin with mechanisms for caching across test runs" +name = "pytest-cache" +optional = false +python-versions = "*" +version = "1.0" + +[package.dependencies] +execnet = ">=1.1.dev1" +pytest = ">=2.2" + +[[package]] +category = "dev" +description = "Pytest plugin for measuring coverage." +name = "pytest-cov" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "2.9.0" + +[package.dependencies] +coverage = ">=4.4" +pytest = ">=3.6" + +[package.extras] +testing = ["fields", "hunter", "process-tests (2.0.2)", "six", "pytest-xdist", "virtualenv"] + +[[package]] +category = "dev" +description = "A set of py.test fixtures to test Flask applications." +name = "pytest-flask" +optional = false +python-versions = "*" +version = "0.15.1" + +[package.dependencies] +Flask = "*" +Werkzeug = ">=0.7" +pytest = [">=3.6", "*"] + +[package.extras] +docs = ["sphinx", "sphinx-rtd-theme"] + +[[package]] +category = "dev" +description = "Pytest fixtures for Invenio." +name = "pytest-invenio" +optional = false +python-versions = "*" +version = "1.2.2" + +[package.dependencies] +Flask = ">=1.0.4,<1.1.0" +pytest = ">=3.8.1" +pytest-cov = ">=2.5.1" +pytest-flask = ">=0.10.0,<1.0.0" +selenium = ">=3.7.0" +werkzeug = ">=0.14.1,<1.0.0" + +[package.extras] +all = ["Sphinx (>=1.8.0)", "check-manifest (>=0.25)", "coverage (>=4.1)", "elasticsearch-dsl (>=5.0.0,<6.0.0)", "elasticsearch (>=5.0.0,<6.0.0)", "flask-celeryext (>=0.3.1)", "invenio-db (>=1.0.0,<1.1.0)", "invenio-files-rest (>=1.0.0)", "invenio-mail (>=1.0.0,<1.1.0)", "invenio-search (>=1.2.3,<1.3.0)", "invenio-rest (>=1.1.2,<1.2.0)", "isort (>=4.3)", "pydocstyle (>=2.0.0)", "pytest-pep8 (>=1.0.6)", "six (>=1.12.0)", "urllib3 (>=1.23)"] +docs = ["Sphinx (>=1.8.0)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.1)", "elasticsearch-dsl (>=5.0.0,<6.0.0)", "elasticsearch (>=5.0.0,<6.0.0)", "flask-celeryext (>=0.3.1)", "invenio-db (>=1.0.0,<1.1.0)", "invenio-files-rest (>=1.0.0)", "invenio-mail (>=1.0.0,<1.1.0)", "invenio-search (>=1.2.3,<1.3.0)", "invenio-rest (>=1.1.2,<1.2.0)", "isort (>=4.3)", "pydocstyle (>=2.0.0)", "pytest-pep8 (>=1.0.6)", "six (>=1.12.0)", "urllib3 (>=1.23)"] + +[[package]] +category = "dev" +description = "Thin-wrapper around the mock package for easier use with pytest" +name = "pytest-mock" +optional = false +python-versions = ">=3.5" +version = "3.1.1" + +[package.dependencies] +pytest = ">=2.7" + +[package.extras] +dev = ["pre-commit", "tox", "pytest-asyncio"] + +[[package]] +category = "dev" +description = "pytest plugin to check PEP8 requirements" +name = "pytest-pep8" +optional = false +python-versions = "*" +version = "1.0.6" + +[package.dependencies] +pep8 = ">=1.3" +pytest = ">=2.4.2" +pytest-cache = "*" + +[[package]] +category = "dev" +description = "Randomise the order in which pytest tests are run with some control over the randomness" +name = "pytest-random-order" +optional = false +python-versions = ">=3.5.0" +version = "1.0.4" + +[package.dependencies] +pytest = ">=3.0.0" + +[[package]] +category = "dev" +description = "Invoke py.test as distutils command with dependency resolution" +name = "pytest-runner" +optional = false +python-versions = ">=2.7,!=3.0,!=3.1" +version = "4.5.1" + +[package.extras] +docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] +testing = ["pytest (>=2.8)", "pytest-sugar (>=0.9.1)", "collective.checkdocs", "pytest-flake8", "pytest-virtualenv"] + +[[package]] +category = "main" +description = "Extensions to the standard Python datetime module" +name = "python-dateutil" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +version = "2.8.1" + +[package.dependencies] +six = ">=1.5" + +[[package]] +category = "main" +description = "Add .env support to your django/flask apps in development and deployments" +name = "python-dotenv" +optional = false +python-versions = "*" +version = "0.13.0" + +[package.extras] +cli = ["click (>=5.0)"] + +[[package]] +category = "main" +description = "Programmatically open an editor, capture the result." +name = "python-editor" +optional = false +python-versions = "*" +version = "1.0.4" + +[[package]] +category = "main" +description = "World timezone definitions, modern and historical" +name = "pytz" +optional = false +python-versions = "*" +version = "2020.1" + +[[package]] +category = "main" +description = "Webpack integration layer for Python." +name = "pywebpack" +optional = false +python-versions = "*" +version = "1.1.0" + +[package.dependencies] +node-semver = ">=0.1.1" +pynpm = ">=0.1.0" + +[package.extras] +all = ["Sphinx (>=1.5.1)", "check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.3.21)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] +docs = ["Sphinx (>=1.5.1)"] +tests = ["check-manifest (>=0.25)", "coverage (>=4.0)", "isort (>=4.3.21)", "pydocstyle (>=1.0.0)", "pytest-cache (>=1.0)", "pytest-cov (>=1.8.0)", "pytest-pep8 (>=1.0.6)", "pytest (>=2.8.0)"] + +[[package]] +category = "main" +description = "YAML parser and emitter for Python" +name = "pyyaml" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "5.3.1" + +[[package]] +category = "main" +description = "Raven is a client for Sentry (https://getsentry.com)" +name = "raven" +optional = false +python-versions = "*" +version = "5.33.0" + +[package.dependencies] +contextlib2 = "*" + +[package.dependencies.Flask] +optional = true +version = ">=0.8" + +[package.dependencies.blinker] +optional = true +version = ">=1.1" + +[package.extras] +flask = ["Flask (>=0.8)", "blinker (>=1.1)"] +tests = ["six", "bottle", "celery (>=2.5)", "exam (>=0.5.2)", "flake8 (>=2.6,<2.7)", "logbook", "mock", "nose", "pycodestyle", "pytz", "pytest (>=3.0.0,<3.1.0)", "pytest-timeout (0.4)", "requests", "tornado (>=4.1)", "webob", "webtest", "anyjson", "Flask (>=0.8)", "blinker (>=1.1)", "Flask-Login (>=0.2.0)", "unittest2", "paste", "web.py"] + +[[package]] +category = "main" +description = "Python client for Redis key-value store" +name = "redis" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "3.5.3" + +[package.extras] +hiredis = ["hiredis (>=0.1.3)"] + +[[package]] +category = "main" +description = "Python HTTP for Humans." +name = "requests" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "2.23.0" + +[package.dependencies] +certifi = ">=2017.4.17" +chardet = ">=3.0.2,<4" +idna = ">=2.5,<3" +urllib3 = ">=1.21.1,<1.25.0 || >1.25.0,<1.25.1 || >1.25.1,<1.26" + +[package.extras] +security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"] +socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7)", "win-inet-pton"] + +[[package]] +category = "main" +description = "OAuthlib authentication support for Requests." +name = "requests-oauthlib" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.1.0" + +[package.dependencies] +oauthlib = ">=2.1.0,<3.0.0" +requests = ">=2.0.0" + +[package.extras] +rsa = ["oauthlib (>=2.1.0,<3.0.0)"] + +[[package]] +category = "main" +description = "A utility library for mocking out the `requests` Python library." +name = "responses" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "0.10.14" + +[package.dependencies] +requests = ">=2.0" +six = "*" + +[package.extras] +tests = ["coverage (>=3.7.1,<5.0.0)", "pytest-cov", "pytest-localserver", "flake8", "pytest (>=4.6,<5.0)", "pytest"] + +[[package]] +category = "dev" +description = "Checks installed dependencies for known vulnerabilities." +name = "safety" +optional = false +python-versions = ">=3.5" +version = "1.9.0" + +[package.dependencies] +Click = ">=6.0" +dparse = ">=0.5.1" +packaging = "*" +requests = "*" +setuptools = "*" + +[[package]] +category = "dev" +description = "Python bindings for Selenium" +name = "selenium" +optional = false +python-versions = "*" +version = "3.141.0" + +[package.dependencies] +urllib3 = "*" + +[[package]] +category = "main" +description = "Python client for Sentry (https://getsentry.com)" +name = "sentry-sdk" +optional = false +python-versions = "*" +version = "0.14.4" + +[package.dependencies] +certifi = "*" +urllib3 = ">=1.10.0" + +[package.dependencies.blinker] +optional = true +version = ">=1.1" + +[package.dependencies.flask] +optional = true +version = ">=0.11" + +[package.extras] +aiohttp = ["aiohttp (>=3.5)"] +beam = ["beam (>=2.12)"] +bottle = ["bottle (>=0.12.13)"] +celery = ["celery (>=3)"] +django = ["django (>=1.8)"] +falcon = ["falcon (>=1.4)"] +flask = ["flask (>=0.11)", "blinker (>=1.1)"] +pyspark = ["pyspark (>=2.4.4)"] +rq = ["rq (>=0.6)"] +sanic = ["sanic (>=0.8)"] +sqlalchemy = ["sqlalchemy (>=1.2)"] +tornado = ["tornado (>=5)"] + +[[package]] +category = "main" +description = "A lightweight OAI client library for Python" +name = "sickle" +optional = false +python-versions = "*" +version = "0.7.0" + +[package.dependencies] +lxml = ">=3.2.3" +requests = ">=1.1.0" + +[[package]] +category = "main" +description = "Simple, fast, extensible JSON encoder/decoder for Python" +name = "simplejson" +optional = false +python-versions = ">=2.5, !=3.0.*, !=3.1.*, !=3.2.*" +version = "3.17.0" + +[[package]] +category = "main" +description = "A key-value storage for binary data, support many backends." +name = "simplekv" +optional = false +python-versions = "*" +version = "0.14.1" + +[[package]] +category = "main" +description = "Python 2 and 3 compatibility utilities" +name = "six" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +version = "1.15.0" + +[[package]] +category = "dev" +description = "This package provides 26 stemmers for 25 languages generated from Snowball algorithms." +name = "snowballstemmer" +optional = false +python-versions = "*" +version = "2.0.0" + +[[package]] +category = "main" +description = "implements a lazy string for python useful for use with gettext" +name = "speaklater" +optional = false +python-versions = "*" +version = "1.3" + +[[package]] +category = "dev" +description = "Python documentation generator" +name = "sphinx" +optional = false +python-versions = ">=3.5" +version = "3.0.4" + +[package.dependencies] +Jinja2 = ">=2.3" +Pygments = ">=2.0" +alabaster = ">=0.7,<0.8" +babel = ">=1.3" +colorama = ">=0.3.5" +docutils = ">=0.12" +imagesize = "*" +packaging = "*" +requests = ">=2.5.0" +setuptools = "*" +snowballstemmer = ">=1.1" +sphinxcontrib-applehelp = "*" +sphinxcontrib-devhelp = "*" +sphinxcontrib-htmlhelp = "*" +sphinxcontrib-jsmath = "*" +sphinxcontrib-qthelp = "*" +sphinxcontrib-serializinghtml = "*" + +[package.extras] +docs = ["sphinxcontrib-websupport"] +lint = ["flake8 (>=3.5.0)", "flake8-import-order", "mypy (>=0.770)", "docutils-stubs"] +test = ["pytest", "pytest-cov", "html5lib", "typed-ast", "cython"] + +[[package]] +category = "dev" +description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" +name = "sphinxcontrib-applehelp" +optional = false +python-versions = ">=3.5" +version = "1.0.2" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +category = "dev" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." +name = "sphinxcontrib-devhelp" +optional = false +python-versions = ">=3.5" +version = "1.0.2" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +category = "dev" +description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +name = "sphinxcontrib-htmlhelp" +optional = false +python-versions = ">=3.5" +version = "1.0.3" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest", "html5lib"] + +[[package]] +category = "dev" +description = "A sphinx extension which renders display math in HTML via JavaScript" +name = "sphinxcontrib-jsmath" +optional = false +python-versions = ">=3.5" +version = "1.0.1" + +[package.extras] +test = ["pytest", "flake8", "mypy"] + +[[package]] +category = "dev" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." +name = "sphinxcontrib-qthelp" +optional = false +python-versions = ">=3.5" +version = "1.0.3" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +category = "dev" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." +name = "sphinxcontrib-serializinghtml" +optional = false +python-versions = ">=3.5" +version = "1.1.4" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +category = "main" +description = "Database Abstraction Library" +name = "sqlalchemy" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.3.17" + +[package.extras] +mssql = ["pyodbc"] +mssql_pymssql = ["pymssql"] +mssql_pyodbc = ["pyodbc"] +mysql = ["mysqlclient"] +oracle = ["cx-oracle"] +postgresql = ["psycopg2"] +postgresql_pg8000 = ["pg8000"] +postgresql_psycopg2binary = ["psycopg2-binary"] +postgresql_psycopg2cffi = ["psycopg2cffi"] +pymysql = ["pymysql"] + +[[package]] +category = "main" +description = "Versioning and auditing extension for SQLAlchemy." +name = "sqlalchemy-continuum" +optional = false +python-versions = "*" +version = "1.3.11" + +[package.dependencies] +SQLAlchemy = ">=1.0.8" +SQLAlchemy-Utils = ">=0.30.12" + +[package.extras] +anyjson = ["anyjson (>=0.3.3)"] +flask = ["Flask (>=0.9)"] +flask-login = ["Flask-Login (>=0.2.9)"] +flask-sqlalchemy = ["Flask-SQLAlchemy (>=1.0)"] +flexmock = ["flexmock (>=0.9.7)"] +i18n = ["SQLAlchemy-i18n (>=0.8.4)"] +test = ["pytest (>=2.3.5)", "flexmock (>=0.9.7)", "psycopg2 (>=2.4.6)", "PyMySQL (0.6.1)", "six (>=1.4.0)", "anyjson (>=0.3.3)", "Flask (>=0.9)", "Flask-Login (>=0.2.9)", "Flask-SQLAlchemy (>=1.0)", "flexmock (>=0.9.7)", "SQLAlchemy-i18n (>=0.8.4)"] + +[[package]] +category = "main" +description = "Various utility functions for SQLAlchemy." +name = "sqlalchemy-utils" +optional = false +python-versions = "*" +version = "0.35.0" + +[package.dependencies] +SQLAlchemy = ">=1.0" +six = "*" + +[package.extras] +anyjson = ["anyjson (>=0.3.3)"] +arrow = ["arrow (>=0.3.4)"] +babel = ["Babel (>=1.3)"] +color = ["colour (>=0.0.4)"] +encrypted = ["cryptography (>=0.6)"] +enum = ["enum34"] +intervals = ["intervals (>=0.7.1)"] +ipaddress = ["ipaddr"] +password = ["passlib (>=1.6,<2.0)"] +phone = ["phonenumbers (>=5.9.2)"] +test = ["pytest (>=2.7.1)", "Pygments (>=1.2)", "Jinja2 (>=2.3)", "docutils (>=0.10)", "flexmock (>=0.9.7)", "mock (2.0.0)", "psycopg2 (>=2.5.1)", "pg8000 (>=1.12.4)", "pytz (>=2014.2)", "python-dateutil (>=2.6)", "pymysql", "flake8 (>=2.4.0)", "isort (>=4.2.2)", "pyodbc"] +test_all = ["anyjson (>=0.3.3)", "arrow (>=0.3.4)", "Babel (>=1.3)", "colour (>=0.0.4)", "cryptography (>=0.6)", "enum34", "intervals (>=0.7.1)", "ipaddr", "passlib (>=1.6,<2.0)", "phonenumbers (>=5.9.2)", "pytest (>=2.7.1)", "Pygments (>=1.2)", "Jinja2 (>=2.3)", "docutils (>=0.10)", "flexmock (>=0.9.7)", "mock (2.0.0)", "psycopg2 (>=2.5.1)", "pg8000 (>=1.12.4)", "pytz (>=2014.2)", "python-dateutil (>=2.6)", "pymysql", "flake8 (>=2.4.0)", "isort (>=4.2.2)", "pyodbc", "python-dateutil", "furl (>=0.4.1)"] +timezone = ["python-dateutil"] +url = ["furl (>=0.4.1)"] + +[[package]] +category = "dev" +description = "Python Library for Tom's Obvious, Minimal Language" +name = "toml" +optional = false +python-versions = "*" +version = "0.10.1" + +[[package]] +category = "main" +description = "Traitlets Python config system" +name = "traitlets" +optional = false +python-versions = "*" +version = "4.3.3" + +[package.dependencies] +decorator = "*" +ipython-genutils = "*" +six = "*" + +[package.extras] +test = ["pytest", "mock"] + +[[package]] +category = "main" +description = "Python port of Browserscope's user agent parser" +name = "ua-parser" +optional = false +python-versions = "*" +version = "0.10.0" + +[[package]] +category = "main" +description = "URI parsing, classification and composition" +name = "uritools" +optional = false +python-versions = "~=3.5" +version = "3.0.0" + +[[package]] +category = "main" +description = "HTTP library with thread-safe connection pooling, file post, and more." +name = "urllib3" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" +version = "1.25.9" + +[package.extras] +brotli = ["brotlipy (>=0.6.0)"] +secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "pyOpenSSL (>=0.14)", "ipaddress"] +socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7,<2.0)"] + +[[package]] +category = "main" +description = "The uWSGI server" +name = "uwsgi" +optional = false +python-versions = "*" +version = "2.0.18" + +[[package]] +category = "main" +description = "uwsgi tools: curl and reverse proxy" +name = "uwsgi-tools" +optional = false +python-versions = "*" +version = "1.1.1" + +[[package]] +category = "main" +description = "uWSGI top-like interface" +name = "uwsgitop" +optional = false +python-versions = "*" +version = "0.11" + +[[package]] +category = "main" +description = "Python Data Validation for Humans™." +name = "validators" +optional = false +python-versions = "*" +version = "0.15.0" + +[package.dependencies] +decorator = ">=3.4.0" +six = ">=1.4.0" + +[package.extras] +test = ["pytest (>=2.2.3)", "flake8 (>=2.4.0)", "isort (>=4.2.2)"] + +[[package]] +category = "main" +description = "Promises, promises, promises." +marker = "python_version < \"3.7\" or python_version >= \"3.7\"" +name = "vine" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.3.0" + +[[package]] +category = "main" +description = "Measures the displayed width of unicode strings in a terminal" +name = "wcwidth" +optional = false +python-versions = "*" +version = "0.2.3" + +[[package]] +category = "main" +description = "Declarative parsing and validation of HTTP request objects, with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado, Pyramid, webapp2, Falcon, and aiohttp." +name = "webargs" +optional = false +python-versions = "*" +version = "5.5.3" + +[package.dependencies] +marshmallow = ">=2.15.2" +simplejson = ">=2.1.0" + +[package.extras] +dev = ["pytest", "mock", "webtest (2.0.33)", "Flask (>=0.12.2)", "Django (>=1.11.16)", "bottle (>=0.12.13)", "tornado (>=4.5.2)", "pyramid (>=1.9.1)", "webapp2 (>=3.0.0b1)", "falcon (>=1.4.0,<2.0)", "flake8 (3.7.8)", "pre-commit (>=1.17,<2.0)", "tox", "webtest-aiohttp (2.0.0)", "pytest-aiohttp (>=0.3.0)", "aiohttp (>=3.0.0)", "mypy (0.730)", "flake8-bugbear (19.8.0)"] +docs = ["Sphinx (2.2.0)", "sphinx-issues (1.2.0)", "sphinx-typlog-theme (0.7.3)", "Flask (>=0.12.2)", "Django (>=1.11.16)", "bottle (>=0.12.13)", "tornado (>=4.5.2)", "pyramid (>=1.9.1)", "webapp2 (>=3.0.0b1)", "falcon (>=1.4.0,<2.0)", "aiohttp (>=3.0.0)"] +frameworks = ["Flask (>=0.12.2)", "Django (>=1.11.16)", "bottle (>=0.12.13)", "tornado (>=4.5.2)", "pyramid (>=1.9.1)", "webapp2 (>=3.0.0b1)", "falcon (>=1.4.0,<2.0)", "aiohttp (>=3.0.0)"] +lint = ["flake8 (3.7.8)", "pre-commit (>=1.17,<2.0)", "mypy (0.730)", "flake8-bugbear (19.8.0)"] +tests = ["pytest", "mock", "webtest (2.0.33)", "Flask (>=0.12.2)", "Django (>=1.11.16)", "bottle (>=0.12.13)", "tornado (>=4.5.2)", "pyramid (>=1.9.1)", "webapp2 (>=3.0.0b1)", "falcon (>=1.4.0,<2.0)", "webtest-aiohttp (2.0.0)", "pytest-aiohttp (>=0.3.0)", "aiohttp (>=3.0.0)"] + +[[package]] +category = "main" +description = "Media asset management for Python, with glue code for various web frameworks" +name = "webassets" +optional = false +python-versions = "*" +version = "2.0" + +[[package]] +category = "main" +description = "Character encoding aliases for legacy web content" +name = "webencodings" +optional = false +python-versions = "*" +version = "0.5.1" + +[[package]] +category = "main" +description = "The comprehensive WSGI web application library." +name = "werkzeug" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "0.16.1" + +[package.extras] +dev = ["pytest", "coverage", "tox", "sphinx", "pallets-sphinx-themes", "sphinx-issues"] +termcolor = ["termcolor"] +watchdog = ["watchdog"] + +[[package]] +category = "main" +description = "A flexible forms validation and rendering library for Python web development." +name = "wtforms" +optional = false +python-versions = "*" +version = "2.3.1" + +[package.dependencies] +MarkupSafe = "*" + +[package.extras] +email = ["email-validator"] +ipaddress = ["ipaddress"] +locale = ["Babel (>=1.3)"] + +[[package]] +category = "main" +description = "Generates WTForms forms from SQLAlchemy models." +name = "wtforms-alchemy" +optional = false +python-versions = "*" +version = "0.17.0" + +[package.dependencies] +SQLAlchemy = ">=1.0" +SQLAlchemy-Utils = ">=0.32.6" +WTForms = ">=1.0.4" +WTForms-Components = ">=0.9.2" +six = ">=1.4.1" + +[package.extras] +arrow = ["arrow (>=0.3.4)"] +babel = ["Babel (>=1.3)"] +color = ["colour (>=0.0.4)"] +i18n = ["SQLAlchemy-i18n (>=0.8.2)"] +intervals = ["intervals (>=0.2.0)"] +password = ["passlib (>=1.6,<2.0)"] +phone = ["phonenumbers (>=5.9.2)"] +test = ["enum34", "pytest (>=2.3)", "Pygments (>=1.2)", "Jinja2 (>=2.3)", "docutils (>=0.10)", "flake8 (>=2.4.0)", "flexmock (>=0.9.7)", "isort (>=3.9.6)", "natsort (3.5.6)", "WTForms-Test (>=0.1.1)", "Babel (>=1.3)", "arrow (>=0.3.4)", "phonenumbers (>=5.9.2)", "intervals (>=0.2.0)", "passlib (>=1.6,<2.0)", "colour (>=0.0.4)", "SQLAlchemy-i18n (>=0.8.2)", "python-dateutil"] +timezone = ["python-dateutil"] + +[[package]] +category = "main" +description = "Additional fields, validators and widgets for WTForms." +name = "wtforms-components" +optional = false +python-versions = "*" +version = "0.10.4" + +[package.dependencies] +WTForms = ">=1.0.4" +intervals = ">=0.6.0" +six = ">=1.4.1" +validators = ">=0.5.0" + +[package.extras] +color = ["colour (>=0.0.4)"] +ipaddress = ["ipaddr"] +test = ["pytest (>=2.2.3)", "flexmock (>=0.9.7)", "WTForms-Test (>=0.1.1)", "flake8 (>=2.4.0)", "isort (>=4.2.2)", "colour (>=0.0.4)", "ipaddr", "python-dateutil"] +timezone = ["python-dateutil"] + +[[package]] +category = "main" +description = "Backport of pathlib-compatible object wrapper for zip files" +marker = "python_version < \"3.8\" or python_version >= \"3.7\" and python_version < \"3.8\"" +name = "zipp" +optional = false +python-versions = ">=3.6" +version = "3.1.0" + +[package.extras] +docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] +testing = ["jaraco.itertools", "func-timeout"] + +[metadata] +content-hash = "36355220f6eda3fe4b7050bdd649728e4404b33325934969c585fcdca6319087" +python-versions = ">= 3.6, < 3.8" + +[metadata.files] +alabaster = [ + {file = "alabaster-0.7.12-py2.py3-none-any.whl", hash = "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"}, + {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"}, +] +alembic = [ + {file = "alembic-1.4.2.tar.gz", hash = "sha256:035ab00497217628bf5d0be82d664d8713ab13d37b630084da8e1f98facf4dbf"}, +] +amqp = [ + {file = "amqp-2.6.0-py2.py3-none-any.whl", hash = "sha256:bb68f8d2bced8f93ccfd07d96c689b716b3227720add971be980accfc2952139"}, + {file = "amqp-2.6.0.tar.gz", hash = "sha256:24dbaff8ce4f30566bb88976b398e8c4e77637171af3af6f1b9650f48890e60b"}, +] +apipkg = [ + {file = "apipkg-1.5-py2.py3-none-any.whl", hash = "sha256:58587dd4dc3daefad0487f6d9ae32b4542b185e1c36db6993290e7c41ca2b47c"}, + {file = "apipkg-1.5.tar.gz", hash = "sha256:37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6"}, +] +appnope = [ + {file = "appnope-0.1.0-py2.py3-none-any.whl", hash = "sha256:5b26757dc6f79a3b7dc9fab95359328d5747fcb2409d331ea66d0272b90ab2a0"}, + {file = "appnope-0.1.0.tar.gz", hash = "sha256:8b995ffe925347a2138d7ac0fe77155e4311a0ea6d6da4f5128fe4b3cbe5ed71"}, +] +arrow = [ + {file = "arrow-0.15.6-py2.py3-none-any.whl", hash = "sha256:a24c1de90850f6fb2033fd6bf8a11f281e84cb54825e5eabdda219e673b52aac"}, + {file = "arrow-0.15.6.tar.gz", hash = "sha256:eb5d339f00072cc297d7de252a2e75f272085d1231a3723f1026d1fa91367118"}, +] +atomicwrites = [ + {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, + {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"}, +] +attrs = [ + {file = "attrs-19.3.0-py2.py3-none-any.whl", hash = "sha256:08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c"}, + {file = "attrs-19.3.0.tar.gz", hash = "sha256:f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"}, +] +autoflake = [ + {file = "autoflake-1.3.1.tar.gz", hash = "sha256:680cb9dade101ed647488238ccb8b8bfb4369b53d58ba2c8cdf7d5d54e01f95b"}, +] +babel = [ + {file = "Babel-2.8.0-py2.py3-none-any.whl", hash = "sha256:d670ea0b10f8b723672d3a6abeb87b565b244da220d76b4dba1b66269ec152d4"}, + {file = "Babel-2.8.0.tar.gz", hash = "sha256:1aac2ae2d0d8ea368fa90906567f5c08463d98ade155c0c4bfedd6a0f7160e38"}, +] +backcall = [ + {file = "backcall-0.1.0.tar.gz", hash = "sha256:38ecd85be2c1e78f77fd91700c76e14667dc21e2713b63876c0eb901196e01e4"}, + {file = "backcall-0.1.0.zip", hash = "sha256:bbbf4b1e5cd2bdb08f915895b51081c041bac22394fdfcfdfbe9f14b77c08bf2"}, +] +base32-lib = [ + {file = "base32-lib-1.0.2.tar.gz", hash = "sha256:09663df621bbc454079a54c92fa25d3bc33ea4a191053a09dd1e05ea4c0fe47c"}, + {file = "base32_lib-1.0.2-py2.py3-none-any.whl", hash = "sha256:f3cbc1c4b3df7af844c9b7ffc1638a688423db2b1e51082b2c014b3959b756ae"}, +] +billiard = [ + {file = "billiard-3.6.3.0-py3-none-any.whl", hash = "sha256:bff575450859a6e0fbc2f9877d9b715b0bbc07c3565bb7ed2280526a0cdf5ede"}, + {file = "billiard-3.6.3.0.tar.gz", hash = "sha256:d91725ce6425f33a97dfa72fb6bfef0e47d4652acd98a032bd1a7fbf06d5fa6a"}, +] +bleach = [ + {file = "bleach-3.1.5-py2.py3-none-any.whl", hash = "sha256:2bce3d8fab545a6528c8fa5d9f9ae8ebc85a56da365c7f85180bfe96a35ef22f"}, + {file = "bleach-3.1.5.tar.gz", hash = "sha256:3c4c520fdb9db59ef139915a5db79f8b51bc2a7257ea0389f30c846883430a4b"}, +] +blinker = [ + {file = "blinker-1.4.tar.gz", hash = "sha256:471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6"}, +] +celery = [ + {file = "celery-4.4.4-py2.py3-none-any.whl", hash = "sha256:9ae2e73b93cc7d6b48b56aaf49a68c91752d0ffd7dfdcc47f842ca79a6f13eae"}, + {file = "celery-4.4.4.tar.gz", hash = "sha256:c2037b6a8463da43b19969a0fc13f9023ceca6352b4dd51be01c66fbbb13647e"}, +] +certifi = [ + {file = "certifi-2020.4.5.1-py2.py3-none-any.whl", hash = "sha256:1d987a998c75633c40847cc966fcf5904906c920a7f17ef374f5aa4282abd304"}, + {file = "certifi-2020.4.5.1.tar.gz", hash = "sha256:51fcb31174be6e6664c5f69e3e1691a2d72a1a12e90f872cbdb1567eb47b6519"}, +] +cffi = [ + {file = "cffi-1.14.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:1cae98a7054b5c9391eb3249b86e0e99ab1e02bb0cc0575da191aedadbdf4384"}, + {file = "cffi-1.14.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:cf16e3cf6c0a5fdd9bc10c21687e19d29ad1fe863372b5543deaec1039581a30"}, + {file = "cffi-1.14.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:f2b0fa0c01d8a0c7483afd9f31d7ecf2d71760ca24499c8697aeb5ca37dc090c"}, + {file = "cffi-1.14.0-cp27-cp27m-win32.whl", hash = "sha256:99f748a7e71ff382613b4e1acc0ac83bf7ad167fb3802e35e90d9763daba4d78"}, + {file = "cffi-1.14.0-cp27-cp27m-win_amd64.whl", hash = "sha256:c420917b188a5582a56d8b93bdd8e0f6eca08c84ff623a4c16e809152cd35793"}, + {file = "cffi-1.14.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:399aed636c7d3749bbed55bc907c3288cb43c65c4389964ad5ff849b6370603e"}, + {file = "cffi-1.14.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:cab50b8c2250b46fe738c77dbd25ce017d5e6fb35d3407606e7a4180656a5a6a"}, + {file = "cffi-1.14.0-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:001bf3242a1bb04d985d63e138230802c6c8d4db3668fb545fb5005ddf5bb5ff"}, + {file = "cffi-1.14.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:e56c744aa6ff427a607763346e4170629caf7e48ead6921745986db3692f987f"}, + {file = "cffi-1.14.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:b8c78301cefcf5fd914aad35d3c04c2b21ce8629b5e4f4e45ae6812e461910fa"}, + {file = "cffi-1.14.0-cp35-cp35m-win32.whl", hash = "sha256:8c0ffc886aea5df6a1762d0019e9cb05f825d0eec1f520c51be9d198701daee5"}, + {file = "cffi-1.14.0-cp35-cp35m-win_amd64.whl", hash = "sha256:8a6c688fefb4e1cd56feb6c511984a6c4f7ec7d2a1ff31a10254f3c817054ae4"}, + {file = "cffi-1.14.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:95cd16d3dee553f882540c1ffe331d085c9e629499ceadfbda4d4fde635f4b7d"}, + {file = "cffi-1.14.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:66e41db66b47d0d8672d8ed2708ba91b2f2524ece3dee48b5dfb36be8c2f21dc"}, + {file = "cffi-1.14.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:028a579fc9aed3af38f4892bdcc7390508adabc30c6af4a6e4f611b0c680e6ac"}, + {file = "cffi-1.14.0-cp36-cp36m-win32.whl", hash = "sha256:cef128cb4d5e0b3493f058f10ce32365972c554572ff821e175dbc6f8ff6924f"}, + {file = "cffi-1.14.0-cp36-cp36m-win_amd64.whl", hash = "sha256:337d448e5a725bba2d8293c48d9353fc68d0e9e4088d62a9571def317797522b"}, + {file = "cffi-1.14.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e577934fc5f8779c554639376beeaa5657d54349096ef24abe8c74c5d9c117c3"}, + {file = "cffi-1.14.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:62ae9af2d069ea2698bf536dcfe1e4eed9090211dbaafeeedf5cb6c41b352f66"}, + {file = "cffi-1.14.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:14491a910663bf9f13ddf2bc8f60562d6bc5315c1f09c704937ef17293fb85b0"}, + {file = "cffi-1.14.0-cp37-cp37m-win32.whl", hash = "sha256:c43866529f2f06fe0edc6246eb4faa34f03fe88b64a0a9a942561c8e22f4b71f"}, + {file = "cffi-1.14.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2089ed025da3919d2e75a4d963d008330c96751127dd6f73c8dc0c65041b4c26"}, + {file = "cffi-1.14.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3b911c2dbd4f423b4c4fcca138cadde747abdb20d196c4a48708b8a2d32b16dd"}, + {file = "cffi-1.14.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:7e63cbcf2429a8dbfe48dcc2322d5f2220b77b2e17b7ba023d6166d84655da55"}, + {file = "cffi-1.14.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:3d311bcc4a41408cf5854f06ef2c5cab88f9fded37a3b95936c9879c1640d4c2"}, + {file = "cffi-1.14.0-cp38-cp38-win32.whl", hash = "sha256:675686925a9fb403edba0114db74e741d8181683dcf216be697d208857e04ca8"}, + {file = "cffi-1.14.0-cp38-cp38-win_amd64.whl", hash = "sha256:00789914be39dffba161cfc5be31b55775de5ba2235fe49aa28c148236c4e06b"}, + {file = "cffi-1.14.0.tar.gz", hash = "sha256:2d384f4a127a15ba701207f7639d94106693b6cd64173d6c8988e2c25f3ac2b6"}, +] +chardet = [ + {file = "chardet-3.0.4-py2.py3-none-any.whl", hash = "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"}, + {file = "chardet-3.0.4.tar.gz", hash = "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"}, +] +check-manifest = [ + {file = "check-manifest-0.42.tar.gz", hash = "sha256:0d8e1b0944a667dd4a75274f6763e558f0d268fde2c725e894dfd152aae23300"}, + {file = "check_manifest-0.42-py2.py3-none-any.whl", hash = "sha256:3131d1b32d88ea3eb222a09c6277d78f43d1e780901e5d60e1b4a8d15169e9ee"}, +] +click = [ + {file = "click-7.1.2-py2.py3-none-any.whl", hash = "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc"}, + {file = "click-7.1.2.tar.gz", hash = "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a"}, +] +colorama = [ + {file = "colorama-0.4.3-py2.py3-none-any.whl", hash = "sha256:7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff"}, + {file = "colorama-0.4.3.tar.gz", hash = "sha256:e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1"}, +] +contextlib2 = [ + {file = "contextlib2-0.6.0.post1-py2.py3-none-any.whl", hash = "sha256:3355078a159fbb44ee60ea80abd0d87b80b78c248643b49aa6d94673b413609b"}, + {file = "contextlib2-0.6.0.post1.tar.gz", hash = "sha256:01f490098c18b19d2bd5bb5dc445b2054d2fa97f09a4280ba2c5f3c394c8162e"}, +] +coverage = [ + {file = "coverage-5.1-cp27-cp27m-macosx_10_12_x86_64.whl", hash = "sha256:0cb4be7e784dcdc050fc58ef05b71aa8e89b7e6636b99967fadbdba694cf2b65"}, + {file = "coverage-5.1-cp27-cp27m-macosx_10_13_intel.whl", hash = "sha256:c317eaf5ff46a34305b202e73404f55f7389ef834b8dbf4da09b9b9b37f76dd2"}, + {file = "coverage-5.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:b83835506dfc185a319031cf853fa4bb1b3974b1f913f5bb1a0f3d98bdcded04"}, + {file = "coverage-5.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5f2294dbf7875b991c381e3d5af2bcc3494d836affa52b809c91697449d0eda6"}, + {file = "coverage-5.1-cp27-cp27m-win32.whl", hash = "sha256:de807ae933cfb7f0c7d9d981a053772452217df2bf38e7e6267c9cbf9545a796"}, + {file = "coverage-5.1-cp27-cp27m-win_amd64.whl", hash = "sha256:bf9cb9a9fd8891e7efd2d44deb24b86d647394b9705b744ff6f8261e6f29a730"}, + {file = "coverage-5.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:acf3763ed01af8410fc36afea23707d4ea58ba7e86a8ee915dfb9ceff9ef69d0"}, + {file = "coverage-5.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:dec5202bfe6f672d4511086e125db035a52b00f1648d6407cc8e526912c0353a"}, + {file = "coverage-5.1-cp35-cp35m-macosx_10_12_x86_64.whl", hash = "sha256:7a5bdad4edec57b5fb8dae7d3ee58622d626fd3a0be0dfceda162a7035885ecf"}, + {file = "coverage-5.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:1601e480b9b99697a570cea7ef749e88123c04b92d84cedaa01e117436b4a0a9"}, + {file = "coverage-5.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:dbe8c6ae7534b5b024296464f387d57c13caa942f6d8e6e0346f27e509f0f768"}, + {file = "coverage-5.1-cp35-cp35m-win32.whl", hash = "sha256:a027ef0492ede1e03a8054e3c37b8def89a1e3c471482e9f046906ba4f2aafd2"}, + {file = "coverage-5.1-cp35-cp35m-win_amd64.whl", hash = "sha256:0e61d9803d5851849c24f78227939c701ced6704f337cad0a91e0972c51c1ee7"}, + {file = "coverage-5.1-cp36-cp36m-macosx_10_13_x86_64.whl", hash = "sha256:2d27a3f742c98e5c6b461ee6ef7287400a1956c11421eb574d843d9ec1f772f0"}, + {file = "coverage-5.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:66460ab1599d3cf894bb6baee8c684788819b71a5dc1e8fa2ecc152e5d752019"}, + {file = "coverage-5.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:5c542d1e62eece33c306d66fe0a5c4f7f7b3c08fecc46ead86d7916684b36d6c"}, + {file = "coverage-5.1-cp36-cp36m-win32.whl", hash = "sha256:2742c7515b9eb368718cd091bad1a1b44135cc72468c731302b3d641895b83d1"}, + {file = "coverage-5.1-cp36-cp36m-win_amd64.whl", hash = "sha256:dead2ddede4c7ba6cb3a721870f5141c97dc7d85a079edb4bd8d88c3ad5b20c7"}, + {file = "coverage-5.1-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:01333e1bd22c59713ba8a79f088b3955946e293114479bbfc2e37d522be03355"}, + {file = "coverage-5.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:e1ea316102ea1e1770724db01998d1603ed921c54a86a2efcb03428d5417e489"}, + {file = "coverage-5.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:adeb4c5b608574a3d647011af36f7586811a2c1197c861aedb548dd2453b41cd"}, + {file = "coverage-5.1-cp37-cp37m-win32.whl", hash = "sha256:782caea581a6e9ff75eccda79287daefd1d2631cc09d642b6ee2d6da21fc0a4e"}, + {file = "coverage-5.1-cp37-cp37m-win_amd64.whl", hash = "sha256:00f1d23f4336efc3b311ed0d807feb45098fc86dee1ca13b3d6768cdab187c8a"}, + {file = "coverage-5.1-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:402e1744733df483b93abbf209283898e9f0d67470707e3c7516d84f48524f55"}, + {file = "coverage-5.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:a3f3654d5734a3ece152636aad89f58afc9213c6520062db3978239db122f03c"}, + {file = "coverage-5.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6402bd2fdedabbdb63a316308142597534ea8e1895f4e7d8bf7476c5e8751fef"}, + {file = "coverage-5.1-cp38-cp38-win32.whl", hash = "sha256:8fa0cbc7ecad630e5b0f4f35b0f6ad419246b02bc750de7ac66db92667996d24"}, + {file = "coverage-5.1-cp38-cp38-win_amd64.whl", hash = "sha256:79a3cfd6346ce6c13145731d39db47b7a7b859c0272f02cdb89a3bdcbae233a0"}, + {file = "coverage-5.1-cp39-cp39-win32.whl", hash = "sha256:a82b92b04a23d3c8a581fc049228bafde988abacba397d57ce95fe95e0338ab4"}, + {file = "coverage-5.1-cp39-cp39-win_amd64.whl", hash = "sha256:bb28a7245de68bf29f6fb199545d072d1036a1917dca17a1e75bbb919e14ee8e"}, + {file = "coverage-5.1.tar.gz", hash = "sha256:f90bfc4ad18450c80b024036eaf91e4a246ae287701aaa88eaebebf150868052"}, +] +cryptography = [ + {file = "cryptography-2.9.2-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:daf54a4b07d67ad437ff239c8a4080cfd1cc7213df57d33c97de7b4738048d5e"}, + {file = "cryptography-2.9.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:3b3eba865ea2754738616f87292b7f29448aec342a7c720956f8083d252bf28b"}, + {file = "cryptography-2.9.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:c447cf087cf2dbddc1add6987bbe2f767ed5317adb2d08af940db517dd704365"}, + {file = "cryptography-2.9.2-cp27-cp27m-win32.whl", hash = "sha256:f118a95c7480f5be0df8afeb9a11bd199aa20afab7a96bcf20409b411a3a85f0"}, + {file = "cryptography-2.9.2-cp27-cp27m-win_amd64.whl", hash = "sha256:c4fd17d92e9d55b84707f4fd09992081ba872d1a0c610c109c18e062e06a2e55"}, + {file = "cryptography-2.9.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d0d5aeaedd29be304848f1c5059074a740fa9f6f26b84c5b63e8b29e73dfc270"}, + {file = "cryptography-2.9.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:1e4014639d3d73fbc5ceff206049c5a9a849cefd106a49fa7aaaa25cc0ce35cf"}, + {file = "cryptography-2.9.2-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:96c080ae7118c10fcbe6229ab43eb8b090fccd31a09ef55f83f690d1ef619a1d"}, + {file = "cryptography-2.9.2-cp35-abi3-manylinux1_x86_64.whl", hash = "sha256:e993468c859d084d5579e2ebee101de8f5a27ce8e2159959b6673b418fd8c785"}, + {file = "cryptography-2.9.2-cp35-abi3-manylinux2010_x86_64.whl", hash = "sha256:88c881dd5a147e08d1bdcf2315c04972381d026cdb803325c03fe2b4a8ed858b"}, + {file = "cryptography-2.9.2-cp35-cp35m-win32.whl", hash = "sha256:651448cd2e3a6bc2bb76c3663785133c40d5e1a8c1a9c5429e4354201c6024ae"}, + {file = "cryptography-2.9.2-cp35-cp35m-win_amd64.whl", hash = "sha256:726086c17f94747cedbee6efa77e99ae170caebeb1116353c6cf0ab67ea6829b"}, + {file = "cryptography-2.9.2-cp36-cp36m-win32.whl", hash = "sha256:091d31c42f444c6f519485ed528d8b451d1a0c7bf30e8ca583a0cac44b8a0df6"}, + {file = "cryptography-2.9.2-cp36-cp36m-win_amd64.whl", hash = "sha256:bb1f0281887d89617b4c68e8db9a2c42b9efebf2702a3c5bf70599421a8623e3"}, + {file = "cryptography-2.9.2-cp37-cp37m-win32.whl", hash = "sha256:18452582a3c85b96014b45686af264563e3e5d99d226589f057ace56196ec78b"}, + {file = "cryptography-2.9.2-cp37-cp37m-win_amd64.whl", hash = "sha256:22e91636a51170df0ae4dcbd250d318fd28c9f491c4e50b625a49964b24fe46e"}, + {file = "cryptography-2.9.2-cp38-cp38-win32.whl", hash = "sha256:844a76bc04472e5135b909da6aed84360f522ff5dfa47f93e3dd2a0b84a89fa0"}, + {file = "cryptography-2.9.2-cp38-cp38-win_amd64.whl", hash = "sha256:1dfa985f62b137909496e7fc182dac687206d8d089dd03eaeb28ae16eec8e7d5"}, + {file = "cryptography-2.9.2.tar.gz", hash = "sha256:a0c30272fb4ddda5f5ffc1089d7405b7a71b0b0f51993cb4e5dbb4590b2fc229"}, +] +decorator = [ + {file = "decorator-4.4.2-py2.py3-none-any.whl", hash = "sha256:41fa54c2a0cc4ba648be4fd43cff00aedf5b9465c9bf18d64325bc225f08f760"}, + {file = "decorator-4.4.2.tar.gz", hash = "sha256:e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7"}, +] +dnspython = [ + {file = "dnspython-1.16.0-py2.py3-none-any.whl", hash = "sha256:f69c21288a962f4da86e56c4905b49d11aba7938d3d740e80d9e366ee4f1632d"}, + {file = "dnspython-1.16.0.zip", hash = "sha256:36c5e8e38d4369a08b6780b7f27d790a292b2b08eea01607865bf0936c558e01"}, +] +docutils = [ + {file = "docutils-0.16-py2.py3-none-any.whl", hash = "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af"}, + {file = "docutils-0.16.tar.gz", hash = "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"}, +] +dojson = [ + {file = "dojson-1.4.0-py2.py3-none-any.whl", hash = "sha256:fb5c362cea79ee1215778cdf36f0d2cca9885e1068fc90d6a6dafcc0ce8a7c5f"}, + {file = "dojson-1.4.0.tar.gz", hash = "sha256:a52fd3466cbdeae996817a27e58f97bde573a5b790f85cf42c43211d4cff298c"}, +] +dparse = [ + {file = "dparse-0.5.1-py3-none-any.whl", hash = "sha256:e953a25e44ebb60a5c6efc2add4420c177f1d8404509da88da9729202f306994"}, + {file = "dparse-0.5.1.tar.gz", hash = "sha256:a1b5f169102e1c894f9a7d5ccf6f9402a836a5d24be80a986c7ce9eaed78f367"}, +] +elasticsearch = [ + {file = "elasticsearch-7.7.1-py2.py3-none-any.whl", hash = "sha256:e9138aa9de7624a6c6fbf5d0300bb11617cfe0a056fc6731665748731961d693"}, + {file = "elasticsearch-7.7.1.tar.gz", hash = "sha256:9bfcb2bd137d6d7ca123e252b9d7261cfe4f7723f7b749a99c52b47766cf387c"}, +] +elasticsearch-dsl = [ + {file = "elasticsearch-dsl-7.2.1.tar.gz", hash = "sha256:1e345535164cb684de4b825e1d0daf81b75554b30d3905446584a9e4af0cc3e7"}, + {file = "elasticsearch_dsl-7.2.1-py2.py3-none-any.whl", hash = "sha256:593c01822a03e3e84b87753c78edb833f4b2bfafcd52089841bd8f99b7e74ccd"}, +] +email-validator = [ + {file = "email_validator-1.1.1-py2.py3-none-any.whl", hash = "sha256:5f246ae8d81ce3000eade06595b7bb55a4cf350d559e890182a1466a21f25067"}, + {file = "email_validator-1.1.1.tar.gz", hash = "sha256:63094045c3e802c3d3d575b18b004a531c36243ca8d1cec785ff6bfcb04185bb"}, +] +execnet = [ + {file = "execnet-1.7.1-py2.py3-none-any.whl", hash = "sha256:d4efd397930c46415f62f8a31388d6be4f27a91d7550eb79bc64a756e0056547"}, + {file = "execnet-1.7.1.tar.gz", hash = "sha256:cacb9df31c9680ec5f95553976c4da484d407e85e41c83cb812aa014f0eddc50"}, +] +flask = [ + {file = "Flask-1.0.4-py2.py3-none-any.whl", hash = "sha256:1a21ccca71cee5e55b6a367cc48c6eb47e3c447f76e64d41f3f3f931c17e7c96"}, + {file = "Flask-1.0.4.tar.gz", hash = "sha256:ed1330220a321138de53ec7c534c3d90cf2f7af938c7880fc3da13aa46bf870f"}, +] +flask-admin = [ + {file = "Flask-Admin-1.5.6.tar.gz", hash = "sha256:68c761d8582d59b1f7702013e944a7ad11d7659a72f3006b89b68b0bd8df61b8"}, +] +flask-alembic = [ + {file = "Flask-Alembic-2.0.1.tar.gz", hash = "sha256:05a1e6f4148dbfcc9280a393373bfbd250af6f9f4f0ca9f744ef8f7376a3deec"}, + {file = "Flask_Alembic-2.0.1-py2.py3-none-any.whl", hash = "sha256:7e67740b0b08d58dcae0c701d56b56e60f5fa4af907bb82b4cb0469229ba94ff"}, +] +flask-assets = [ + {file = "Flask-Assets-2.0.tar.gz", hash = "sha256:1dfdea35e40744d46aada72831f7613d67bf38e8b20ccaaa9e91fdc37aa3b8c2"}, + {file = "Flask_Assets-2.0-py3-none-any.whl", hash = "sha256:2845bd3b479be9db8556801e7ebc2746ce2d9edb4e7b64a1c786ecbfc1e5867b"}, +] +flask-babelex = [ + {file = "Flask-BabelEx-0.9.4.tar.gz", hash = "sha256:39a59ccee9386a9d52d80b9101224402036aedc2c7873b11deef6e4e21cace27"}, + {file = "Flask_BabelEx-0.9.4-py3-none-any.whl", hash = "sha256:f744d0557cb04cafed733cfa96e7373b46263d4cf79a2c5988c65085f360d873"}, +] +flask-breadcrumbs = [ + {file = "Flask-Breadcrumbs-0.5.1.tar.gz", hash = "sha256:f95872a3baf46473febd0f5c0adea192e7c2576af60a84a2144068eca1559b45"}, + {file = "Flask_Breadcrumbs-0.5.1-py2.py3-none-any.whl", hash = "sha256:cb6fc89d7f76ff429fa4bb1fbc0bfe186f3f7ff8b4f5325c0a7b75946e2de98f"}, +] +flask-caching = [ + {file = "Flask-Caching-1.9.0.tar.gz", hash = "sha256:a0356ad868b1d8ec2d0e675a6fe891c41303128f8904d5d79e180d8b3f952aff"}, + {file = "Flask_Caching-1.9.0-py2.py3-none-any.whl", hash = "sha256:e6ef2e2af84e13c4fd32c1839c1943a42f11b6b0fbcfdd6bf46547ea5482dbfe"}, +] +flask-celeryext = [ + {file = "Flask-CeleryExt-0.3.4.tar.gz", hash = "sha256:47d5d18daebad300b215faca0d1c6da24625f333020482e27591634c05792c98"}, + {file = "Flask_CeleryExt-0.3.4-py2.py3-none-any.whl", hash = "sha256:1c84b35462d41d1317800d256b2ce30031b7d3d20dd8dc680ce4f4cc88029867"}, +] +flask-collect = [ + {file = "Flask-Collect-1.2.2.tar.gz", hash = "sha256:26c8a76451ba1d31236367afd90f4c5a99ba88392adad675ee4fb93a45a36927"}, + {file = "Flask_Collect-1.2.2-py2.py3-none-any.whl", hash = "sha256:3274f651b532e93549d37c21c5630fa98e4b9eccf49573f8d920b1225716a12b"}, +] +flask-cors = [ + {file = "Flask-Cors-3.0.8.tar.gz", hash = "sha256:72170423eb4612f0847318afff8c247b38bd516b7737adfc10d1c2cdbb382d16"}, + {file = "Flask_Cors-3.0.8-py2.py3-none-any.whl", hash = "sha256:f4d97201660e6bbcff2d89d082b5b6d31abee04b1b3003ee073a6fd25ad1d69a"}, +] +flask-debugtoolbar = [ + {file = "Flask-DebugToolbar-0.11.0.tar.gz", hash = "sha256:3c4e79d354ede014e6657c545a536d4fb273cc89e3fd6b4835b02e346dd3aab4"}, + {file = "Flask_DebugToolbar-0.11.0-py2.py3-none-any.whl", hash = "sha256:0e9a80d4c599233c68376e81cc99976200b5ac5248cfb24f18935cc5b69ac5b3"}, +] +flask-kvsession = [ + {file = "Flask-KVSession-0.6.2.tar.gz", hash = "sha256:9c0ee93fae089c45baeda0a3fd3ae32a96ee81c34996017749f8b3fd06df936c"}, +] +flask-limiter = [ + {file = "Flask-Limiter-1.1.0.tar.gz", hash = "sha256:905c35cd87bf60c92fd87922ae23fe27aa5fb31980bab31fc00807adee9f5a55"}, + {file = "Flask_Limiter-1.1.0-py2-none-any.whl", hash = "sha256:9087984ae7eeb862f93bf5b18477a5e5b1e0c907647ae74fba1c7e3f1de63d6f"}, + {file = "Flask_Limiter-1.1.0-py2.7.egg", hash = "sha256:5831d6b5b9ef6a83dca4b89f216880a7aa204b5ce8b710b5bc02786bf21e11fd"}, +] +flask-login = [ + {file = "Flask-Login-0.4.1.tar.gz", hash = "sha256:c815c1ac7b3e35e2081685e389a665f2c74d7e077cb93cecabaea352da4752ec"}, +] +flask-mail = [ + {file = "Flask-Mail-0.9.1.tar.gz", hash = "sha256:22e5eb9a940bf407bcf30410ecc3708f3c56cc44b29c34e1726fe85006935f41"}, +] +flask-menu = [ + {file = "Flask-Menu-0.7.1.tar.gz", hash = "sha256:7374c3265c34a3fbb1ab5f1df6385f3b10fc0b05c142fd2f39217c9cece4df29"}, + {file = "Flask_Menu-0.7.1-py3-none-any.whl", hash = "sha256:c30f767af3c008d3157a86533d20ea2bc7b73f5b5820ddca773584674f26517b"}, +] +flask-oauthlib = [ + {file = "Flask-OAuthlib-0.9.5.tar.gz", hash = "sha256:cbfe835902569909a19828582c3381148995ad677243016ccad9c951acf69406"}, + {file = "Flask_OAuthlib-0.9.5-py2-none-any.whl", hash = "sha256:d3e8ea932df01177018c502e5a07eaeb5c27bcb5352b678f14e57f892272bb56"}, +] +flask-principal = [ + {file = "Flask-Principal-0.4.0.tar.gz", hash = "sha256:f5d6134b5caebfdbb86f32d56d18ee44b080876a27269560a96ea35f75c99453"}, +] +flask-security = [ + {file = "Flask-Security-3.0.0.tar.gz", hash = "sha256:d61daa5f5a48f89f30f50555872bdf581b2c65804668b0313345cd7beff26432"}, + {file = "Flask_Security-3.0.0-py2.py3-none-any.whl", hash = "sha256:ef837c03558db41335c8dabd16ae4977af0a5ef0c2cdecf738e33ef5202ce489"}, +] +flask-shell-ipython = [ + {file = "flask-shell-ipython-0.4.1.tar.gz", hash = "sha256:fb3b390f4dc03d7a960c62c5b51ce4deca19ceff77e4db3d4670012adc529ebd"}, + {file = "flask_shell_ipython-0.4.1-py2.py3-none-any.whl", hash = "sha256:f212b4fad6831edf652799c719cd05fd0716edfaa5506eb41ff9ef09109890d3"}, +] +flask-sqlalchemy = [ + {file = "Flask-SQLAlchemy-2.4.3.tar.gz", hash = "sha256:0b656fbf87c5f24109d859bafa791d29751fabbda2302b606881ae5485b557a5"}, + {file = "Flask_SQLAlchemy-2.4.3-py2.py3-none-any.whl", hash = "sha256:fcfe6df52cd2ed8a63008ca36b86a51fa7a4b70cef1c39e5625f722fca32308e"}, +] +flask-talisman = [ + {file = "flask-talisman-0.5.0.tar.gz", hash = "sha256:e4e3ccba66895e1f46d5b62a9cc0f273731da601bc92d2b9af908011298c0e2b"}, + {file = "flask_talisman-0.5.0-py2.py3-none-any.whl", hash = "sha256:5d77780b2220012a6748e0b603cbbf7889a2833c4e77157794e13dddb183e347"}, +] +flask-webpackext = [ + {file = "flask-webpackext-1.0.2.tar.gz", hash = "sha256:36e4b2d19f3e12e0bb370248094e1631a0cf8e607e76ca8c437718395b90c7ad"}, + {file = "flask_webpackext-1.0.2-py2.py3-none-any.whl", hash = "sha256:6313903d5aad5f330cb14ce97e7fec22541da413d5fe71b33b1f1a2eb69e426f"}, +] +flask-wtf = [ + {file = "Flask-WTF-0.14.3.tar.gz", hash = "sha256:d417e3a0008b5ba583da1763e4db0f55a1269d9dd91dcc3eb3c026d3c5dbd720"}, + {file = "Flask_WTF-0.14.3-py2.py3-none-any.whl", hash = "sha256:57b3faf6fe5d6168bda0c36b0df1d05770f8e205e18332d0376ddb954d17aef2"}, +] +ftfy = [ + {file = "ftfy-4.4.3.tar.gz", hash = "sha256:3c0066db64a98436e751e56414f03f1cdea54f29364c0632c141c36cca6a5d94"}, +] +future = [ + {file = "future-0.18.2.tar.gz", hash = "sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d"}, +] +html5lib = [ + {file = "html5lib-1.0.1-py2.py3-none-any.whl", hash = "sha256:20b159aa3badc9d5ee8f5c647e5efd02ed2a66ab8d354930bd9ff139fc1dc0a3"}, + {file = "html5lib-1.0.1.tar.gz", hash = "sha256:66cb0dcfdbbc4f9c3ba1a63fdb511ffdbd4f513b2b6d81b80cd26ce6b3fb3736"}, +] +idna = [ + {file = "idna-2.9-py2.py3-none-any.whl", hash = "sha256:a068a21ceac8a4d63dbfd964670474107f541babbd2250d61922f029858365fa"}, + {file = "idna-2.9.tar.gz", hash = "sha256:7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb"}, +] +imagesize = [ + {file = "imagesize-1.2.0-py2.py3-none-any.whl", hash = "sha256:6965f19a6a2039c7d48bca7dba2473069ff854c36ae6f19d2cde309d998228a1"}, + {file = "imagesize-1.2.0.tar.gz", hash = "sha256:b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1"}, +] +importlib-metadata = [ + {file = "importlib_metadata-1.6.0-py2.py3-none-any.whl", hash = "sha256:2a688cbaa90e0cc587f1df48bdc97a6eadccdcd9c35fb3f976a09e3b5016d90f"}, + {file = "importlib_metadata-1.6.0.tar.gz", hash = "sha256:34513a8a0c4962bc66d35b359558fd8a5e10cd472d37aec5f66858addef32c1e"}, +] +infinity = [ + {file = "infinity-1.5.tar.gz", hash = "sha256:8daa7c15ce2100fdccfde212337e0cd5cf085869f54dc2634b6c30d61461ecda"}, +] +intervals = [ + {file = "intervals-0.8.1.tar.gz", hash = "sha256:37921da1407a5e9384e8e1350cfb8500f8d0d69fc43d03d01a4fdc6e7a7c7166"}, +] +invenio = [ + {file = "invenio-3.2.2-py2.py3-none-any.whl", hash = "sha256:9d8be9f714c6db7cbffa0930d04cd298d671e223637fda5952a284fdf011efab"}, + {file = "invenio-3.2.2.tar.gz", hash = "sha256:b4377e3da2a64fd8e64249a1755901ddae45f93c07aad91868c911bb8f49b8ce"}, +] +invenio-access = [ + {file = "invenio-access-1.3.3.tar.gz", hash = "sha256:bbbb69629ea8bded7147d976e2daf000be759f7c478319d3f233deadf0705b20"}, + {file = "invenio_access-1.3.3-py2.py3-none-any.whl", hash = "sha256:673b891ed10c6478a45d4543c647b175a66a744f2dfdce7442f86d9dbf18c46f"}, +] +invenio-accounts = [ + {file = "invenio-accounts-1.1.4.tar.gz", hash = "sha256:8bc10f2b49214390a214a51bf4664d6f5b993c64b8acc4f599cad9c294b34167"}, + {file = "invenio_accounts-1.1.4-py2.py3-none-any.whl", hash = "sha256:668c299f7640574a6b390f7fa1a62162ec2187fa35529f3bb925847cdc127e37"}, +] +invenio-admin = [ + {file = "invenio-admin-1.1.3.tar.gz", hash = "sha256:dafa133999d50748e52ac681d4f37a99b2425f47f42179476d433d4cfa0c2ed4"}, + {file = "invenio_admin-1.1.3-py2.py3-none-any.whl", hash = "sha256:ab2b4a5b7f7f769f89130aa13f480e3d0c54216022c783538e7b8151a834c6b6"}, +] +invenio-app = [ + {file = "invenio-app-1.2.6.tar.gz", hash = "sha256:808d7de18f44f8646ef922e718640d98ef509d5ad678fc6409ebb0b71ae26097"}, + {file = "invenio_app-1.2.6-py2.py3-none-any.whl", hash = "sha256:bde2a425a1396f5261eab8cbae79269fe46342d36c1b918a9f1db3cc2a02bdd4"}, +] +invenio-assets = [ + {file = "invenio-assets-1.1.5.tar.gz", hash = "sha256:972ef7680a4760b2fbfb1c779724cd90a59c9f934a4b02c23fc7315b89c8e5b4"}, + {file = "invenio_assets-1.1.5-py2.py3-none-any.whl", hash = "sha256:38b228b871d073c71f9b6c7c98dbf89178a2fe2903119cd20267ab1ab4f1cb4e"}, +] +invenio-base = [ + {file = "invenio-base-1.2.3.tar.gz", hash = "sha256:cfbdd569a07ef8e3bdcbbd7aa7a1d0234c2cbc487b11391a954659409a2e05ad"}, + {file = "invenio_base-1.2.3-py2.py3-none-any.whl", hash = "sha256:8114532d16fdd4994403c8ffb079fd519cf60672a59d5f7278c426ba236b4c3e"}, +] +invenio-cache = [ + {file = "invenio-cache-1.0.0.tar.gz", hash = "sha256:f3620bb842f9084ddd5dc81f0fe234f58228c33f59e6771483fd09cb127201cc"}, + {file = "invenio_cache-1.0.0-py2.py3-none-any.whl", hash = "sha256:8431d8b68dbb737cd7035f6467fec18dd29ad9ac35e20405d52af6c2d294557a"}, +] +invenio-celery = [ + {file = "invenio-celery-1.1.3.tar.gz", hash = "sha256:808f244fa15465703436244a91ca039c6302eb755b873dbb454d65a36e419df4"}, + {file = "invenio_celery-1.1.3-py2.py3-none-any.whl", hash = "sha256:66160115ff49f625b4273e35c4b31599098dac255baa60c5a95e60b66edb22b6"}, +] +invenio-config = [ + {file = "invenio-config-1.0.3.tar.gz", hash = "sha256:9d10492b49a46703f0ac028ce8ab78b5ff1c72b180ecb4ffcee5bf49682d1e6c"}, + {file = "invenio_config-1.0.3-py2.py3-none-any.whl", hash = "sha256:238ab074991e7f0d6ee7ebc6eb2f5e41658749dd977ab6e86476e862c0efaf28"}, +] +invenio-db = [ + {file = "invenio-db-1.0.5.tar.gz", hash = "sha256:6d59a73fe7076d86dad36c8118816366b48ceda79f7f3527fe179f69946210a0"}, + {file = "invenio_db-1.0.5-py2.py3-none-any.whl", hash = "sha256:9045acaf03d16319544733f333dd7ad94853cbda910e4caadc08f71e9cc54b91"}, +] +invenio-formatter = [ + {file = "invenio-formatter-1.0.3.tar.gz", hash = "sha256:e0bde8cd4c99915bc358ea2450e98267a743620126cf8d28cebf547255db4fd7"}, + {file = "invenio_formatter-1.0.3-py2.py3-none-any.whl", hash = "sha256:730aa10f0d298805e3dd2d2f4b342a559cf736091a37ccd9b030f00f7cffec0a"}, +] +invenio-i18n = [ + {file = "invenio-i18n-1.1.1.tar.gz", hash = "sha256:69513d531ccffdfa47cec1e7cd701c72966573d2e9c4e24c96607cb7324dce48"}, + {file = "invenio_i18n-1.1.1-py2.py3-none-any.whl", hash = "sha256:b591d753cd79a98bbef98a0ac5d9abf105f5cb8af94614dbf92688782a7b77b0"}, +] +invenio-indexer = [ + {file = "invenio-indexer-1.1.2.tar.gz", hash = "sha256:9f96a55c99761d8d9abea105fe66edd6e0ddac872444d7c9f596e5b153448e41"}, +] +invenio-jsonschemas = [ + {file = "invenio-jsonschemas-1.0.2.tar.gz", hash = "sha256:3020f05a2ad6ec26a2a15f4a52cd0fac2db661e0a8bc4940550d1cf03335fa55"}, + {file = "invenio_jsonschemas-1.0.2-py2.py3-none-any.whl", hash = "sha256:d45af78869776949fde1890a2a66c2d7cbd61cf7968be7a501ce5e9d177dd47f"}, +] +invenio-logging = [ + {file = "invenio-logging-1.2.1.tar.gz", hash = "sha256:2aab96570ea6475f66054883a3430b166d67e3af68979110ddda6cd3e8dff477"}, + {file = "invenio_logging-1.2.1-py2.py3-none-any.whl", hash = "sha256:34a23a488c99b0d54c9dc374ec6bfa6688348495a5ccf7e460e3793045ba77ee"}, +] +invenio-mail = [ + {file = "invenio-mail-1.0.2.tar.gz", hash = "sha256:898952aa8984426074fd92b60bbe3ac67117cae0c724724aa63476416a7b7647"}, + {file = "invenio_mail-1.0.2-py2.py3-none-any.whl", hash = "sha256:fcd9ec4a89e0e68d09a9b9a638ee625e260ef98d6bc9d7aa172ec3969a95933f"}, +] +invenio-oaiharvester = [] +invenio-oaiserver = [ + {file = "invenio-oaiserver-1.1.2.tar.gz", hash = "sha256:aa2e5c562e3ce4dcda6cc192c73decf3e5e2814b6a788fa80f18156bf5a8b56b"}, + {file = "invenio_oaiserver-1.1.2-py2.py3-none-any.whl", hash = "sha256:b685a5288fee11c3798bb3818c01e5e150d051ff11f406e092e2d5e7b379c1dd"}, +] +invenio-oauth2server = [ + {file = "invenio-oauth2server-1.0.5.tar.gz", hash = "sha256:2e92b9fe976dd2a8cdbd5955713498ba777fde8bd24349129376798b12fe9c73"}, + {file = "invenio_oauth2server-1.0.5-py2.py3-none-any.whl", hash = "sha256:dc6f8ee7b04cb33a15a1a579b0f0312a2526ccfc914aadff034b6e81841c7890"}, +] +invenio-oauthclient = [ + {file = "invenio-oauthclient-1.1.3.tar.gz", hash = "sha256:1ec836adce24a686029c15a40c3aeb887d1e9431a5189132b3235d34325b4329"}, + {file = "invenio_oauthclient-1.1.3-py2.py3-none-any.whl", hash = "sha256:7e107b4554bf724fecba8b7108a9021982b7b4974fcaa6a4cd4620521a6bf31a"}, +] +invenio-pidstore = [ + {file = "invenio-pidstore-1.1.0.tar.gz", hash = "sha256:052f9972c4b91176609b339635d4b074fc2a9423a3fe78d9fff8576947099ca7"}, + {file = "invenio_pidstore-1.1.0-py2.py3-none-any.whl", hash = "sha256:76a16f24b3a7ac2f898969ce3012bf4b0b9969d5e8c4cd179657cc73c94e1b86"}, +] +invenio-records = [ + {file = "invenio-records-1.3.2.tar.gz", hash = "sha256:9cc95def65fdb46db21d935c0e29bb9296c749f17ac97c0962653ffa736b6414"}, + {file = "invenio_records-1.3.2-py2.py3-none-any.whl", hash = "sha256:8bc6a64446d23ea9e4b64fbf2069d0218d75a7313946ca1055a142ba0076b103"}, +] +invenio-records-rest = [ + {file = "invenio-records-rest-1.6.5.tar.gz", hash = "sha256:59aee01e2e77375078faf981949607aebb2bae7ba095f7a50e14c28524961ac8"}, + {file = "invenio_records_rest-1.6.5-py2.py3-none-any.whl", hash = "sha256:b6052c1109a169f89b99d55d9f8f5435041aea02d22ee583abda00421ae4e948"}, +] +invenio-records-ui = [ + {file = "invenio-records-ui-1.0.1.tar.gz", hash = "sha256:5f6c203735eb109f28a507e4b2d01acbf9e89ee0dc0d618f24cc3c072c73f830"}, + {file = "invenio_records_ui-1.0.1-py2.py3-none-any.whl", hash = "sha256:662f75200893375f0380347a9053e7b70938a2b370244ed69c6163a43e50b57b"}, +] +invenio-rest = [ + {file = "invenio-rest-1.1.3.tar.gz", hash = "sha256:3a76fc42cd1265e2a589a6bd8b0fa06d62e651e67a33b547d991b72b251600c9"}, + {file = "invenio_rest-1.1.3-py2.py3-none-any.whl", hash = "sha256:3f44ef712d8d0c2956ec841aaa3fb6434d3c8cf1dddad05d7a4cc98a50afc671"}, +] +invenio-search = [ + {file = "invenio-search-1.2.4.tar.gz", hash = "sha256:a2a681c96ce3896c73a4c3f8d1a6e98d5612cbe3b1dec25a6d2e26a8d7f55213"}, + {file = "invenio_search-1.2.4-py2.py3-none-any.whl", hash = "sha256:bf6b80906e5533066b0b508175af5587f89954d439d1706c07017a5c47b6279a"}, +] +invenio-theme = [ + {file = "invenio-theme-1.1.4.tar.gz", hash = "sha256:d642c08df6a8af099188a48043aedfe8a44971ebaf67bc8ae21cf1a96eae2916"}, + {file = "invenio_theme-1.1.4-py2.py3-none-any.whl", hash = "sha256:b98224b54fd94615d6588d3606c73b3cefa3963cafb8d859bd7c715036ba556a"}, +] +invenio-userprofiles = [ + {file = "invenio-userprofiles-1.0.1.tar.gz", hash = "sha256:607a8722a3a12af001a0435ca1baf1bbe7e5f359c237acf6c442cc8c5feba515"}, + {file = "invenio_userprofiles-1.0.1-py2.py3-none-any.whl", hash = "sha256:6ab44b7a7682b2ba883f58256bec3c789491c7e78b8e3526622e978647aa2ae6"}, +] +ipython = [ + {file = "ipython-7.15.0-py3-none-any.whl", hash = "sha256:1b85d65632211bf5d3e6f1406f3393c8c429a47d7b947b9a87812aa5bce6595c"}, + {file = "ipython-7.15.0.tar.gz", hash = "sha256:0ef1433879816a960cd3ae1ae1dc82c64732ca75cec8dab5a4e29783fb571d0e"}, +] +ipython-genutils = [ + {file = "ipython_genutils-0.2.0-py2.py3-none-any.whl", hash = "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8"}, + {file = "ipython_genutils-0.2.0.tar.gz", hash = "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"}, +] +isbnlib = [ + {file = "isbnlib-3.10.3-py2.py3-none-any.whl", hash = "sha256:55a0f8d2070ce366fd4d03b4f30fe6caf9d0cadb4ae107676980570473e41178"}, + {file = "isbnlib-3.10.3.tar.gz", hash = "sha256:2295c01465fe19776b1f9432fd99fd24e61230d146ded2752e0d980ef6f4101f"}, +] +isort = [ + {file = "isort-4.3.21-py2.py3-none-any.whl", hash = "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd"}, + {file = "isort-4.3.21.tar.gz", hash = "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1"}, +] +itsdangerous = [ + {file = "itsdangerous-1.1.0-py2.py3-none-any.whl", hash = "sha256:b12271b2047cb23eeb98c8b5622e2e5c5e9abd9784a153e9d8ef9cb4dd09d749"}, + {file = "itsdangerous-1.1.0.tar.gz", hash = "sha256:321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19"}, +] +jedi = [ + {file = "jedi-0.17.0-py2.py3-none-any.whl", hash = "sha256:cd60c93b71944d628ccac47df9a60fec53150de53d42dc10a7fc4b5ba6aae798"}, + {file = "jedi-0.17.0.tar.gz", hash = "sha256:df40c97641cb943661d2db4c33c2e1ff75d491189423249e989bcea4464f3030"}, +] +jinja2 = [ + {file = "Jinja2-2.11.2-py2.py3-none-any.whl", hash = "sha256:f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035"}, + {file = "Jinja2-2.11.2.tar.gz", hash = "sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0"}, +] +jsmin = [ + {file = "jsmin-2.2.2.tar.gz", hash = "sha256:b6df99b2cd1c75d9d342e4335b535789b8da9107ec748212706ef7bbe5c2553b"}, +] +jsonpatch = [ + {file = "jsonpatch-1.25-py2.py3-none-any.whl", hash = "sha256:cc3a7241010a1fd3f50145a3b33be2c03c1e679faa19934b628bb07d0f64819e"}, + {file = "jsonpatch-1.25.tar.gz", hash = "sha256:ddc0f7628b8bfdd62e3cbfbc24ca6671b0b6265b50d186c2cf3659dc0f78fd6a"}, +] +jsonpointer = [ + {file = "jsonpointer-2.0-py2.py3-none-any.whl", hash = "sha256:ff379fa021d1b81ab539f5ec467c7745beb1a5671463f9dcc2b2d458bd361c1e"}, + {file = "jsonpointer-2.0.tar.gz", hash = "sha256:c192ba86648e05fdae4f08a17ec25180a9aef5008d973407b581798a83975362"}, +] +jsonref = [ + {file = "jsonref-0.2-py3-none-any.whl", hash = "sha256:b1e82fa0b62e2c2796a13e5401fe51790b248f6d9bf9d7212a3e31a3501b291f"}, + {file = "jsonref-0.2.tar.gz", hash = "sha256:f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697"}, +] +jsonresolver = [ + {file = "jsonresolver-0.2.1-py2.py3-none-any.whl", hash = "sha256:bd4268b07143cc6a5895783185266e72be1546c9332febbd09f29ad80daa0f7e"}, + {file = "jsonresolver-0.2.1.tar.gz", hash = "sha256:cf1e37f4c8db7415a53f8118cde988ba746f486d890732bd83f6f1ff6083c11b"}, +] +jsonschema = [ + {file = "jsonschema-3.2.0-py2.py3-none-any.whl", hash = "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163"}, + {file = "jsonschema-3.2.0.tar.gz", hash = "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a"}, +] +kombu = [ + {file = "kombu-4.6.10-py2.py3-none-any.whl", hash = "sha256:dc282bb277197d723bccda1a9ba30a27a28c9672d0ab93e9e51bb05a37bd29c3"}, + {file = "kombu-4.6.10.tar.gz", hash = "sha256:437b9cdea193cc2ed0b8044c85fd0f126bb3615ca2f4d4a35b39de7cacfa3c1a"}, +] +limits = [ + {file = "limits-1.5.1-py2-none-any.whl", hash = "sha256:0e5f8b10f18dd809eb2342f5046eb9aa5e4e69a0258567b5f4aa270647d438b3"}, + {file = "limits-1.5.1.tar.gz", hash = "sha256:f0c3319f032c4bfad68438ed1325c0fac86dac64582c7c25cddc87a0b658fa20"}, +] +lxml = [ + {file = "lxml-4.2.5-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:fa39ea60d527fbdd94215b5e5552f1c6a912624521093f1384a491a8ad89ad8b"}, + {file = "lxml-4.2.5-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:ae07fa0c115733fce1e9da96a3ac3fa24801742ca17e917e0c79d63a01eeb843"}, + {file = "lxml-4.2.5-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:caf0e50b546bb60dfa99bb18dfa6748458a83131ecdceaf5c071d74907e7e78a"}, + {file = "lxml-4.2.5-cp27-cp27m-win32.whl", hash = "sha256:4815892904c336bbaf73dafd54f45f69f4021c22b5bad7332176bbf4fb830568"}, + {file = "lxml-4.2.5-cp27-cp27m-win_amd64.whl", hash = "sha256:81992565b74332c7c1aff6a913a3e906771aa81c9d0c68c68113cffcae45bc53"}, + {file = "lxml-4.2.5-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:abf181934ac3ef193832fb973fd7f6149b5c531903c2ec0f1220941d73eee601"}, + {file = "lxml-4.2.5-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:62939a8bb6758d1bf923aa1c13f0bcfa9bf5b2fc0f5fa917a6e25db5fe0cfa4e"}, + {file = "lxml-4.2.5-cp33-cp33m-win32.whl", hash = "sha256:02bc220d61f46e9b9d5a53c361ef95e9f5e1d27171cd461dddb17677ae2289a5"}, + {file = "lxml-4.2.5-cp33-cp33m-win_amd64.whl", hash = "sha256:bccb267678b870d9782c3b44d0cefe3ba0e329f9af8c946d32bf3778e7a4f271"}, + {file = "lxml-4.2.5-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:2f31145c7ff665b330919bfa44aacd3a0211a76ca7e7b441039d2a0b0451e415"}, + {file = "lxml-4.2.5-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:aab09fbe8abfa3b9ce62aaf45aca2d28726b1b9ee44871dbe644050a2fff4940"}, + {file = "lxml-4.2.5-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:b9c78242219f674ab645ec571c9a95d70f381319a23911941cd2358a8e0521cf"}, + {file = "lxml-4.2.5-cp34-cp34m-win32.whl", hash = "sha256:a623965c086a6e91bb703d4da62dabe59fe88888e82c4117d544e11fd74835d6"}, + {file = "lxml-4.2.5-cp34-cp34m-win_amd64.whl", hash = "sha256:9d862e3cf4fc1f2837dedce9c42269c8c76d027e49820a548ac89fdcee1e361f"}, + {file = "lxml-4.2.5-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:5be031b0f15ad63910d8e5038b489d95a79929513b3634ad4babf77100602588"}, + {file = "lxml-4.2.5-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:75830c06a62fe7b8fe3bbb5f269f0b308f19f3949ac81cfd40062f47c1455faf"}, + {file = "lxml-4.2.5-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:a7783ab7f6a508b0510490cef9f857b763d796ba7476d9703f89722928d1e113"}, + {file = "lxml-4.2.5-cp35-cp35m-win32.whl", hash = "sha256:e16e07a0ec3a75b5ee61f2b1003c35696738f937dc8148fbda9fe2147ccb6e61"}, + {file = "lxml-4.2.5-cp35-cp35m-win_amd64.whl", hash = "sha256:438a1b0203545521f6616132bfe0f4bca86f8a401364008b30e2b26ec408ce85"}, + {file = "lxml-4.2.5-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:8c892fb0ee52c594d9a7751c7d7356056a9682674b92cc1c4dc968ff0f30c52f"}, + {file = "lxml-4.2.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:c4df4d27f4c93b2cef74579f00b1d3a31a929c7d8023f870c4b476f03a274db4"}, + {file = "lxml-4.2.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:22f253b542a342755f6cfc047fe4d3a296515cf9b542bc6e261af45a80b8caf6"}, + {file = "lxml-4.2.5-cp36-cp36m-win32.whl", hash = "sha256:e175a006725c7faadbe69e791877d09936c0ef2cf49d01b60a6c1efcb0e8be6f"}, + {file = "lxml-4.2.5-cp36-cp36m-win_amd64.whl", hash = "sha256:edd9c13a97f6550f9da2236126bb51c092b3b1ce6187f2bd966533ad794bbb5e"}, + {file = "lxml-4.2.5-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:dbbd5cf7690a40a9f0a9325ab480d0fccf46d16b378eefc08e195d84299bfae1"}, + {file = "lxml-4.2.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:db0d213987bcd4e6d41710fb4532b22315b0d8fb439ff901782234456556aed1"}, + {file = "lxml-4.2.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:60842230678674cdac4a1cf0f707ef12d75b9a4fc4a565add4f710b5fcf185d5"}, + {file = "lxml-4.2.5-cp37-cp37m-win32.whl", hash = "sha256:5c93ae37c3c588e829b037fdfbd64a6e40c901d3f93f7beed6d724c44829a3ad"}, + {file = "lxml-4.2.5-cp37-cp37m-win_amd64.whl", hash = "sha256:d3266bd3ac59ac4edcd5fa75165dee80b94a3e5c91049df5f7c057ccf097551c"}, + {file = "lxml-4.2.5.tar.gz", hash = "sha256:36720698c29e7a9626a0dc802ef8885f8f0239bfd1689628ecd459a061f2807f"}, +] +mako = [ + {file = "Mako-1.1.3-py2.py3-none-any.whl", hash = "sha256:93729a258e4ff0747c876bd9e20df1b9758028946e976324ccd2d68245c7b6a9"}, + {file = "Mako-1.1.3.tar.gz", hash = "sha256:8195c8c1400ceb53496064314c6736719c6f25e7479cd24c77be3d9361cddc27"}, +] +markupsafe = [ + {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"}, + {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"}, + {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183"}, + {file = "MarkupSafe-1.1.1-cp27-cp27m-win32.whl", hash = "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b"}, + {file = "MarkupSafe-1.1.1-cp27-cp27m-win_amd64.whl", hash = "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e"}, + {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f"}, + {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-macosx_10_6_intel.whl", hash = "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-win32.whl", hash = "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-win_amd64.whl", hash = "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-win32.whl", hash = "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"}, + {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"}, +] +marshmallow = [ + {file = "marshmallow-2.21.0-py2.py3-none-any.whl", hash = "sha256:7cb1881a0fa84be4b5c1e301168236932c345f6910725f99905d636bfe93e9e9"}, + {file = "marshmallow-2.21.0.tar.gz", hash = "sha256:e9390c0c80437d7a02d84e3d1635dc20f37a8bcb149ca443d93791bdc683f28d"}, +] +maxminddb = [ + {file = "maxminddb-1.5.4.tar.gz", hash = "sha256:f4d28823d9ca23323d113dc7af8db2087aa4f657fafc64ff8f7a8afda871425b"}, +] +maxminddb-geolite2 = [ + {file = "maxminddb-geolite2-2018.703.tar.gz", hash = "sha256:2bd118c5567f3a8323d6c5da23a6e6d52cfc09cd9987b54eb712cf6001a96e03"}, +] +mock = [ + {file = "mock-4.0.2-py3-none-any.whl", hash = "sha256:3f9b2c0196c60d21838f307f5825a7b86b678cedc58ab9e50a8988187b4d81e0"}, + {file = "mock-4.0.2.tar.gz", hash = "sha256:dd33eb70232b6118298d516bbcecd26704689c386594f0f3c4f13867b2c56f72"}, +] +more-itertools = [ + {file = "more-itertools-8.3.0.tar.gz", hash = "sha256:558bb897a2232f5e4f8e2399089e35aecb746e1f9191b6584a151647e89267be"}, + {file = "more_itertools-8.3.0-py3-none-any.whl", hash = "sha256:7818f596b1e87be009031c7653d01acc46ed422e6656b394b0f765ce66ed4982"}, +] +msgpack = [ + {file = "msgpack-1.0.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:cec8bf10981ed70998d98431cd814db0ecf3384e6b113366e7f36af71a0fca08"}, + {file = "msgpack-1.0.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:aa5c057eab4f40ec47ea6f5a9825846be2ff6bf34102c560bad5cad5a677c5be"}, + {file = "msgpack-1.0.0-cp36-cp36m-macosx_10_13_x86_64.whl", hash = "sha256:4233b7f86c1208190c78a525cd3828ca1623359ef48f78a6fea4b91bb995775a"}, + {file = "msgpack-1.0.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:b3758dfd3423e358bbb18a7cccd1c74228dffa7a697e5be6cb9535de625c0dbf"}, + {file = "msgpack-1.0.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:25b3bc3190f3d9d965b818123b7752c5dfb953f0d774b454fd206c18fe384fb8"}, + {file = "msgpack-1.0.0-cp36-cp36m-win32.whl", hash = "sha256:e7bbdd8e2b277b77782f3ce34734b0dfde6cbe94ddb74de8d733d603c7f9e2b1"}, + {file = "msgpack-1.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:5dba6d074fac9b24f29aaf1d2d032306c27f04187651511257e7831733293ec2"}, + {file = "msgpack-1.0.0-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:908944e3f038bca67fcfedb7845c4a257c7749bf9818632586b53bcf06ba4b97"}, + {file = "msgpack-1.0.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:db685187a415f51d6b937257474ca72199f393dad89534ebbdd7d7a3b000080e"}, + {file = "msgpack-1.0.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ea41c9219c597f1d2bf6b374d951d310d58684b5de9dc4bd2976db9e1e22c140"}, + {file = "msgpack-1.0.0-cp37-cp37m-win32.whl", hash = "sha256:e35b051077fc2f3ce12e7c6a34cf309680c63a842db3a0616ea6ed25ad20d272"}, + {file = "msgpack-1.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:5bea44181fc8e18eed1d0cd76e355073f00ce232ff9653a0ae88cb7d9e643322"}, + {file = "msgpack-1.0.0-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:c901e8058dd6653307906c5f157f26ed09eb94a850dddd989621098d347926ab"}, + {file = "msgpack-1.0.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:271b489499a43af001a2e42f42d876bb98ccaa7e20512ff37ca78c8e12e68f84"}, + {file = "msgpack-1.0.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7a22c965588baeb07242cb561b63f309db27a07382825fc98aecaf0827c1538e"}, + {file = "msgpack-1.0.0-cp38-cp38-win32.whl", hash = "sha256:002a0d813e1f7b60da599bdf969e632074f9eec1b96cbed8fb0973a63160a408"}, + {file = "msgpack-1.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:39c54fdebf5fa4dda733369012c59e7d085ebdfe35b6cf648f09d16708f1be5d"}, + {file = "msgpack-1.0.0.tar.gz", hash = "sha256:9534d5cc480d4aff720233411a1f765be90885750b07df772380b34c10ecb5c0"}, +] +node-semver = [ + {file = "node-semver-0.1.1.tar.gz", hash = "sha256:e29ee4e51efb6d82c55aef5d569b888842e62e6404ce95df18d80c421f8e7dac"}, +] +oauthlib = [ + {file = "oauthlib-2.1.0-py2.py3-none-any.whl", hash = "sha256:d883b36b21a6ad813953803edfa563b1b579d79ca758fe950d1bc9e8b326025b"}, + {file = "oauthlib-2.1.0.tar.gz", hash = "sha256:ac35665a61c1685c56336bda97d5eefa246f1202618a1d6f34fccb1bdd404162"}, +] +packaging = [ + {file = "packaging-20.4-py2.py3-none-any.whl", hash = "sha256:998416ba6962ae7fbd6596850b80e17859a5753ba17c32284f67bfff33784181"}, + {file = "packaging-20.4.tar.gz", hash = "sha256:4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8"}, +] +parso = [ + {file = "parso-0.7.0-py2.py3-none-any.whl", hash = "sha256:158c140fc04112dc45bca311633ae5033c2c2a7b732fa33d0955bad8152a8dd0"}, + {file = "parso-0.7.0.tar.gz", hash = "sha256:908e9fae2144a076d72ae4e25539143d40b8e3eafbaeae03c1bfe226f4cdf12c"}, +] +passlib = [ + {file = "passlib-1.7.2-py2.py3-none-any.whl", hash = "sha256:68c35c98a7968850e17f1b6892720764cc7eed0ef2b7cb3116a89a28e43fe177"}, + {file = "passlib-1.7.2.tar.gz", hash = "sha256:8d666cef936198bc2ab47ee9b0410c94adf2ba798e5a84bf220be079ae7ab6a8"}, +] +pep517 = [ + {file = "pep517-0.8.2-py2.py3-none-any.whl", hash = "sha256:576c480be81f3e1a70a16182c762311eb80d1f8a7b0d11971e5234967d7a342c"}, + {file = "pep517-0.8.2.tar.gz", hash = "sha256:8e6199cf1288d48a0c44057f112acf18aa5ebabbf73faa242f598fbe145ba29e"}, +] +pep8 = [ + {file = "pep8-1.7.1-py2.py3-none-any.whl", hash = "sha256:b22cfae5db09833bb9bd7c8463b53e1a9c9b39f12e304a8d0bba729c501827ee"}, + {file = "pep8-1.7.1.tar.gz", hash = "sha256:fe249b52e20498e59e0b5c5256aa52ee99fc295b26ec9eaa85776ffdb9fe6374"}, +] +pexpect = [ + {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"}, + {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"}, +] +pickleshare = [ + {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"}, + {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"}, +] +pluggy = [ + {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"}, + {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, +] +prompt-toolkit = [ + {file = "prompt_toolkit-3.0.3-py3-none-any.whl", hash = "sha256:c93e53af97f630f12f5f62a3274e79527936ed466f038953dfa379d4941f651a"}, + {file = "prompt_toolkit-3.0.3.tar.gz", hash = "sha256:a402e9bf468b63314e37460b68ba68243d55b2f8c4d0192f85a019af3945050e"}, + {file = "prompt_toolkit-3.0.5-py3-none-any.whl", hash = "sha256:df7e9e63aea609b1da3a65641ceaf5bc7d05e0a04de5bd45d05dbeffbabf9e04"}, + {file = "prompt_toolkit-3.0.5.tar.gz", hash = "sha256:563d1a4140b63ff9dd587bda9557cffb2fe73650205ab6f4383092fb882e7dc8"}, +] +psycopg2-binary = [ + {file = "psycopg2-binary-2.8.5.tar.gz", hash = "sha256:ccdc6a87f32b491129ada4b87a43b1895cf2c20fdb7f98ad979647506ffc41b6"}, + {file = "psycopg2_binary-2.8.5-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:96d3038f5bd061401996614f65d27a4ecb62d843eb4f48e212e6d129171a721f"}, + {file = "psycopg2_binary-2.8.5-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:08507efbe532029adee21b8d4c999170a83760d38249936038bd0602327029b5"}, + {file = "psycopg2_binary-2.8.5-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:b9a8b391c2b0321e0cd7ec6b4cfcc3dd6349347bd1207d48bcb752aa6c553a66"}, + {file = "psycopg2_binary-2.8.5-cp27-cp27m-win32.whl", hash = "sha256:3286541b9d85a340ee4ed42732d15fc1bb441dc500c97243a768154ab8505bb5"}, + {file = "psycopg2_binary-2.8.5-cp27-cp27m-win_amd64.whl", hash = "sha256:008da3ab51adc70a5f1cfbbe5db3a22607ab030eb44bcecf517ad11a0c2b3cac"}, + {file = "psycopg2_binary-2.8.5-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:ba13346ff6d3eb2dca0b6fa0d8a9d999eff3dcd9b55f3a890f12b0b6362b2b38"}, + {file = "psycopg2_binary-2.8.5-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:c8830b7d5f16fd79d39b21e3d94f247219036b29b30c8270314c46bf8b732389"}, + {file = "psycopg2_binary-2.8.5-cp34-cp34m-win32.whl", hash = "sha256:51f7823f1b087d2020d8e8c9e6687473d3d239ba9afc162d9b2ab6e80b53f9f9"}, + {file = "psycopg2_binary-2.8.5-cp34-cp34m-win_amd64.whl", hash = "sha256:107d9be3b614e52a192719c6bf32e8813030020ea1d1215daa86ded9a24d8b04"}, + {file = "psycopg2_binary-2.8.5-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:930315ac53dc65cbf52ab6b6d27422611f5fb461d763c531db229c7e1af6c0b3"}, + {file = "psycopg2_binary-2.8.5-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:6bb2dd006a46a4a4ce95201f836194eb6a1e863f69ee5bab506673e0ca767057"}, + {file = "psycopg2_binary-2.8.5-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:3939cf75fc89c5e9ed836e228c4a63604dff95ad19aed2bbf71d5d04c15ed5ce"}, + {file = "psycopg2_binary-2.8.5-cp35-cp35m-win32.whl", hash = "sha256:a20299ee0ea2f9cca494396ac472d6e636745652a64a418b39522c120fd0a0a4"}, + {file = "psycopg2_binary-2.8.5-cp35-cp35m-win_amd64.whl", hash = "sha256:cc30cb900f42c8a246e2cb76539d9726f407330bc244ca7729c41a44e8d807fb"}, + {file = "psycopg2_binary-2.8.5-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:40abc319f7f26c042a11658bf3dd3b0b3bceccf883ec1c565d5c909a90204434"}, + {file = "psycopg2_binary-2.8.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:702f09d8f77dc4794651f650828791af82f7c2efd8c91ae79e3d9fe4bb7d4c98"}, + {file = "psycopg2_binary-2.8.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:d1a8b01f6a964fec702d6b6dac1f91f2b9f9fe41b310cbb16c7ef1fac82df06d"}, + {file = "psycopg2_binary-2.8.5-cp36-cp36m-win32.whl", hash = "sha256:17a0ea0b0eabf07035e5e0d520dabc7950aeb15a17c6d36128ba99b2721b25b1"}, + {file = "psycopg2_binary-2.8.5-cp36-cp36m-win_amd64.whl", hash = "sha256:e004db88e5a75e5fdab1620fb9f90c9598c2a195a594225ac4ed2a6f1c23e162"}, + {file = "psycopg2_binary-2.8.5-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:a34826d6465c2e2bbe9d0605f944f19d2480589f89863ed5f091943be27c9de4"}, + {file = "psycopg2_binary-2.8.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:cac918cd7c4c498a60f5d2a61d4f0a6091c2c9490d81bc805c963444032d0dab"}, + {file = "psycopg2_binary-2.8.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:7b832d76cc65c092abd9505cc670c4e3421fd136fb6ea5b94efbe4c146572505"}, + {file = "psycopg2_binary-2.8.5-cp37-cp37m-win32.whl", hash = "sha256:bb0608694a91db1e230b4a314e8ed00ad07ed0c518f9a69b83af2717e31291a3"}, + {file = "psycopg2_binary-2.8.5-cp37-cp37m-win_amd64.whl", hash = "sha256:eb2f43ae3037f1ef5e19339c41cf56947021ac892f668765cd65f8ab9814192e"}, + {file = "psycopg2_binary-2.8.5-cp38-cp38-macosx_10_9_x86_64.macosx_10_9_intel.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:07cf82c870ec2d2ce94d18e70c13323c89f2f2a2628cbf1feee700630be2519a"}, + {file = "psycopg2_binary-2.8.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:a69970ee896e21db4c57e398646af9edc71c003bc52a3cc77fb150240fefd266"}, + {file = "psycopg2_binary-2.8.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7036ccf715925251fac969f4da9ad37e4b7e211b1e920860148a10c0de963522"}, + {file = "psycopg2_binary-2.8.5-cp38-cp38-win32.whl", hash = "sha256:8f74e631b67482d504d7e9cf364071fc5d54c28e79a093ff402d5f8f81e23bfa"}, + {file = "psycopg2_binary-2.8.5-cp38-cp38-win_amd64.whl", hash = "sha256:fa466306fcf6b39b8a61d003123d442b23707d635a5cb05ac4e1b62cc79105cd"}, +] +ptyprocess = [ + {file = "ptyprocess-0.6.0-py2.py3-none-any.whl", hash = "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f"}, + {file = "ptyprocess-0.6.0.tar.gz", hash = "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0"}, +] +py = [ + {file = "py-1.8.1-py2.py3-none-any.whl", hash = "sha256:c20fdd83a5dbc0af9efd622bee9a5564e278f6380fffcacc43ba6f43db2813b0"}, + {file = "py-1.8.1.tar.gz", hash = "sha256:5e27081401262157467ad6e7f851b7aa402c5852dbcb3dae06768434de5752aa"}, +] +pycparser = [ + {file = "pycparser-2.20-py2.py3-none-any.whl", hash = "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"}, + {file = "pycparser-2.20.tar.gz", hash = "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0"}, +] +pydocstyle = [ + {file = "pydocstyle-5.0.2-py3-none-any.whl", hash = "sha256:da7831660b7355307b32778c4a0dbfb137d89254ef31a2b2978f50fc0b4d7586"}, + {file = "pydocstyle-5.0.2.tar.gz", hash = "sha256:f4f5d210610c2d153fae39093d44224c17429e2ad7da12a8b419aba5c2f614b5"}, +] +pyflakes = [ + {file = "pyflakes-2.2.0-py2.py3-none-any.whl", hash = "sha256:0d94e0e05a19e57a99444b6ddcf9a6eb2e5c68d3ca1e98e90707af8152c90a92"}, + {file = "pyflakes-2.2.0.tar.gz", hash = "sha256:35b2d75ee967ea93b55750aa9edbbf72813e06a66ba54438df2cfac9e3c27fc8"}, +] +pygments = [ + {file = "Pygments-2.6.1-py3-none-any.whl", hash = "sha256:ff7a40b4860b727ab48fad6360eb351cc1b33cbf9b15a0f689ca5353e9463324"}, + {file = "Pygments-2.6.1.tar.gz", hash = "sha256:647344a061c249a3b74e230c739f434d7ea4d8b1d5f3721bc0f3558049b38f44"}, +] +pyjwt = [ + {file = "PyJWT-1.7.1-py2.py3-none-any.whl", hash = "sha256:5c6eca3c2940464d106b99ba83b00c6add741c9becaec087fb7ccdefea71350e"}, + {file = "PyJWT-1.7.1.tar.gz", hash = "sha256:8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96"}, +] +pynpm = [ + {file = "pynpm-0.1.2-py2.py3-none-any.whl", hash = "sha256:3f03fbf667549f8b8b7e0419eef88d1b21833ce288f96de66fbb761b9f4c4061"}, + {file = "pynpm-0.1.2.tar.gz", hash = "sha256:8a6d3f9423760cf3c142db3bf9bda5a075e8a91837e7d2e2b0a3de5be5e26da2"}, +] +pyparsing = [ + {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, + {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, +] +pyrsistent = [ + {file = "pyrsistent-0.16.0.tar.gz", hash = "sha256:28669905fe725965daa16184933676547c5bb40a5153055a8dee2a4bd7933ad3"}, +] +pytest = [ + {file = "pytest-5.4.3-py3-none-any.whl", hash = "sha256:5c0db86b698e8f170ba4582a492248919255fcd4c79b1ee64ace34301fb589a1"}, + {file = "pytest-5.4.3.tar.gz", hash = "sha256:7979331bfcba207414f5e1263b5a0f8f521d0f457318836a7355531ed1a4c7d8"}, +] +pytest-cache = [ + {file = "pytest-cache-1.0.tar.gz", hash = "sha256:be7468edd4d3d83f1e844959fd6e3fd28e77a481440a7118d430130ea31b07a9"}, +] +pytest-cov = [ + {file = "pytest-cov-2.9.0.tar.gz", hash = "sha256:b6a814b8ed6247bd81ff47f038511b57fe1ce7f4cc25b9106f1a4b106f1d9322"}, + {file = "pytest_cov-2.9.0-py2.py3-none-any.whl", hash = "sha256:c87dfd8465d865655a8213859f1b4749b43448b5fae465cb981e16d52a811424"}, +] +pytest-flask = [ + {file = "pytest-flask-0.15.1.tar.gz", hash = "sha256:cbd8c5b9f8f1b83e9c159ac4294964807c4934317a5fba181739ac15e1b823e6"}, + {file = "pytest_flask-0.15.1-py2.py3-none-any.whl", hash = "sha256:9001f6128c5c4a0d243ce46c117f3691052828d2faf39ac151b8388657dce447"}, +] +pytest-invenio = [ + {file = "pytest-invenio-1.2.2.tar.gz", hash = "sha256:06d94d1e839e2d60e626284566ffdb2d254613a3bb91fb6803286f67b3dfdd7e"}, + {file = "pytest_invenio-1.2.2-py2.py3-none-any.whl", hash = "sha256:bb5e14605ce6ee2d699f6909707b99bd169bf075cf47424598c4092385c8ffbe"}, +] +pytest-mock = [ + {file = "pytest-mock-3.1.1.tar.gz", hash = "sha256:636e792f7dd9e2c80657e174c04bf7aa92672350090736d82e97e92ce8f68737"}, + {file = "pytest_mock-3.1.1-py3-none-any.whl", hash = "sha256:a9fedba70e37acf016238bb2293f2652ce19985ceb245bbd3d7f3e4032667402"}, +] +pytest-pep8 = [ + {file = "pytest-pep8-1.0.6.tar.gz", hash = "sha256:032ef7e5fa3ac30f4458c73e05bb67b0f036a8a5cb418a534b3170f89f120318"}, +] +pytest-random-order = [ + {file = "pytest-random-order-1.0.4.tar.gz", hash = "sha256:6b2159342a4c8c10855bc4fc6d65ee890fc614cb2b4ff688979b008a82a0ff52"}, + {file = "pytest_random_order-1.0.4-py3-none-any.whl", hash = "sha256:72279a7f823969e18b10e438950f58330d17e0fcffb57cbd7929770cd687ecb2"}, +] +pytest-runner = [ + {file = "pytest-runner-4.5.1.tar.gz", hash = "sha256:d1cb3d654b120d6124914bc33dcd25679860464545e4509bb6bf96eed5a2f1ef"}, + {file = "pytest_runner-4.5.1-py2.py3-none-any.whl", hash = "sha256:175d3d9271332b54df0190bec59c3614676f6895ad1056aa391ed034e03f95f6"}, +] +python-dateutil = [ + {file = "python-dateutil-2.8.1.tar.gz", hash = "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c"}, + {file = "python_dateutil-2.8.1-py2.py3-none-any.whl", hash = "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a"}, +] +python-dotenv = [ + {file = "python-dotenv-0.13.0.tar.gz", hash = "sha256:3b9909bc96b0edc6b01586e1eed05e71174ef4e04c71da5786370cebea53ad74"}, + {file = "python_dotenv-0.13.0-py2.py3-none-any.whl", hash = "sha256:25c0ff1a3e12f4bde8d592cc254ab075cfe734fc5dd989036716fd17ee7e5ec7"}, +] +python-editor = [ + {file = "python-editor-1.0.4.tar.gz", hash = "sha256:51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b"}, + {file = "python_editor-1.0.4-py2-none-any.whl", hash = "sha256:5f98b069316ea1c2ed3f67e7f5df6c0d8f10b689964a4a811ff64f0106819ec8"}, + {file = "python_editor-1.0.4-py2.7.egg", hash = "sha256:ea87e17f6ec459e780e4221f295411462e0d0810858e055fc514684350a2f522"}, + {file = "python_editor-1.0.4-py3-none-any.whl", hash = "sha256:1bf6e860a8ad52a14c3ee1252d5dc25b2030618ed80c022598f00176adc8367d"}, + {file = "python_editor-1.0.4-py3.5.egg", hash = "sha256:c3da2053dbab6b29c94e43c486ff67206eafbe7eb52dbec7390b5e2fb05aac77"}, +] +pytz = [ + {file = "pytz-2020.1-py2.py3-none-any.whl", hash = "sha256:a494d53b6d39c3c6e44c3bec237336e14305e4f29bbf800b599253057fbb79ed"}, + {file = "pytz-2020.1.tar.gz", hash = "sha256:c35965d010ce31b23eeb663ed3cc8c906275d6be1a34393a1d73a41febf4a048"}, +] +pywebpack = [ + {file = "pywebpack-1.1.0-py2.py3-none-any.whl", hash = "sha256:fea5eaa4f8ef718657fc6b74ce04c83e10819fea80bd56afbc46084465b3cc6f"}, + {file = "pywebpack-1.1.0.tar.gz", hash = "sha256:7426895c50a76eb64c149f96df12adadabdc0b1ef7a3f2e5b6526be4e38c8972"}, +] +pyyaml = [ + {file = "PyYAML-5.3.1-cp27-cp27m-win32.whl", hash = "sha256:74809a57b329d6cc0fdccee6318f44b9b8649961fa73144a98735b0aaf029f1f"}, + {file = "PyYAML-5.3.1-cp27-cp27m-win_amd64.whl", hash = "sha256:240097ff019d7c70a4922b6869d8a86407758333f02203e0fc6ff79c5dcede76"}, + {file = "PyYAML-5.3.1-cp35-cp35m-win32.whl", hash = "sha256:4f4b913ca1a7319b33cfb1369e91e50354d6f07a135f3b901aca02aa95940bd2"}, + {file = "PyYAML-5.3.1-cp35-cp35m-win_amd64.whl", hash = "sha256:cc8955cfbfc7a115fa81d85284ee61147059a753344bc51098f3ccd69b0d7e0c"}, + {file = "PyYAML-5.3.1-cp36-cp36m-win32.whl", hash = "sha256:7739fc0fa8205b3ee8808aea45e968bc90082c10aef6ea95e855e10abf4a37b2"}, + {file = "PyYAML-5.3.1-cp36-cp36m-win_amd64.whl", hash = "sha256:69f00dca373f240f842b2931fb2c7e14ddbacd1397d57157a9b005a6a9942648"}, + {file = "PyYAML-5.3.1-cp37-cp37m-win32.whl", hash = "sha256:d13155f591e6fcc1ec3b30685d50bf0711574e2c0dfffd7644babf8b5102ca1a"}, + {file = "PyYAML-5.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:73f099454b799e05e5ab51423c7bcf361c58d3206fa7b0d555426b1f4d9a3eaf"}, + {file = "PyYAML-5.3.1-cp38-cp38-win32.whl", hash = "sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97"}, + {file = "PyYAML-5.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:95f71d2af0ff4227885f7a6605c37fd53d3a106fcab511b8860ecca9fcf400ee"}, + {file = "PyYAML-5.3.1.tar.gz", hash = "sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d"}, +] +raven = [ + {file = "raven-5.33.0-py2.py3-none-any.whl", hash = "sha256:8b10277829d82b1b6ce29650fb8d97f4f47c9b64bb78f09a438b1ef47af24f97"}, + {file = "raven-5.33.0.tar.gz", hash = "sha256:85af57123d22e9cbe6d1de671c27d337cec45b22e7d5b907578281f8384a2822"}, +] +redis = [ + {file = "redis-3.5.3-py2.py3-none-any.whl", hash = "sha256:432b788c4530cfe16d8d943a09d40ca6c16149727e4afe8c2c9d5580c59d9f24"}, + {file = "redis-3.5.3.tar.gz", hash = "sha256:0e7e0cfca8660dea8b7d5cd8c4f6c5e29e11f31158c0b0ae91a397f00e5a05a2"}, +] +requests = [ + {file = "requests-2.23.0-py2.py3-none-any.whl", hash = "sha256:43999036bfa82904b6af1d99e4882b560e5e2c68e5c4b0aa03b655f3d7d73fee"}, + {file = "requests-2.23.0.tar.gz", hash = "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6"}, +] +requests-oauthlib = [ + {file = "requests-oauthlib-1.1.0.tar.gz", hash = "sha256:eabd8eb700ebed81ba080c6ead96d39d6bdc39996094bd23000204f6965786b0"}, + {file = "requests_oauthlib-1.1.0-py2.py3-none-any.whl", hash = "sha256:be76f2bb72ca5525998e81d47913e09b1ca8b7957ae89b46f787a79e68ad5e61"}, + {file = "requests_oauthlib-1.1.0-py3.7.egg", hash = "sha256:490229d14a98e1b69612dcc1a22887ec14f5487dc1b8c6d7ba7f77a42ce7347b"}, +] +responses = [ + {file = "responses-0.10.14-py2.py3-none-any.whl", hash = "sha256:3d596d0be06151330cb230a2d630717ab20f7a81f205019481e206eb5db79915"}, + {file = "responses-0.10.14.tar.gz", hash = "sha256:1a78bc010b20a5022a2c0cb76b8ee6dc1e34d887972615ebd725ab9a166a4960"}, +] +safety = [ + {file = "safety-1.9.0-py2.py3-none-any.whl", hash = "sha256:86c1c4a031fe35bd624fce143fbe642a0234d29f7cbf7a9aa269f244a955b087"}, + {file = "safety-1.9.0.tar.gz", hash = "sha256:23bf20690d4400edc795836b0c983c2b4cbbb922233108ff925b7dd7750f00c9"}, +] +selenium = [ + {file = "selenium-3.141.0-py2.py3-none-any.whl", hash = "sha256:2d7131d7bc5a5b99a2d9b04aaf2612c411b03b8ca1b1ee8d3de5845a9be2cb3c"}, + {file = "selenium-3.141.0.tar.gz", hash = "sha256:deaf32b60ad91a4611b98d8002757f29e6f2c2d5fcaf202e1c9ad06d6772300d"}, +] +sentry-sdk = [ + {file = "sentry-sdk-0.14.4.tar.gz", hash = "sha256:0e5e947d0f7a969314aa23669a94a9712be5a688ff069ff7b9fc36c66adc160c"}, + {file = "sentry_sdk-0.14.4-py2.py3-none-any.whl", hash = "sha256:799a8bf76b012e3030a881be00e97bc0b922ce35dde699c6537122b751d80e2c"}, +] +sickle = [ + {file = "Sickle-0.7.0-py3-none-any.whl", hash = "sha256:6ace7b1d1fc76571fe0dbfefc2c49e5e6c026e2d0dcaae521f4da21e98d4bc85"}, + {file = "Sickle-0.7.0.tar.gz", hash = "sha256:8944bcda3db0109a361248ef71fef476dd1f11109cdd1a41135527b7992b958b"}, +] +simplejson = [ + {file = "simplejson-3.17.0-cp27-cp27m-macosx_10_13_x86_64.whl", hash = "sha256:87d349517b572964350cc1adc5a31b493bbcee284505e81637d0174b2758ba17"}, + {file = "simplejson-3.17.0-cp27-cp27m-win32.whl", hash = "sha256:1d1e929cdd15151f3c0b2efe953b3281b2fd5ad5f234f77aca725f28486466f6"}, + {file = "simplejson-3.17.0-cp27-cp27m-win_amd64.whl", hash = "sha256:1ea59f570b9d4916ae5540a9181f9c978e16863383738b69a70363bc5e63c4cb"}, + {file = "simplejson-3.17.0-cp33-cp33m-win32.whl", hash = "sha256:8027bd5f1e633eb61b8239994e6fc3aba0346e76294beac22a892eb8faa92ba1"}, + {file = "simplejson-3.17.0-cp33-cp33m-win_amd64.whl", hash = "sha256:22a7acb81968a7c64eba7526af2cf566e7e2ded1cb5c83f0906b17ff1540f866"}, + {file = "simplejson-3.17.0-cp34-cp34m-win32.whl", hash = "sha256:17163e643dbf125bb552de17c826b0161c68c970335d270e174363d19e7ea882"}, + {file = "simplejson-3.17.0-cp34-cp34m-win_amd64.whl", hash = "sha256:0fe3994207485efb63d8f10a833ff31236ed27e3b23dadd0bf51c9900313f8f2"}, + {file = "simplejson-3.17.0-cp35-cp35m-win32.whl", hash = "sha256:4cf91aab51b02b3327c9d51897960c554f00891f9b31abd8a2f50fd4a0071ce8"}, + {file = "simplejson-3.17.0-cp35-cp35m-win_amd64.whl", hash = "sha256:fc9051d249dd5512e541f20330a74592f7a65b2d62e18122ca89bf71f94db748"}, + {file = "simplejson-3.17.0-cp36-cp36m-macosx_10_13_x86_64.whl", hash = "sha256:86afc5b5cbd42d706efd33f280fec7bd7e2772ef54e3f34cf6b30777cd19a614"}, + {file = "simplejson-3.17.0-cp36-cp36m-win32.whl", hash = "sha256:926bcbef9eb60e798eabda9cd0bbcb0fca70d2779aa0aa56845749d973eb7ad5"}, + {file = "simplejson-3.17.0-cp36-cp36m-win_amd64.whl", hash = "sha256:daaf4d11db982791be74b23ff4729af2c7da79316de0bebf880fa2d60bcc8c5a"}, + {file = "simplejson-3.17.0-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:9a126c3a91df5b1403e965ba63b304a50b53d8efc908a8c71545ed72535374a3"}, + {file = "simplejson-3.17.0-cp37-cp37m-win32.whl", hash = "sha256:fc046afda0ed8f5295212068266c92991ab1f4a50c6a7144b69364bdee4a0159"}, + {file = "simplejson-3.17.0-cp37-cp37m-win_amd64.whl", hash = "sha256:7cce4bac7e0d66f3a080b80212c2238e063211fe327f98d764c6acbc214497fc"}, + {file = "simplejson-3.17.0.tar.gz", hash = "sha256:2b4b2b738b3b99819a17feaf118265d0753d5536049ea570b3c43b51c4701e81"}, + {file = "simplejson-3.17.0.win-amd64-py2.7.exe", hash = "sha256:1d346c2c1d7dd79c118f0cc7ec5a1c4127e0c8ffc83e7b13fc5709ff78c9bb84"}, + {file = "simplejson-3.17.0.win-amd64-py3.3.exe", hash = "sha256:5cfd495527f8b85ce21db806567de52d98f5078a8e9427b18e251c68bd573a26"}, + {file = "simplejson-3.17.0.win-amd64-py3.4.exe", hash = "sha256:8de378d589eccbc75941e480b4d5b4db66f22e4232f87543b136b1f093fff342"}, + {file = "simplejson-3.17.0.win-amd64-py3.5.exe", hash = "sha256:f4b64a1031acf33e281fd9052336d6dad4d35eee3404c95431c8c6bc7a9c0588"}, + {file = "simplejson-3.17.0.win-amd64-py3.6.exe", hash = "sha256:ad8dd3454d0c65c0f92945ac86f7b9efb67fa2040ba1b0189540e984df904378"}, + {file = "simplejson-3.17.0.win-amd64-py3.7.exe", hash = "sha256:229edb079d5dd81bf12da952d4d825bd68d1241381b37d3acf961b384c9934de"}, + {file = "simplejson-3.17.0.win32-py2.7.exe", hash = "sha256:4fd5f79590694ebff8dc980708e1c182d41ce1fda599a12189f0ca96bf41ad70"}, + {file = "simplejson-3.17.0.win32-py3.3.exe", hash = "sha256:d140e9376e7f73c1f9e0a8e3836caf5eec57bbafd99259d56979da05a6356388"}, + {file = "simplejson-3.17.0.win32-py3.4.exe", hash = "sha256:da00675e5e483ead345429d4f1374ab8b949fba4429d60e71ee9d030ced64037"}, + {file = "simplejson-3.17.0.win32-py3.5.exe", hash = "sha256:7739940d68b200877a15a5ff5149e1599737d6dd55e302625650629350466418"}, + {file = "simplejson-3.17.0.win32-py3.6.exe", hash = "sha256:60aad424e47c5803276e332b2a861ed7a0d46560e8af53790c4c4fb3420c26c2"}, + {file = "simplejson-3.17.0.win32-py3.7.exe", hash = "sha256:1fbba86098bbfc1f85c5b69dc9a6d009055104354e0d9880bb00b692e30e0078"}, +] +simplekv = [ + {file = "simplekv-0.14.1-py2-none-any.whl", hash = "sha256:af91a50af41a286a8b7b93292b21dd1af37f38e9513fea0eb4fa75ce778c1683"}, + {file = "simplekv-0.14.1-py3-none-any.whl", hash = "sha256:fcee8d972d092de0dc83732084e389c9b95839503537ef85c1a2eeb07182f2f5"}, + {file = "simplekv-0.14.1.tar.gz", hash = "sha256:8953a36cb3741ea821c9de1962b5313bf6fe1b927f6ced2a55266eb8ce2cd0f6"}, +] +six = [ + {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"}, + {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"}, +] +snowballstemmer = [ + {file = "snowballstemmer-2.0.0-py2.py3-none-any.whl", hash = "sha256:209f257d7533fdb3cb73bdbd24f436239ca3b2fa67d56f6ff88e86be08cc5ef0"}, + {file = "snowballstemmer-2.0.0.tar.gz", hash = "sha256:df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52"}, +] +speaklater = [ + {file = "speaklater-1.3.tar.gz", hash = "sha256:59fea336d0eed38c1f0bf3181ee1222d0ef45f3a9dd34ebe65e6bfffdd6a65a9"}, +] +sphinx = [ + {file = "Sphinx-3.0.4-py3-none-any.whl", hash = "sha256:779a519adbd3a70fc7c468af08c5e74829868b0a5b34587b33340e010291856c"}, + {file = "Sphinx-3.0.4.tar.gz", hash = "sha256:ea64df287958ee5aac46be7ac2b7277305b0381d213728c3a49d8bb9b8415807"}, +] +sphinxcontrib-applehelp = [ + {file = "sphinxcontrib-applehelp-1.0.2.tar.gz", hash = "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58"}, + {file = "sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a"}, +] +sphinxcontrib-devhelp = [ + {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, + {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, +] +sphinxcontrib-htmlhelp = [ + {file = "sphinxcontrib-htmlhelp-1.0.3.tar.gz", hash = "sha256:e8f5bb7e31b2dbb25b9cc435c8ab7a79787ebf7f906155729338f3156d93659b"}, + {file = "sphinxcontrib_htmlhelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:3c0bc24a2c41e340ac37c85ced6dafc879ab485c095b1d65d2461ac2f7cca86f"}, +] +sphinxcontrib-jsmath = [ + {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, + {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] +sphinxcontrib-qthelp = [ + {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, + {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, +] +sphinxcontrib-serializinghtml = [ + {file = "sphinxcontrib-serializinghtml-1.1.4.tar.gz", hash = "sha256:eaa0eccc86e982a9b939b2b82d12cc5d013385ba5eadcc7e4fed23f4405f77bc"}, + {file = "sphinxcontrib_serializinghtml-1.1.4-py2.py3-none-any.whl", hash = "sha256:f242a81d423f59617a8e5cf16f5d4d74e28ee9a66f9e5b637a18082991db5a9a"}, +] +sqlalchemy = [ + {file = "SQLAlchemy-1.3.17.tar.gz", hash = "sha256:156a27548ba4e1fed944ff9fcdc150633e61d350d673ae7baaf6c25c04ac1f71"}, +] +sqlalchemy-continuum = [ + {file = "SQLAlchemy-Continuum-1.3.11.tar.gz", hash = "sha256:bc13b0a96110129fd2c2b4c9e5b2f40f320bb26854b09c867e383394746a3eb1"}, +] +sqlalchemy-utils = [ + {file = "SQLAlchemy-Utils-0.35.0.tar.gz", hash = "sha256:01f0f0ebed696386bc7bf9231cd6894087baba374dd60f40eb1b07512d6b1a5e"}, +] +toml = [ + {file = "toml-0.10.1-py2.py3-none-any.whl", hash = "sha256:bda89d5935c2eac546d648028b9901107a595863cb36bae0c73ac804a9b4ce88"}, + {file = "toml-0.10.1.tar.gz", hash = "sha256:926b612be1e5ce0634a2ca03470f95169cf16f939018233a670519cb4ac58b0f"}, +] +traitlets = [ + {file = "traitlets-4.3.3-py2.py3-none-any.whl", hash = "sha256:70b4c6a1d9019d7b4f6846832288f86998aa3b9207c6821f3578a6a6a467fe44"}, + {file = "traitlets-4.3.3.tar.gz", hash = "sha256:d023ee369ddd2763310e4c3eae1ff649689440d4ae59d7485eb4cfbbe3e359f7"}, +] +ua-parser = [ + {file = "ua-parser-0.10.0.tar.gz", hash = "sha256:47b1782ed130d890018d983fac37c2a80799d9e0b9c532e734c67cf70f185033"}, + {file = "ua_parser-0.10.0-py2.py3-none-any.whl", hash = "sha256:46ab2e383c01dbd2ab284991b87d624a26a08f72da4d7d413f5bfab8b9036f8a"}, +] +uritools = [ + {file = "uritools-3.0.0-py3-none-any.whl", hash = "sha256:5ba20a5de979a6a65b3d55998bee86ca1d97075d0f22923b85590b5e39c2b307"}, + {file = "uritools-3.0.0.tar.gz", hash = "sha256:405917a31ce58a57c8ccd0e4ea290f38baf2f4823819c3688f5331f1aee4ccb0"}, +] +urllib3 = [ + {file = "urllib3-1.25.9-py2.py3-none-any.whl", hash = "sha256:88206b0eb87e6d677d424843ac5209e3fb9d0190d0ee169599165ec25e9d9115"}, + {file = "urllib3-1.25.9.tar.gz", hash = "sha256:3018294ebefce6572a474f0604c2021e33b3fd8006ecd11d62107a5d2a963527"}, +] +uwsgi = [ + {file = "uwsgi-2.0.18.tar.gz", hash = "sha256:4972ac538800fb2d421027f49b4a1869b66048839507ccf0aa2fda792d99f583"}, +] +uwsgi-tools = [ + {file = "uwsgi-tools-1.1.1.tar.gz", hash = "sha256:565e10945c50ed6f4378168a2a609bb7d1c2c5b21ab23edd1ad5f73d15ab6356"}, + {file = "uwsgi_tools-1.1.1-py3-none-any.whl", hash = "sha256:7d557c83b1803962ea73c2f19688b0d5e7d212f382d0a1a0a4586ae0f34f4cb2"}, +] +uwsgitop = [ + {file = "uwsgitop-0.11.tar.gz", hash = "sha256:99ca245119e4a0600840a62b7b4e020c9870fe90952b24eecfff0c9090c75d14"}, +] +validators = [ + {file = "validators-0.15.0.tar.gz", hash = "sha256:31e8bb01b48b48940a021b8a9576b840f98fa06b91762ef921d02cb96d38727a"}, +] +vine = [ + {file = "vine-1.3.0-py2.py3-none-any.whl", hash = "sha256:ea4947cc56d1fd6f2095c8d543ee25dad966f78692528e68b4fada11ba3f98af"}, + {file = "vine-1.3.0.tar.gz", hash = "sha256:133ee6d7a9016f177ddeaf191c1f58421a1dcc6ee9a42c58b34bed40e1d2cd87"}, +] +wcwidth = [ + {file = "wcwidth-0.2.3-py2.py3-none-any.whl", hash = "sha256:980fbf4f3c196c0f329cdcd1e84c554d6a211f18e252e525a0cf4223154a41d6"}, + {file = "wcwidth-0.2.3.tar.gz", hash = "sha256:edbc2b718b4db6cdf393eefe3a420183947d6aa312505ce6754516f458ff8830"}, +] +webargs = [ + {file = "webargs-5.5.3-py2-none-any.whl", hash = "sha256:fc81c9f9d391acfbce406a319217319fd8b2fd862f7fdb5319ad06944f36ed25"}, + {file = "webargs-5.5.3-py3-none-any.whl", hash = "sha256:4f04918864c7602886335d8099f9b8960ee698b6b914f022736ed50be6b71235"}, + {file = "webargs-5.5.3.tar.gz", hash = "sha256:871642a2e0c62f21d5b78f357750ac7a87e6bc734c972f633aa5fb6204fbf29a"}, +] +webassets = [ + {file = "webassets-2.0-py3-none-any.whl", hash = "sha256:a31a55147752ba1b3dc07dee0ad8c8efff274464e08bbdb88c1fd59ffd552724"}, + {file = "webassets-2.0.tar.gz", hash = "sha256:167132337677c8cedc9705090f6d48da3fb262c8e0b2773b29f3352f050181cd"}, +] +webencodings = [ + {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, + {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, +] +werkzeug = [ + {file = "Werkzeug-0.16.1-py2.py3-none-any.whl", hash = "sha256:1e0dedc2acb1f46827daa2e399c1485c8fa17c0d8e70b6b875b4e7f54bf408d2"}, + {file = "Werkzeug-0.16.1.tar.gz", hash = "sha256:b353856d37dec59d6511359f97f6a4b2468442e454bd1c98298ddce53cac1f04"}, +] +wtforms = [ + {file = "WTForms-2.3.1-py2.py3-none-any.whl", hash = "sha256:6ff8635f4caeed9f38641d48cfe019d0d3896f41910ab04494143fc027866e1b"}, + {file = "WTForms-2.3.1.tar.gz", hash = "sha256:861a13b3ae521d6700dac3b2771970bd354a63ba7043ecc3a82b5288596a1972"}, +] +wtforms-alchemy = [ + {file = "WTForms-Alchemy-0.17.0.tar.gz", hash = "sha256:b689314354d7405616402fa2c86f90f027e28ae067e09b5477aac815639053b9"}, +] +wtforms-components = [ + {file = "WTForms-Components-0.10.4.tar.gz", hash = "sha256:4a7751fc12dc4e4b2ef5700973296b5368094dcdf85c2808d2faff2c8e8f4caa"}, +] +zipp = [ + {file = "zipp-3.1.0-py3-none-any.whl", hash = "sha256:aa36550ff0c0b7ef7fa639055d797116ee891440eac1a56f378e2d3179e0320b"}, + {file = "zipp-3.1.0.tar.gz", hash = "sha256:c599e4d75c98f6798c509911d08a22e6c021d074469042177c8c86fb92eefd96"}, +] diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..c0f2f3c --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,99 @@ +[tool.poetry] +name = "rero-ebooks" +version = "0.3.0" +description = "Ebooks repository for RERO." +authors = ["RERO "] +license = "GNU Affero General Public License v3.0" + +[tool.poetry.dependencies] +python = ">= 3.6, < 3.8" +## Python packages dependencies (order matters) +#------------------------------------------------------------------------------ +## Note: poetry evaluates the package constraints from the top to the bottom +## and respects only the last constraint to install the package. +## Thus the most strength constraint should be at the end. +## Imagine the following package list for the foo package with the +## most recent version equal to 5.0: +## A foo Pipfile example: +## ---------------------- +## foo = ">1.0" # first will install 5.0 +## foo = "==1.0" # then will downgrade to 1.0 +## foo = ">3.0" # finally will upgrade to 5.0 +## when the python code will be executed a conflict exception will be raised. +#------------------------------------------------------------------------------ +# Default from Invenio +Babel = ">=2.4.0" +Flask-BabelEx = ">=0.9.3" + +## Third party invenio modules used by RERO ILS +invenio-oaiharvester = {tag = "v1.0.0a4", git = "https://github.com/inveniosoftware/invenio-oaiharvester.git"} + +## Invenio 3.2.2 base modules used by RERO ILS +# same as invenio metadata extras without invenio-search-ui +invenio-indexer = ">=1.1.1,<1.2.0" +invenio-jsonschemas = ">=1.0.2,<1.1.0" +invenio-oaiserver = ">=1.1.1,<1.2.0" +invenio-pidstore = ">=1.1.0,<1.2.0" +invenio-records-rest = ">=1.6.5,<1.7.0" +invenio-records-ui = ">=1.0.1,<1.1.0" +invenio-records = ">=1.3.1,<1.4.0" + +## Default from Invenio +invenio = {version = "==3.2.2", extras = ["base", "postgresql", "auth", "elasticsearch7" ]} +uwsgi = ">=2.0" +uwsgitop = ">=0.11" +uwsgi-tools = ">=1.1.1" + +## RERO ILS specific python modules +PyYAML = ">=5.3.1" +isbnlib = ">=3.9.1" +requests = ">=2.20.0" +responses = "*" + +## Additionnal constraints on python modules +# solves datetime serialize error +# celery = "<4.3.0" + +## Deployment +# sentry +invenio-logging = { version = ">=1.2.0,<1.3.0", extras = ["sentry-sdk", "sentry"] } +lxml = ">=3.5.0,<4.2.6" +python-dotenv = "^0.13.0" + +[tool.poetry.dev-dependencies] +## Python packages development dependencies (order matters) +#---------------------------------------------------------- +## Default from Invenio +Flask-Debugtoolbar = ">=0.10.1" +Sphinx = ">=1.5.1" +check-manifest = ">=0.35" +coverage = ">=4.5.3" +isort = ">=4.3" +mock = ">=2.0.0" +marshmallow = ">=2.15.1,<3.0.0" +pydocstyle = ">=3.0.0" +pytest = ">=4.6.4" +pytest-cov = ">=2.7.1" +pytest-invenio = ">=1.2.1,<1.3.0" +pytest-mock = ">=1.6.0" +pytest-pep8 = ">=1.0.6" +pytest-random-order = ">=0.5.4" +pytest-runner = ">=3.0.0,<5" +safety = ">=1.8" +docutils = "*" +## RERO ILS specific python packages +autoflake = ">=1.3.1" +appnope = { version = "*", optional = true } + +[tool.poetry.scripts] +bootstrap = "scripts:run('./scripts/bootstrap')" +console = "scripts:run('./scripts/console')" +run-tests = "scripts:run('./run-tests.sh')" +server = "scripts:run('./scripts/server')" +setup = "scripts:run('./scripts/setup')" +tests = "scripts:run('pytest')" +update = "scripts:run('./scripts/update')" + +[build-system] +requires = ["poetry>=0.12"] +build-backend = "poetry.masonry.api" diff --git a/pytest.ini b/pytest.ini index 750d196..4783026 100644 --- a/pytest.ini +++ b/pytest.ini @@ -23,8 +23,13 @@ # as an Intergovernmental Organization or submit itself to any jurisdiction. [pytest] +live_server_scope = module pep8ignore = docs/conf.py ALL config.py E501 addopts = --pep8 --doctest-glob="*.rst" --doctest-modules --cov=rero_ebooks --cov-report=term-missing --ignore=setup.py testpaths = docs tests rero_ebooks + +# not displaying all the PendingDeprecationWarnings from invenio +filterwarnings = + ignore::PendingDeprecationWarning diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 97784c9..0000000 --- a/requirements.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -# -# This file is part of RERO Ebooks. -# Copyright (C) 2018 RERO. -# -# RERO Ebooks is free software; you can redistribute it -# and/or modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of the -# License, or (at your option) any later version. -# -# RERO Ebooks is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RERO Ebooks; if not, write to the -# Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307, USA. -# -# In applying this license, RERO does not -# waive the privileges and immunities granted to it by virtue of its status -# as an Intergovernmental Organization or submit itself to any jurisdiction. -# TODO: Generate this file by running the following commands: -# -# pip install -e . -# pip install pip-tools -# pip-compile -# -# You can read more about pip-compile command here: -# https://github.com/jazzband/pip-tools#example-usage-for-pip-compile diff --git a/rero_ebooks/api.py b/rero_ebooks/api.py index 4c0986a..0b9a6c4 100644 --- a/rero_ebooks/api.py +++ b/rero_ebooks/api.py @@ -31,14 +31,32 @@ from invenio_db import db from invenio_indexer.api import RecordIndexer from invenio_pidstore.errors import PIDDoesNotExistError -from invenio_pidstore.resolver import Resolver +from invenio_pidstore.models import PersistentIdentifier, PIDStatus from invenio_records.api import Record +from invenio_search.api import RecordsSearch +from sqlalchemy.orm.exc import NoResultFound from .fetchers import ebook_pid_fetcher from .minters import build_ebook_pid, ebook_pid_minter from .providers import EbookPidProvider +class EbookError: + """Base class for errors in the Ebook class.""" + + class PidMissing(Exception): + """Ebook pid missing.""" + + +class EbooksSearch(RecordsSearch): + """EbooksSearch.""" + + class Meta: + """Search only on documents index.""" + + index = 'ebooks' + + class Ebook(Record): """Ebook Record class.""" @@ -49,22 +67,37 @@ class Ebook(Record): uri_key = 'electronic_location_and_access' @classmethod - def create_or_update( - cls, - data, - id_=None, - dbcommit=False, - reindex=False, - vendor=None, - **kwargs - ): + def _merge_uri(cls, new_record, old_record): + """Merge new and old records.""" + field = cls.uri_key + new_e_res = new_record.get(field) + # change all tuples to lists + # the dojson produces tuples and we have lists in the record + for e_res in new_e_res: + for key, value in e_res.items(): + if isinstance(value, tuple): + e_res[key] = list(value) + + old_e_res = old_record.get(field) + for e_res in old_e_res: + # check if already exists! + if e_res not in new_e_res: + new_e_res.append(copy.deepcopy(e_res)) + idx = new_record['__order__'].index(field) + new_record['__order__'].insert(idx, field) + return new_record + + @classmethod + def create_or_update(cls, data, id_=None, dbcommit=False, reindex=False, + vendor=None, **kwargs): """Create or update ebook record.""" pid = build_ebook_pid(data, vendor) - record = cls.get_record_by_pid(pid, with_deleted=False) - if record: + record = cls.get_record_by_pid(pid) + if record is not None: merged_data = cls._merge_uri(data, record) - record.update(merged_data, dbcommit=dbcommit, reindex=reindex) - return record, 'updated' + record.update(merged_data, dbcommit=dbcommit, reindex=reindex, + forceindex=reindex) + return record, 'UPDATE' else: created_record = cls.create( data, @@ -72,8 +105,48 @@ def create_or_update( vendor=vendor, dbcommit=dbcommit, reindex=reindex, + forceindex=reindex ) - return created_record, 'created' + return created_record, 'CREATE' + + @classmethod + def _delete_uri(cls, not_available_record, old_record, url): + """Merge new and old records.""" + field = cls.uri_key + not_available_e_res = not_available_record.get(field) + # change all tuples to lists + # the dojson produces tuples and we have lists in the record + for e_res in not_available_e_res: + for key, value in e_res.items(): + if isinstance(value, tuple): + e_res[key] = list(value) + + old_e_res = old_record.get(field) + epub_count = 0 + for e_res in not_available_e_res: + # check if exists! + res_url = e_res.get('uniform_resource_identifier') + if res_url.startswith(url): + if e_res in old_e_res: + epub_count += 1 + old_e_res.remove(e_res) + old_record['__order__'].remove(field) + + return old_record, epub_count + + @classmethod + def remove_uri(cls, data, vendor=None, url=None, + dbcommit=False, reindex=False): + """Create or update ebook record.""" + pid = build_ebook_pid(data, vendor) + record = cls.get_record_by_pid(pid) + if record is not None: + merged_data, epub_count = cls._delete_uri(data, record, url) + record.replace(merged_data, dbcommit=dbcommit, reindex=reindex, + forceindex=reindex) + return record, 'REMOVE URIs: {count}'.format(count=epub_count) + data['pid'] = pid + return data, 'REMOVE missing' @classmethod def create( @@ -96,71 +169,61 @@ def create( record.dbcommit(reindex) return record - @classmethod - def delete( - cls, - data, - vendor=None, - delindex=True, - force=False, - ): - """Delete a ebook record.""" - pid = build_ebook_pid(data, vendor) - record = cls.get_record_by_pid(pid, with_deleted=False) - pid.delete() - result = record.delete(force=force) + def delete(self, force=False, dbcommit=False, delindex=False): + """Delete record and persistent identifier.""" + persistent_identifier = self.get_persistent_identifier(self.id) + persistent_identifier.delete() + self = super(Ebook, self).delete(force=force) + if dbcommit: + self.dbcommit() if delindex: - try: - RecordIndexer().delete(record) - except NotFoundError: - pass - return result + self.delete_from_index() + return self + + @classmethod + def get_record_by_id(cls, id, with_deleted=False): + """Get ils record by uuid.""" + return super(Ebook, cls).get_record(id, with_deleted=with_deleted) @classmethod def get_record_by_pid(cls, pid, with_deleted=False): """Get ebook record by pid value.""" assert cls.provider - resolver = Resolver( - pid_type=cls.provider.pid_type, - object_type=cls.object_type, - getter=cls.get_record, - ) try: - persistent_identifier, record = resolver.resolve(str(pid)) + persistent_identifier = PersistentIdentifier.get( + cls.provider.pid_type, + pid + ) return super(Ebook, cls).get_record( - persistent_identifier.object_uuid, with_deleted=with_deleted + persistent_identifier.object_uuid, + with_deleted=with_deleted ) + except NoResultFound: + return None except PIDDoesNotExistError: return None - @classmethod - def _merge_uri(cls, new_record, old_record): - """Merge new and old records.""" - field = cls.uri_key - new_e_res = new_record.get(field) - # change all tuples to lists - # the dojson produces tuples and we have lists in the record - for e_res in new_e_res: - for key, value in e_res.items(): - if type(value) is tuple: - e_res[key] = list(value) - - old_e_res = old_record.get(field) - for e_res in old_e_res: - # check if already exists! - if e_res not in new_e_res: - new_e_res.append(copy.deepcopy(e_res)) - new_record['__order__'].insert( - new_record['__order__'].index(field), field - ) - return new_record - - def update(self, data, dbcommit=False, reindex=False): + def update(self, data, dbcommit=False, reindex=False, forceindex=False): """Update data for record.""" super(Ebook, self).update(data) super(Ebook, self).commit() if dbcommit: self.dbcommit(reindex) + if reindex: + self.reindex(forceindex=forceindex) + return self + + def replace(self, data, dbcommit=False, reindex=False, forceindex=False): + """Replace data in record.""" + new_data = copy.deepcopy(data) + pid = new_data.get('pid') + if not pid: + raise EbookError.PidMissing( + 'missing pid={pid}'.format(pid=self.pid) + ) + self.clear() + self = self.update(new_data, dbcommit=dbcommit, reindex=reindex, + forceindex=forceindex) return self def dbcommit(self, reindex=False, forceindex=False): @@ -175,3 +238,53 @@ def reindex(self, forceindex=False): RecordIndexer(version_type="external_gte").index(self) else: RecordIndexer().index(self) + + def delete_from_index(self): + """Delete record from index.""" + try: + RecordIndexer().delete(self) + except NotFoundError: + pass + + @classmethod + def get_persistent_identifier(cls, pid): + """Get Persistent Identifier.""" + return PersistentIdentifier.get_by_object( + cls.provider.pid_type, + cls.object_type, + pid + ) + + @classmethod + def _get_all(cls, with_deleted=False): + """Get all persistent identifier records.""" + query = PersistentIdentifier.query.filter_by( + pid_type=cls.provider.pid_type + ) + if not with_deleted: + query = query.filter_by(status=PIDStatus.REGISTERED) + return query + + @classmethod + def get_all_pids(cls, with_deleted=False): + """Get all records pids. Return a generator iterator.""" + query = cls._get_all(with_deleted=with_deleted) + for identifier in query: + yield identifier.pid_value + + @classmethod + def get_all_ids(cls, with_deleted=False): + """Get all records uuids. Return a generator iterator.""" + query = cls._get_all(with_deleted=with_deleted) + for identifier in query: + yield identifier.object_uuid + + @classmethod + def count(cls, with_deleted=False): + """Get record count.""" + return cls._get_all(with_deleted=with_deleted).count() + + @property + def pid(self): + """Get ebook record pid value.""" + return self.get('pid') diff --git a/rero_ebooks/apiharvester/cli.py b/rero_ebooks/apiharvester/cli.py index c394afc..0023145 100644 --- a/rero_ebooks/apiharvester/cli.py +++ b/rero_ebooks/apiharvester/cli.py @@ -36,7 +36,7 @@ from rero_ebooks.apiharvester.tasks import harvest_records from .models import ApiHarvestConfig -from .utils import api_source +from .utils import add_set, api_source datastore = LocalProxy(lambda: current_app.extensions['security'].datastore) @@ -108,6 +108,22 @@ def api_source_config_from_file(configfile, update): ) +@apiharvester.command('initsets') +@click.argument('configfile', type=click.File('rb')) +@click.option('-v', '--verbose', 'verbose', is_flag=True, default=False) +@with_appcontext +def init_oai_sets(configfile, verbose): + """Init OAIsets.""" + configs = yaml.load(configfile, Loader=yaml.FullLoader) + for name, values in sorted(configs.items()): + description = values.get('description', '...') + pattern = values['pattern'] + msg = add_set(spec=name, name=name, description=description, + pattern=pattern) + if verbose: + click.echo(msg) + + @apiharvester.command('harvest') @click.option('-n', '--name', default=None, help='Name of persistent configuration to use.') diff --git a/rero_ebooks/apiharvester/errors.py b/rero_ebooks/apiharvester/errors.py new file mode 100644 index 0000000..05cc6e5 --- /dev/null +++ b/rero_ebooks/apiharvester/errors.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +# +# This file is part of RERO EBOOKS. +# Copyright (C) 2017 RERO. +# +# RERO EBOOKS is free software; you can redistribute it +# and/or modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# RERO EBOOKS is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with RERO EBOOKS; if not, write to the +# Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307, USA. +# +# In applying this license, RERO does not +# waive the privileges and immunities granted to it by virtue of its status +# as an Intergovernmental Organization or submit itself to any jurisdiction. + +"""Api harvester errors.""" + +from __future__ import absolute_import, print_function + + +class ApiHarvesterError(Exception): + """Base exception for apiharvester.""" + + +class ApiRequestError(ApiHarvesterError): + """Error with the Api request.""" + + +class NameOrUrlMissing(ApiHarvesterError): + """Name or url for harvesting missing.""" + + +class WrongDateCombination(ApiHarvesterError): + """'Until' date is larger that 'from' date.""" + + +class IdentifiersOrDates(ApiHarvesterError): + """Identifiers cannot be used in combination with dates.""" + + +class ApiHarvesterConfigNotFound(ApiHarvesterError): + """No ApiHarvesterConfig was found.""" diff --git a/rero_ebooks/apiharvester/models.py b/rero_ebooks/apiharvester/models.py index d8b722c..40a1177 100644 --- a/rero_ebooks/apiharvester/models.py +++ b/rero_ebooks/apiharvester/models.py @@ -29,14 +29,12 @@ import datetime from invenio_db import db -from invenio_pidstore.models import RecordIdentifier -class ApiHarvestConfig(RecordIdentifier): - """Sequence generator for Document identifiers.""" +class ApiHarvestConfig(db.Model): + """Represents a ApiHarvestConfig record.""" __tablename__ = 'apiharvest_config' - __mapper_args__ = {'concrete': True} id = db.Column(db.Integer, primary_key=True) url = db.Column(db.String(255), nullable=False, server_default='') @@ -56,4 +54,6 @@ def update_lastrun(self, new_date=None): """Update the 'lastrun' attribute of object to now.""" self.lastrun = new_date or datetime.datetime.now() self.save() - db.session.commit() + + +__all__ = ('ApiHarvestConfig',) diff --git a/rero_ebooks/apiharvester/tasks.py b/rero_ebooks/apiharvester/tasks.py index 27443a4..fcfa212 100644 --- a/rero_ebooks/apiharvester/tasks.py +++ b/rero_ebooks/apiharvester/tasks.py @@ -31,13 +31,15 @@ from flask import current_app from invenio_records_rest.utils import obj_or_import_string -from .models import ApiHarvestConfig +from .utils import get_apiharvest_object @shared_task(ignore_result=True, soft_time_limit=3600) def harvest_records(name, from_date=None, max=0, verbose=False): """Harvest records.""" - config = ApiHarvestConfig.query.filter_by(name=name).first() + count = -1 + + config = get_apiharvest_object(name=name) if config: if not from_date: from_date = config.lastrun.isoformat() @@ -53,18 +55,28 @@ def harvest_records(name, from_date=None, max=0, verbose=False): HarvestClass = obj_or_import_string(config.classname) harvest = HarvestClass(config=config, verbose=verbose) config.update_lastrun() - total, count = harvest.get_records(from_date=from_date, max=max) - msg = 'API harvest {total} items | got {count} from {name}'.format( + total = harvest.get_records( + from_date=from_date, + max=max + ) + msg = ('API harvest items={total} available={count_available} |' + ' got={count} new={count_new} updated={count_upd}' + ' deleted={count_del}' + ' from {name}.').format( total=total, - count=count, + count_available=harvest.count_available, + count=harvest.count, + count_new=harvest.count_new, + count_upd=harvest.count_upd, + count_del=harvest.count_del, name=name ) if verbose: click.echo(msg) current_app.logger.info(msg) + count = harvest.count else: current_app.logger.error('No config found: {name}'.format( name=name )) - count = -1 return count diff --git a/rero_ebooks/apiharvester/utils.py b/rero_ebooks/apiharvester/utils.py index 247227f..929bfe2 100644 --- a/rero_ebooks/apiharvester/utils.py +++ b/rero_ebooks/apiharvester/utils.py @@ -26,12 +26,37 @@ from __future__ import absolute_import, print_function +from time import sleep + from flask import current_app from invenio_db import db +from invenio_oaiserver.models import OAISet +from sqlalchemy.exc import OperationalError +from .errors import ApiHarvesterConfigNotFound from .models import ApiHarvestConfig +def add_set(spec, name, pattern, description='...'): + """Add OAI set. + + :param spec: set identifier + :param name: human readable name of the set + :param pattern: search pattern to get records + :param description: human readable description + """ + try: + oaiset = OAISet(spec=spec, name=name, description=description) + oaiset.search_pattern = pattern + db.session.add(oaiset) + db.session.commit() + msg = 'OAIset added: {name}'.format(name=name) + except Exception as err: + db.session.rollback() + msg = 'OAIset exist: {name}'.format(name=name) + return msg + + def api_source(name, url='', classname=None, code='', update=False): """Add ApiHarvestConfig do DB. @@ -42,6 +67,7 @@ def api_source(name, url='', classname=None, code='', update=False): update: update configuration if exist """ with current_app.app_context(): + msg = 'No Update' source = ApiHarvestConfig.query.filter_by(name=name).first() if not source: source = ApiHarvestConfig( @@ -52,7 +78,7 @@ def api_source(name, url='', classname=None, code='', update=False): ) source.save() db.session.commit() - return 'Add' + msg = 'Add' elif update: source.name = name msg = [] @@ -66,5 +92,35 @@ def api_source(name, url='', classname=None, code='', update=False): source.code = code msg.append('code:{}'.format(code)) db.session.commit() - return 'Update {}'.format(', '.join(msg)) - return 'No Update' + msg = 'Update {}'.format(', '.join(msg)) + return msg + + +def get_apiharvest_object(name): + """Query and returns an ApiHarvestConfig object based on its name. + + :param name: The name of the ApiHarvestConfig object. + :return: The ApiHarvestConfig object. + """ + sleep_time = 1 + while sleep_time < 600: + try: + obj = ApiHarvestConfig.query.filter_by(name=name).first() + sleep_time = 1000 + except OperationalError as err: + db.session.rollback() + current_app.logger.error( + 'ApiHarvestConfig: wait: {sleep_time} seconds {err}'.format( + sleep_time=sleep_time, + err='OperationalError' + ) + ) + sleep(sleep_time) + sleep_time *= 2 + if not obj: + raise ApiHarvesterConfigNotFound( + 'Unable to find ApiHarvesterConfig obj with name %s.' + % name + ) + + return obj diff --git a/rero_ebooks/cantook/api.py b/rero_ebooks/cantook/api.py index b13564f..3a5be25 100644 --- a/rero_ebooks/cantook/api.py +++ b/rero_ebooks/cantook/api.py @@ -52,14 +52,20 @@ class ApiCantook(): def __init__(self, config, file=None, indent=None, verbose=False): """Class init.""" self.config = config + self._url = self.config.url + self._code = self.config.code self.verbose = verbose self.file = file if self.file: file.write('[\n') self.indent = indent self._count = 0 + self._count_new = 0 + self._count_upd = 0 + self._count_del = 0 self._max = 0 self._vendor = 'cantook' + self._available_ids = {} @classmethod def get_config(cls, name): @@ -76,7 +82,7 @@ def get_request_url(self, start_date='1990-01-01', page=1): start_date=start_date, page=page ) - return self.config.url + '/v1/resources.json?{params}'.format( + return self._url + '/v1/resources.json?{params}'.format( params=params ) @@ -96,8 +102,8 @@ def add_nonpublic_note(self, record): '/' )[:3] ) - if url == self.config.url: - electronic_location['nonpublic_note'] = self.config.code + if url == self._url: + electronic_location['nonpublic_note'] = self._code new_electronic_locations.append(electronic_location) return record @@ -113,21 +119,49 @@ def create_update_record(self, record): ) return record, msg + def remove_uri(self, record): + """Create new record or update record.""" + record = cantook_json.do(record) + record, msg = Ebook.remove_uri( + data=record, + vendor=self._vendor, + url=self._url, + dbcommit=True, + reindex=True + ) + return record, msg + + def msg_text(self, pid, msg): + """Logging message text.""" + return '{count}: {vendor}:{code} {pid} = {msg}'.format( + vendor=self._vendor, + code=self._code, + count=self._count, + pid=pid, + msg=msg + ) + def process_records(self, records): """Process records.""" for record in records: self._count += 1 if self._count < self._max or self._max == 0: - self.save_record(record) - record, msg = self.create_update_record(record) - if self.verbose: - click.echo( - '{count}: {pid} {msg}'.format( - count=self._count, - pid=record['pid'], - msg=msg - ) - ) + if self._available_ids.get(record['id']): + self.save_record(record) + record, msg = self.create_update_record(record) + if msg == 'UPDATE': + self._count_upd += 1 + else: + self._count_new += 1 + if self.verbose: + click.echo(self.msg_text(pid=record['pid'], + msg=msg)) + else: + record, msg = self.remove_uri(record) + self._count_del += 1 + if self.verbose: + click.echo(self.msg_text(pid=record['pid'], + msg=msg)) else: break @@ -136,6 +170,44 @@ def verbose_print(self, msg): if self.verbose: click.echo(msg) + def init_available_ids(self, from_date): + """Get all aavailable pids. + + from_date: record changed after this date to get + """ + url = self.get_request_url(start_date=from_date, page=1) + url += '&available=1' + request = requests_get(url) + total_pages = int(request.headers.get('X-Total-Pages', 0)) + total_items = int(request.headers.get('X-Total-Items', 0)) + # per_pages = int(request.headers.get('X-Per-Page', 0)) + current_page = int(request.headers.get('X-Current-Page', 0)) + count = 0 + self._available_ids = {} + while (request.status_code == requests_codes.ok and + current_page <= total_pages): + self.verbose_print( + 'API page: {page} url: {url}'.format( + page=current_page, + url=url + ) + ) + for record in request.json().get('resources', []): + count += 1 + self._available_ids[record['id']] = count + # get next page and update current_page + url = self.get_request_url( + start_date=from_date, + page=current_page+1 + ) + url += '&available=1' + request = requests_get(url) + current_page = int(request.headers.get('X-Current-Page', 0)) + if total_items != count: + # we had an ERROR + raise('ERROR to get all available ids') + return self._available_ids + def get_records(self, from_date, max=0, file=None): """Get cantook records. @@ -151,6 +223,7 @@ def get_records(self, from_date, max=0, file=None): total_items = int(request.headers.get('X-Total-Items', 0)) # per_pages = int(request.headers.get('X-Per-Page', 0)) current_page = int(request.headers.get('X-Current-Page', 0)) + self.init_available_ids(from_date=from_date) while (request.status_code == requests_codes.ok and current_page <= total_pages and (self._count < self._max or self._max == 0)): @@ -171,10 +244,36 @@ def get_records(self, from_date, max=0, file=None): if self.file: file.write(']') if ( - (max != 0 and self._count != max) or + (max != 0 and total_items >= max and self._count != max) or + (max != 0 and total_items < max and self._count != total_items) or (max == 0 and total_items != self._count) ): # we had an ERROR raise('ERROR not all records harvested') - return total_items, self._count + return total_items + + @property + def count(self): + """Get count.""" + return self._count + + @property + def count_new(self): + """Get new count.""" + return self._count_new + + @property + def count_upd(self): + """Get updated count.""" + return self._count_upd + + @property + def count_del(self): + """Get delted count.""" + return self._count_del + + @property + def count_available(self): + """Get available count.""" + return len(self._available_ids) diff --git a/rero_ebooks/celery.py b/rero_ebooks/celery.py new file mode 100644 index 0000000..5814fc7 --- /dev/null +++ b/rero_ebooks/celery.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# +# This file is part of RERO EBOOKS. +# Copyright (C) 2018 RERO. +# +# RERO EBOOKS is free software; you can redistribute it +# and/or modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# RERO EBOOKS is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with RERO EBOOKS; if not, write to the +# Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307, USA. +# +# In applying this license, RERO does not +# waive the privileges and immunities granted to it by virtue of its status +# as an Intergovernmental Organization or submit itself to any jurisdiction. + +"""Celery application for Invenio flavours.""" + +from __future__ import absolute_import, print_function + +from dotenv import load_dotenv +from flask_celeryext import create_celery_app +from invenio_app.factory import create_ui + +# load .env and .flaskenv +load_dotenv() + +celery = create_celery_app(create_ui( + SENTRY_TRANSPORT='raven.transport.http.HTTPTransport', + RATELIMIT_ENABLED=False, +)) +"""Celery application for Invenio. +Overrides SENTRY_TRANSPORT wih synchronous HTTP transport since Celery does not +deal nicely with the default threaded transport. +""" + +# Trigger an app log message upon import. This makes Sentry logging +# work with `get_task_logger(__name__)`. +celery.flask_app.logger.info('Created Celery app') diff --git a/rero_ebooks/config.py b/rero_ebooks/config.py index 3ab08f6..b673f0e 100644 --- a/rero_ebooks/config.py +++ b/rero_ebooks/config.py @@ -37,8 +37,6 @@ from invenio_indexer.api import RecordIndexer from invenio_search import RecordsSearch -from rero_ebooks.apiharvester.tasks import harvest_records # needed by cellery - def _(x): """Identity function used to trigger string extraction.""" @@ -47,8 +45,10 @@ def _(x): # Rate limiting # ============= -#: Storage for ratelimiter. RATELIMIT_STORAGE_URL = 'redis://localhost:6379/3' +RATELIMIT_DEFAULT = '5000/second' +RATELIMIT_ENABLED = False + # I18N # ==== @@ -121,6 +121,7 @@ def _(x): #: URL of backend for result storage (default is Redis). CELERY_RESULT_BACKEND = 'redis://localhost:6379/2' #: Scheduled tasks configuration (aka cronjobs). +# imports have to be configured in setup.py:invenio_celery.tasks CELERY_BEAT_SCHEDULE = { 'indexer': { 'task': 'invenio_indexer.tasks.process_bulk_queue', @@ -136,15 +137,15 @@ def _(x): # 'schedule': timedelta(minutes=60), # 'kwargs': dict(name='NJ') # }, - 'Apiharvester-VS': { + 'Apiharvester-NJ': { 'task': 'rero_ebooks.apiharvester.tasks.harvest_records', 'schedule': timedelta(minutes=60), - 'kwargs': dict(name='VS'), + 'kwargs': dict(name='NJ'), }, - 'Apiharvester-NJ': { + 'Apiharvester-VS': { 'task': 'rero_ebooks.apiharvester.tasks.harvest_records', 'schedule': timedelta(minutes=60), - 'kwargs': dict(name='NJ'), + 'kwargs': dict(name='VS') }, } CELERY_BROKER_HEARTBEAT = 0 @@ -184,6 +185,44 @@ def _(x): #: should be set to the correct host and it is strongly recommended to only #: route correct hosts to the application. APP_ALLOWED_HOSTS = ['localhost', '127.0.0.1'] +# TODO: review theses rules for security purposes +APP_DEFAULT_SECURE_HEADERS = { + # disabled as https is not used by the application: + # https is done by the haproxy + 'force_https': False, + 'force_https_permanent': False, + 'force_file_save': False, + 'frame_options': 'sameorigin', + 'frame_options_allow_from': None, + 'strict_transport_security': True, + 'strict_transport_security_preload': False, + 'strict_transport_security_max_age': 31556926, # One year in seconds + 'strict_transport_security_include_subdomains': True, + 'content_security_policy': { + 'default-src': ['*'], + 'img-src': [ + '*', + "'self'", + 'data:' + ], + 'style-src': [ + '*', + "'unsafe-inline'" + ], + 'script-src': [ + "'self'", + "'unsafe-eval'", + "'unsafe-inline'", + # '*.rero.ch', + 'https://www.googletagmanager.com', + 'https://www.google-analytics.com' + ] + }, + 'content_security_policy_report_uri': None, + 'content_security_policy_report_only': False, + 'session_cookie_secure': True, + 'session_cookie_http_only': True, +} # Indexer # ======= @@ -201,6 +240,12 @@ def _(x): #: OAI default ES index OAISERVER_RECORD_INDEX = 'ebooks' +OAISERVER_XSL_URL = '/static/xsl/oai.xsl' + +OAISERVER_ADMIN_EMAILS = [ + 'software@rero.ch', +] + # Debug # ===== # Flask-DebugToolbar is by default enabled when the application is running in diff --git a/rero_ebooks/dojson/marc21/fields/bd00x.py b/rero_ebooks/dojson/marc21/fields/bd00x.py index 363d94a..52a6301 100644 --- a/rero_ebooks/dojson/marc21/fields/bd00x.py +++ b/rero_ebooks/dojson/marc21/fields/bd00x.py @@ -9,8 +9,6 @@ """MARC 21 model definition.""" -from dojson import utils - from ..model import marc21 diff --git a/rero_ebooks/dojson/marc21/model.py b/rero_ebooks/dojson/marc21/model.py index a4f7938..9303506 100644 --- a/rero_ebooks/dojson/marc21/model.py +++ b/rero_ebooks/dojson/marc21/model.py @@ -24,7 +24,7 @@ """Marc21 data conversion.""" -from dojson import Overdo, utils +from dojson import Overdo marc21 = Overdo(entry_point_group='rero_ebooks.marc21') """MARC 21 Format for Bibliographic Data.""" diff --git a/rero_ebooks/ext.py b/rero_ebooks/ext.py index 6c917be..7b9aa50 100644 --- a/rero_ebooks/ext.py +++ b/rero_ebooks/ext.py @@ -24,11 +24,7 @@ """RERO DOC Invenio application.""" - -from invenio_oaiharvester.signals import oaiharvest_finished - from . import config -from .receivers import publish_harvested_records class ReroEBooks(object): @@ -38,7 +34,6 @@ def __init__(self, app=None): """Extension initialization.""" if app: self.init_app(app) - self.register_signals(app) def init_app(self, app): """Flask application initialization.""" @@ -50,8 +45,3 @@ def init_config(self, app): for k in dir(config): if k.startswith('REROEBOOKS_APP_'): app.config.setdefault(k, getattr(config, k)) - - @staticmethod - def register_signals(app): - """Register Zenodo Deposit signals.""" - oaiharvest_finished.connect(publish_harvested_records, weak=False) diff --git a/rero_ebooks/fetchers.py b/rero_ebooks/fetchers.py index 56e9c70..5c5f787 100644 --- a/rero_ebooks/fetchers.py +++ b/rero_ebooks/fetchers.py @@ -45,5 +45,5 @@ def ebook_pid_fetcher(record_uuid, data): return FetchedPID( provider=EbookPidProvider, pid_type=EbookPidProvider.pid_type, - pid_value=str(data[pid_field]), + pid_value=str(data.get(pid_field)), ) diff --git a/rero_ebooks/mappings/v6/ebooks/ebook-v1.0.0.json b/rero_ebooks/mappings/v6/ebooks/ebook-v1.0.0.json deleted file mode 100644 index 92249eb..0000000 --- a/rero_ebooks/mappings/v6/ebooks/ebook-v1.0.0.json +++ /dev/null @@ -1,7991 +0,0 @@ -{ - "settings": { - "index.percolator.map_unmapped_fields_as_string": true, - "index.mapping.total_fields.limit": 3000 - }, - "mappings": { - "ebook-v1.0.0": { - "numeric_detection": true, - "properties": { - "pid": { - "type": "keyword" - }, - "_oai": { - "properties": { - "id": { - "type": "keyword" - }, - "sets": { - "type": "keyword" - }, - "updated": { - "type": "date" - } - } - }, - "report_number": { - "type": "object", - "properties": { - "report_number": { - "type": "text" - }, - "canceled_invalid_report_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "organization_and_arrangement_of_materials": { - "type": "object", - "properties": { - "hierarchical_level": { - "type": "text" - }, - "arrangement": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "organization": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "subject_added_entry_geographic_name": { - "type": "object", - "properties": { - "form_subdivision": { - "type": "text" - }, - "general_subdivision": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "thesaurus": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "source_of_heading_or_term": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "geographic_name": { - "type": "text" - }, - "geographic_subdivision": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "chronological_subdivision": { - "type": "text" - } - } - }, - "source_of_description_note": { - "type": "object", - "properties": { - "institution_to_which_field_applies": { - "type": "text" - }, - "source_of_description_note": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "restrictions_on_access_note": { - "type": "object", - "properties": { - "restriction": { - "type": "text" - }, - "authorized_users": { - "type": "text" - }, - "jurisdiction": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "standardized_terminology_for_access_restriction": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "authorization": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "source_of_term": { - "type": "text" - }, - "physical_access_provisions": { - "type": "text" - }, - "terms_governing_access": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "citation_references_note": { - "type": "object", - "properties": { - "location_within_source": { - "type": "text" - }, - "name_of_source": { - "type": "text" - }, - "coverage_of_source": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "coverage_location_in_source": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "subject_added_entry_chronological_term": { - "type": "object", - "properties": { - "form_subdivision": { - "type": "text" - }, - "general_subdivision": { - "type": "text" - }, - "chronological_term": { - "type": "text" - }, - "thesaurus": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "type_of_date_or_time_period": { - "type": "text" - }, - "source_of_heading_or_term": { - "type": "text" - }, - "geographic_subdivision": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "chronological_subdivision": { - "type": "text" - } - } - }, - "ownership_and_custodial_history": { - "type": "object", - "properties": { - "privacy": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "history": { - "type": "text" - } - } - }, - "language_code": { - "type": "object", - "properties": { - "translation_indication": { - "type": "text" - }, - "language_code_of_intermediate_translations": { - "type": "text" - }, - "language_code_of_librettos": { - "type": "text" - }, - "language_code_of_summary_or_abstract": { - "type": "text" - }, - "language_code_of_accompanying_material_other_than_librettos": { - "type": "text" - }, - "language_code_of_table_of_contents": { - "type": "text" - }, - "language_code_of_original_accompanying_materials_other_than_librettos": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "language_code_of_text_sound_track_or_separate_title": { - "type": "text" - }, - "language_code_of_subtitles_or_captions": { - "type": "text" - }, - "language_code_of_sung_or_spoken_text": { - "type": "text" - }, - "language_code_of_original": { - "type": "text" - }, - "language_code_of_original_libretto": { - "type": "text" - }, - "source_of_code": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "added_entry_corporate_name": { - "type": "object", - "properties": { - "type_of_added_entry": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "version": { - "type": "text" - }, - "affiliation": { - "type": "text" - }, - "date_of_meeting_or_treaty_signing": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "key_for_music": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "medium_of_performance_for_music": { - "type": "text" - }, - "arranged_statement_for_music": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "corporate_name_or_jurisdiction_name_as_entry_element": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "type_of_corporate_name_entry_element": { - "type": "text" - }, - "subordinate_unit": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "number_of_part_section_meeting": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "location_of_meeting": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - } - } - }, - "added_entry_taxonomic_identification": { - "type": "object", - "properties": { - "taxonomic_category": { - "type": "text" - }, - "source_of_taxonomic_identification": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "non_public_note": { - "type": "text" - }, - "taxonomic_name": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "public_note": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "common_or_alternative_name": { - "type": "text" - } - } - }, - "number_of_musical_instruments_or_voices_code": { - "type": "object", - "properties": { - "soloist": { - "type": "text" - }, - "source_of_code": { - "type": "text" - }, - "performer_or_ensemble": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "original_version_note": { - "type": "object", - "properties": { - "material_specific_details": { - "type": "text" - }, - "publication_distribution_of_original": { - "type": "text" - }, - "location_of_original": { - "type": "text" - }, - "main_entry_of_original": { - "type": "text" - }, - "series_statement_of_original": { - "type": "text" - }, - "key_title_of_original": { - "type": "text" - }, - "physical_description_of_original": { - "type": "text" - }, - "edition_statement_of_original": { - "type": "text" - }, - "introductory_phrase": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "note_about_original": { - "type": "text" - }, - "other_resource_identifier": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "international_standard_book_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "title_statement_of_original": { - "type": "text" - } - } - }, - "constituent_unit_entry": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "material_specific_details": { - "type": "text" - }, - "related_parts": { - "type": "text" - }, - "edition": { - "type": "text" - }, - "coden_designation": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "note_controller": { - "type": "text" - }, - "physical_description": { - "type": "text" - }, - "title": { - "type": "text" - }, - "report_number": { - "type": "text" - }, - "relationship_code": { - "type": "text" - }, - "note": { - "type": "text" - }, - "place_publisher_and_date_of_publication": { - "type": "text" - }, - "main_entry_heading": { - "type": "text" - }, - "standard_technical_report_number": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "other_item_identifier": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "series_data_for_related_item": { - "type": "text" - }, - "international_standard_book_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "uniform_title": { - "type": "text" - } - } - }, - "date_and_time_of_latest_transaction": { - "type": "text" - }, - "national_bibliography_number": { - "type": "object", - "properties": { - "national_bibliography_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "source": { - "type": "text" - }, - "canceled_invalid_national_bibliography_number": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "geographic_area_code": { - "type": "object", - "properties": { - "iso_code": { - "type": "text" - }, - "geographic_area_code": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "source_of_local_code": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "local_gac_code": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "binding_information": { - "type": "object", - "properties": { - "institution_to_which_field_applies": { - "type": "text" - }, - "binding_note": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "added_entry_geographic_name": { - "type": "object", - "properties": { - "materials_specified": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "source_of_heading_or_term": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "geographic_name": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "copyright_or_legal_deposit_number": { - "type": "object", - "properties": { - "display_text": { - "type": "text" - }, - "copyright_or_legal_deposit_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "source": { - "type": "text" - }, - "date": { - "type": "text" - }, - "canceled_invalid_copyright_or_legal_deposit_number": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "assigning_agency": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "index_term_occupation": { - "type": "object", - "properties": { - "form_subdivision": { - "type": "text" - }, - "general_subdivision": { - "type": "text" - }, - "chronological_subdivision": { - "type": "text" - }, - "form": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "source_of_term": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "geographic_subdivision": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "occupation": { - "type": "text" - } - } - }, - "added_entry_personal_name": { - "type": "object", - "properties": { - "type_of_added_entry": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "version": { - "type": "text" - }, - "affiliation": { - "type": "text" - }, - "numeration": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "personal_name": { - "type": "text" - }, - "key_for_music": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "medium_of_performance_for_music": { - "type": "text" - }, - "arranged_statement_for_music": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "fuller_form_of_name": { - "type": "text" - }, - "attribution_qualifier": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "type_of_personal_name_entry_element": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "dates_associated_with_a_name": { - "type": "text" - }, - "titles_and_other_words_associated_with_a_name": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "number_of_part_section_of_a_work": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - } - } - }, - "language_note": { - "type": "object", - "properties": { - "language_note": { - "type": "text" - }, - "information_code_or_alphabet": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "location": { - "type": "object", - "properties": { - "sublocation_or_collection": { - "type": "text" - }, - "shelving_location": { - "type": "text" - }, - "country_code": { - "type": "text" - }, - "non_coded_location_qualifier": { - "type": "text" - }, - "shelving_control_number": { - "type": "text" - }, - "item_part": { - "type": "text" - }, - "nonpublic_note": { - "type": "text" - }, - "call_number_prefix": { - "type": "text" - }, - "copyright_article_fee_code": { - "type": "text" - }, - "location": { - "type": "text" - }, - "call_number_suffix": { - "type": "text" - }, - "copy_number": { - "type": "text" - }, - "shelving_order": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "address": { - "type": "text" - }, - "coded_location_qualifier": { - "type": "text" - }, - "public_note": { - "type": "text" - }, - "former_shelving_location": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "piece_physical_condition": { - "type": "text" - }, - "piece_designation": { - "type": "text" - }, - "shelving_form_of_title": { - "type": "text" - }, - "classification_part": { - "type": "text" - }, - "source_of_classification_or_shelving_scheme": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "shelving_scheme": { - "type": "text" - }, - "sequence_number": { - "type": "text" - } - } - }, - "main_entry_corporate_name": { - "type": "object", - "properties": { - "location_of_meeting": { - "type": "text" - }, - "corporate_name_or_jurisdiction_name_as_entry_element": { - "type": "text" - }, - "field_link_and_sequence_number_r": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "type_of_corporate_name_entry_element": { - "type": "text" - }, - "subordinate_unit": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "number_of_part_section_meeting": { - "type": "text" - }, - "affiliation": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "date_of_meeting_or_treaty_signing": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "data_source_entry": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "material_specific_details": { - "type": "text" - }, - "related_parts": { - "type": "text" - }, - "edition": { - "type": "text" - }, - "period_of_content": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "abbreviated_title": { - "type": "text" - }, - "note_controller": { - "type": "text" - }, - "physical_description": { - "type": "text" - }, - "title": { - "type": "text" - }, - "report_number": { - "type": "text" - }, - "relationship_code": { - "type": "text" - }, - "note": { - "type": "text" - }, - "place_publisher_and_date_of_publication": { - "type": "text" - }, - "main_entry_heading": { - "type": "text" - }, - "standard_technical_report_number": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "other_item_identifier": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "series_data_for_related_item": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "coden_designation": { - "type": "text" - }, - "international_standard_book_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "source_contribution": { - "type": "text" - }, - "uniform_title": { - "type": "text" - } - } - }, - "supplement_parent_entry": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "material_specific_details": { - "type": "text" - }, - "related_parts": { - "type": "text" - }, - "edition": { - "type": "text" - }, - "coden_designation": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "note_controller": { - "type": "text" - }, - "physical_description": { - "type": "text" - }, - "title": { - "type": "text" - }, - "report_number": { - "type": "text" - }, - "relationship_code": { - "type": "text" - }, - "note": { - "type": "text" - }, - "place_publisher_and_date_of_publication": { - "type": "text" - }, - "main_entry_heading": { - "type": "text" - }, - "standard_technical_report_number": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "other_item_identifier": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "series_data_for_related_item": { - "type": "text" - }, - "international_standard_book_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "uniform_title": { - "type": "text" - } - } - }, - "country_of_producing_entity": { - "type": "object", - "properties": { - "source": { - "type": "text" - }, - "country_of_producing_entity": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "series_added_entry_corporate_name": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "version": { - "type": "text" - }, - "affiliation": { - "type": "text" - }, - "date_of_meeting_or_treaty_signing": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "key_for_music": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "medium_of_performance_for_music": { - "type": "text" - }, - "arranged_statement_for_music": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "corporate_name_or_jurisdiction_name_as_entry_element": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "type_of_corporate_name_entry_element": { - "type": "text" - }, - "subordinate_unit": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "number_of_part_section_meeting": { - "type": "text" - }, - "location_of_meeting": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "volume_sequential_designation": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "bibliographic_record_control_number": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - } - } - }, - "digital_file_characteristics": { - "type": "object", - "properties": { - "file_type": { - "type": "text" - }, - "transmission_speed": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "regional_encoding": { - "type": "text" - }, - "source": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "file_size": { - "type": "text" - }, - "encoding_format": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "resolution": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "information_relating_to_copyright_status": { - "type": "object", - "properties": { - "copyright_holder_contact_information": { - "type": "text" - }, - "creation_date": { - "type": "text" - }, - "copyright_holder": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "personal_creator": { - "type": "text" - }, - "privacy": { - "type": "text" - }, - "note": { - "type": "text" - }, - "country_of_publication_or_creation": { - "type": "text" - }, - "copyright_statement": { - "type": "text" - }, - "publication_status": { - "type": "text" - }, - "research_date": { - "type": "text" - }, - "copyright_status": { - "type": "text" - }, - "corporate_creator": { - "type": "text" - }, - "copyright_renewal_date": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "publication_date": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "publisher": { - "type": "text" - }, - "jurisdiction_of_copyright_assessment": { - "type": "text" - }, - "source_of_information": { - "type": "text" - }, - "supplying_agency": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "copyright_date": { - "type": "text" - }, - "personal_creator_death_date": { - "type": "text" - } - } - }, - "subject_added_entry_personal_name": { - "type": "object", - "properties": { - "language_of_a_work": { - "type": "text" - }, - "version": { - "type": "text" - }, - "affiliation": { - "type": "text" - }, - "numeration": { - "type": "text" - }, - "form_subdivision": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "personal_name": { - "type": "text" - }, - "key_for_music": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "geographic_subdivision": { - "type": "text" - }, - "medium_of_performance_for_music": { - "type": "text" - }, - "arranged_statement_for_music": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "chronological_subdivision": { - "type": "text" - }, - "fuller_form_of_name": { - "type": "text" - }, - "attribution_qualifier": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "thesaurus": { - "type": "text" - }, - "source_of_heading_or_term": { - "type": "text" - }, - "type_of_personal_name_entry_element": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "general_subdivision": { - "type": "text" - }, - "dates_associated_with_a_name": { - "type": "text" - }, - "titles_and_other_words_associated_with_a_name": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "number_of_part_section_of_a_work": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - } - } - }, - "source_of_acquisition": { - "type": "object", - "properties": { - "additional_format_characteristics": { - "type": "text" - }, - "terms_of_availability": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "note": { - "type": "text" - }, - "form_of_issue": { - "type": "text" - }, - "stock_number": { - "type": "text" - }, - "source_of_stock_number_acquisition": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "dewey_decimal_classification_number": { - "type": "object", - "properties": { - "item_number": { - "type": "text" - }, - "edition_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "type_of_edition": { - "type": "text" - }, - "classification_number": { - "type": "text" - }, - "source_of_classification_number": { - "type": "text" - }, - "standard_or_optional_designation": { - "type": "text" - }, - "assigning_agency": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "information_about_documentation_note": { - "type": "object", - "properties": { - "information_about_documentation_note": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "international_standard_book_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "collective_uniform_title": { - "type": "object", - "properties": { - "arranged_statement_for_music": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "number_of_part_section_of_a_work": { - "type": "text" - }, - "key_for_music": { - "type": "text" - }, - "nonfiling_characters": { - "type": "double" - }, - "uniform_title_printed_or_displayed": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "date_of_treaty_signing": { - "type": "text" - }, - "version": { - "type": "text" - }, - "uniform_title": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "medium_of_performance_for_music": { - "type": "text" - } - } - }, - "subject_added_entry_uniform_title": { - "type": "object", - "properties": { - "language_of_a_work": { - "type": "text" - }, - "form_subdivision": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "key_for_music": { - "type": "text" - }, - "date_of_treaty_signing": { - "type": "text" - }, - "version": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "geographic_subdivision": { - "type": "text" - }, - "medium_of_performance_for_music": { - "type": "text" - }, - "arranged_statement_for_music": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "chronological_subdivision": { - "type": "text" - }, - "thesaurus": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "source_of_heading_or_term": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "general_subdivision": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "nonfiling_characters": { - "type": "double" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "number_of_part_section_of_a_work": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "uniform_title": { - "type": "text" - } - } - }, - "location_of_other_archival_materials_note": { - "type": "object", - "properties": { - "relationship": { - "type": "text" - }, - "title": { - "type": "text" - }, - "custodian": { - "type": "text" - }, - "provenance": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "note": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "address": { - "type": "text" - }, - "country": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "participant_or_performer_note": { - "type": "object", - "properties": { - "participant_or_performer_note": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "time_period_of_content": { - "type": "object", - "properties": { - "type_of_time_period_in_subfield_b_or_c": { - "type": "text" - }, - "time_period_code": { - "type": "text" - }, - "formatted_9999_bc_through_ce_time_period": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "formatted_pre_9999_bc_time_period": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "national_library_of_medicine_call_number": { - "type": "object", - "properties": { - "classification_number_r": { - "type": "text" - }, - "item_number": { - "type": "text" - }, - "existence_in_nlm_collection": { - "type": "text" - }, - "source_of_call_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "originator_dissemination_control": { - "type": "object", - "properties": { - "other_restrictions": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "authorized_recipients_of_material": { - "type": "text" - }, - "originator_control_term": { - "type": "text" - }, - "originating_agency": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "computer_file_characteristics": { - "type": "object", - "properties": { - "computer_file_characteristics": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "former_title": { - "type": "object", - "properties": { - "note_controller": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "remainder_of_title": { - "type": "text" - }, - "title": { - "type": "text" - }, - "title_added_entry": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "date_or_sequential_designation": { - "type": "text" - }, - "number_of_part_section_of_a_work": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "security_classification_control": { - "type": "object", - "properties": { - "handling_instructions": { - "type": "text" - }, - "country_of_origin_code": { - "type": "text" - }, - "external_dissemination_information": { - "type": "text" - }, - "downgrading_or_declassification_event": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "classification_system": { - "type": "text" - }, - "authorization": { - "type": "text" - }, - "security_classification": { - "type": "text" - }, - "controlled_element": { - "type": "text" - }, - "downgrading_date": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "declassification_date": { - "type": "text" - } - } - }, - "cumulative_index_finding_aids_note": { - "type": "object", - "properties": { - "bibliographic_reference": { - "type": "text" - }, - "degree_of_control": { - "type": "text" - }, - "cumulative_index_finding_aids_note": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "availability_source": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "international_standard_book_number": { - "type": "object", - "properties": { - "international_standard_book_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "terms_of_availability": { - "type": "text" - }, - "canceled_invalid_isbn": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "summary": { - "type": "object", - "properties": { - "expansion_of_summary_note": { - "type": "text" - }, - "assigning_source": { - "type": "text" - }, - "summary": { - "type": "text" - }, - "source": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "projected_publication_date": { - "type": "object", - "properties": { - "projected_publication_date": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "cartographic_mathematical_data": { - "type": "object", - "properties": { - "statement_of_coordinates": { - "type": "text" - }, - "statement_of_zone": { - "type": "text" - }, - "outer_g_ring_coordinate_pairs": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "statement_of_projection": { - "type": "text" - }, - "statement_of_equinox": { - "type": "text" - }, - "statement_of_scale": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "exclusion_g_ring_coordinate_pairs": { - "type": "text" - } - } - }, - "record_content_licensor": { - "type": "object", - "properties": { - "record_content_licensor": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "index_term_curriculum_objective": { - "type": "object", - "properties": { - "curriculum_code": { - "type": "text" - }, - "subordinate_curriculum_objective": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "source_of_term_or_code": { - "type": "text" - }, - "correlation_factor": { - "type": "text" - }, - "main_curriculum_objective": { - "type": "text" - } - } - }, - "host_item_entry": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "material_specific_details": { - "type": "text" - }, - "related_parts": { - "type": "text" - }, - "edition": { - "type": "text" - }, - "coden_designation": { - "type": "text" - }, - "abbreviated_title": { - "type": "text" - }, - "note_controller": { - "type": "text" - }, - "physical_description": { - "type": "text" - }, - "title": { - "type": "text" - }, - "report_number": { - "type": "text" - }, - "relationship_code": { - "type": "text" - }, - "note": { - "type": "text" - }, - "place_publisher_and_date_of_publication": { - "type": "text" - }, - "main_entry_heading": { - "type": "text" - }, - "standard_technical_report_number": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "enumeration_and_first_page": { - "type": "text" - }, - "other_item_identifier": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "series_data_for_related_item": { - "type": "text" - }, - "international_standard_book_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "uniform_title": { - "type": "text" - } - } - }, - "former_publication_frequency": { - "type": "object", - "properties": { - "former_publication_frequency": { - "type": "text" - }, - "dates_of_former_publication_frequency": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "subject_category_code": { - "type": "object", - "properties": { - "subject_category_code": { - "type": "text" - }, - "source": { - "type": "text" - }, - "subject_category_code_subdivision": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "creation_production_credits_note": { - "type": "object", - "properties": { - "creation_production_credits_note": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "imprint_statement_for_sound_recordings_pre_aacr_1": { - "type": "object", - "properties": { - "date_of_production_release": { - "type": "text" - }, - "publisher_or_trade_name": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "serial_identification": { - "type": "text" - }, - "matrix_and_or_take_number": { - "type": "text" - }, - "place_of_production_release": { - "type": "text" - } - } - }, - "action_note": { - "type": "object", - "properties": { - "action_agent": { - "type": "text" - }, - "jurisdiction": { - "type": "text" - }, - "time_date_of_action": { - "type": "text" - }, - "source_of_term": { - "type": "text" - }, - "site_of_action": { - "type": "text" - }, - "nonpublic_note": { - "type": "text" - }, - "type_of_unit": { - "type": "text" - }, - "action_interval": { - "type": "text" - }, - "privacy": { - "type": "text" - }, - "authorization": { - "type": "text" - }, - "status": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "extent": { - "type": "text" - }, - "public_note": { - "type": "text" - }, - "method_of_action": { - "type": "text" - }, - "contingency_for_action": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "action": { - "type": "text" - }, - "action_identification": { - "type": "text" - } - } - }, - "medium_of_performance": { - "type": "object", - "properties": { - "medium_of_performance": { - "type": "text" - }, - "total_number_of_performers": { - "type": "text" - }, - "access_control": { - "type": "text" - }, - "doubling_instrument": { - "type": "text" - }, - "soloist": { - "type": "text" - }, - "number_of_performers_of_the_same_medium": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "note": { - "type": "text" - }, - "alternative_medium_of_performance": { - "type": "text" - }, - "source_of_term": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "library_of_congress_copy_issue_offprint_statement": { - "type": "object", - "properties": { - "copy_information": { - "type": "text" - }, - "item_number": { - "type": "text" - }, - "classification_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "entity_and_attribute_information_note": { - "type": "object", - "properties": { - "entity_and_attribute_detail_citation": { - "type": "text" - }, - "codeset_name_and_source": { - "type": "text" - }, - "entity_and_attribute_overview": { - "type": "text" - }, - "enumerated_domain_value_definition_and_source": { - "type": "text" - }, - "attribute_label": { - "type": "text" - }, - "beginning_and_ending_date_of_attribute_values": { - "type": "text" - }, - "attribute_units_of_measurement_and_resolution": { - "type": "text" - }, - "attribute_value_accuracy_explanation": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "attribute_measurement_frequency": { - "type": "text" - }, - "attribute_value_accuracy": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "range_domain_minimum_and_maximum": { - "type": "text" - }, - "entity_type_label": { - "type": "text" - }, - "enumerated_domain_value": { - "type": "text" - }, - "unrepresentable_domain": { - "type": "text" - }, - "entity_type_definition_and_source": { - "type": "text" - }, - "display_note": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "attribute_definition_and_source": { - "type": "text" - } - } - }, - "added_entry_hierarchical_place_name": { - "type": "object", - "properties": { - "city_subsection": { - "type": "text" - }, - "city": { - "type": "text" - }, - "intermediate_political_jurisdiction": { - "type": "text" - }, - "country_or_larger_entity": { - "type": "text" - }, - "first_order_political_jurisdiction": { - "type": "text" - }, - "extraterrestrial_area": { - "type": "text" - }, - "source_of_heading_or_term": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "other_nonjurisdictional_geographic_region_and_feature": { - "type": "text" - } - } - }, - "dates_of_publication_and_or_sequential_designation": { - "type": "object", - "properties": { - "format_of_date": { - "type": "text" - }, - "dates_of_publication_and_or_sequential_designation": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "source_of_information": { - "type": "text" - } - } - }, - "varying_form_of_title": { - "type": "object", - "properties": { - "display_text": { - "type": "text" - }, - "note_added_entry_controller": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "remainder_of_title": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "type_of_title": { - "type": "text" - }, - "title_proper_short_title": { - "type": "text" - }, - "date_or_sequential_designation": { - "type": "text" - }, - "number_of_part_section_of_a_work": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "type_of_report_and_period_covered_note": { - "type": "object", - "properties": { - "type_of_report": { - "type": "text" - }, - "period_covered": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "series_statement_added_entry_personal_name": { - "type": "object", - "properties": { - "number_of_part_section_of_a_work": { - "type": "text" - }, - "pronoun_represents_main_entry": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "personal_name": { - "type": "text" - }, - "titles_and_other_words_associated_with_a_name": { - "type": "text" - }, - "numeration": { - "type": "text" - }, - "dates_associated_with_a_name": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "affiliation": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "volume_sequential_designation": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "type_of_personal_name_entry_element": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "supplement_note": { - "type": "object", - "properties": { - "supplement_note": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "issued_with_entry": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "material_specific_details": { - "type": "text" - }, - "related_parts": { - "type": "text" - }, - "edition": { - "type": "text" - }, - "coden_designation": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "note_controller": { - "type": "text" - }, - "physical_description": { - "type": "text" - }, - "title": { - "type": "text" - }, - "other_item_identifier": { - "type": "text" - }, - "relationship_code": { - "type": "text" - }, - "note": { - "type": "text" - }, - "place_publisher_and_date_of_publication": { - "type": "text" - }, - "main_entry_heading": { - "type": "text" - }, - "series_data_for_related_item": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "uniform_title": { - "type": "text" - } - } - }, - "non_marc_information_field": { - "type": "object", - "properties": { - "source_of_data": { - "type": "text" - }, - "content_of_non_marc_field": { - "type": "text" - } - } - }, - "dissertation_note": { - "type": "object", - "properties": { - "degree_type": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "year_degree_granted": { - "type": "text" - }, - "dissertation_identifier": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "name_of_granting_institution": { - "type": "text" - }, - "dissertation_note": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "other_edition_entry": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "material_specific_details": { - "type": "text" - }, - "related_parts": { - "type": "text" - }, - "edition": { - "type": "text" - }, - "coden_designation": { - "type": "text" - }, - "country_code": { - "type": "text" - }, - "language_code": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "note_controller": { - "type": "text" - }, - "physical_description": { - "type": "text" - }, - "title": { - "type": "text" - }, - "report_number": { - "type": "text" - }, - "relationship_code": { - "type": "text" - }, - "note": { - "type": "text" - }, - "place_publisher_and_date_of_publication": { - "type": "text" - }, - "main_entry_heading": { - "type": "text" - }, - "standard_technical_report_number": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "other_item_identifier": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "series_data_for_related_item": { - "type": "text" - }, - "international_standard_book_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "uniform_title": { - "type": "text" - } - } - }, - "system_details_access_to_computer_files": { - "type": "object", - "properties": { - "programming_language": { - "type": "text" - }, - "operating_system": { - "type": "text" - }, - "make_and_model_of_machine": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "audience_characteristics": { - "type": "object", - "properties": { - "audience_code": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "audience_term": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "source": { - "type": "text" - }, - "demographic_group_term": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "demographic_group_code": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "added_entry_meeting_name": { - "type": "object", - "properties": { - "type_of_added_entry": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "version": { - "type": "text" - }, - "name_of_meeting_following_jurisdiction_name_entry_element": { - "type": "text" - }, - "affiliation": { - "type": "text" - }, - "date_of_meeting": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "meeting_name_or_jurisdiction_name_as_entry_element": { - "type": "text" - }, - "type_of_meeting_name_entry_element": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "subordinate_unit": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "number_of_part_section_meeting": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "location_of_meeting": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - } - } - }, - "location_of_originals_duplicates_note": { - "type": "object", - "properties": { - "telecommunications_address": { - "type": "text" - }, - "postal_address": { - "type": "text" - }, - "custodian": { - "type": "text" - }, - "custodial_role": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "repository_location_code": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "country": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "accumulation_and_frequency_of_use_note": { - "type": "object", - "properties": { - "institution_to_which_field_applies": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "frequency_of_use": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "accumulation": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "abbreviated_title": { - "type": "object", - "properties": { - "title_added_entry": { - "type": "text" - }, - "abbreviated_title": { - "type": "text" - }, - "source": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "type": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "series_statement_added_entry_meeting_name": { - "type": "object", - "properties": { - "name_of_part_section_of_a_work": { - "type": "text" - }, - "location_of_meeting": { - "type": "text" - }, - "pronoun_represents_main_entry": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "date_of_meeting": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "affiliation": { - "type": "text" - }, - "subordinate_unit": { - "type": "text" - }, - "meeting_name_or_jurisdiction_name_as_entry_element": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "number_of_part_section_meeting": { - "type": "text" - }, - "volume_sequential_designation": { - "type": "text" - }, - "type_of_meeting_name_entry_element": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "name_of_meeting_following_jurisdiction_name_entry_element": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "publications_about_described_materials_note": { - "type": "object", - "properties": { - "international_standard_book_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "publications_about_described_materials_note": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "series_statement_added_entry_title": { - "type": "object", - "properties": { - "title": { - "type": "text" - }, - "nonfiling_characters": { - "type": "double" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "volume_sequential_designation": { - "type": "text" - }, - "number_of_part_section_of_a_work": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "bibliographic_record_control_number": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "government_document_classification_number": { - "type": "object", - "properties": { - "number_source": { - "type": "text" - }, - "canceled_invalid_classification_number": { - "type": "text" - }, - "classification_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "series_statement_added_entry_corporate_name": { - "type": "object", - "properties": { - "location_of_meeting": { - "type": "text" - }, - "pronoun_represents_main_entry": { - "type": "text" - }, - "corporate_name_or_jurisdiction_name_as_entry_element": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "affiliation": { - "type": "text" - }, - "type_of_corporate_name_entry_element": { - "type": "text" - }, - "subordinate_unit": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "number_of_part_section_meeting": { - "type": "text" - }, - "volume_sequential_designation": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "date_of_meeting_or_treaty_signing": { - "type": "text" - } - } - }, - "current_publication_frequency": { - "type": "object", - "properties": { - "current_publication_frequency": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "date_of_current_publication_frequency": { - "type": "text" - } - } - }, - "other_relationship_entry": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "material_specific_details": { - "type": "text" - }, - "related_parts": { - "type": "text" - }, - "edition": { - "type": "text" - }, - "coden_designation": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "note_controller": { - "type": "text" - }, - "physical_description": { - "type": "text" - }, - "title": { - "type": "text" - }, - "report_number": { - "type": "text" - }, - "relationship_code": { - "type": "text" - }, - "note": { - "type": "text" - }, - "place_publisher_and_date_of_publication": { - "type": "text" - }, - "main_entry_heading": { - "type": "text" - }, - "standard_technical_report_number": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "other_item_identifier": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "series_data_for_related_item": { - "type": "text" - }, - "international_standard_book_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "uniform_title": { - "type": "text" - } - } - }, - "original_language_entry": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "material_specific_details": { - "type": "text" - }, - "related_parts": { - "type": "text" - }, - "edition": { - "type": "text" - }, - "coden_designation": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "note_controller": { - "type": "text" - }, - "physical_description": { - "type": "text" - }, - "title": { - "type": "text" - }, - "report_number": { - "type": "text" - }, - "relationship_code": { - "type": "text" - }, - "note": { - "type": "text" - }, - "place_publisher_and_date_of_publication": { - "type": "text" - }, - "main_entry_heading": { - "type": "text" - }, - "standard_technical_report_number": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "other_item_identifier": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "series_data_for_related_item": { - "type": "text" - }, - "international_standard_book_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "uniform_title": { - "type": "text" - } - } - }, - "national_agricultural_library_call_number": { - "type": "object", - "properties": { - "item_number": { - "type": "text" - }, - "classification_number": { - "type": "text" - }, - "existence_in_nal_collection": { - "type": "text" - }, - "field_link_and_sequence_number_r": { - "type": "text" - } - } - }, - "character_sets_present": { - "type": "object", - "properties": { - "primary_g1_character_set": { - "type": "text" - }, - "primary_g0_character_set": { - "type": "text" - }, - "alternate_g0_or_g1_character_set": { - "type": "text" - } - } - }, - "scale_note_for_graphic_material": { - "type": "object", - "properties": { - "remainder_of_scale_note": { - "type": "text" - }, - "representative_fraction_of_scale_note": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "hours": { - "type": "object", - "properties": { - "hours": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "additional_information": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "linking_entry_complexity_note": { - "type": "object", - "properties": { - "linking_entry_complexity_note": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "general_note": { - "type": "object", - "properties": { - "institution_to_which_field_applies": { - "type": "text" - }, - "general_note": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "date_time_and_place_of_an_event_note": { - "type": "object", - "properties": { - "place_of_event": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "date_of_event": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "date_time_and_place_of_an_event_note": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "other_event_information": { - "type": "text" - }, - "source_of_term": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "series_statement": { - "type": "object", - "properties": { - "library_of_congress_call_number": { - "type": "text" - }, - "series_tracing_policy": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "volume_sequential_designation": { - "type": "text" - }, - "series_statement": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - } - } - }, - "key": { - "type": "object", - "properties": { - "key_type": { - "type": "text" - }, - "key": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "address": { - "type": "object", - "properties": { - "postal_code": { - "type": "text" - }, - "attention_position": { - "type": "text" - }, - "type_of_address": { - "type": "text" - }, - "city": { - "type": "text" - }, - "state_or_province": { - "type": "text" - }, - "specialized_telephone_number": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "electronic_mail_address": { - "type": "text" - }, - "fax_number": { - "type": "text" - }, - "hours": { - "type": "text" - }, - "address": { - "type": "text" - }, - "public_note": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "tdd_or_tty_number": { - "type": "text" - }, - "title_of_contact_person": { - "type": "text" - }, - "level": { - "type": "text" - }, - "country": { - "type": "text" - }, - "telephone_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "terms_preceding_attention_name": { - "type": "text" - }, - "contact_person": { - "type": "text" - }, - "attention_name": { - "type": "text" - } - } - }, - "supplement_special_issue_entry": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "material_specific_details": { - "type": "text" - }, - "related_parts": { - "type": "text" - }, - "edition": { - "type": "text" - }, - "coden_designation": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "note_controller": { - "type": "text" - }, - "physical_description": { - "type": "text" - }, - "title": { - "type": "text" - }, - "report_number": { - "type": "text" - }, - "relationship_code": { - "type": "text" - }, - "note": { - "type": "text" - }, - "place_publisher_and_date_of_publication": { - "type": "text" - }, - "main_entry_heading": { - "type": "text" - }, - "standard_technical_report_number": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "other_item_identifier": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "series_data_for_related_item": { - "type": "text" - }, - "international_standard_book_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "uniform_title": { - "type": "text" - } - } - }, - "series_added_entry_meeting_name": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "name_of_meeting_following_jurisdiction_name_entry_element": { - "type": "text" - }, - "affiliation": { - "type": "text" - }, - "date_of_meeting": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "meeting_name_or_jurisdiction_name_as_entry_element": { - "type": "text" - }, - "type_of_meeting_name_entry_element": { - "type": "text" - }, - "version": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "subordinate_unit": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "number_of_part_section_meeting": { - "type": "text" - }, - "location_of_meeting": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "volume_sequential_designation": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "bibliographic_record_control_number": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - } - } - }, - "machine_generated_metadata_provenance": { - "type": "object", - "properties": { - "method_of_machine_assignment": { - "type": "text" - }, - "generation_agency": { - "type": "text" - }, - "confidence_value": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "generation_process": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "validity_end_date": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "generation_date": { - "type": "text" - }, - "bibliographic_record_control_number": { - "type": "text" - } - } - }, - "added_entry_uncontrolled_name": { - "type": "object", - "properties": { - "name": { - "type": "text" - }, - "type_of_name": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "added_entry_uniform_title": { - "type": "object", - "properties": { - "type_of_added_entry": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "key_for_music": { - "type": "text" - }, - "date_of_treaty_signing": { - "type": "text" - }, - "version": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "medium_of_performance_for_music": { - "type": "text" - }, - "arranged_statement_for_music": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "nonfiling_characters": { - "type": "double" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "number_of_part_section_of_a_work": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "uniform_title": { - "type": "text" - } - } - }, - "awards_note": { - "type": "object", - "properties": { - "awards_note": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "additional_dewey_decimal_classification_number": { - "type": "object", - "properties": { - "classification_number_ending_number_of_span": { - "type": "text" - }, - "edition_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "table_sequence_number_for_internal_subarrangement_or_add_table": { - "type": "text" - }, - "type_of_edition": { - "type": "text" - }, - "classification_number": { - "type": "text" - }, - "table_identification": { - "type": "text" - }, - "standard_or_optional_designation": { - "type": "text" - }, - "assigning_agency": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "national_agricultural_library_copy_statement": { - "type": "object", - "properties": { - "copy_information": { - "type": "text" - }, - "item_number": { - "type": "text" - }, - "classification_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "carrier_type": { - "type": "object", - "properties": { - "carrier_type_term": { - "type": "text" - }, - "carrier_type_code": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "source": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "methodology_note": { - "type": "object", - "properties": { - "methodology_note": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "subject_added_entry_topical_term": { - "type": "object", - "properties": { - "form_subdivision": { - "type": "text" - }, - "general_subdivision": { - "type": "text" - }, - "topical_term_following_geographic_name_entry_element": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "level_of_subject": { - "type": "text" - }, - "thesaurus": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "topical_term_or_geographic_name_entry_element": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "active_dates": { - "type": "text" - }, - "source_of_heading_or_term": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "location_of_event": { - "type": "text" - }, - "geographic_subdivision": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "chronological_subdivision": { - "type": "text" - } - } - }, - "preferred_citation_of_described_materials_note": { - "type": "object", - "properties": { - "materials_specified": { - "type": "text" - }, - "preferred_citation_of_described_materials_note": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "source_of_schema_used": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "form_of_musical_composition_code": { - "type": "object", - "properties": { - "source_of_code": { - "type": "text" - }, - "form_of_musical_composition_code": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "publisher_number": { - "type": "object", - "properties": { - "note_added_entry_controller": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "publisher_number": { - "type": "text" - }, - "source": { - "type": "text" - }, - "type_of_publisher_number": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "subject_added_entry_hierarchical_place_name": { - "type": "object", - "properties": { - "city_subsection": { - "type": "text" - }, - "city": { - "type": "text" - }, - "intermediate_political_jurisdiction": { - "type": "text" - }, - "country_or_larger_entity": { - "type": "text" - }, - "first_order_political_jurisdiction": { - "type": "text" - }, - "extraterrestrial_area": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "source_of_heading_or_term": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "other_nonjurisdictional_geographic_region_and_feature": { - "type": "text" - } - } - }, - "musical_presentation_statement": { - "type": "object", - "properties": { - "musical_presentation_statement": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "series_added_entry_uniform_title": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "key_for_music": { - "type": "text" - }, - "date_of_treaty_signing": { - "type": "text" - }, - "version": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "medium_of_performance_for_music": { - "type": "text" - }, - "arranged_statement_for_music": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "nonfiling_characters": { - "type": "double" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "volume_sequential_designation": { - "type": "text" - }, - "number_of_part_section_of_a_work": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "bibliographic_record_control_number": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "uniform_title": { - "type": "text" - } - } - }, - "other_standard_identifier": { - "type": "object", - "properties": { - "canceled_invalid_standard_number_or_code": { - "type": "text" - }, - "source_of_number_or_code": { - "type": "text" - }, - "difference_indicator": { - "type": "text" - }, - "terms_of_availability": { - "type": "text" - }, - "type_of_standard_number_or_code": { - "type": "text" - }, - "standard_number_or_code": { - "type": "text" - }, - "additional_codes_following_the_standard_number_or_code": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "library_of_congress_call_number": { - "type": "object", - "properties": { - "item_number": { - "type": "text" - }, - "source_of_call_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "classification_number": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "existence_in_lc_collection": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "date_time_and_place_of_an_event": { - "type": "object", - "properties": { - "place_of_event": { - "type": "text" - }, - "type_of_event": { - "type": "text" - }, - "geographic_classification_subarea_code": { - "type": "text" - }, - "type_of_date_in_subfield_a": { - "type": "text" - }, - "geographic_classification_area_code": { - "type": "text" - }, - "formatted_date_time": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "source_of_term": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "translation_of_title_by_cataloging_agency": { - "type": "object", - "properties": { - "language_code_of_translated_title": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "remainder_of_title": { - "type": "text" - }, - "title": { - "type": "text" - }, - "statement_of_responsibility": { - "type": "text" - }, - "title_added_entry": { - "type": "text" - }, - "nonfiling_characters": { - "type": "double" - }, - "number_of_part_section_of_a_work": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "classification_numbers_assigned_in_canada": { - "type": "object", - "properties": { - "item_number": { - "type": "text" - }, - "existence_in_lac_collection": { - "type": "text" - }, - "type_completeness_source_of_class_call_number": { - "type": "text" - }, - "source_of_call_class_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "classification_number": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "coded_cartographic_mathematical_data": { - "type": "object", - "properties": { - "equinox": { - "type": "text" - }, - "name_of_extraterrestrial_body": { - "type": "text" - }, - "constant_ratio_linear_vertical_scale": { - "type": "text" - }, - "declination_southern_limit": { - "type": "text" - }, - "ending_date": { - "type": "text" - }, - "g_ring_longitude": { - "type": "text" - }, - "source": { - "type": "text" - }, - "beginning_date": { - "type": "text" - }, - "angular_scale": { - "type": "text" - }, - "constant_ratio_linear_horizontal_scale": { - "type": "text" - }, - "coordinates_northernmost_latitude": { - "type": "text" - }, - "right_ascension_eastern_limit": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "distance_from_earth": { - "type": "text" - }, - "type_of_ring": { - "type": "text" - }, - "type_of_scale": { - "type": "text" - }, - "category_of_scale": { - "type": "text" - }, - "right_ascension_western_limit": { - "type": "text" - }, - "coordinates_southernmost_latitude": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "declination_northern_limit": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "coordinates_westernmost_longitude": { - "type": "text" - }, - "g_ring_latitude": { - "type": "text" - }, - "coordinates_easternmost_longitude": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - } - } - }, - "with_note": { - "type": "object", - "properties": { - "institution_to_which_field_applies": { - "type": "text" - }, - "with_note": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "geospatial_reference_data": { - "type": "object", - "properties": { - "denominator_of_flattening_ratio": { - "type": "text" - }, - "oblique_line_longitude": { - "type": "text" - }, - "height_of_perspective_point_above_surface": { - "type": "text" - }, - "landsat_number_and_path_number": { - "type": "text" - }, - "azimuth_measure_point_longitude_or_straight_vertical_longitude_from_pole": { - "type": "text" - }, - "latitude_resolution": { - "type": "text" - }, - "geospatial_reference_method": { - "type": "text" - }, - "ellipsoid_name": { - "type": "text" - }, - "zone_identifier": { - "type": "text" - }, - "local_planar_or_local_georeference_information": { - "type": "text" - }, - "vertical_resolution": { - "type": "text" - }, - "longitude_resolution": { - "type": "text" - }, - "scale_factor": { - "type": "text" - }, - "vertical_encoding_method": { - "type": "text" - }, - "latitude_of_projection_center_or_projection_origin": { - "type": "text" - }, - "false_easting": { - "type": "text" - }, - "false_northing": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "azimuthal_angle": { - "type": "text" - }, - "name": { - "type": "text" - }, - "reference_method_used": { - "type": "text" - }, - "standard_parallel_or_oblique_line_latitude": { - "type": "text" - }, - "semi_major_axis": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "local_planar_local_or_other_projection_or_grid_description": { - "type": "text" - }, - "coordinate_units_or_distance_units": { - "type": "text" - }, - "geospatial_reference_dimension": { - "type": "text" - }, - "longitude_of_central_meridian_or_projection_center": { - "type": "text" - } - } - }, - "numeric_designation_of_musical_work": { - "type": "object", - "properties": { - "opus_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "source": { - "type": "text" - }, - "publisher_associated_with_opus_number": { - "type": "text" - }, - "thematic_index_number": { - "type": "text" - }, - "serial_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "thematic_index_code": { - "type": "text" - } - } - }, - "issuing_body_note": { - "type": "object", - "properties": { - "issuing_body_note": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "synthesized_classification_number_components": { - "type": "object", - "properties": { - "digits_added_from_internal_subarrangement_or_add_table": { - "type": "text" - }, - "classification_number_ending_number_of_span": { - "type": "text" - }, - "table_identification_internal_subarrangement_or_add_table": { - "type": "text" - }, - "number_being_analyzed": { - "type": "text" - }, - "number_in_internal_subarrangement_or_add_table_where_instructions_are_found": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "table_sequence_number_for_internal_subarrangement_or_add_table": { - "type": "text" - }, - "base_number": { - "type": "text" - }, - "number_where_instructions_are_found_single_number_or_beginning_number_of_span": { - "type": "text" - }, - "facet_designator": { - "type": "text" - }, - "digits_added_from_classification_number_in_schedule_or_external_table": { - "type": "text" - }, - "table_identification": { - "type": "text" - }, - "root_number": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "control_number": { - "type": "text" - }, - "other_classification_number": { - "type": "object", - "properties": { - "item_number": { - "type": "text" - }, - "number_source": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "classification_number": { - "type": "text" - }, - "assigning_agency": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "universal_decimal_classification_number": { - "type": "object", - "properties": { - "item_number": { - "type": "text" - }, - "edition_identifier": { - "type": "text" - }, - "common_auxiliary_subdivision": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "universal_decimal_classification_number": { - "type": "text" - }, - "type_of_edition": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "copyright_article_fee_code": { - "type": "object", - "properties": { - "copyright_article_fee_code_nr": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "index_term_genre_form": { - "type": "object", - "properties": { - "form_subdivision": { - "type": "text" - }, - "general_subdivision": { - "type": "text" - }, - "genre_form_data_or_focus_term": { - "type": "text" - }, - "type_of_heading": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "thesaurus": { - "type": "text" - }, - "non_focus_term": { - "type": "text" - }, - "facet_hierarchy_designation": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "source_of_term": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "geographic_subdivision": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "chronological_subdivision": { - "type": "text" - } - } - }, - "media_type": { - "type": "object", - "properties": { - "media_type_term": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "source": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "media_type_code": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "subject_added_entry_meeting_name": { - "type": "object", - "properties": { - "language_of_a_work": { - "type": "text" - }, - "name_of_meeting_following_jurisdiction_name_entry_element": { - "type": "text" - }, - "affiliation": { - "type": "text" - }, - "form_subdivision": { - "type": "text" - }, - "date_of_meeting": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "meeting_name_or_jurisdiction_name_as_entry_element": { - "type": "text" - }, - "type_of_meeting_name_entry_element": { - "type": "text" - }, - "version": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "geographic_subdivision": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "chronological_subdivision": { - "type": "text" - }, - "subordinate_unit": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "thesaurus": { - "type": "text" - }, - "source_of_heading_or_term": { - "type": "text" - }, - "number_of_part_section_meeting": { - "type": "text" - }, - "location_of_meeting": { - "type": "text" - }, - "general_subdivision": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - } - } - }, - "main_series_entry": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "note_controller": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "physical_description": { - "type": "text" - }, - "uniform_title": { - "type": "text" - }, - "related_parts": { - "type": "text" - }, - "main_entry_heading": { - "type": "text" - }, - "material_specific_details": { - "type": "text" - }, - "other_item_identifier": { - "type": "text" - }, - "relationship_code": { - "type": "text" - }, - "note": { - "type": "text" - }, - "edition": { - "type": "text" - }, - "coden_designation": { - "type": "text" - }, - "place_publisher_and_date_of_publication": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "title": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - } - } - }, - "trade_price": { - "type": "object", - "properties": { - "iso_country_code": { - "type": "text" - }, - "identification_of_pricing_entity": { - "type": "text" - }, - "price_amount": { - "type": "text" - }, - "price_effective_from": { - "type": "text" - }, - "price_type_code": { - "type": "text" - }, - "price_effective_until": { - "type": "text" - }, - "price_note": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "unit_of_pricing": { - "type": "text" - }, - "currency_code": { - "type": "text" - }, - "tax_rate_2": { - "type": "text" - }, - "tax_rate_1": { - "type": "text" - }, - "source_of_price_type_code": { - "type": "text" - }, - "marc_country_code": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "reproduction_note": { - "type": "object", - "properties": { - "physical_description_of_reproduction": { - "type": "text" - }, - "date_of_reproduction": { - "type": "text" - }, - "note_about_reproduction": { - "type": "text" - }, - "place_of_reproduction": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "type_of_reproduction": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "series_statement_of_reproduction": { - "type": "text" - }, - "agency_responsible_for_reproduction": { - "type": "text" - }, - "dates_and_or_sequential_designation_of_issues_reproduced": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "fixed_length_data_elements_of_reproduction": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "publication_distribution_imprint": { - "type": "object", - "properties": { - "name_of_publisher_distributor": { - "type": "text" - }, - "place_of_publication_distribution": { - "type": "text" - }, - "sequence_of_publishing_statements": { - "type": "text" - }, - "date_of_manufacture": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "place_of_manufacture": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "date_of_publication_distribution": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "manufacturer": { - "type": "text" - } - } - }, - "playing_time": { - "type": "object", - "properties": { - "playing_time": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "formatted_contents_note": { - "type": "object", - "properties": { - "title": { - "type": "text" - }, - "statement_of_responsibility": { - "type": "text" - }, - "formatted_contents_note": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "level_of_content_designation": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "overseas_acquisition_number": { - "type": "object", - "properties": { - "overseas_acquisition_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "creator_contributor_characteristics": { - "type": "object", - "properties": { - "demographic_group_term": { - "type": "text" - }, - "creator_contributor_term": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "source": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "creator_contributor_code": { - "type": "text" - }, - "demographic_group_code": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "preceding_entry": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "material_specific_details": { - "type": "text" - }, - "related_parts": { - "type": "text" - }, - "edition": { - "type": "text" - }, - "coden_designation": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "note_controller": { - "type": "text" - }, - "physical_description": { - "type": "text" - }, - "title": { - "type": "text" - }, - "report_number": { - "type": "text" - }, - "type_of_relationship": { - "type": "text" - }, - "relationship_code": { - "type": "text" - }, - "note": { - "type": "text" - }, - "place_publisher_and_date_of_publication": { - "type": "text" - }, - "main_entry_heading": { - "type": "text" - }, - "standard_technical_report_number": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "other_item_identifier": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "series_data_for_related_item": { - "type": "text" - }, - "international_standard_book_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "uniform_title": { - "type": "text" - } - } - }, - "national_library_of_medicine_copy_statement": { - "type": "object", - "properties": { - "copy_information": { - "type": "text" - }, - "item_number": { - "type": "text" - }, - "classification_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "philatelic_issue_data": { - "type": "object", - "properties": { - "issuing_jurisdiction": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "denomination": { - "type": "text" - } - } - }, - "special_coded_dates": { - "type": "object", - "properties": { - "source_of_date": { - "type": "text" - }, - "type_of_date_code": { - "type": "text" - }, - "date_1_bc_date": { - "type": "text" - }, - "ending_date_for_aggregated_content": { - "type": "text" - }, - "ending_date_created": { - "type": "text" - }, - "single_or_starting_date_for_aggregated_content": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "date_1_ce_date": { - "type": "text" - }, - "beginning_of_date_valid": { - "type": "text" - }, - "end_of_date_valid": { - "type": "text" - }, - "beginning_or_single_date_created": { - "type": "text" - }, - "date_2_bc_date": { - "type": "text" - }, - "date_resource_modified": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "date_2_ce_date": { - "type": "text" - } - } - }, - "main_entry_personal_name": { - "type": "object", - "properties": { - "number_of_part_section_of_a_work": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "attribution_qualifier": { - "type": "text" - }, - "fuller_form_of_name": { - "type": "text" - }, - "personal_name": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "affiliation": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "numeration": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "titles_and_words_associated_with_a_name": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "type_of_personal_name_entry_element": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "dates_associated_with_a_name": { - "type": "text" - } - } - }, - "immediate_source_of_acquisition_note": { - "type": "object", - "properties": { - "type_of_unit": { - "type": "text" - }, - "extent": { - "type": "text" - }, - "privacy": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "date_of_acquisition": { - "type": "text" - }, - "accession_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "source_of_acquisition": { - "type": "text" - }, - "method_of_acquisition": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "address": { - "type": "text" - }, - "owner": { - "type": "text" - }, - "purchase_price": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "electronic_location_and_access": { - "type": "object", - "properties": { - "record_control_number": { - "type": "text" - }, - "instruction": { - "type": "text" - }, - "contact_for_access_assistance": { - "type": "text" - }, - "compression_information": { - "type": "text" - }, - "link_text": { - "type": "text" - }, - "name_of_location_of_host": { - "type": "text" - }, - "access_number": { - "type": "text" - }, - "hours_access_method_available": { - "type": "text" - }, - "file_size": { - "type": "text" - }, - "port": { - "type": "text" - }, - "nonpublic_note": { - "type": "text" - }, - "bits_per_second": { - "type": "text" - }, - "electronic_name": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "access_method": { - "type": "text" - }, - "relationship": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "public_note": { - "type": "text" - }, - "password": { - "type": "text" - }, - "processor_of_request": { - "type": "text" - }, - "operating_system": { - "type": "text" - }, - "terminal_emulation": { - "type": "text" - }, - "settings": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "electronic_format_type": { - "type": "text" - }, - "host_name": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "path": { - "type": "text" - }, - "logon": { - "type": "text" - } - } - }, - "original_study_number_for_computer_data_files": { - "type": "object", - "properties": { - "field_link_and_sequence_number": { - "type": "text" - }, - "original_study_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "source_agency_assigning_number": { - "type": "text" - } - } - }, - "content_type": { - "type": "object", - "properties": { - "field_link_and_sequence_number": { - "type": "text" - }, - "source": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "content_type_term": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "content_type_code": { - "type": "text" - } - } - }, - "data_quality_note": { - "type": "object", - "properties": { - "attribute_accuracy_report": { - "type": "text" - }, - "vertical_positional_accuracy_explanation": { - "type": "text" - }, - "cloud_cover": { - "type": "text" - }, - "attribute_accuracy_explanation": { - "type": "text" - }, - "horizontal_position_accuracy_report": { - "type": "text" - }, - "horizontal_position_accuracy_value": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "attribute_accuracy_value": { - "type": "text" - }, - "vertical_positional_accuracy_value": { - "type": "text" - }, - "horizontal_position_accuracy_explanation": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "vertical_positional_accuracy_report": { - "type": "text" - }, - "completeness_report": { - "type": "text" - }, - "logical_consistency_report": { - "type": "text" - }, - "display_note": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "numbering_peculiarities_note": { - "type": "object", - "properties": { - "numbering_peculiarities_note": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "normalized_date_and_sequential_designation": { - "type": "object", - "properties": { - "first_level_textual_designation": { - "type": "text" - }, - "sixth_level_of_enumeration": { - "type": "text" - }, - "third_level_of_enumeration": { - "type": "text" - }, - "first_level_of_enumeration": { - "type": "text" - }, - "second_level_of_chronology": { - "type": "text" - }, - "alternative_numbering_scheme_chronology": { - "type": "text" - }, - "alternative_numbering_scheme_second_level_of_enumeration": { - "type": "text" - }, - "fifth_level_of_enumeration": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "fourth_level_of_chronology": { - "type": "text" - }, - "first_level_of_chronology": { - "type": "text" - }, - "third_level_of_chronology": { - "type": "text" - }, - "fourth_level_of_enumeration": { - "type": "text" - }, - "first_level_of_chronology_issuance": { - "type": "text" - }, - "public_note": { - "type": "text" - }, - "alternative_numbering_scheme_first_level_of_enumeration": { - "type": "text" - }, - "nonpublic_note": { - "type": "text" - }, - "state_of_issuance": { - "type": "text" - }, - "second_level_of_enumeration": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "start_end_designator": { - "type": "text" - } - } - }, - "fixed_length_data_elements": { - "type": "text" - }, - "terms_governing_use_and_reproduction_note": { - "type": "object", - "properties": { - "materials_specified": { - "type": "text" - }, - "authorized_users": { - "type": "text" - }, - "jurisdiction": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "authorization": { - "type": "text" - }, - "terms_governing_use_and_reproduction": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "imprint_statement_for_films_pre_aacr_1_revised": { - "type": "object", - "properties": { - "date_of_production_release": { - "type": "text" - }, - "releasing_company": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "contractual_producer": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "producing_company": { - "type": "text" - }, - "place_of_production_release": { - "type": "text" - } - } - }, - "edition_statement": { - "type": "object", - "properties": { - "materials_specified": { - "type": "text" - }, - "remainder_of_edition_statement": { - "type": "text" - }, - "edition_statement": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "form_of_work": { - "type": "object", - "properties": { - "source_of_term": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "form_of_work": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "replacement_record_information": { - "type": "object", - "properties": { - "field_link_and_sequence_number": { - "type": "text" - }, - "replacement_bibliographic_record_control_number": { - "type": "text" - }, - "replacement_title": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "explanatory_text": { - "type": "text" - } - } - }, - "subseries_entry": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "note_controller": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "physical_description": { - "type": "text" - }, - "uniform_title": { - "type": "text" - }, - "related_parts": { - "type": "text" - }, - "main_entry_heading": { - "type": "text" - }, - "material_specific_details": { - "type": "text" - }, - "other_item_identifier": { - "type": "text" - }, - "relationship_code": { - "type": "text" - }, - "note": { - "type": "text" - }, - "edition": { - "type": "text" - }, - "coden_designation": { - "type": "text" - }, - "place_publisher_and_date_of_publication": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "title": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - } - } - }, - "fixed_length_data_elements_additional_material_characteristics": { - "type": "text" - }, - "biographical_or_historical_data": { - "type": "object", - "properties": { - "expansion": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "biographical_or_historical_data": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "type_of_data": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "study_program_information_note": { - "type": "object", - "properties": { - "display_text": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "title_point_value": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "public_note": { - "type": "text" - }, - "program_name": { - "type": "text" - }, - "interest_level": { - "type": "text" - }, - "reading_level": { - "type": "text" - }, - "nonpublic_note": { - "type": "text" - } - } - }, - "target_audience_note": { - "type": "object", - "properties": { - "target_audience_note": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "source": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "digital_graphic_representation": { - "type": "object", - "properties": { - "object_count": { - "type": "text" - }, - "vpf_topology_level": { - "type": "text" - }, - "object_type": { - "type": "text" - }, - "direct_reference_method": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "row_count": { - "type": "text" - }, - "indirect_reference_description": { - "type": "text" - }, - "column_count": { - "type": "text" - }, - "format_of_the_digital_image": { - "type": "text" - }, - "vertical_count": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "uniform_title": { - "type": "object", - "properties": { - "arranged_statement_for_music": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "number_of_part_section_of_a_work": { - "type": "text" - }, - "key_for_music": { - "type": "text" - }, - "nonfiling_characters": { - "type": "double" - }, - "uniform_title_printed_or_displayed": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "date_of_treaty_signing": { - "type": "text" - }, - "version": { - "type": "text" - }, - "uniform_title": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "medium_of_performance_for_music": { - "type": "text" - } - } - }, - "added_entry_uncontrolled_related_analytical_title": { - "type": "object", - "properties": { - "type_of_added_entry": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "nonfiling_characters": { - "type": "double" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "number_of_part_section_of_a_work": { - "type": "text" - }, - "uncontrolled_related_analytical_title": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "cataloging_source": { - "type": "object", - "properties": { - "modifying_agency": { - "type": "text" - }, - "transcribing_agency": { - "type": "text" - }, - "description_conventions": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "language_of_cataloging": { - "type": "text" - }, - "original_cataloging_agency": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "projection_characteristics_of_moving_image": { - "type": "object", - "properties": { - "presentation_format": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "source": { - "type": "text" - }, - "projection_speed": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "video_characteristics": { - "type": "object", - "properties": { - "source": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "video_format": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "broadcast_standard": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "physical_medium": { - "type": "object", - "properties": { - "polarity": { - "type": "text" - }, - "layout": { - "type": "text" - }, - "dimensions": { - "type": "text" - }, - "information_recording_technique": { - "type": "text" - }, - "production_rate_ratio": { - "type": "text" - }, - "generation": { - "type": "text" - }, - "support": { - "type": "text" - }, - "font_size": { - "type": "text" - }, - "material_base_and_configuration": { - "type": "text" - }, - "source": { - "type": "text" - }, - "location_within_medium": { - "type": "text" - }, - "book_format": { - "type": "text" - }, - "technical_specifications_of_medium": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "materials_applied_to_surface": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "key_title": { - "type": "object", - "properties": { - "qualifying_information": { - "type": "text" - }, - "key_title": { - "type": "text" - }, - "nonfiling_characters": { - "type": "double" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "musical_incipits_information": { - "type": "object", - "properties": { - "general_note": { - "type": "text" - }, - "text_incipit": { - "type": "text" - }, - "system_code": { - "type": "text" - }, - "coded_validity_note": { - "type": "text" - }, - "link_text": { - "type": "text" - }, - "number_of_work": { - "type": "text" - }, - "voice_instrument": { - "type": "text" - }, - "caption_or_heading": { - "type": "text" - }, - "key_signature": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "number_of_excerpt": { - "type": "text" - }, - "time_signature": { - "type": "text" - }, - "public_note": { - "type": "text" - }, - "key_or_mode": { - "type": "text" - }, - "role": { - "type": "text" - }, - "musical_notation": { - "type": "text" - }, - "clef": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "number_of_movement": { - "type": "text" - } - } - }, - "coden_designation": { - "type": "object", - "properties": { - "field_link_and_sequence_number": { - "type": "text" - }, - "canceled_invalid_coden": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "coden": { - "type": "text" - } - } - }, - "subject_added_entry_faceted_topical_terms": { - "type": "object", - "properties": { - "form_subdivision": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "focus_term": { - "type": "text" - }, - "level_of_subject": { - "type": "text" - }, - "facet_hierarchy_designation": { - "type": "text" - }, - "non_focus_term": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "source_of_heading_or_term": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "geographic_subdivision": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "chronological_subdivision": { - "type": "text" - } - } - }, - "geographic_classification": { - "type": "object", - "properties": { - "geographic_classification_subarea_code": { - "type": "text" - }, - "populated_place_name": { - "type": "text" - }, - "geographic_classification_area_code": { - "type": "text" - }, - "code_source": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "index_term_uncontrolled": { - "type": "object", - "properties": { - "uncontrolled_term": { - "type": "text" - }, - "type_of_term_or_name": { - "type": "text" - }, - "level_of_index_term": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "planar_coordinate_data": { - "type": "object", - "properties": { - "distance_resolution": { - "type": "text" - }, - "bearing_resolution": { - "type": "text" - }, - "planar_coordinate_encoding_method": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "ordinate_resolution": { - "type": "text" - }, - "planar_distance_units": { - "type": "text" - }, - "bearing_reference_meridian": { - "type": "text" - }, - "bearing_reference_direction": { - "type": "text" - }, - "bearing_units": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "abscissa_resolution": { - "type": "text" - } - } - }, - "case_file_characteristics_note": { - "type": "object", - "properties": { - "filing_scheme_or_code": { - "type": "text" - }, - "universe_of_data": { - "type": "text" - }, - "unit_of_analysis": { - "type": "text" - }, - "name_of_variable": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "number_of_cases_variables": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "physical_description": { - "type": "object", - "properties": { - "extent": { - "type": "text" - }, - "type_of_unit": { - "type": "text" - }, - "other_physical_details": { - "type": "text" - }, - "dimensions": { - "type": "text" - }, - "size_of_unit": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "accompanying_material": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "patent_control_information": { - "type": "object", - "properties": { - "status": { - "type": "text" - }, - "party_to_document": { - "type": "text" - }, - "country": { - "type": "text" - }, - "number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "type_of_number": { - "type": "text" - }, - "date": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "succeeding_entry": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "material_specific_details": { - "type": "text" - }, - "related_parts": { - "type": "text" - }, - "edition": { - "type": "text" - }, - "coden_designation": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "note_controller": { - "type": "text" - }, - "physical_description": { - "type": "text" - }, - "title": { - "type": "text" - }, - "report_number": { - "type": "text" - }, - "type_of_relationship": { - "type": "text" - }, - "relationship_code": { - "type": "text" - }, - "note": { - "type": "text" - }, - "place_publisher_and_date_of_publication": { - "type": "text" - }, - "main_entry_heading": { - "type": "text" - }, - "standard_technical_report_number": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "other_item_identifier": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "series_data_for_related_item": { - "type": "text" - }, - "international_standard_book_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "uniform_title": { - "type": "text" - } - } - }, - "index_term_function": { - "type": "object", - "properties": { - "function": { - "type": "text" - }, - "general_subdivision": { - "type": "text" - }, - "chronological_subdivision": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "form_subdivision": { - "type": "text" - }, - "source_of_term": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "geographic_subdivision": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "national_bibliographic_agency_control_number": { - "type": "object", - "properties": { - "source": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "national_bibliographic_agency": { - "type": "text" - }, - "canceled_invalid_control_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "postal_registration_number": { - "type": "object", - "properties": { - "field_link_and_sequence_number": { - "type": "text" - }, - "postal_registration_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "source_agency_assigning_number": { - "type": "text" - } - } - }, - "bibliography_note": { - "type": "object", - "properties": { - "bibliography_note": { - "type": "text" - }, - "number_of_references": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "fingerprint_identifier": { - "type": "object", - "properties": { - "institution_to_which_field_applies": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "first_and_second_groups_of_characters": { - "type": "text" - }, - "source": { - "type": "text" - }, - "third_and_fourth_groups_of_characters": { - "type": "text" - }, - "number_of_volume_or_part": { - "type": "text" - }, - "date": { - "type": "text" - }, - "unparsed_fingerprint": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "gpo_item_number": { - "type": "object", - "properties": { - "gpo_item_number": { - "type": "text" - }, - "canceled_invalid_gpo_item_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "subject_added_entry_corporate_name": { - "type": "object", - "properties": { - "language_of_a_work": { - "type": "text" - }, - "affiliation": { - "type": "text" - }, - "form_subdivision": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "key_for_music": { - "type": "text" - }, - "version": { - "type": "text" - }, - "location_of_meeting": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "geographic_subdivision": { - "type": "text" - }, - "medium_of_performance_for_music": { - "type": "text" - }, - "arranged_statement_for_music": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "corporate_name_or_jurisdiction_name_as_entry_element": { - "type": "text" - }, - "chronological_subdivision": { - "type": "text" - }, - "type_of_corporate_name_entry_element": { - "type": "text" - }, - "subordinate_unit": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "thesaurus": { - "type": "text" - }, - "source_of_heading_or_term": { - "type": "text" - }, - "number_of_part_section_meeting": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "general_subdivision": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "date_of_meeting_or_treaty_signing": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - } - } - }, - "exhibitions_note": { - "type": "object", - "properties": { - "materials_specified": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "exhibitions_note": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "library_of_congress_control_number": { - "type": "object", - "properties": { - "nucmc_control_number": { - "type": "text" - }, - "canceled_invalid_lc_control_number": { - "type": "text" - }, - "lc_control_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "sound_characteristics": { - "type": "object", - "properties": { - "playing_speed": { - "type": "text" - }, - "special_playback_characteristics": { - "type": "text" - }, - "tape_configuration": { - "type": "text" - }, - "groove_characteristic": { - "type": "text" - }, - "track_configuration": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "source": { - "type": "text" - }, - "type_of_recording": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "configuration_of_playback_channels": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "recording_medium": { - "type": "text" - } - } - }, - "trade_availability_information": { - "type": "object", - "properties": { - "iso_country_code": { - "type": "text" - }, - "publishers_compressed_title_identification": { - "type": "text" - }, - "expected_next_availability_date": { - "type": "text" - }, - "availability_status_code": { - "type": "text" - }, - "detailed_date_of_publication": { - "type": "text" - }, - "source_of_availability_status_code": { - "type": "text" - }, - "publisher_s_discount_category": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "note": { - "type": "text" - }, - "identification_of_agency": { - "type": "text" - }, - "marc_country_code": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "date_made_out_of_print": { - "type": "text" - } - } - }, - "additional_physical_form_available_note": { - "type": "object", - "properties": { - "additional_physical_form_available_note": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "availability_conditions": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "availability_source": { - "type": "text" - }, - "order_number": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "country_of_publishing_producing_entity_code": { - "type": "object", - "properties": { - "iso_country_code": { - "type": "text" - }, - "source_of_local_subentity_code": { - "type": "text" - }, - "local_subentity_code": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "marc_country_code": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "translation_entry": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "material_specific_details": { - "type": "text" - }, - "related_parts": { - "type": "text" - }, - "edition": { - "type": "text" - }, - "coden_designation": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "note_controller": { - "type": "text" - }, - "physical_description": { - "type": "text" - }, - "title": { - "type": "text" - }, - "report_number": { - "type": "text" - }, - "relationship_code": { - "type": "text" - }, - "note": { - "type": "text" - }, - "place_publisher_and_date_of_publication": { - "type": "text" - }, - "main_entry_heading": { - "type": "text" - }, - "standard_technical_report_number": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "other_item_identifier": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "series_data_for_related_item": { - "type": "text" - }, - "international_standard_book_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "uniform_title": { - "type": "text" - } - } - }, - "authentication_code": { - "type": "object", - "properties": { - "authentication_code": { - "type": "text" - } - } - }, - "control_number_identifier": { - "type": "text" - }, - "system_control_number": { - "type": "object", - "properties": { - "system_control_number": { - "type": "text" - }, - "canceled_invalid_control_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "title_statement": { - "type": "object", - "properties": { - "medium": { - "type": "text" - }, - "form": { - "type": "text" - }, - "remainder_of_title": { - "type": "text" - }, - "inclusive_dates": { - "type": "text" - }, - "statement_of_responsibility": { - "type": "text" - }, - "title": { - "type": "text" - }, - "title_added_entry": { - "type": "text" - }, - "nonfiling_characters": { - "type": "double" - }, - "number_of_part_section_of_a_work": { - "type": "text" - }, - "version": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "bulk_dates": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "standard_technical_report_number": { - "type": "object", - "properties": { - "standard_technical_report_number": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "canceled_invalid_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "geographic_coverage_note": { - "type": "object", - "properties": { - "geographic_coverage_note": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "other_distinguishing_characteristics_of_work_or_expression": { - "type": "object", - "properties": { - "record_control_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "other_distinguishing_characteristic": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "source_of_term": { - "type": "text" - }, - "source_of_information": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "associated_language": { - "type": "object", - "properties": { - "source": { - "type": "text" - }, - "language_term": { - "type": "text" - }, - "language_code": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "funding_information_note": { - "type": "object", - "properties": { - "undifferentiated_number": { - "type": "text" - }, - "task_number": { - "type": "text" - }, - "text_of_note": { - "type": "text" - }, - "work_unit_number": { - "type": "text" - }, - "program_element_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "grant_number": { - "type": "text" - }, - "project_number": { - "type": "text" - }, - "contract_number": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "additional_physical_form_entry": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "record_control_number": { - "type": "text" - }, - "material_specific_details": { - "type": "text" - }, - "related_parts": { - "type": "text" - }, - "edition": { - "type": "text" - }, - "coden_designation": { - "type": "text" - }, - "qualifying_information": { - "type": "text" - }, - "note_controller": { - "type": "text" - }, - "physical_description": { - "type": "text" - }, - "title": { - "type": "text" - }, - "report_number": { - "type": "text" - }, - "relationship_code": { - "type": "text" - }, - "note": { - "type": "text" - }, - "place_publisher_and_date_of_publication": { - "type": "text" - }, - "main_entry_heading": { - "type": "text" - }, - "standard_technical_report_number": { - "type": "text" - }, - "relationship_information": { - "type": "text" - }, - "other_item_identifier": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "series_data_for_related_item": { - "type": "text" - }, - "international_standard_book_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "uniform_title": { - "type": "text" - } - } - }, - "series_added_entry_personal_name": { - "type": "object", - "properties": { - "control_subfield": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "version": { - "type": "text" - }, - "affiliation": { - "type": "text" - }, - "numeration": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "personal_name": { - "type": "text" - }, - "key_for_music": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "medium_of_performance_for_music": { - "type": "text" - }, - "arranged_statement_for_music": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "fuller_form_of_name": { - "type": "text" - }, - "attribution_qualifier": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "type_of_personal_name_entry_element": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "dates_associated_with_a_name": { - "type": "text" - }, - "titles_and_other_words_associated_with_a_name": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "volume_sequential_designation": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "number_of_part_section_of_a_work": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "bibliographic_record_control_number": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - } - } - }, - "holding_institution": { - "type": "object", - "properties": { - "holding_institution": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "main_entry_uniform_title": { - "type": "object", - "properties": { - "arranged_statement_for_music": { - "type": "text" - }, - "medium": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "number_of_part_section_of_a_work": { - "type": "text" - }, - "key_for_music": { - "type": "text" - }, - "nonfiling_characters": { - "type": "double" - }, - "title_of_a_work": { - "type": "text" - }, - "date_of_treaty_signing": { - "type": "text" - }, - "version": { - "type": "text" - }, - "uniform_title": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "medium_of_performance_for_music": { - "type": "text" - } - } - }, - "main_entry_meeting_name": { - "type": "object", - "properties": { - "location_of_meeting": { - "type": "text" - }, - "name_of_part_section_of_a_work": { - "type": "text" - }, - "language_of_a_work": { - "type": "text" - }, - "date_of_meeting": { - "type": "text" - }, - "form_subheading": { - "type": "text" - }, - "miscellaneous_information": { - "type": "text" - }, - "subordinate_unit": { - "type": "text" - }, - "meeting_name_or_jurisdiction_name_as_entry_element": { - "type": "text" - }, - "title_of_a_work": { - "type": "text" - }, - "number_of_part_section_meeting": { - "type": "text" - }, - "affiliation": { - "type": "text" - }, - "type_of_meeting_name_entry_element": { - "type": "text" - }, - "relator_code": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "date_of_a_work": { - "type": "text" - }, - "authority_record_control_number_or_standard_number": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "relator_term": { - "type": "text" - }, - "name_of_meeting_following_jurisdiction_name_entry_element": { - "type": "text" - } - } - }, - "system_details_note": { - "type": "object", - "properties": { - "display_text": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "system_details_note": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "uniform_resource_identifier": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "copy_and_version_identification_note": { - "type": "object", - "properties": { - "version_identification": { - "type": "text" - }, - "institution_to_which_field_applies": { - "type": "text" - }, - "copy_identification": { - "type": "text" - }, - "presentation_format": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "identifying_markings": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "number_of_copies": { - "type": "text" - } - } - }, - "former_title_complexity_note": { - "type": "object", - "properties": { - "former_title_complexity_note": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - }, - "international_standard_serial_number": { - "type": "object", - "properties": { - "canceled_issn": { - "type": "text" - }, - "level_of_international_interest": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "source": { - "type": "text" - }, - "international_standard_serial_number": { - "type": "text" - }, - "canceled_issn_l": { - "type": "text" - }, - "issn_l": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "incorrect_issn": { - "type": "text" - } - } - }, - "production_publication_distribution_manufacture_and_copyright_notice": { - "type": "object", - "properties": { - "date_of_production_publication_distribution_manufacture_or_copyright_notice": { - "type": "text" - }, - "place_of_production_publication_distribution_manufacture": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - }, - "sequence_of_statements": { - "type": "text" - }, - "name_of_producer_publisher_distributor_manufacturer": { - "type": "text" - }, - "materials_specified": { - "type": "text" - }, - "function_of_entity": { - "type": "text" - }, - "linkage": { - "type": "text" - } - } - }, - "type_of_computer_file_or_data_note": { - "type": "object", - "properties": { - "type_of_computer_file_or_data_note": { - "type": "text" - }, - "display_constant_controller": { - "type": "text" - }, - "linkage": { - "type": "text" - }, - "field_link_and_sequence_number": { - "type": "text" - } - } - } - }, - "date_detection": true - } - } -} diff --git a/rero_ebooks/mappings/v6/__init__.py b/rero_ebooks/mappings/v7/__init__.py similarity index 100% rename from rero_ebooks/mappings/v6/__init__.py rename to rero_ebooks/mappings/v7/__init__.py diff --git a/rero_ebooks/mappings/v7/ebooks/ebook-v1.0.0.json b/rero_ebooks/mappings/v7/ebooks/ebook-v1.0.0.json new file mode 100644 index 0000000..673659c --- /dev/null +++ b/rero_ebooks/mappings/v7/ebooks/ebook-v1.0.0.json @@ -0,0 +1,7976 @@ +{ + "settings": { + "index.percolator.map_unmapped_fields_as_text": true, + "index.mapping.total_fields.limit": 3000 + }, + "mappings": { + "numeric_detection": true, + "properties": { + "pid": { + "type": "keyword" + }, + "report_number": { + "type": "object", + "properties": { + "report_number": { + "type": "text" + }, + "canceled_invalid_report_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "organization_and_arrangement_of_materials": { + "type": "object", + "properties": { + "hierarchical_level": { + "type": "text" + }, + "arrangement": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "organization": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "subject_added_entry_geographic_name": { + "type": "object", + "properties": { + "form_subdivision": { + "type": "text" + }, + "general_subdivision": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "thesaurus": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "source_of_heading_or_term": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "geographic_name": { + "type": "text" + }, + "geographic_subdivision": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "chronological_subdivision": { + "type": "text" + } + } + }, + "source_of_description_note": { + "type": "object", + "properties": { + "institution_to_which_field_applies": { + "type": "text" + }, + "source_of_description_note": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "restrictions_on_access_note": { + "type": "object", + "properties": { + "restriction": { + "type": "text" + }, + "authorized_users": { + "type": "text" + }, + "jurisdiction": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "standardized_terminology_for_access_restriction": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "authorization": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "source_of_term": { + "type": "text" + }, + "physical_access_provisions": { + "type": "text" + }, + "terms_governing_access": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "citation_references_note": { + "type": "object", + "properties": { + "location_within_source": { + "type": "text" + }, + "name_of_source": { + "type": "text" + }, + "coverage_of_source": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "coverage_location_in_source": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "subject_added_entry_chronological_term": { + "type": "object", + "properties": { + "form_subdivision": { + "type": "text" + }, + "general_subdivision": { + "type": "text" + }, + "chronological_term": { + "type": "text" + }, + "thesaurus": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "type_of_date_or_time_period": { + "type": "text" + }, + "source_of_heading_or_term": { + "type": "text" + }, + "geographic_subdivision": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "chronological_subdivision": { + "type": "text" + } + } + }, + "ownership_and_custodial_history": { + "type": "object", + "properties": { + "privacy": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "history": { + "type": "text" + } + } + }, + "language_code": { + "type": "object", + "properties": { + "translation_indication": { + "type": "text" + }, + "language_code_of_intermediate_translations": { + "type": "text" + }, + "language_code_of_librettos": { + "type": "text" + }, + "language_code_of_summary_or_abstract": { + "type": "text" + }, + "language_code_of_accompanying_material_other_than_librettos": { + "type": "text" + }, + "language_code_of_table_of_contents": { + "type": "text" + }, + "language_code_of_original_accompanying_materials_other_than_librettos": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "language_code_of_text_sound_track_or_separate_title": { + "type": "text" + }, + "language_code_of_subtitles_or_captions": { + "type": "text" + }, + "language_code_of_sung_or_spoken_text": { + "type": "text" + }, + "language_code_of_original": { + "type": "text" + }, + "language_code_of_original_libretto": { + "type": "text" + }, + "source_of_code": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "added_entry_corporate_name": { + "type": "object", + "properties": { + "type_of_added_entry": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "version": { + "type": "text" + }, + "affiliation": { + "type": "text" + }, + "date_of_meeting_or_treaty_signing": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "key_for_music": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "medium_of_performance_for_music": { + "type": "text" + }, + "arranged_statement_for_music": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "corporate_name_or_jurisdiction_name_as_entry_element": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "type_of_corporate_name_entry_element": { + "type": "text" + }, + "subordinate_unit": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "number_of_part_section_meeting": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "location_of_meeting": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + } + } + }, + "added_entry_taxonomic_identification": { + "type": "object", + "properties": { + "taxonomic_category": { + "type": "text" + }, + "source_of_taxonomic_identification": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "non_public_note": { + "type": "text" + }, + "taxonomic_name": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "public_note": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "common_or_alternative_name": { + "type": "text" + } + } + }, + "number_of_musical_instruments_or_voices_code": { + "type": "object", + "properties": { + "soloist": { + "type": "text" + }, + "source_of_code": { + "type": "text" + }, + "performer_or_ensemble": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "original_version_note": { + "type": "object", + "properties": { + "material_specific_details": { + "type": "text" + }, + "publication_distribution_of_original": { + "type": "text" + }, + "location_of_original": { + "type": "text" + }, + "main_entry_of_original": { + "type": "text" + }, + "series_statement_of_original": { + "type": "text" + }, + "key_title_of_original": { + "type": "text" + }, + "physical_description_of_original": { + "type": "text" + }, + "edition_statement_of_original": { + "type": "text" + }, + "introductory_phrase": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "note_about_original": { + "type": "text" + }, + "other_resource_identifier": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "international_standard_book_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "title_statement_of_original": { + "type": "text" + } + } + }, + "constituent_unit_entry": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "material_specific_details": { + "type": "text" + }, + "related_parts": { + "type": "text" + }, + "edition": { + "type": "text" + }, + "coden_designation": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "note_controller": { + "type": "text" + }, + "physical_description": { + "type": "text" + }, + "title": { + "type": "text" + }, + "report_number": { + "type": "text" + }, + "relationship_code": { + "type": "text" + }, + "note": { + "type": "text" + }, + "place_publisher_and_date_of_publication": { + "type": "text" + }, + "main_entry_heading": { + "type": "text" + }, + "standard_technical_report_number": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "other_item_identifier": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "series_data_for_related_item": { + "type": "text" + }, + "international_standard_book_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "uniform_title": { + "type": "text" + } + } + }, + "date_and_time_of_latest_transaction": { + "type": "text" + }, + "national_bibliography_number": { + "type": "object", + "properties": { + "national_bibliography_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "source": { + "type": "text" + }, + "canceled_invalid_national_bibliography_number": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "geographic_area_code": { + "type": "object", + "properties": { + "iso_code": { + "type": "text" + }, + "geographic_area_code": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "source_of_local_code": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "local_gac_code": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "binding_information": { + "type": "object", + "properties": { + "institution_to_which_field_applies": { + "type": "text" + }, + "binding_note": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "added_entry_geographic_name": { + "type": "object", + "properties": { + "materials_specified": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "source_of_heading_or_term": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "geographic_name": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "copyright_or_legal_deposit_number": { + "type": "object", + "properties": { + "display_text": { + "type": "text" + }, + "copyright_or_legal_deposit_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "source": { + "type": "text" + }, + "date": { + "type": "text" + }, + "canceled_invalid_copyright_or_legal_deposit_number": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "assigning_agency": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "index_term_occupation": { + "type": "object", + "properties": { + "form_subdivision": { + "type": "text" + }, + "general_subdivision": { + "type": "text" + }, + "chronological_subdivision": { + "type": "text" + }, + "form": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "source_of_term": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "geographic_subdivision": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "occupation": { + "type": "text" + } + } + }, + "added_entry_personal_name": { + "type": "object", + "properties": { + "type_of_added_entry": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "version": { + "type": "text" + }, + "affiliation": { + "type": "text" + }, + "numeration": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "personal_name": { + "type": "text" + }, + "key_for_music": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "medium_of_performance_for_music": { + "type": "text" + }, + "arranged_statement_for_music": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "fuller_form_of_name": { + "type": "text" + }, + "attribution_qualifier": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "type_of_personal_name_entry_element": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "dates_associated_with_a_name": { + "type": "text" + }, + "titles_and_other_words_associated_with_a_name": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "number_of_part_section_of_a_work": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + } + } + }, + "language_note": { + "type": "object", + "properties": { + "language_note": { + "type": "text" + }, + "information_code_or_alphabet": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "location": { + "type": "object", + "properties": { + "sublocation_or_collection": { + "type": "text" + }, + "shelving_location": { + "type": "text" + }, + "country_code": { + "type": "text" + }, + "non_coded_location_qualifier": { + "type": "text" + }, + "shelving_control_number": { + "type": "text" + }, + "item_part": { + "type": "text" + }, + "nonpublic_note": { + "type": "text" + }, + "call_number_prefix": { + "type": "text" + }, + "copyright_article_fee_code": { + "type": "text" + }, + "location": { + "type": "text" + }, + "call_number_suffix": { + "type": "text" + }, + "copy_number": { + "type": "text" + }, + "shelving_order": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "address": { + "type": "text" + }, + "coded_location_qualifier": { + "type": "text" + }, + "public_note": { + "type": "text" + }, + "former_shelving_location": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "piece_physical_condition": { + "type": "text" + }, + "piece_designation": { + "type": "text" + }, + "shelving_form_of_title": { + "type": "text" + }, + "classification_part": { + "type": "text" + }, + "source_of_classification_or_shelving_scheme": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "shelving_scheme": { + "type": "text" + }, + "sequence_number": { + "type": "text" + } + } + }, + "main_entry_corporate_name": { + "type": "object", + "properties": { + "location_of_meeting": { + "type": "text" + }, + "corporate_name_or_jurisdiction_name_as_entry_element": { + "type": "text" + }, + "field_link_and_sequence_number_r": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "type_of_corporate_name_entry_element": { + "type": "text" + }, + "subordinate_unit": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "number_of_part_section_meeting": { + "type": "text" + }, + "affiliation": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "date_of_meeting_or_treaty_signing": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "data_source_entry": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "material_specific_details": { + "type": "text" + }, + "related_parts": { + "type": "text" + }, + "edition": { + "type": "text" + }, + "period_of_content": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "abbreviated_title": { + "type": "text" + }, + "note_controller": { + "type": "text" + }, + "physical_description": { + "type": "text" + }, + "title": { + "type": "text" + }, + "report_number": { + "type": "text" + }, + "relationship_code": { + "type": "text" + }, + "note": { + "type": "text" + }, + "place_publisher_and_date_of_publication": { + "type": "text" + }, + "main_entry_heading": { + "type": "text" + }, + "standard_technical_report_number": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "other_item_identifier": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "series_data_for_related_item": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "coden_designation": { + "type": "text" + }, + "international_standard_book_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "source_contribution": { + "type": "text" + }, + "uniform_title": { + "type": "text" + } + } + }, + "supplement_parent_entry": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "material_specific_details": { + "type": "text" + }, + "related_parts": { + "type": "text" + }, + "edition": { + "type": "text" + }, + "coden_designation": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "note_controller": { + "type": "text" + }, + "physical_description": { + "type": "text" + }, + "title": { + "type": "text" + }, + "report_number": { + "type": "text" + }, + "relationship_code": { + "type": "text" + }, + "note": { + "type": "text" + }, + "place_publisher_and_date_of_publication": { + "type": "text" + }, + "main_entry_heading": { + "type": "text" + }, + "standard_technical_report_number": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "other_item_identifier": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "series_data_for_related_item": { + "type": "text" + }, + "international_standard_book_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "uniform_title": { + "type": "text" + } + } + }, + "country_of_producing_entity": { + "type": "object", + "properties": { + "source": { + "type": "text" + }, + "country_of_producing_entity": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "series_added_entry_corporate_name": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "version": { + "type": "text" + }, + "affiliation": { + "type": "text" + }, + "date_of_meeting_or_treaty_signing": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "key_for_music": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "medium_of_performance_for_music": { + "type": "text" + }, + "arranged_statement_for_music": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "corporate_name_or_jurisdiction_name_as_entry_element": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "type_of_corporate_name_entry_element": { + "type": "text" + }, + "subordinate_unit": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "number_of_part_section_meeting": { + "type": "text" + }, + "location_of_meeting": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "volume_sequential_designation": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "bibliographic_record_control_number": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + } + } + }, + "digital_file_characteristics": { + "type": "object", + "properties": { + "file_type": { + "type": "text" + }, + "transmission_speed": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "regional_encoding": { + "type": "text" + }, + "source": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "file_size": { + "type": "text" + }, + "encoding_format": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "resolution": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "information_relating_to_copyright_status": { + "type": "object", + "properties": { + "copyright_holder_contact_information": { + "type": "text" + }, + "creation_date": { + "type": "text" + }, + "copyright_holder": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "personal_creator": { + "type": "text" + }, + "privacy": { + "type": "text" + }, + "note": { + "type": "text" + }, + "country_of_publication_or_creation": { + "type": "text" + }, + "copyright_statement": { + "type": "text" + }, + "publication_status": { + "type": "text" + }, + "research_date": { + "type": "text" + }, + "copyright_status": { + "type": "text" + }, + "corporate_creator": { + "type": "text" + }, + "copyright_renewal_date": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "publication_date": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "publisher": { + "type": "text" + }, + "jurisdiction_of_copyright_assessment": { + "type": "text" + }, + "source_of_information": { + "type": "text" + }, + "supplying_agency": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "copyright_date": { + "type": "text" + }, + "personal_creator_death_date": { + "type": "text" + } + } + }, + "subject_added_entry_personal_name": { + "type": "object", + "properties": { + "language_of_a_work": { + "type": "text" + }, + "version": { + "type": "text" + }, + "affiliation": { + "type": "text" + }, + "numeration": { + "type": "text" + }, + "form_subdivision": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "personal_name": { + "type": "text" + }, + "key_for_music": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "geographic_subdivision": { + "type": "text" + }, + "medium_of_performance_for_music": { + "type": "text" + }, + "arranged_statement_for_music": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "chronological_subdivision": { + "type": "text" + }, + "fuller_form_of_name": { + "type": "text" + }, + "attribution_qualifier": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "thesaurus": { + "type": "text" + }, + "source_of_heading_or_term": { + "type": "text" + }, + "type_of_personal_name_entry_element": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "general_subdivision": { + "type": "text" + }, + "dates_associated_with_a_name": { + "type": "text" + }, + "titles_and_other_words_associated_with_a_name": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "number_of_part_section_of_a_work": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + } + } + }, + "source_of_acquisition": { + "type": "object", + "properties": { + "additional_format_characteristics": { + "type": "text" + }, + "terms_of_availability": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "note": { + "type": "text" + }, + "form_of_issue": { + "type": "text" + }, + "stock_number": { + "type": "text" + }, + "source_of_stock_number_acquisition": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "dewey_decimal_classification_number": { + "type": "object", + "properties": { + "item_number": { + "type": "text" + }, + "edition_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "type_of_edition": { + "type": "text" + }, + "classification_number": { + "type": "text" + }, + "source_of_classification_number": { + "type": "text" + }, + "standard_or_optional_designation": { + "type": "text" + }, + "assigning_agency": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "information_about_documentation_note": { + "type": "object", + "properties": { + "information_about_documentation_note": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "international_standard_book_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "collective_uniform_title": { + "type": "object", + "properties": { + "arranged_statement_for_music": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "number_of_part_section_of_a_work": { + "type": "text" + }, + "key_for_music": { + "type": "text" + }, + "nonfiling_characters": { + "type": "double" + }, + "uniform_title_printed_or_displayed": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "date_of_treaty_signing": { + "type": "text" + }, + "version": { + "type": "text" + }, + "uniform_title": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "medium_of_performance_for_music": { + "type": "text" + } + } + }, + "subject_added_entry_uniform_title": { + "type": "object", + "properties": { + "language_of_a_work": { + "type": "text" + }, + "form_subdivision": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "key_for_music": { + "type": "text" + }, + "date_of_treaty_signing": { + "type": "text" + }, + "version": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "geographic_subdivision": { + "type": "text" + }, + "medium_of_performance_for_music": { + "type": "text" + }, + "arranged_statement_for_music": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "chronological_subdivision": { + "type": "text" + }, + "thesaurus": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "source_of_heading_or_term": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "general_subdivision": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "nonfiling_characters": { + "type": "double" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "number_of_part_section_of_a_work": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "uniform_title": { + "type": "text" + } + } + }, + "location_of_other_archival_materials_note": { + "type": "object", + "properties": { + "relationship": { + "type": "text" + }, + "title": { + "type": "text" + }, + "custodian": { + "type": "text" + }, + "provenance": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "note": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "address": { + "type": "text" + }, + "country": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "participant_or_performer_note": { + "type": "object", + "properties": { + "participant_or_performer_note": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "time_period_of_content": { + "type": "object", + "properties": { + "type_of_time_period_in_subfield_b_or_c": { + "type": "text" + }, + "time_period_code": { + "type": "text" + }, + "formatted_9999_bc_through_ce_time_period": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "formatted_pre_9999_bc_time_period": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "national_library_of_medicine_call_number": { + "type": "object", + "properties": { + "classification_number_r": { + "type": "text" + }, + "item_number": { + "type": "text" + }, + "existence_in_nlm_collection": { + "type": "text" + }, + "source_of_call_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "originator_dissemination_control": { + "type": "object", + "properties": { + "other_restrictions": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "authorized_recipients_of_material": { + "type": "text" + }, + "originator_control_term": { + "type": "text" + }, + "originating_agency": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "computer_file_characteristics": { + "type": "object", + "properties": { + "computer_file_characteristics": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "former_title": { + "type": "object", + "properties": { + "note_controller": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "remainder_of_title": { + "type": "text" + }, + "title": { + "type": "text" + }, + "title_added_entry": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "date_or_sequential_designation": { + "type": "text" + }, + "number_of_part_section_of_a_work": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "security_classification_control": { + "type": "object", + "properties": { + "handling_instructions": { + "type": "text" + }, + "country_of_origin_code": { + "type": "text" + }, + "external_dissemination_information": { + "type": "text" + }, + "downgrading_or_declassification_event": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "classification_system": { + "type": "text" + }, + "authorization": { + "type": "text" + }, + "security_classification": { + "type": "text" + }, + "controlled_element": { + "type": "text" + }, + "downgrading_date": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "declassification_date": { + "type": "text" + } + } + }, + "cumulative_index_finding_aids_note": { + "type": "object", + "properties": { + "bibliographic_reference": { + "type": "text" + }, + "degree_of_control": { + "type": "text" + }, + "cumulative_index_finding_aids_note": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "availability_source": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "international_standard_book_number": { + "type": "object", + "properties": { + "international_standard_book_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "terms_of_availability": { + "type": "text" + }, + "canceled_invalid_isbn": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "summary": { + "type": "object", + "properties": { + "expansion_of_summary_note": { + "type": "text" + }, + "assigning_source": { + "type": "text" + }, + "summary": { + "type": "text" + }, + "source": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "projected_publication_date": { + "type": "object", + "properties": { + "projected_publication_date": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "cartographic_mathematical_data": { + "type": "object", + "properties": { + "statement_of_coordinates": { + "type": "text" + }, + "statement_of_zone": { + "type": "text" + }, + "outer_g_ring_coordinate_pairs": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "statement_of_projection": { + "type": "text" + }, + "statement_of_equinox": { + "type": "text" + }, + "statement_of_scale": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "exclusion_g_ring_coordinate_pairs": { + "type": "text" + } + } + }, + "record_content_licensor": { + "type": "object", + "properties": { + "record_content_licensor": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "index_term_curriculum_objective": { + "type": "object", + "properties": { + "curriculum_code": { + "type": "text" + }, + "subordinate_curriculum_objective": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "source_of_term_or_code": { + "type": "text" + }, + "correlation_factor": { + "type": "text" + }, + "main_curriculum_objective": { + "type": "text" + } + } + }, + "host_item_entry": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "material_specific_details": { + "type": "text" + }, + "related_parts": { + "type": "text" + }, + "edition": { + "type": "text" + }, + "coden_designation": { + "type": "text" + }, + "abbreviated_title": { + "type": "text" + }, + "note_controller": { + "type": "text" + }, + "physical_description": { + "type": "text" + }, + "title": { + "type": "text" + }, + "report_number": { + "type": "text" + }, + "relationship_code": { + "type": "text" + }, + "note": { + "type": "text" + }, + "place_publisher_and_date_of_publication": { + "type": "text" + }, + "main_entry_heading": { + "type": "text" + }, + "standard_technical_report_number": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "enumeration_and_first_page": { + "type": "text" + }, + "other_item_identifier": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "series_data_for_related_item": { + "type": "text" + }, + "international_standard_book_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "uniform_title": { + "type": "text" + } + } + }, + "former_publication_frequency": { + "type": "object", + "properties": { + "former_publication_frequency": { + "type": "text" + }, + "dates_of_former_publication_frequency": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "subject_category_code": { + "type": "object", + "properties": { + "subject_category_code": { + "type": "text" + }, + "source": { + "type": "text" + }, + "subject_category_code_subdivision": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "creation_production_credits_note": { + "type": "object", + "properties": { + "creation_production_credits_note": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "imprint_statement_for_sound_recordings_pre_aacr_1": { + "type": "object", + "properties": { + "date_of_production_release": { + "type": "text" + }, + "publisher_or_trade_name": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "serial_identification": { + "type": "text" + }, + "matrix_and_or_take_number": { + "type": "text" + }, + "place_of_production_release": { + "type": "text" + } + } + }, + "action_note": { + "type": "object", + "properties": { + "action_agent": { + "type": "text" + }, + "jurisdiction": { + "type": "text" + }, + "time_date_of_action": { + "type": "text" + }, + "source_of_term": { + "type": "text" + }, + "site_of_action": { + "type": "text" + }, + "nonpublic_note": { + "type": "text" + }, + "type_of_unit": { + "type": "text" + }, + "action_interval": { + "type": "text" + }, + "privacy": { + "type": "text" + }, + "authorization": { + "type": "text" + }, + "status": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "extent": { + "type": "text" + }, + "public_note": { + "type": "text" + }, + "method_of_action": { + "type": "text" + }, + "contingency_for_action": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "action": { + "type": "text" + }, + "action_identification": { + "type": "text" + } + } + }, + "medium_of_performance": { + "type": "object", + "properties": { + "medium_of_performance": { + "type": "text" + }, + "total_number_of_performers": { + "type": "text" + }, + "access_control": { + "type": "text" + }, + "doubling_instrument": { + "type": "text" + }, + "soloist": { + "type": "text" + }, + "number_of_performers_of_the_same_medium": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "note": { + "type": "text" + }, + "alternative_medium_of_performance": { + "type": "text" + }, + "source_of_term": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "library_of_congress_copy_issue_offprint_statement": { + "type": "object", + "properties": { + "copy_information": { + "type": "text" + }, + "item_number": { + "type": "text" + }, + "classification_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "entity_and_attribute_information_note": { + "type": "object", + "properties": { + "entity_and_attribute_detail_citation": { + "type": "text" + }, + "codeset_name_and_source": { + "type": "text" + }, + "entity_and_attribute_overview": { + "type": "text" + }, + "enumerated_domain_value_definition_and_source": { + "type": "text" + }, + "attribute_label": { + "type": "text" + }, + "beginning_and_ending_date_of_attribute_values": { + "type": "text" + }, + "attribute_units_of_measurement_and_resolution": { + "type": "text" + }, + "attribute_value_accuracy_explanation": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "attribute_measurement_frequency": { + "type": "text" + }, + "attribute_value_accuracy": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "range_domain_minimum_and_maximum": { + "type": "text" + }, + "entity_type_label": { + "type": "text" + }, + "enumerated_domain_value": { + "type": "text" + }, + "unrepresentable_domain": { + "type": "text" + }, + "entity_type_definition_and_source": { + "type": "text" + }, + "display_note": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "attribute_definition_and_source": { + "type": "text" + } + } + }, + "added_entry_hierarchical_place_name": { + "type": "object", + "properties": { + "city_subsection": { + "type": "text" + }, + "city": { + "type": "text" + }, + "intermediate_political_jurisdiction": { + "type": "text" + }, + "country_or_larger_entity": { + "type": "text" + }, + "first_order_political_jurisdiction": { + "type": "text" + }, + "extraterrestrial_area": { + "type": "text" + }, + "source_of_heading_or_term": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "other_nonjurisdictional_geographic_region_and_feature": { + "type": "text" + } + } + }, + "dates_of_publication_and_or_sequential_designation": { + "type": "object", + "properties": { + "format_of_date": { + "type": "text" + }, + "dates_of_publication_and_or_sequential_designation": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "source_of_information": { + "type": "text" + } + } + }, + "varying_form_of_title": { + "type": "object", + "properties": { + "display_text": { + "type": "text" + }, + "note_added_entry_controller": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "remainder_of_title": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "type_of_title": { + "type": "text" + }, + "title_proper_short_title": { + "type": "text" + }, + "date_or_sequential_designation": { + "type": "text" + }, + "number_of_part_section_of_a_work": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "type_of_report_and_period_covered_note": { + "type": "object", + "properties": { + "type_of_report": { + "type": "text" + }, + "period_covered": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "series_statement_added_entry_personal_name": { + "type": "object", + "properties": { + "number_of_part_section_of_a_work": { + "type": "text" + }, + "pronoun_represents_main_entry": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "personal_name": { + "type": "text" + }, + "titles_and_other_words_associated_with_a_name": { + "type": "text" + }, + "numeration": { + "type": "text" + }, + "dates_associated_with_a_name": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "affiliation": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "volume_sequential_designation": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "type_of_personal_name_entry_element": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "supplement_note": { + "type": "object", + "properties": { + "supplement_note": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "issued_with_entry": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "material_specific_details": { + "type": "text" + }, + "related_parts": { + "type": "text" + }, + "edition": { + "type": "text" + }, + "coden_designation": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "note_controller": { + "type": "text" + }, + "physical_description": { + "type": "text" + }, + "title": { + "type": "text" + }, + "other_item_identifier": { + "type": "text" + }, + "relationship_code": { + "type": "text" + }, + "note": { + "type": "text" + }, + "place_publisher_and_date_of_publication": { + "type": "text" + }, + "main_entry_heading": { + "type": "text" + }, + "series_data_for_related_item": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "uniform_title": { + "type": "text" + } + } + }, + "non_marc_information_field": { + "type": "object", + "properties": { + "source_of_data": { + "type": "text" + }, + "content_of_non_marc_field": { + "type": "text" + } + } + }, + "dissertation_note": { + "type": "object", + "properties": { + "degree_type": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "year_degree_granted": { + "type": "text" + }, + "dissertation_identifier": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "name_of_granting_institution": { + "type": "text" + }, + "dissertation_note": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "other_edition_entry": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "material_specific_details": { + "type": "text" + }, + "related_parts": { + "type": "text" + }, + "edition": { + "type": "text" + }, + "coden_designation": { + "type": "text" + }, + "country_code": { + "type": "text" + }, + "language_code": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "note_controller": { + "type": "text" + }, + "physical_description": { + "type": "text" + }, + "title": { + "type": "text" + }, + "report_number": { + "type": "text" + }, + "relationship_code": { + "type": "text" + }, + "note": { + "type": "text" + }, + "place_publisher_and_date_of_publication": { + "type": "text" + }, + "main_entry_heading": { + "type": "text" + }, + "standard_technical_report_number": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "other_item_identifier": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "series_data_for_related_item": { + "type": "text" + }, + "international_standard_book_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "uniform_title": { + "type": "text" + } + } + }, + "system_details_access_to_computer_files": { + "type": "object", + "properties": { + "programming_language": { + "type": "text" + }, + "operating_system": { + "type": "text" + }, + "make_and_model_of_machine": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "audience_characteristics": { + "type": "object", + "properties": { + "audience_code": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "audience_term": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "source": { + "type": "text" + }, + "demographic_group_term": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "demographic_group_code": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "added_entry_meeting_name": { + "type": "object", + "properties": { + "type_of_added_entry": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "version": { + "type": "text" + }, + "name_of_meeting_following_jurisdiction_name_entry_element": { + "type": "text" + }, + "affiliation": { + "type": "text" + }, + "date_of_meeting": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "meeting_name_or_jurisdiction_name_as_entry_element": { + "type": "text" + }, + "type_of_meeting_name_entry_element": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "subordinate_unit": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "number_of_part_section_meeting": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "location_of_meeting": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + } + } + }, + "location_of_originals_duplicates_note": { + "type": "object", + "properties": { + "telecommunications_address": { + "type": "text" + }, + "postal_address": { + "type": "text" + }, + "custodian": { + "type": "text" + }, + "custodial_role": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "repository_location_code": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "country": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "accumulation_and_frequency_of_use_note": { + "type": "object", + "properties": { + "institution_to_which_field_applies": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "frequency_of_use": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "accumulation": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "abbreviated_title": { + "type": "object", + "properties": { + "title_added_entry": { + "type": "text" + }, + "abbreviated_title": { + "type": "text" + }, + "source": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "type": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "series_statement_added_entry_meeting_name": { + "type": "object", + "properties": { + "name_of_part_section_of_a_work": { + "type": "text" + }, + "location_of_meeting": { + "type": "text" + }, + "pronoun_represents_main_entry": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "date_of_meeting": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "affiliation": { + "type": "text" + }, + "subordinate_unit": { + "type": "text" + }, + "meeting_name_or_jurisdiction_name_as_entry_element": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "number_of_part_section_meeting": { + "type": "text" + }, + "volume_sequential_designation": { + "type": "text" + }, + "type_of_meeting_name_entry_element": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "name_of_meeting_following_jurisdiction_name_entry_element": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "publications_about_described_materials_note": { + "type": "object", + "properties": { + "international_standard_book_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "publications_about_described_materials_note": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "series_statement_added_entry_title": { + "type": "object", + "properties": { + "title": { + "type": "text" + }, + "nonfiling_characters": { + "type": "double" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "volume_sequential_designation": { + "type": "text" + }, + "number_of_part_section_of_a_work": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "bibliographic_record_control_number": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "government_document_classification_number": { + "type": "object", + "properties": { + "number_source": { + "type": "text" + }, + "canceled_invalid_classification_number": { + "type": "text" + }, + "classification_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "series_statement_added_entry_corporate_name": { + "type": "object", + "properties": { + "location_of_meeting": { + "type": "text" + }, + "pronoun_represents_main_entry": { + "type": "text" + }, + "corporate_name_or_jurisdiction_name_as_entry_element": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "affiliation": { + "type": "text" + }, + "type_of_corporate_name_entry_element": { + "type": "text" + }, + "subordinate_unit": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "number_of_part_section_meeting": { + "type": "text" + }, + "volume_sequential_designation": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "date_of_meeting_or_treaty_signing": { + "type": "text" + } + } + }, + "current_publication_frequency": { + "type": "object", + "properties": { + "current_publication_frequency": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "date_of_current_publication_frequency": { + "type": "text" + } + } + }, + "other_relationship_entry": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "material_specific_details": { + "type": "text" + }, + "related_parts": { + "type": "text" + }, + "edition": { + "type": "text" + }, + "coden_designation": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "note_controller": { + "type": "text" + }, + "physical_description": { + "type": "text" + }, + "title": { + "type": "text" + }, + "report_number": { + "type": "text" + }, + "relationship_code": { + "type": "text" + }, + "note": { + "type": "text" + }, + "place_publisher_and_date_of_publication": { + "type": "text" + }, + "main_entry_heading": { + "type": "text" + }, + "standard_technical_report_number": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "other_item_identifier": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "series_data_for_related_item": { + "type": "text" + }, + "international_standard_book_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "uniform_title": { + "type": "text" + } + } + }, + "original_language_entry": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "material_specific_details": { + "type": "text" + }, + "related_parts": { + "type": "text" + }, + "edition": { + "type": "text" + }, + "coden_designation": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "note_controller": { + "type": "text" + }, + "physical_description": { + "type": "text" + }, + "title": { + "type": "text" + }, + "report_number": { + "type": "text" + }, + "relationship_code": { + "type": "text" + }, + "note": { + "type": "text" + }, + "place_publisher_and_date_of_publication": { + "type": "text" + }, + "main_entry_heading": { + "type": "text" + }, + "standard_technical_report_number": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "other_item_identifier": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "series_data_for_related_item": { + "type": "text" + }, + "international_standard_book_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "uniform_title": { + "type": "text" + } + } + }, + "national_agricultural_library_call_number": { + "type": "object", + "properties": { + "item_number": { + "type": "text" + }, + "classification_number": { + "type": "text" + }, + "existence_in_nal_collection": { + "type": "text" + }, + "field_link_and_sequence_number_r": { + "type": "text" + } + } + }, + "character_sets_present": { + "type": "object", + "properties": { + "primary_g1_character_set": { + "type": "text" + }, + "primary_g0_character_set": { + "type": "text" + }, + "alternate_g0_or_g1_character_set": { + "type": "text" + } + } + }, + "scale_note_for_graphic_material": { + "type": "object", + "properties": { + "remainder_of_scale_note": { + "type": "text" + }, + "representative_fraction_of_scale_note": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "hours": { + "type": "object", + "properties": { + "hours": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "additional_information": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "linking_entry_complexity_note": { + "type": "object", + "properties": { + "linking_entry_complexity_note": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "general_note": { + "type": "object", + "properties": { + "institution_to_which_field_applies": { + "type": "text" + }, + "general_note": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "date_time_and_place_of_an_event_note": { + "type": "object", + "properties": { + "place_of_event": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "date_of_event": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "date_time_and_place_of_an_event_note": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "other_event_information": { + "type": "text" + }, + "source_of_term": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "series_statement": { + "type": "object", + "properties": { + "library_of_congress_call_number": { + "type": "text" + }, + "series_tracing_policy": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "volume_sequential_designation": { + "type": "text" + }, + "series_statement": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + } + } + }, + "key": { + "type": "object", + "properties": { + "key_type": { + "type": "text" + }, + "key": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "address": { + "type": "object", + "properties": { + "postal_code": { + "type": "text" + }, + "attention_position": { + "type": "text" + }, + "type_of_address": { + "type": "text" + }, + "city": { + "type": "text" + }, + "state_or_province": { + "type": "text" + }, + "specialized_telephone_number": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "electronic_mail_address": { + "type": "text" + }, + "fax_number": { + "type": "text" + }, + "hours": { + "type": "text" + }, + "address": { + "type": "text" + }, + "public_note": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "tdd_or_tty_number": { + "type": "text" + }, + "title_of_contact_person": { + "type": "text" + }, + "level": { + "type": "text" + }, + "country": { + "type": "text" + }, + "telephone_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "terms_preceding_attention_name": { + "type": "text" + }, + "contact_person": { + "type": "text" + }, + "attention_name": { + "type": "text" + } + } + }, + "supplement_special_issue_entry": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "material_specific_details": { + "type": "text" + }, + "related_parts": { + "type": "text" + }, + "edition": { + "type": "text" + }, + "coden_designation": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "note_controller": { + "type": "text" + }, + "physical_description": { + "type": "text" + }, + "title": { + "type": "text" + }, + "report_number": { + "type": "text" + }, + "relationship_code": { + "type": "text" + }, + "note": { + "type": "text" + }, + "place_publisher_and_date_of_publication": { + "type": "text" + }, + "main_entry_heading": { + "type": "text" + }, + "standard_technical_report_number": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "other_item_identifier": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "series_data_for_related_item": { + "type": "text" + }, + "international_standard_book_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "uniform_title": { + "type": "text" + } + } + }, + "series_added_entry_meeting_name": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "name_of_meeting_following_jurisdiction_name_entry_element": { + "type": "text" + }, + "affiliation": { + "type": "text" + }, + "date_of_meeting": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "meeting_name_or_jurisdiction_name_as_entry_element": { + "type": "text" + }, + "type_of_meeting_name_entry_element": { + "type": "text" + }, + "version": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "subordinate_unit": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "number_of_part_section_meeting": { + "type": "text" + }, + "location_of_meeting": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "volume_sequential_designation": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "bibliographic_record_control_number": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + } + } + }, + "machine_generated_metadata_provenance": { + "type": "object", + "properties": { + "method_of_machine_assignment": { + "type": "text" + }, + "generation_agency": { + "type": "text" + }, + "confidence_value": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "generation_process": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "validity_end_date": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "generation_date": { + "type": "text" + }, + "bibliographic_record_control_number": { + "type": "text" + } + } + }, + "added_entry_uncontrolled_name": { + "type": "object", + "properties": { + "name": { + "type": "text" + }, + "type_of_name": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "added_entry_uniform_title": { + "type": "object", + "properties": { + "type_of_added_entry": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "key_for_music": { + "type": "text" + }, + "date_of_treaty_signing": { + "type": "text" + }, + "version": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "medium_of_performance_for_music": { + "type": "text" + }, + "arranged_statement_for_music": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "nonfiling_characters": { + "type": "double" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "number_of_part_section_of_a_work": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "uniform_title": { + "type": "text" + } + } + }, + "awards_note": { + "type": "object", + "properties": { + "awards_note": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "additional_dewey_decimal_classification_number": { + "type": "object", + "properties": { + "classification_number_ending_number_of_span": { + "type": "text" + }, + "edition_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "table_sequence_number_for_internal_subarrangement_or_add_table": { + "type": "text" + }, + "type_of_edition": { + "type": "text" + }, + "classification_number": { + "type": "text" + }, + "table_identification": { + "type": "text" + }, + "standard_or_optional_designation": { + "type": "text" + }, + "assigning_agency": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "national_agricultural_library_copy_statement": { + "type": "object", + "properties": { + "copy_information": { + "type": "text" + }, + "item_number": { + "type": "text" + }, + "classification_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "carrier_type": { + "type": "object", + "properties": { + "carrier_type_term": { + "type": "text" + }, + "carrier_type_code": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "source": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "methodology_note": { + "type": "object", + "properties": { + "methodology_note": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "subject_added_entry_topical_term": { + "type": "object", + "properties": { + "form_subdivision": { + "type": "text" + }, + "general_subdivision": { + "type": "text" + }, + "topical_term_following_geographic_name_entry_element": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "level_of_subject": { + "type": "text" + }, + "thesaurus": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "topical_term_or_geographic_name_entry_element": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "active_dates": { + "type": "text" + }, + "source_of_heading_or_term": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "location_of_event": { + "type": "text" + }, + "geographic_subdivision": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "chronological_subdivision": { + "type": "text" + } + } + }, + "preferred_citation_of_described_materials_note": { + "type": "object", + "properties": { + "materials_specified": { + "type": "text" + }, + "preferred_citation_of_described_materials_note": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "source_of_schema_used": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "form_of_musical_composition_code": { + "type": "object", + "properties": { + "source_of_code": { + "type": "text" + }, + "form_of_musical_composition_code": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "publisher_number": { + "type": "object", + "properties": { + "note_added_entry_controller": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "publisher_number": { + "type": "text" + }, + "source": { + "type": "text" + }, + "type_of_publisher_number": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "subject_added_entry_hierarchical_place_name": { + "type": "object", + "properties": { + "city_subsection": { + "type": "text" + }, + "city": { + "type": "text" + }, + "intermediate_political_jurisdiction": { + "type": "text" + }, + "country_or_larger_entity": { + "type": "text" + }, + "first_order_political_jurisdiction": { + "type": "text" + }, + "extraterrestrial_area": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "source_of_heading_or_term": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "other_nonjurisdictional_geographic_region_and_feature": { + "type": "text" + } + } + }, + "musical_presentation_statement": { + "type": "object", + "properties": { + "musical_presentation_statement": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "series_added_entry_uniform_title": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "key_for_music": { + "type": "text" + }, + "date_of_treaty_signing": { + "type": "text" + }, + "version": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "medium_of_performance_for_music": { + "type": "text" + }, + "arranged_statement_for_music": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "nonfiling_characters": { + "type": "double" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "volume_sequential_designation": { + "type": "text" + }, + "number_of_part_section_of_a_work": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "bibliographic_record_control_number": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "uniform_title": { + "type": "text" + } + } + }, + "other_standard_identifier": { + "type": "object", + "properties": { + "canceled_invalid_standard_number_or_code": { + "type": "text" + }, + "source_of_number_or_code": { + "type": "text" + }, + "difference_indicator": { + "type": "text" + }, + "terms_of_availability": { + "type": "text" + }, + "type_of_standard_number_or_code": { + "type": "text" + }, + "standard_number_or_code": { + "type": "text" + }, + "additional_codes_following_the_standard_number_or_code": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "library_of_congress_call_number": { + "type": "object", + "properties": { + "item_number": { + "type": "text" + }, + "source_of_call_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "classification_number": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "existence_in_lc_collection": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "date_time_and_place_of_an_event": { + "type": "object", + "properties": { + "place_of_event": { + "type": "text" + }, + "type_of_event": { + "type": "text" + }, + "geographic_classification_subarea_code": { + "type": "text" + }, + "type_of_date_in_subfield_a": { + "type": "text" + }, + "geographic_classification_area_code": { + "type": "text" + }, + "formatted_date_time": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "source_of_term": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "translation_of_title_by_cataloging_agency": { + "type": "object", + "properties": { + "language_code_of_translated_title": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "remainder_of_title": { + "type": "text" + }, + "title": { + "type": "text" + }, + "statement_of_responsibility": { + "type": "text" + }, + "title_added_entry": { + "type": "text" + }, + "nonfiling_characters": { + "type": "double" + }, + "number_of_part_section_of_a_work": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "classification_numbers_assigned_in_canada": { + "type": "object", + "properties": { + "item_number": { + "type": "text" + }, + "existence_in_lac_collection": { + "type": "text" + }, + "type_completeness_source_of_class_call_number": { + "type": "text" + }, + "source_of_call_class_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "classification_number": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "coded_cartographic_mathematical_data": { + "type": "object", + "properties": { + "equinox": { + "type": "text" + }, + "name_of_extraterrestrial_body": { + "type": "text" + }, + "constant_ratio_linear_vertical_scale": { + "type": "text" + }, + "declination_southern_limit": { + "type": "text" + }, + "ending_date": { + "type": "text" + }, + "g_ring_longitude": { + "type": "text" + }, + "source": { + "type": "text" + }, + "beginning_date": { + "type": "text" + }, + "angular_scale": { + "type": "text" + }, + "constant_ratio_linear_horizontal_scale": { + "type": "text" + }, + "coordinates_northernmost_latitude": { + "type": "text" + }, + "right_ascension_eastern_limit": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "distance_from_earth": { + "type": "text" + }, + "type_of_ring": { + "type": "text" + }, + "type_of_scale": { + "type": "text" + }, + "category_of_scale": { + "type": "text" + }, + "right_ascension_western_limit": { + "type": "text" + }, + "coordinates_southernmost_latitude": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "declination_northern_limit": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "coordinates_westernmost_longitude": { + "type": "text" + }, + "g_ring_latitude": { + "type": "text" + }, + "coordinates_easternmost_longitude": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + } + } + }, + "with_note": { + "type": "object", + "properties": { + "institution_to_which_field_applies": { + "type": "text" + }, + "with_note": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "geospatial_reference_data": { + "type": "object", + "properties": { + "denominator_of_flattening_ratio": { + "type": "text" + }, + "oblique_line_longitude": { + "type": "text" + }, + "height_of_perspective_point_above_surface": { + "type": "text" + }, + "landsat_number_and_path_number": { + "type": "text" + }, + "azimuth_measure_point_longitude_or_straight_vertical_longitude_from_pole": { + "type": "text" + }, + "latitude_resolution": { + "type": "text" + }, + "geospatial_reference_method": { + "type": "text" + }, + "ellipsoid_name": { + "type": "text" + }, + "zone_identifier": { + "type": "text" + }, + "local_planar_or_local_georeference_information": { + "type": "text" + }, + "vertical_resolution": { + "type": "text" + }, + "longitude_resolution": { + "type": "text" + }, + "scale_factor": { + "type": "text" + }, + "vertical_encoding_method": { + "type": "text" + }, + "latitude_of_projection_center_or_projection_origin": { + "type": "text" + }, + "false_easting": { + "type": "text" + }, + "false_northing": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "azimuthal_angle": { + "type": "text" + }, + "name": { + "type": "text" + }, + "reference_method_used": { + "type": "text" + }, + "standard_parallel_or_oblique_line_latitude": { + "type": "text" + }, + "semi_major_axis": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "local_planar_local_or_other_projection_or_grid_description": { + "type": "text" + }, + "coordinate_units_or_distance_units": { + "type": "text" + }, + "geospatial_reference_dimension": { + "type": "text" + }, + "longitude_of_central_meridian_or_projection_center": { + "type": "text" + } + } + }, + "numeric_designation_of_musical_work": { + "type": "object", + "properties": { + "opus_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "source": { + "type": "text" + }, + "publisher_associated_with_opus_number": { + "type": "text" + }, + "thematic_index_number": { + "type": "text" + }, + "serial_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "thematic_index_code": { + "type": "text" + } + } + }, + "issuing_body_note": { + "type": "object", + "properties": { + "issuing_body_note": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "synthesized_classification_number_components": { + "type": "object", + "properties": { + "digits_added_from_internal_subarrangement_or_add_table": { + "type": "text" + }, + "classification_number_ending_number_of_span": { + "type": "text" + }, + "table_identification_internal_subarrangement_or_add_table": { + "type": "text" + }, + "number_being_analyzed": { + "type": "text" + }, + "number_in_internal_subarrangement_or_add_table_where_instructions_are_found": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "table_sequence_number_for_internal_subarrangement_or_add_table": { + "type": "text" + }, + "base_number": { + "type": "text" + }, + "number_where_instructions_are_found_single_number_or_beginning_number_of_span": { + "type": "text" + }, + "facet_designator": { + "type": "text" + }, + "digits_added_from_classification_number_in_schedule_or_external_table": { + "type": "text" + }, + "table_identification": { + "type": "text" + }, + "root_number": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "control_number": { + "type": "text" + }, + "other_classification_number": { + "type": "object", + "properties": { + "item_number": { + "type": "text" + }, + "number_source": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "classification_number": { + "type": "text" + }, + "assigning_agency": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "universal_decimal_classification_number": { + "type": "object", + "properties": { + "item_number": { + "type": "text" + }, + "edition_identifier": { + "type": "text" + }, + "common_auxiliary_subdivision": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "universal_decimal_classification_number": { + "type": "text" + }, + "type_of_edition": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "copyright_article_fee_code": { + "type": "object", + "properties": { + "copyright_article_fee_code_nr": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "index_term_genre_form": { + "type": "object", + "properties": { + "form_subdivision": { + "type": "text" + }, + "general_subdivision": { + "type": "text" + }, + "genre_form_data_or_focus_term": { + "type": "text" + }, + "type_of_heading": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "thesaurus": { + "type": "text" + }, + "non_focus_term": { + "type": "text" + }, + "facet_hierarchy_designation": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "source_of_term": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "geographic_subdivision": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "chronological_subdivision": { + "type": "text" + } + } + }, + "media_type": { + "type": "object", + "properties": { + "media_type_term": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "source": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "media_type_code": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "subject_added_entry_meeting_name": { + "type": "object", + "properties": { + "language_of_a_work": { + "type": "text" + }, + "name_of_meeting_following_jurisdiction_name_entry_element": { + "type": "text" + }, + "affiliation": { + "type": "text" + }, + "form_subdivision": { + "type": "text" + }, + "date_of_meeting": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "meeting_name_or_jurisdiction_name_as_entry_element": { + "type": "text" + }, + "type_of_meeting_name_entry_element": { + "type": "text" + }, + "version": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "geographic_subdivision": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "chronological_subdivision": { + "type": "text" + }, + "subordinate_unit": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "thesaurus": { + "type": "text" + }, + "source_of_heading_or_term": { + "type": "text" + }, + "number_of_part_section_meeting": { + "type": "text" + }, + "location_of_meeting": { + "type": "text" + }, + "general_subdivision": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + } + } + }, + "main_series_entry": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "note_controller": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "physical_description": { + "type": "text" + }, + "uniform_title": { + "type": "text" + }, + "related_parts": { + "type": "text" + }, + "main_entry_heading": { + "type": "text" + }, + "material_specific_details": { + "type": "text" + }, + "other_item_identifier": { + "type": "text" + }, + "relationship_code": { + "type": "text" + }, + "note": { + "type": "text" + }, + "edition": { + "type": "text" + }, + "coden_designation": { + "type": "text" + }, + "place_publisher_and_date_of_publication": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "title": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + } + } + }, + "trade_price": { + "type": "object", + "properties": { + "iso_country_code": { + "type": "text" + }, + "identification_of_pricing_entity": { + "type": "text" + }, + "price_amount": { + "type": "text" + }, + "price_effective_from": { + "type": "text" + }, + "price_type_code": { + "type": "text" + }, + "price_effective_until": { + "type": "text" + }, + "price_note": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "unit_of_pricing": { + "type": "text" + }, + "currency_code": { + "type": "text" + }, + "tax_rate_2": { + "type": "text" + }, + "tax_rate_1": { + "type": "text" + }, + "source_of_price_type_code": { + "type": "text" + }, + "marc_country_code": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "reproduction_note": { + "type": "object", + "properties": { + "physical_description_of_reproduction": { + "type": "text" + }, + "date_of_reproduction": { + "type": "text" + }, + "note_about_reproduction": { + "type": "text" + }, + "place_of_reproduction": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "type_of_reproduction": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "series_statement_of_reproduction": { + "type": "text" + }, + "agency_responsible_for_reproduction": { + "type": "text" + }, + "dates_and_or_sequential_designation_of_issues_reproduced": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "fixed_length_data_elements_of_reproduction": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "publication_distribution_imprint": { + "type": "object", + "properties": { + "name_of_publisher_distributor": { + "type": "text" + }, + "place_of_publication_distribution": { + "type": "text" + }, + "sequence_of_publishing_statements": { + "type": "text" + }, + "date_of_manufacture": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "place_of_manufacture": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "date_of_publication_distribution": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "manufacturer": { + "type": "text" + } + } + }, + "playing_time": { + "type": "object", + "properties": { + "playing_time": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "formatted_contents_note": { + "type": "object", + "properties": { + "title": { + "type": "text" + }, + "statement_of_responsibility": { + "type": "text" + }, + "formatted_contents_note": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "level_of_content_designation": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "overseas_acquisition_number": { + "type": "object", + "properties": { + "overseas_acquisition_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "creator_contributor_characteristics": { + "type": "object", + "properties": { + "demographic_group_term": { + "type": "text" + }, + "creator_contributor_term": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "source": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "creator_contributor_code": { + "type": "text" + }, + "demographic_group_code": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "preceding_entry": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "material_specific_details": { + "type": "text" + }, + "related_parts": { + "type": "text" + }, + "edition": { + "type": "text" + }, + "coden_designation": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "note_controller": { + "type": "text" + }, + "physical_description": { + "type": "text" + }, + "title": { + "type": "text" + }, + "report_number": { + "type": "text" + }, + "type_of_relationship": { + "type": "text" + }, + "relationship_code": { + "type": "text" + }, + "note": { + "type": "text" + }, + "place_publisher_and_date_of_publication": { + "type": "text" + }, + "main_entry_heading": { + "type": "text" + }, + "standard_technical_report_number": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "other_item_identifier": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "series_data_for_related_item": { + "type": "text" + }, + "international_standard_book_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "uniform_title": { + "type": "text" + } + } + }, + "national_library_of_medicine_copy_statement": { + "type": "object", + "properties": { + "copy_information": { + "type": "text" + }, + "item_number": { + "type": "text" + }, + "classification_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "philatelic_issue_data": { + "type": "object", + "properties": { + "issuing_jurisdiction": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "denomination": { + "type": "text" + } + } + }, + "special_coded_dates": { + "type": "object", + "properties": { + "source_of_date": { + "type": "text" + }, + "type_of_date_code": { + "type": "text" + }, + "date_1_bc_date": { + "type": "text" + }, + "ending_date_for_aggregated_content": { + "type": "text" + }, + "ending_date_created": { + "type": "text" + }, + "single_or_starting_date_for_aggregated_content": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "date_1_ce_date": { + "type": "text" + }, + "beginning_of_date_valid": { + "type": "text" + }, + "end_of_date_valid": { + "type": "text" + }, + "beginning_or_single_date_created": { + "type": "text" + }, + "date_2_bc_date": { + "type": "text" + }, + "date_resource_modified": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "date_2_ce_date": { + "type": "text" + } + } + }, + "main_entry_personal_name": { + "type": "object", + "properties": { + "number_of_part_section_of_a_work": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "attribution_qualifier": { + "type": "text" + }, + "fuller_form_of_name": { + "type": "text" + }, + "personal_name": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "affiliation": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "numeration": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "titles_and_words_associated_with_a_name": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "type_of_personal_name_entry_element": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "dates_associated_with_a_name": { + "type": "text" + } + } + }, + "immediate_source_of_acquisition_note": { + "type": "object", + "properties": { + "type_of_unit": { + "type": "text" + }, + "extent": { + "type": "text" + }, + "privacy": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "date_of_acquisition": { + "type": "text" + }, + "accession_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "source_of_acquisition": { + "type": "text" + }, + "method_of_acquisition": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "address": { + "type": "text" + }, + "owner": { + "type": "text" + }, + "purchase_price": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "electronic_location_and_access": { + "type": "object", + "properties": { + "record_control_number": { + "type": "text" + }, + "instruction": { + "type": "text" + }, + "contact_for_access_assistance": { + "type": "text" + }, + "compression_information": { + "type": "text" + }, + "link_text": { + "type": "text" + }, + "name_of_location_of_host": { + "type": "text" + }, + "access_number": { + "type": "text" + }, + "hours_access_method_available": { + "type": "text" + }, + "file_size": { + "type": "text" + }, + "port": { + "type": "text" + }, + "nonpublic_note": { + "type": "text" + }, + "bits_per_second": { + "type": "text" + }, + "electronic_name": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "access_method": { + "type": "text" + }, + "relationship": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "public_note": { + "type": "text" + }, + "password": { + "type": "text" + }, + "processor_of_request": { + "type": "text" + }, + "operating_system": { + "type": "text" + }, + "terminal_emulation": { + "type": "text" + }, + "settings": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "electronic_format_type": { + "type": "text" + }, + "host_name": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "path": { + "type": "text" + }, + "logon": { + "type": "text" + } + } + }, + "original_study_number_for_computer_data_files": { + "type": "object", + "properties": { + "field_link_and_sequence_number": { + "type": "text" + }, + "original_study_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "source_agency_assigning_number": { + "type": "text" + } + } + }, + "content_type": { + "type": "object", + "properties": { + "field_link_and_sequence_number": { + "type": "text" + }, + "source": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "content_type_term": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "content_type_code": { + "type": "text" + } + } + }, + "data_quality_note": { + "type": "object", + "properties": { + "attribute_accuracy_report": { + "type": "text" + }, + "vertical_positional_accuracy_explanation": { + "type": "text" + }, + "cloud_cover": { + "type": "text" + }, + "attribute_accuracy_explanation": { + "type": "text" + }, + "horizontal_position_accuracy_report": { + "type": "text" + }, + "horizontal_position_accuracy_value": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "attribute_accuracy_value": { + "type": "text" + }, + "vertical_positional_accuracy_value": { + "type": "text" + }, + "horizontal_position_accuracy_explanation": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "vertical_positional_accuracy_report": { + "type": "text" + }, + "completeness_report": { + "type": "text" + }, + "logical_consistency_report": { + "type": "text" + }, + "display_note": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "numbering_peculiarities_note": { + "type": "object", + "properties": { + "numbering_peculiarities_note": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "normalized_date_and_sequential_designation": { + "type": "object", + "properties": { + "first_level_textual_designation": { + "type": "text" + }, + "sixth_level_of_enumeration": { + "type": "text" + }, + "third_level_of_enumeration": { + "type": "text" + }, + "first_level_of_enumeration": { + "type": "text" + }, + "second_level_of_chronology": { + "type": "text" + }, + "alternative_numbering_scheme_chronology": { + "type": "text" + }, + "alternative_numbering_scheme_second_level_of_enumeration": { + "type": "text" + }, + "fifth_level_of_enumeration": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "fourth_level_of_chronology": { + "type": "text" + }, + "first_level_of_chronology": { + "type": "text" + }, + "third_level_of_chronology": { + "type": "text" + }, + "fourth_level_of_enumeration": { + "type": "text" + }, + "first_level_of_chronology_issuance": { + "type": "text" + }, + "public_note": { + "type": "text" + }, + "alternative_numbering_scheme_first_level_of_enumeration": { + "type": "text" + }, + "nonpublic_note": { + "type": "text" + }, + "state_of_issuance": { + "type": "text" + }, + "second_level_of_enumeration": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "start_end_designator": { + "type": "text" + } + } + }, + "fixed_length_data_elements": { + "type": "text" + }, + "terms_governing_use_and_reproduction_note": { + "type": "object", + "properties": { + "materials_specified": { + "type": "text" + }, + "authorized_users": { + "type": "text" + }, + "jurisdiction": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "authorization": { + "type": "text" + }, + "terms_governing_use_and_reproduction": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "imprint_statement_for_films_pre_aacr_1_revised": { + "type": "object", + "properties": { + "date_of_production_release": { + "type": "text" + }, + "releasing_company": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "contractual_producer": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "producing_company": { + "type": "text" + }, + "place_of_production_release": { + "type": "text" + } + } + }, + "edition_statement": { + "type": "object", + "properties": { + "materials_specified": { + "type": "text" + }, + "remainder_of_edition_statement": { + "type": "text" + }, + "edition_statement": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "form_of_work": { + "type": "object", + "properties": { + "source_of_term": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "form_of_work": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "replacement_record_information": { + "type": "object", + "properties": { + "field_link_and_sequence_number": { + "type": "text" + }, + "replacement_bibliographic_record_control_number": { + "type": "text" + }, + "replacement_title": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "explanatory_text": { + "type": "text" + } + } + }, + "subseries_entry": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "note_controller": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "physical_description": { + "type": "text" + }, + "uniform_title": { + "type": "text" + }, + "related_parts": { + "type": "text" + }, + "main_entry_heading": { + "type": "text" + }, + "material_specific_details": { + "type": "text" + }, + "other_item_identifier": { + "type": "text" + }, + "relationship_code": { + "type": "text" + }, + "note": { + "type": "text" + }, + "edition": { + "type": "text" + }, + "coden_designation": { + "type": "text" + }, + "place_publisher_and_date_of_publication": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "title": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + } + } + }, + "fixed_length_data_elements_additional_material_characteristics": { + "type": "text" + }, + "biographical_or_historical_data": { + "type": "object", + "properties": { + "expansion": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "biographical_or_historical_data": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "type_of_data": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "study_program_information_note": { + "type": "object", + "properties": { + "display_text": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "title_point_value": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "public_note": { + "type": "text" + }, + "program_name": { + "type": "text" + }, + "interest_level": { + "type": "text" + }, + "reading_level": { + "type": "text" + }, + "nonpublic_note": { + "type": "text" + } + } + }, + "target_audience_note": { + "type": "object", + "properties": { + "target_audience_note": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "source": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "digital_graphic_representation": { + "type": "object", + "properties": { + "object_count": { + "type": "text" + }, + "vpf_topology_level": { + "type": "text" + }, + "object_type": { + "type": "text" + }, + "direct_reference_method": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "row_count": { + "type": "text" + }, + "indirect_reference_description": { + "type": "text" + }, + "column_count": { + "type": "text" + }, + "format_of_the_digital_image": { + "type": "text" + }, + "vertical_count": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "uniform_title": { + "type": "object", + "properties": { + "arranged_statement_for_music": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "number_of_part_section_of_a_work": { + "type": "text" + }, + "key_for_music": { + "type": "text" + }, + "nonfiling_characters": { + "type": "double" + }, + "uniform_title_printed_or_displayed": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "date_of_treaty_signing": { + "type": "text" + }, + "version": { + "type": "text" + }, + "uniform_title": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "medium_of_performance_for_music": { + "type": "text" + } + } + }, + "added_entry_uncontrolled_related_analytical_title": { + "type": "object", + "properties": { + "type_of_added_entry": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "nonfiling_characters": { + "type": "double" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "number_of_part_section_of_a_work": { + "type": "text" + }, + "uncontrolled_related_analytical_title": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "cataloging_source": { + "type": "object", + "properties": { + "modifying_agency": { + "type": "text" + }, + "transcribing_agency": { + "type": "text" + }, + "description_conventions": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "language_of_cataloging": { + "type": "text" + }, + "original_cataloging_agency": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "projection_characteristics_of_moving_image": { + "type": "object", + "properties": { + "presentation_format": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "source": { + "type": "text" + }, + "projection_speed": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "video_characteristics": { + "type": "object", + "properties": { + "source": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "video_format": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "broadcast_standard": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "physical_medium": { + "type": "object", + "properties": { + "polarity": { + "type": "text" + }, + "layout": { + "type": "text" + }, + "dimensions": { + "type": "text" + }, + "information_recording_technique": { + "type": "text" + }, + "production_rate_ratio": { + "type": "text" + }, + "generation": { + "type": "text" + }, + "support": { + "type": "text" + }, + "font_size": { + "type": "text" + }, + "material_base_and_configuration": { + "type": "text" + }, + "source": { + "type": "text" + }, + "location_within_medium": { + "type": "text" + }, + "book_format": { + "type": "text" + }, + "technical_specifications_of_medium": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "materials_applied_to_surface": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "key_title": { + "type": "object", + "properties": { + "qualifying_information": { + "type": "text" + }, + "key_title": { + "type": "text" + }, + "nonfiling_characters": { + "type": "double" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "musical_incipits_information": { + "type": "object", + "properties": { + "general_note": { + "type": "text" + }, + "text_incipit": { + "type": "text" + }, + "system_code": { + "type": "text" + }, + "coded_validity_note": { + "type": "text" + }, + "link_text": { + "type": "text" + }, + "number_of_work": { + "type": "text" + }, + "voice_instrument": { + "type": "text" + }, + "caption_or_heading": { + "type": "text" + }, + "key_signature": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "number_of_excerpt": { + "type": "text" + }, + "time_signature": { + "type": "text" + }, + "public_note": { + "type": "text" + }, + "key_or_mode": { + "type": "text" + }, + "role": { + "type": "text" + }, + "musical_notation": { + "type": "text" + }, + "clef": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "number_of_movement": { + "type": "text" + } + } + }, + "coden_designation": { + "type": "object", + "properties": { + "field_link_and_sequence_number": { + "type": "text" + }, + "canceled_invalid_coden": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "coden": { + "type": "text" + } + } + }, + "subject_added_entry_faceted_topical_terms": { + "type": "object", + "properties": { + "form_subdivision": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "focus_term": { + "type": "text" + }, + "level_of_subject": { + "type": "text" + }, + "facet_hierarchy_designation": { + "type": "text" + }, + "non_focus_term": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "source_of_heading_or_term": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "geographic_subdivision": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "chronological_subdivision": { + "type": "text" + } + } + }, + "geographic_classification": { + "type": "object", + "properties": { + "geographic_classification_subarea_code": { + "type": "text" + }, + "populated_place_name": { + "type": "text" + }, + "geographic_classification_area_code": { + "type": "text" + }, + "code_source": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "index_term_uncontrolled": { + "type": "object", + "properties": { + "uncontrolled_term": { + "type": "text" + }, + "type_of_term_or_name": { + "type": "text" + }, + "level_of_index_term": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "planar_coordinate_data": { + "type": "object", + "properties": { + "distance_resolution": { + "type": "text" + }, + "bearing_resolution": { + "type": "text" + }, + "planar_coordinate_encoding_method": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "ordinate_resolution": { + "type": "text" + }, + "planar_distance_units": { + "type": "text" + }, + "bearing_reference_meridian": { + "type": "text" + }, + "bearing_reference_direction": { + "type": "text" + }, + "bearing_units": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "abscissa_resolution": { + "type": "text" + } + } + }, + "case_file_characteristics_note": { + "type": "object", + "properties": { + "filing_scheme_or_code": { + "type": "text" + }, + "universe_of_data": { + "type": "text" + }, + "unit_of_analysis": { + "type": "text" + }, + "name_of_variable": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "number_of_cases_variables": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "physical_description": { + "type": "object", + "properties": { + "extent": { + "type": "text" + }, + "type_of_unit": { + "type": "text" + }, + "other_physical_details": { + "type": "text" + }, + "dimensions": { + "type": "text" + }, + "size_of_unit": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "accompanying_material": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "patent_control_information": { + "type": "object", + "properties": { + "status": { + "type": "text" + }, + "party_to_document": { + "type": "text" + }, + "country": { + "type": "text" + }, + "number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "type_of_number": { + "type": "text" + }, + "date": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "succeeding_entry": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "material_specific_details": { + "type": "text" + }, + "related_parts": { + "type": "text" + }, + "edition": { + "type": "text" + }, + "coden_designation": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "note_controller": { + "type": "text" + }, + "physical_description": { + "type": "text" + }, + "title": { + "type": "text" + }, + "report_number": { + "type": "text" + }, + "type_of_relationship": { + "type": "text" + }, + "relationship_code": { + "type": "text" + }, + "note": { + "type": "text" + }, + "place_publisher_and_date_of_publication": { + "type": "text" + }, + "main_entry_heading": { + "type": "text" + }, + "standard_technical_report_number": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "other_item_identifier": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "series_data_for_related_item": { + "type": "text" + }, + "international_standard_book_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "uniform_title": { + "type": "text" + } + } + }, + "index_term_function": { + "type": "object", + "properties": { + "function": { + "type": "text" + }, + "general_subdivision": { + "type": "text" + }, + "chronological_subdivision": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "form_subdivision": { + "type": "text" + }, + "source_of_term": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "geographic_subdivision": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "national_bibliographic_agency_control_number": { + "type": "object", + "properties": { + "source": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "national_bibliographic_agency": { + "type": "text" + }, + "canceled_invalid_control_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "postal_registration_number": { + "type": "object", + "properties": { + "field_link_and_sequence_number": { + "type": "text" + }, + "postal_registration_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "source_agency_assigning_number": { + "type": "text" + } + } + }, + "bibliography_note": { + "type": "object", + "properties": { + "bibliography_note": { + "type": "text" + }, + "number_of_references": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "fingerprint_identifier": { + "type": "object", + "properties": { + "institution_to_which_field_applies": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "first_and_second_groups_of_characters": { + "type": "text" + }, + "source": { + "type": "text" + }, + "third_and_fourth_groups_of_characters": { + "type": "text" + }, + "number_of_volume_or_part": { + "type": "text" + }, + "date": { + "type": "text" + }, + "unparsed_fingerprint": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "gpo_item_number": { + "type": "object", + "properties": { + "gpo_item_number": { + "type": "text" + }, + "canceled_invalid_gpo_item_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "subject_added_entry_corporate_name": { + "type": "object", + "properties": { + "language_of_a_work": { + "type": "text" + }, + "affiliation": { + "type": "text" + }, + "form_subdivision": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "key_for_music": { + "type": "text" + }, + "version": { + "type": "text" + }, + "location_of_meeting": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "geographic_subdivision": { + "type": "text" + }, + "medium_of_performance_for_music": { + "type": "text" + }, + "arranged_statement_for_music": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "corporate_name_or_jurisdiction_name_as_entry_element": { + "type": "text" + }, + "chronological_subdivision": { + "type": "text" + }, + "type_of_corporate_name_entry_element": { + "type": "text" + }, + "subordinate_unit": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "thesaurus": { + "type": "text" + }, + "source_of_heading_or_term": { + "type": "text" + }, + "number_of_part_section_meeting": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "general_subdivision": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "date_of_meeting_or_treaty_signing": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + } + } + }, + "exhibitions_note": { + "type": "object", + "properties": { + "materials_specified": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "exhibitions_note": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "library_of_congress_control_number": { + "type": "object", + "properties": { + "nucmc_control_number": { + "type": "text" + }, + "canceled_invalid_lc_control_number": { + "type": "text" + }, + "lc_control_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "sound_characteristics": { + "type": "object", + "properties": { + "playing_speed": { + "type": "text" + }, + "special_playback_characteristics": { + "type": "text" + }, + "tape_configuration": { + "type": "text" + }, + "groove_characteristic": { + "type": "text" + }, + "track_configuration": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "source": { + "type": "text" + }, + "type_of_recording": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "configuration_of_playback_channels": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "recording_medium": { + "type": "text" + } + } + }, + "trade_availability_information": { + "type": "object", + "properties": { + "iso_country_code": { + "type": "text" + }, + "publishers_compressed_title_identification": { + "type": "text" + }, + "expected_next_availability_date": { + "type": "text" + }, + "availability_status_code": { + "type": "text" + }, + "detailed_date_of_publication": { + "type": "text" + }, + "source_of_availability_status_code": { + "type": "text" + }, + "publisher_s_discount_category": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "note": { + "type": "text" + }, + "identification_of_agency": { + "type": "text" + }, + "marc_country_code": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "date_made_out_of_print": { + "type": "text" + } + } + }, + "additional_physical_form_available_note": { + "type": "object", + "properties": { + "additional_physical_form_available_note": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "availability_conditions": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "availability_source": { + "type": "text" + }, + "order_number": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "country_of_publishing_producing_entity_code": { + "type": "object", + "properties": { + "iso_country_code": { + "type": "text" + }, + "source_of_local_subentity_code": { + "type": "text" + }, + "local_subentity_code": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "marc_country_code": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "translation_entry": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "material_specific_details": { + "type": "text" + }, + "related_parts": { + "type": "text" + }, + "edition": { + "type": "text" + }, + "coden_designation": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "note_controller": { + "type": "text" + }, + "physical_description": { + "type": "text" + }, + "title": { + "type": "text" + }, + "report_number": { + "type": "text" + }, + "relationship_code": { + "type": "text" + }, + "note": { + "type": "text" + }, + "place_publisher_and_date_of_publication": { + "type": "text" + }, + "main_entry_heading": { + "type": "text" + }, + "standard_technical_report_number": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "other_item_identifier": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "series_data_for_related_item": { + "type": "text" + }, + "international_standard_book_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "uniform_title": { + "type": "text" + } + } + }, + "authentication_code": { + "type": "object", + "properties": { + "authentication_code": { + "type": "text" + } + } + }, + "control_number_identifier": { + "type": "text" + }, + "system_control_number": { + "type": "object", + "properties": { + "system_control_number": { + "type": "text" + }, + "canceled_invalid_control_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "title_statement": { + "type": "object", + "properties": { + "medium": { + "type": "text" + }, + "form": { + "type": "text" + }, + "remainder_of_title": { + "type": "text" + }, + "inclusive_dates": { + "type": "text" + }, + "statement_of_responsibility": { + "type": "text" + }, + "title": { + "type": "text" + }, + "title_added_entry": { + "type": "text" + }, + "nonfiling_characters": { + "type": "double" + }, + "number_of_part_section_of_a_work": { + "type": "text" + }, + "version": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "bulk_dates": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "standard_technical_report_number": { + "type": "object", + "properties": { + "standard_technical_report_number": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "canceled_invalid_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "geographic_coverage_note": { + "type": "object", + "properties": { + "geographic_coverage_note": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "other_distinguishing_characteristics_of_work_or_expression": { + "type": "object", + "properties": { + "record_control_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "other_distinguishing_characteristic": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "source_of_term": { + "type": "text" + }, + "source_of_information": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "associated_language": { + "type": "object", + "properties": { + "source": { + "type": "text" + }, + "language_term": { + "type": "text" + }, + "language_code": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "funding_information_note": { + "type": "object", + "properties": { + "undifferentiated_number": { + "type": "text" + }, + "task_number": { + "type": "text" + }, + "text_of_note": { + "type": "text" + }, + "work_unit_number": { + "type": "text" + }, + "program_element_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "grant_number": { + "type": "text" + }, + "project_number": { + "type": "text" + }, + "contract_number": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "additional_physical_form_entry": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "record_control_number": { + "type": "text" + }, + "material_specific_details": { + "type": "text" + }, + "related_parts": { + "type": "text" + }, + "edition": { + "type": "text" + }, + "coden_designation": { + "type": "text" + }, + "qualifying_information": { + "type": "text" + }, + "note_controller": { + "type": "text" + }, + "physical_description": { + "type": "text" + }, + "title": { + "type": "text" + }, + "report_number": { + "type": "text" + }, + "relationship_code": { + "type": "text" + }, + "note": { + "type": "text" + }, + "place_publisher_and_date_of_publication": { + "type": "text" + }, + "main_entry_heading": { + "type": "text" + }, + "standard_technical_report_number": { + "type": "text" + }, + "relationship_information": { + "type": "text" + }, + "other_item_identifier": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "series_data_for_related_item": { + "type": "text" + }, + "international_standard_book_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "uniform_title": { + "type": "text" + } + } + }, + "series_added_entry_personal_name": { + "type": "object", + "properties": { + "control_subfield": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "version": { + "type": "text" + }, + "affiliation": { + "type": "text" + }, + "numeration": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "personal_name": { + "type": "text" + }, + "key_for_music": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "medium_of_performance_for_music": { + "type": "text" + }, + "arranged_statement_for_music": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "fuller_form_of_name": { + "type": "text" + }, + "attribution_qualifier": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "type_of_personal_name_entry_element": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "dates_associated_with_a_name": { + "type": "text" + }, + "titles_and_other_words_associated_with_a_name": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "volume_sequential_designation": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "number_of_part_section_of_a_work": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "bibliographic_record_control_number": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + } + } + }, + "holding_institution": { + "type": "object", + "properties": { + "holding_institution": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "main_entry_uniform_title": { + "type": "object", + "properties": { + "arranged_statement_for_music": { + "type": "text" + }, + "medium": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "number_of_part_section_of_a_work": { + "type": "text" + }, + "key_for_music": { + "type": "text" + }, + "nonfiling_characters": { + "type": "double" + }, + "title_of_a_work": { + "type": "text" + }, + "date_of_treaty_signing": { + "type": "text" + }, + "version": { + "type": "text" + }, + "uniform_title": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "medium_of_performance_for_music": { + "type": "text" + } + } + }, + "main_entry_meeting_name": { + "type": "object", + "properties": { + "location_of_meeting": { + "type": "text" + }, + "name_of_part_section_of_a_work": { + "type": "text" + }, + "language_of_a_work": { + "type": "text" + }, + "date_of_meeting": { + "type": "text" + }, + "form_subheading": { + "type": "text" + }, + "miscellaneous_information": { + "type": "text" + }, + "subordinate_unit": { + "type": "text" + }, + "meeting_name_or_jurisdiction_name_as_entry_element": { + "type": "text" + }, + "title_of_a_work": { + "type": "text" + }, + "number_of_part_section_meeting": { + "type": "text" + }, + "affiliation": { + "type": "text" + }, + "type_of_meeting_name_entry_element": { + "type": "text" + }, + "relator_code": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "date_of_a_work": { + "type": "text" + }, + "authority_record_control_number_or_standard_number": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "relator_term": { + "type": "text" + }, + "name_of_meeting_following_jurisdiction_name_entry_element": { + "type": "text" + } + } + }, + "system_details_note": { + "type": "object", + "properties": { + "display_text": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "system_details_note": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "uniform_resource_identifier": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "copy_and_version_identification_note": { + "type": "object", + "properties": { + "version_identification": { + "type": "text" + }, + "institution_to_which_field_applies": { + "type": "text" + }, + "copy_identification": { + "type": "text" + }, + "presentation_format": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "identifying_markings": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "number_of_copies": { + "type": "text" + } + } + }, + "former_title_complexity_note": { + "type": "object", + "properties": { + "former_title_complexity_note": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + }, + "international_standard_serial_number": { + "type": "object", + "properties": { + "canceled_issn": { + "type": "text" + }, + "level_of_international_interest": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "source": { + "type": "text" + }, + "international_standard_serial_number": { + "type": "text" + }, + "canceled_issn_l": { + "type": "text" + }, + "issn_l": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "incorrect_issn": { + "type": "text" + } + } + }, + "production_publication_distribution_manufacture_and_copyright_notice": { + "type": "object", + "properties": { + "date_of_production_publication_distribution_manufacture_or_copyright_notice": { + "type": "text" + }, + "place_of_production_publication_distribution_manufacture": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + }, + "sequence_of_statements": { + "type": "text" + }, + "name_of_producer_publisher_distributor_manufacturer": { + "type": "text" + }, + "materials_specified": { + "type": "text" + }, + "function_of_entity": { + "type": "text" + }, + "linkage": { + "type": "text" + } + } + }, + "type_of_computer_file_or_data_note": { + "type": "object", + "properties": { + "type_of_computer_file_or_data_note": { + "type": "text" + }, + "display_constant_controller": { + "type": "text" + }, + "linkage": { + "type": "text" + }, + "field_link_and_sequence_number": { + "type": "text" + } + } + } + }, + "date_detection": true + } +} diff --git a/rero_ebooks/receivers.py b/rero_ebooks/receivers.py deleted file mode 100644 index f04ab89..0000000 --- a/rero_ebooks/receivers.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- -# -# This file is part of RERO Ebooks. -# Copyright (C) 2018 RERO. -# -# RERO Ebooks is free software; you can redistribute it -# and/or modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of the -# License, or (at your option) any later version. -# -# RERO Ebooks is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RERO Ebooks; if not, write to the -# Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307, USA. -# -# In applying this license, RERO does not -# waive the privileges and immunities granted to it by virtue of its status -# as an Intergovernmental Organization or submit itself to any jurisdiction. - -"""Signals connections for RERO ebooks.""" - -from dojson.contrib.marc21.utils import create_record - -from rero_ebooks.tasks import create_records, delete_records - -from .dojson.marc21 import marc21 - - -def publish_harvested_records(sender=None, records=[], *args, **kwargs): - """Create, index the harvested records.""" - # name = kwargs['name'] - converted_records = [] - deleted_records = [] - for record in records: - rec = create_record(record.xml) - rec = marc21.do(rec) - if record.deleted: - deleted_records.append(rec) - else: - converted_records.append(rec) - create_records(converted_records) - delete_records(deleted_records) diff --git a/rero_ebooks/static/xsl/oai.xsl b/rero_ebooks/static/xsl/oai.xsl new file mode 100644 index 0000000..72035e5 --- /dev/null +++ b/rero_ebooks/static/xsl/oai.xsl @@ -0,0 +1,705 @@ + + + + + + + + + + + + + + + +td.value { + vertical-align: top; + padding-left: 1em; + padding: 3px; +} +td.key { + background-color: #e0e0ff; + padding: 3px; + text-align: right; + border: 1px solid #c0c0c0; + white-space: nowrap; + font-weight: bold; + vertical-align: top; +} +td.tag { + background-color: #ffffe0; + padding: 3px; + text-align: left; + border: 1px solid #c0c0c0; + white-space: nowrap; + font-weight: bold; + vertical-align: top; +} +.dcdata td.key { + background-color: #ffffe0; +} +body { + margin: 1em 2em 1em 2em; +} +h1, h2, h3 { + font-family: sans-serif; + clear: left; +} +h1 { + padding-bottom: 4px; + margin-bottom: 0px; +} +h2 { + margin-bottom: 0.5em; +} +h3 { + margin-bottom: 0.3em; + font-size: medium; +} +.link { + border: 1px outset #88f; + background-color: #c0c0ff; + padding: 1px 4px 1px 4px; + font-size: 80%; + text-decoration: none; + font-weight: bold; + font-family: sans-serif; + color: black; +} +.link:hover { + color: red; +} +.link:active { + color: red; + border: 1px inset #88f; + background-color: #a0a0df; +} +.oaiRecord, .oaiRecordTitle { + background-color: #f0f0ff; + border-style: solid; + border-color: #d0d0d0; +} +h2.oaiRecordTitle { + background-color: #e0e0ff; + font-size: medium; + font-weight: bold; + padding: 10px; + border-width: 2px 2px 0px 2px; + margin: 0px; +} +.oaiRecord { + margin-bottom: 3em; + border-width: 2px; + padding: 10px; +} + +.results { + margin-bottom: 1.5em; +} +ul.quicklinks { + margin-top: 2px; + padding: 4px; + text-align: left; + border-bottom: 2px solid #ccc; + border-top: 2px solid #ccc; + clear: left; +} +ul.quicklinks li { + font-size: 80%; + display: inline; + list-stlye: none; + font-family: sans-serif; +} +p.intro { + font-size: 80%; +} + + + + + + + + + OAI 2.0 Request Results + + + +

OAI 2.0 Request Results

+ +

You are viewing an HTML version of the XML OAI response. To see the underlying XML use your web browsers view source option. More information about this XSLT is at the bottom of the page.

+ + +

About the XSLT

+

An XSLT file has converted the OAI-PMH 2.0 responses into XHTML which looks nice in a browser which supports XSLT such as Mozilla, Firebird and Internet Explorer. The XSLT file was created by Christopher Gutteridge at the University of Southampton as part of the GNU EPrints system, and is freely redistributable under the GPL.

If you want to use the XSL file on your own OAI interface you may but due to the way XSLT works you must install the XSL file on the same server as the OAI script, you can't just link to this copy.

For more information or to download the XSL file please see the OAI to XHTML XSLT homepage.

+ + + +
+ + + + + + + + + + + + +
Datestamp of response
Request URL
+ + + +

OAI Error(s)

+

The request could not be completed due to the following error or errors.

+
+ +
+
+ +

Request was of type .

+
+ + + + + + +
+
+
+
+ + + + + + + + +
Error Code
+

+
+ + + + + + + + + + + + + + + + + + +
Repository Name
Base URL
Protocol Version
Earliest Datestamp
Deleted Record Policy
Granularity
+ + +
+ + + Admin Email + + + + + + +

Unsupported Description Type

+

The XSL currently does not support this type of description.

+
+ +
+
+ + + + + +

OAI-Identifier

+ + + + + + + + + +
Scheme
Repository Identifier
Delimiter
Sample OAI Identifier
+
+ + + + + +

EPrints Description

+ +

Content

+ +
+ +

Submission Policy

+ +
+

Metadata Policy

+ +

Data Policy

+ + +
+ + + +

+
+ +
+
+
+ + +

Comment

+
+
+ + + + + +

Friends

+
    + +
+
+ + +
  • + +Identify
  • +
    + + + + + +

    Branding

    + + +
    + + +

    Icon

    + + + {br:title} + + + {br:title} + + +
    + + +

    Metadata Rendering Rule

    + + + + + + + +
    URL
    Namespace
    Mime Type
    +
    + + + + + + +

    Gateway Information

    + + + + + + + + + + + + + + +
    Source
    Description
    URL
    Notes
    +
    + + + Admin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Set

    + + + + +
    setName
    +
    + + + + + + +

    This is a list of metadata formats available for the record "". Use these links to view the metadata:

    +
    + +

    This is a list of metadata formats available from this archive.

    +
    +
    + +
    + + +

    Metadata Format

    + + + + + + + +
    metadataPrefix
    metadataNamespace
    schema
    +
    + + + + + + + + +

    OAI Record:

    +
    + + + +
    +
    + + +

    OAI Record Header

    + + + + + + +
    OAI Identifier + + marc21 + formats +
    Datestamp
    + +

    This record has been deleted.

    +
    +
    + + + +

    "about" part of record container not supported by the XSL

    +
    + + +   + + + + + + + + + + setSpec + + Identifiers + Records + + + + + + + + +

    There are more results.

    + + + +
    resumptionToken: + +Resume
    +
    + + + + +

    Unknown Metadata Format

    +
    + +
    +
    + + + + +
    +

    Dublin Core Metadata (oai_dc)

    + + +
    +
    +
    + + +Title + + +Author or Creator + + +Subject and Keywords + + +Description + + +Publisher + + +Other Contributor + + +Date + + +Resource Type + + +Format + + +Resource Identifier + + +Source + + +Language + + +Relation + + + + + URL + URL not shown as it is very long. + + + + + + + + + + + + + +Coverage + + +Rights Management + + + + +
    +

    Marcxml (marc21)

    + + + + + + + + + + + + + + + + + +
    LDR
    + + + + + + + $ + + + + +
    +
    +
    + + + + +
    + <></> +
    +
    + + + + + ="" + + + +.xmlSource { + font-size: 70%; + border: solid #c0c0a0 1px; + background-color: #ffffe0; + padding: 2em 2em 2em 0em; +} +.xmlBlock { + padding-left: 2em; +} +.xmlTagName { + color: #800000; + font-weight: bold; +} +.xmlAttrName { + font-weight: bold; +} +.xmlAttrValue { + color: #0000c0; +} + + +
    diff --git a/rero_ebooks/tasks.py b/rero_ebooks/tasks.py deleted file mode 100644 index 03978f8..0000000 --- a/rero_ebooks/tasks.py +++ /dev/null @@ -1,71 +0,0 @@ -# -*- coding: utf-8 -*- -# -# This file is part of RERO Ebooks. -# Copyright (C) 2018 RERO. -# -# RERO Ebooks is free software; you can redistribute it -# and/or modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of the -# License, or (at your option) any later version. -# -# RERO Ebooks is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RERO Ebooks; if not, write to the -# Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307, USA. -# -# In applying this license, RERO does not -# waive the privileges and immunities granted to it by virtue of its status -# as an Intergovernmental Organization or submit itself to any jurisdiction. - -"""Celery tasks to create records.""" - -from __future__ import absolute_import, print_function - -from celery import shared_task -from flask import current_app - -from .api import Ebook - - -@shared_task(ignore_result=True) -def create_records(records): - """Records creation and indexing.""" - for record in records: - rec, status = Ebook.create_or_update( - record, - # TODO vendor config - vendor='cantook', - dbcommit=True, - reindex=True - ) - current_app.logger.info( - 'record uuid: {0} | {1}'.format(rec.id, status) - ) - # TODO bulk update and reindexing - current_app.logger.info( - 'records updated: {0}'.format(len(records)) - ) - return len(records) - - -@shared_task(ignore_result=True) -def delete_records(records): - """Records deletion and indexing.""" - for record in records: - status = Ebook.delete( - record, - vendor='cantook' - ) - current_app.logger.info( - 'record: {0} | DELETED {1}'.format(record, status) - ) - # TODO bulk update and reindexing - current_app.logger.info( - 'records deleted: {0}'.format(len(records)) - ) - return len(records) diff --git a/rero_ebooks/version.py b/rero_ebooks/version.py index d76b641..de3b461 100644 --- a/rero_ebooks/version.py +++ b/rero_ebooks/version.py @@ -30,4 +30,4 @@ from __future__ import absolute_import, print_function -__version__ = '0.1.0a1' +__version__ = '0.3.0' diff --git a/rero_ebooks/views.py b/rero_ebooks/views.py index 5836161..85ed929 100644 --- a/rero_ebooks/views.py +++ b/rero_ebooks/views.py @@ -27,7 +27,11 @@ from __future__ import absolute_import, print_function -from flask import Blueprint, render_template +from flask import Blueprint, make_response, render_template +from invenio_oaiserver import response as xml +from invenio_oaiserver.verbs import make_request_validator +from lxml import etree +from webargs.flaskparser import use_args from .version import __version__ @@ -43,3 +47,21 @@ def index(): """Home Page.""" return render_template('rero_ebooks/frontpage.html', version=__version__) + + +@blueprint.route('/oai2debug', methods=['GET', 'POST']) +@use_args(make_request_validator) +def response(args): + """Response endpoint.""" + e_tree = getattr(xml, args['verb'].lower())(**args) + + response = make_response(etree.tostring( + e_tree, + pretty_print=True, + xml_declaration=True, + encoding='UTF-8', + )) + response.headers['Content-Type'] = 'text/xml' + print('--->', response.data) + print('--->', args) + return response diff --git a/run-tests.sh b/run-tests.sh index 024b07a..3e25e09 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -23,10 +23,67 @@ # waive the privileges and immunities granted to it by virtue of its status # as an Intergovernmental Organization or submit itself to any jurisdiction. +# COLORS for messages +NC='\033[0m' # Default color +INFO_COLOR='\033[1;97;44m' # Bold + white + blue background +SUCCESS_COLOR='\033[1;97;42m' # Bold + white + green background +ERROR_COLOR='\033[1;97;41m' # Bold + white + red background -pipenv run pydocstyle rero_ebooks tests docs && \ -pipenv run isort -rc -c -df && \ -pipenv run check-manifest --ignore ".travis-*,docs/_build*" && \ -pipenv run sphinx-build -qnNW docs docs/_build/html && \ -pipenv run test -# python setup.py test +PROGRAM=`basename $0` + +# MESSAGES +msg() { + echo -e "${1}" 1>&2 +} +# Display a colored message +# More info: https://misc.flogisoft.com/bash/tip_colors_and_formatting +# $1: choosen color +# $2: title +# $3: the message +colored_msg() { + msg "${1}[${2}]: ${3}${NC}" +} + +info_msg() { + colored_msg "${INFO_COLOR}" "INFO" "${1}" +} + +error_msg() { + colored_msg "${ERROR_COLOR}" "ERROR" "${1}" +} + +error_msg+exit() { + error_msg "${1}" && exit 1 +} + +success_msg() { + colored_msg "${SUCCESS_COLOR}" "SUCCESS" "${1}" +} + +# Displays program name +msg "PROGRAM: ${PROGRAM}" + +# Poetry is a mandatory condition to launch this program! +if [[ -z "${VIRTUAL_ENV}" ]]; then + error_msg+exit "Error - Launch this script via poetry command:\n\tpoetry run run-tests" +fi + +set -e +safety check +info_msg "Test pydocstyle:" +pydocstyle rero_ebooks tests docs +info_msg "Test isort:" +isort -rc -c -df +info_msg "Test useless imports:" +autoflake -c -r \ + --remove-all-unused-imports \ + --ignore-init-module-imports . \ + &> /dev/null || \ + error_msg+exit "\nUse this command to check imports: \n\tautoflake --remove-all-unused-imports -r --ignore-init-module-imports .\n" +# info_msg "Check-manifest:" +# TODO: check if this is required when rero-ils will be published +# check-manifest --ignore ".travis-*,docs/_build*" +info_msg "Sphinx-build:" +sphinx-build -qnNW docs docs/_build/html +info_msg "Tests:" +poetry run tests diff --git a/scripts/worker_beat b/scripts/__init__.py old mode 100755 new mode 100644 similarity index 65% rename from scripts/worker_beat rename to scripts/__init__.py index 3899c62..4e17cc6 --- a/scripts/worker_beat +++ b/scripts/__init__.py @@ -23,6 +23,21 @@ # waive the privileges and immunities granted to it by virtue of its status # as an Intergovernmental Organization or submit itself to any jurisdiction. -set -e +"""Poetry script utils.""" -celery worker --app invenio_app --loglevel INFO -B +import os +# import subprocess +import sys + +# def __getattr__(name): # python 3.7+, otherwise define each script manually +# name = name.replace('_', '-') +# subprocess.run( +# ['python', '-u', '-m', name] + sys.argv[1:] +# ) # run whatever you like based on 'name' + + +def run(prg_name): # python 3.7+, otherwise define each script manually + def fn(): + # Replace current Python program by prg_name (same PID) + os.execvp(prg_name, [prg_name] + sys.argv[1:]) + return fn diff --git a/scripts/bootstrap b/scripts/bootstrap index 2a8fac8..3962fec 100755 --- a/scripts/bootstrap +++ b/scripts/bootstrap @@ -23,59 +23,103 @@ # waive the privileges and immunities granted to it by virtue of its status # as an Intergovernmental Organization or submit itself to any jurisdiction. -NC='\033[0m' # Default color -COLORED='\033[1;97;44m' # Bold + white + blue background +NC='\033[0m' # Default color +INFO_COLOR='\033[1;97;44m' # Bold + white + blue background +SUCCESS_COLOR='\033[1;97;42m' # Bold + white + green background +ERROR_COLOR='\033[1;97;41m' # Bold + white + red background + +PROGRAM=`basename $0` set -e +# MESSAGES msg() { - echo -e "${COLORED}${EMPHASIS}[INFO]${NC}${COLORED}: ${1}${NC}" 1>&2 + echo -e "${1}" 1>&2 +} +# Display a colored message +# More info: https://misc.flogisoft.com/bash/tip_colors_and_formatting +# $1: choosen color +# $2: title +# $3: the message +colored_msg() { + msg "${1}[${2}]: ${3}${NC}" +} + +info_msg() { + colored_msg "${INFO_COLOR}" "INFO" "${1}" +} + +error_msg() { + colored_msg "${ERROR_COLOR}" "ERROR" "${1}" } -# The real bootstrap script starts 20 lines below ;-) +error_msg+exit() { + error_msg "${1}" && exit 1 +} + +success_msg() { + colored_msg "${SUCCESS_COLOR}" "SUCCESS" "${1}" +} + +# Displays program name +msg "PROGRAM: ${PROGRAM}" + +# options may be followed by one colon to indicate they have a required argument +if ! options=$(getopt -o dc -l deploy,ci -- "$@") +then + # something went wrong, getopt will put out an error message for us + exit 1 +fi + +# The real bootstrap script starts with app installation below ;-) flags=() deploy=false -cmd="pipenv sync" +cmd="poetry install" ci=false -while test $# -gt 0; do - case "$1" in - --deploy) - # We are probably inside travis, check for env variables - deploy=true - shift - ;; - --ci) - # We are probably inside travis, check for env variables - ci=true - shift - ;; - *) - # Use the flags that are passed to the script directly to install - flags+=("$1") - shift - ;; - esac +while test $# -gt 0 +do + case "$1" in + -d|--deploy) + # We are probably inside travis, check for env variables + deploy=true ;; + -c|--ci) + # We are probably inside travis, check for env variables + ci=true ;; + (--) shift; break;; + (-*) flags+=("$1") ;; + (*) break;; + esac + shift done -if ! $deploy || $ci ; then - flags=("--dev") + +# Poetry is a mandatory condition to launch this program! +if [[ -z "${VIRTUAL_ENV}" ]]; then + error_msg+exit "Error - Launch this script via poetry command:\n\tpoetry run ${PROGRAM}" fi if ! $deploy ; then if $ci ; then - cmd="pipenv install --skip-lock --sequential" + cmd="poetry update" fi fi -# go generate a clean lock file -# pipenv --rm; pipenv install --sequential - # install the application and all the dependencies -msg "Install with command: ${cmd} ${flags[@]}" +info_msg "Install with command: ${cmd} ${flags[@]}" ${cmd} ${flags[@]} +# install the app itself +if ! $deploy ; then + if $ci ; then + poetry install + fi +fi + # build the web assets msg "Build web assets: collect" -pipenv run invenio collect -v +invenio collect -v msg "Build webpack" -pipenv run invenio webpack buildall +invenio webpack buildall + +success_msg "${PROGRAM} finished!" +exit 0 diff --git a/scripts/console b/scripts/console index f3b7810..fdb661f 100755 --- a/scripts/console +++ b/scripts/console @@ -23,6 +23,53 @@ # waive the privileges and immunities granted to it by virtue of its status # as an Intergovernmental Organization or submit itself to any jurisdiction. +NC='\033[0m' # Default color +INFO_COLOR='\033[1;97;44m' # Bold + white + blue background +SUCCESS_COLOR='\033[1;97;42m' # Bold + white + green background +ERROR_COLOR='\033[1;97;41m' # Bold + white + red background + +PROGRAM=`basename $0` + set -e -pipenv run invenio shell +# MESSAGES +msg() { + echo -e "${1}" 1>&2 +} +# Display a colored message +# More info: https://misc.flogisoft.com/bash/tip_colors_and_formatting +# $1: choosen color +# $2: title +# $3: the message +colored_msg() { + msg "${1}[${2}]: ${3}${NC}" +} + +info_msg() { + colored_msg "${INFO_COLOR}" "INFO" "${1}" +} + +error_msg() { + colored_msg "${ERROR_COLOR}" "ERROR" "${1}" +} + +error_msg+exit() { + error_msg "${1}" && exit 1 +} + +success_msg() { + colored_msg "${SUCCESS_COLOR}" "SUCCESS" "${1}" +} + +# Displays program name +PROGRAM=`basename $0` +msg "PROGRAM: ${PROGRAM}" + +set -e + +# poetry is a mandatory condition to launch this program! +if [[ -z "${VIRTUAL_ENV}" ]]; then + error_msg+exit "Error - Launch this script via poetry command:\n\tpoetry run ${PROGRAM}" +fi + +invenio shell diff --git a/scripts/server b/scripts/server index 0397e24..1103e78 100755 --- a/scripts/server +++ b/scripts/server @@ -23,19 +23,92 @@ # waive the privileges and immunities granted to it by virtue of its status # as an Intergovernmental Organization or submit itself to any jurisdiction. +NC='\033[0m' # Default color +INFO_COLOR='\033[1;97;44m' # Bold + white + blue background +SUCCESS_COLOR='\033[1;97;42m' # Bold + white + green background +ERROR_COLOR='\033[1;97;41m' # Bold + white + red background + +PROGRAM=`basename $0` + +set -e + +# MESSAGES +msg() { + echo -e "${1}" 1>&2 +} +# Display a colored message +# More info: https://misc.flogisoft.com/bash/tip_colors_and_formatting +# $1: choosen color +# $2: title +# $3: the message +colored_msg() { + msg "${1}[${2}]: ${3}${NC}" +} + +info_msg() { + colored_msg "${INFO_COLOR}" "INFO" "${1}" +} + +error_msg() { + colored_msg "${ERROR_COLOR}" "ERROR" "${1}" +} + +error_msg+exit() { + error_msg "${1}" && exit 1 +} + +success_msg() { + colored_msg "${SUCCESS_COLOR}" "SUCCESS" "${1}" +} + +# Displays program name +PROGRAM=`basename $0` +msg "PROGRAM: ${PROGRAM}" + +PORT=5000 +HTTP=false + +if ! options=$(getopt -o np: -l non_secure,port: -- "$@") +then + # something went wrong, getopt will put out an error message for us + exit 1 +fi + +while [ $# -gt 0 ] +do + case $1 in + -n|--non_secure) HTTP=true;; + -p|--port) PORT=$2; shift;; + (--) shift; break;; + (-*) error_msg+exit "$0: Unrecognized option $1";; + esac + shift +done + set -e script_path=$(dirname "$0") +# poetry is a mandatory condition to launch this program! +if [[ -z "${VIRTUAL_ENV}" ]]; then + error_msg+exit "Error - Launch this script via poetry command:\n\tpoetry run ${PROGRAM}" +fi export FLASK_DEBUG=True -FLASK_ENV=development - +export FLASK_ENV=development # Start Worker and Server -pipenv run celery worker -A invenio_app.celery --beat -l INFO & pid_celery=$! +celery worker -A rero_ebooks.celery --beat -l INFO & pid_celery=$! -pipenv run invenio run \ - --cert "$script_path"/../docker/nginx/test.crt \ - --key "$script_path"/../docker/nginx/test.key & pid_server=$! +if ${HTTP} +then + info_msg "Server is running on http://localhost:${PORT}" + invenio run -p $PORT & pid_server=$! +else + info_msg "Server is running on https://localhost:${PORT}" + invenio run \ + --cert "$script_path"/../docker/nginx/test.crt \ + --key "$script_path"/../docker/nginx/test.key \ + -p $PORT & pid_server=$! +fi trap 'kill $pid_celery $pid_server &>/dev/null' EXIT diff --git a/scripts/setup b/scripts/setup index ccc4ce4..d684f13 100755 --- a/scripts/setup +++ b/scripts/setup @@ -24,27 +24,89 @@ # as an Intergovernmental Organization or submit itself to any jurisdiction. +# COLORS for messages +NC='\033[0m' # Default color +INFO_COLOR='\033[1;97;44m' # Bold + white + blue background +SUCCESS_COLOR='\033[1;97;42m' # Bold + white + green background +ERROR_COLOR='\033[1;97;41m' # Bold + white + red background + +PROGRAM=`basename $0` + +# MESSAGES +msg() { + echo -e "${1}" 1>&2 +} +# Display a colored message +# More info: https://misc.flogisoft.com/bash/tip_colors_and_formatting +# $1: choosen color +# $2: title +# $3: the message +colored_msg() { + msg "${1}[${2}]: ${3}${NC}" +} + +info_msg() { + colored_msg "${INFO_COLOR}" "INFO" "${1}" +} + +error_msg() { + colored_msg "${ERROR_COLOR}" "ERROR" "${1}" +} + +error_msg+exit() { + error_msg "${1}" && exit 1 +} + +success_msg() { + colored_msg "${SUCCESS_COLOR}" "SUCCESS" "${1}" +} + +invert_warning_option() { + if ${ENABLE_WARNINGS} + then + ENABLE_WARNINGS=false + else + ENABLE_WARNINGS=true + fi +} + +# Displays program name +PROGRAM=`basename $0` +msg "PROGRAM: ${PROGRAM}" + +# POETRY is a mandatory condition to launch this program! +if [[ -z "${VIRTUAL_ENV}" ]]; then + error_msg+exit "Error - Launch this script via poetry command:\n\tpoetry run ${PROGRAM}" +fi + +# Purge celery +info_msg "Purge celery" +celery purge -A rero_ebooks.celery -f # Clean redis -pipenv run invenio shell --no-term-title -c "import redis; redis.StrictRedis.from_url(app.config['CACHE_REDIS_URL']).flushall(); print('Cache cleared')" -pipenv run invenio db destroy --yes-i-know -pipenv run invenio db init create -pipenv run invenio index queue purge delete +info_msg "Clean redis" +invenio shell --no-term-title -c "import redis; redis.StrictRedis.from_url(app.config['CACHE_REDIS_URL']).flushall(); print('Cache cleared')" + +invenio db destroy --yes-i-know +invenio db init create +invenio index queue purge delete set -e -pipenv run invenio index destroy --force --yes-i-know -pipenv run invenio index init --force -pipenv run invenio index queue init +invenio index destroy --force --yes-i-know +invenio index init --force +invenio index queue init # init apiharvester config from file -pipenv run invenio apiharvester sources data/apisources.yml +invenio apiharvester sources data/apisources.yml if [ "$1" = "--deployment" ] then # load source VS - pipenv run invenio apiharvester harvest -n VS -k + invenio apiharvester harvest -n VS -k -v # load source NJ - pipenv run invenio apiharvester harvest -n NJ -k + invenio apiharvester harvest -n NJ -k -v else # load source VS - pipenv run invenio apiharvester harvest -n VS -v -m 100 + invenio apiharvester harvest -n VS -v -m 100 # load source NJ - pipenv run invenio apiharvester harvest -n NJ -v -m 100 + invenio apiharvester harvest -n NJ -v -m 100 fi + +invenio apiharvester initsets data/oaisets.yml -v diff --git a/scripts/update b/scripts/update index 1f33dd5..359c4cd 100755 --- a/scripts/update +++ b/scripts/update @@ -23,10 +23,56 @@ # waive the privileges and immunities granted to it by virtue of its status # as an Intergovernmental Organization or submit itself to any jurisdiction. +NC='\033[0m' # Default color +INFO_COLOR='\033[1;97;44m' # Bold + white + blue background +SUCCESS_COLOR='\033[1;97;42m' # Bold + white + green background +ERROR_COLOR='\033[1;97;41m' # Bold + white + red background + +PROGRAM=`basename $0` + set -e +# MESSAGES +msg() { + echo -e "${1}" 1>&2 +} +# Display a colored message +# More info: https://misc.flogisoft.com/bash/tip_colors_and_formatting +# $1: choosen color +# $2: title +# $3: the message +colored_msg() { + msg "${1}[${2}]: ${3}${NC}" +} + +info_msg() { + colored_msg "${INFO_COLOR}" "INFO" "${1}" +} + +error_msg() { + colored_msg "${ERROR_COLOR}" "ERROR" "${1}" +} + +error_msg+exit() { + error_msg "${1}" && exit 1 +} + +success_msg() { + colored_msg "${SUCCESS_COLOR}" "SUCCESS" "${1}" +} + +# Displays program name +msg "PROGRAM: ${PROGRAM}" + +set -e + +# poetry is a mandatory condition to launch this program! +if [[ -z "${VIRTUAL_ENV}" ]]; then + error_msg+exit "Error - Launch this script via poetry command:\n\tpoetry run ${PROGRAM}" +fi + script_path=$(dirname "$0") ./"$script_path"/bootstrap -pipenv run invenio alembic upgrade -pipenv run invenio index init --force +invenio alembic upgrade +invenio index init --force diff --git a/setup.py b/setup.py index 68f0f75..551d974 100644 --- a/setup.py +++ b/setup.py @@ -47,7 +47,7 @@ def run(self): readme = open('README.rst').read() -INVENIO_VERSION = "3.1.0" +INVENIO_VERSION = "3.2.1" packages = find_packages() @@ -132,7 +132,8 @@ def run(self): 'apiharvester = rero_ebooks.apiharvester.models' ], 'invenio_celery.tasks': [ - 'rero_ebooks = rero_ebooks.tasks' + 'rero_ebooks = rero_ebooks.tasks', + 'apiharvester = rero_ebooks.apiharvester.tasks' ] }, diff --git a/tests/api/conftest.py b/tests/api/conftest.py index eec2e45..f9aeb92 100644 --- a/tests/api/conftest.py +++ b/tests/api/conftest.py @@ -35,6 +35,7 @@ def cdf_record(): yield { '__order__': [ 'other_standard_identifier', + 'electronic_location_and_access', 'electronic_location_and_access' ], 'other_standard_identifier': [ @@ -49,19 +50,23 @@ def cdf_record(): ], 'electronic_location_and_access': [ { - '__order__': [ - 'uniform_resource_identifier', - 'access_method', - 'relationship', - ], - 'relationship': 'Resource', 'access_method': 'HTTP', - 'uniform_resource_identifier': [ + 'materials_specified': 'Image de couverture', + 'relationship': 'Related resource', + 'uniform_resource_identifier': + 'http://images.immateriel.fr/covers/X8WRJB3.png'}, + { + 'access_method': 'HTTP', + 'electronic_format_type': 'epub', + 'materials_specified': 'Texte intégral', + 'nonpublic_note': 'mv-cantook', + 'relationship': 'Resource', + 'uniform_resource_identifier': ( 'http://la-chaux-de-fonds.ebibliomedia.ch/resources/' '5788be89dde6b2d458f42b35' - ], + ) } - ], + ] } @@ -72,6 +77,7 @@ def dojson_like_cdf_record(): '__order__': ( 'other_standard_identifier', 'electronic_location_and_access', + 'electronic_location_and_access' ), 'other_standard_identifier': [ { @@ -85,19 +91,24 @@ def dojson_like_cdf_record(): ], 'electronic_location_and_access': [ { - '__order__': ( - 'uniform_resource_identifier', - 'access_method', - 'relationship', - ), - 'relationship': 'Resource', 'access_method': 'HTTP', + 'materials_specified': 'Image de couverture', + 'relationship': 'Related resource', + 'uniform_resource_identifier': + 'http://images.immateriel.fr/covers/X8WRJB3.png' + }, + { + 'access_method': 'HTTP', + 'electronic_format_type': 'epub', + 'materials_specified': 'Texte intégral', + 'nonpublic_note': 'mv-cantook', + 'relationship': 'Resource', 'uniform_resource_identifier': ( 'http://la-chaux-de-fonds.ebibliomedia.ch/resources/' - '5788be89dde6b2d458f42b35', - ), + '5788be89dde6b2d458f42b35' + ) } - ], + ] } @@ -121,17 +132,15 @@ def mv_record(): ], 'electronic_location_and_access': [ { - '__order__': [ - 'uniform_resource_identifier', - 'access_method', - 'relationship', - ], - 'relationship': 'Resource', 'access_method': 'HTTP', - 'uniform_resource_identifier': [ + 'electronic_format_type': 'epub', + 'materials_specified': 'Texte intégral', + 'nonpublic_note': 'mv-cantook', + 'relationship': 'Resource', + 'uniform_resource_identifier': ( 'http://mediatheque-valais.ebibliomedia.ch/resources/' '5788be89dde6b2d458f42b35' - ], + ) } ], } diff --git a/tests/api/test_api.py b/tests/api/test_api.py index f0bce6c..02d6e00 100644 --- a/tests/api/test_api.py +++ b/tests/api/test_api.py @@ -24,41 +24,72 @@ """Test Ebook api.""" +from copy import deepcopy + from rero_ebooks.api import Ebook from rero_ebooks.minters import build_ebook_pid -def test_merge_records(db, cdf_record, mv_record): +def test_merge_and_remove_uri_records(es, db, cdf_record, mv_record): """Test merge ebook records.""" + cover = "http://images.immateriel.fr/covers/X8WRJB3.png" + cdf = 'http://la-chaux-de-fonds.ebibliomedia.ch/resources/'\ '5788be89dde6b2d458f42b35' mv = 'http://mediatheque-valais.ebibliomedia.ch/resources/'\ '5788be89dde6b2d458f42b35' + orig_mv_record = deepcopy(mv_record) + orig_cdf_record = deepcopy(cdf_record) + cdf_record_pid = build_ebook_pid(cdf_record, 'cantook') cdf_record_exists = Ebook.get_record_by_pid(cdf_record_pid) assert cdf_record_exists is None new_cdf_record, cdf_status = Ebook.create_or_update( cdf_record, vendor='cantook', dbcommit=True, reindex=True ) - assert cdf_status == 'created' + assert cdf_status == 'CREATE' assert new_cdf_record['electronic_location_and_access'][0][ 'uniform_resource_identifier' ] merged_record, merged_record_status = Ebook.create_or_update( mv_record, vendor='cantook', dbcommit=True, reindex=True ) - assert merged_record_status == 'updated' + assert merged_record_status == 'UPDATE' ela = merged_record['electronic_location_and_access'] + assert len(ela) == 3 + assert mv == ela[0]['uniform_resource_identifier'] + assert cover == ela[1]['uniform_resource_identifier'] + assert cdf == ela[2]['uniform_resource_identifier'] + + removed_uri_record, removed_uri_record_status = Ebook.remove_uri( + orig_mv_record, + vendor='cantook', + url='http://mediatheque-valais.ebibliomedia.ch', + dbcommit=True, + reindex=True + ) + ela = removed_uri_record['electronic_location_and_access'] assert len(ela) == 2 - first_uri = ela[0]['uniform_resource_identifier'][0] - second_uri = ela[1]['uniform_resource_identifier'][0] - assert mv == first_uri - assert cdf == second_uri + assert removed_uri_record_status == 'REMOVE URIs: 1' + assert cover == ela[0]['uniform_resource_identifier'] + assert cdf == ela[1]['uniform_resource_identifier'] + + removed_uri_record, removed_uri_record_status = Ebook.remove_uri( + orig_cdf_record, + vendor='cantook', + url='http://la-chaux-de-fonds.ebibliomedia.ch', + dbcommit=True, + reindex=True + ) + ela = removed_uri_record['electronic_location_and_access'] + assert len(ela) == 1 + assert removed_uri_record_status == 'REMOVE URIs: 1' + assert cover == ela[0]['uniform_resource_identifier'] -def test_merge_records_same(db, cdf_record, dojson_like_cdf_record): +def test_merge_records_same(es, db, cdf_record, dojson_like_cdf_record): """Test merge ebook records.""" cdf_record_pid = build_ebook_pid(cdf_record, 'cantook') new_cdf_record, cdf_status = Ebook.create_or_update( @@ -67,9 +98,9 @@ def test_merge_records_same(db, cdf_record, dojson_like_cdf_record): merged_record, merged_record_status = Ebook.create_or_update( dojson_like_cdf_record, vendor='cantook', dbcommit=True, reindex=True ) - assert merged_record_status == 'updated' + assert merged_record_status == 'UPDATE' ela = merged_record['electronic_location_and_access'] - assert len(ela) == 1 + assert len(ela) == 2 def test_create_or_update_record(db, cdf_record): @@ -79,11 +110,11 @@ def test_create_or_update_record(db, cdf_record): new_record, status = Ebook.create_or_update( cdf_record, vendor='cantook', dbcommit=True, reindex=True ) - assert status == 'created' + assert status == 'CREATE' record = Ebook.get_record_by_pid('cantook-5788be89dde6b2d458f42b35') assert record['pid'] == 'cantook-5788be89dde6b2d458f42b35' record['title'] = 'The Nest' mod_record, status = Ebook.create_or_update( record, vendor='cantook', dbcommit=True, reindex=True ) - assert status == 'updated' + assert status == 'UPDATE' diff --git a/tests/conftest.py b/tests/conftest.py index 14bb567..430d58f 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -33,6 +33,39 @@ from rero_ebooks.apiharvester.utils import api_source +@pytest.fixture(scope='module') +def es(appctx): + """Setup and teardown all registered Elasticsearch indices. + + Scope: module + This fixture will create all registered indexes in Elasticsearch and remove + once done. Fixtures that perform changes (e.g. index or remove documents), + should used the function-scoped :py:data:`es_clear` fixture to leave the + indexes clean for the following tests. + """ + from invenio_search.errors import IndexAlreadyExistsError + from invenio_search import current_search, current_search_client + + try: + list(current_search.put_templates()) + except IndexAlreadyExistsError: + current_search_client.indices.delete_template('*') + list(current_search.put_templates()) + + try: + list(current_search.create()) + except IndexAlreadyExistsError: + list(current_search.delete(ignore=[404])) + list(current_search.create()) + current_search_client.indices.refresh() + + try: + yield current_search_client + finally: + current_search_client.indices.delete(index='*') + current_search_client.indices.delete_template('*') + + @pytest.fixture(scope="module") def data(): """Init data.""" diff --git a/tests/unit/test_apiharvester_cli.py b/tests/unit/test_apiharvester_cli.py index ccf8fc9..f24f6f4 100644 --- a/tests/unit/test_apiharvester_cli.py +++ b/tests/unit/test_apiharvester_cli.py @@ -29,7 +29,6 @@ import os import re -import pytest import responses from click.testing import CliRunner from flask.cli import ScriptInfo @@ -80,9 +79,9 @@ def test_config(app, apiharvester_config_vs): assert res.output == 'Add ApiHarvestConfig: NJ\n' -@pytest.mark.skip( - reason="Have to wait for response to implement re.compile for add_passthru" -) +# @pytest.mark.skip( +# reason="Have to wait for response to implement re.compile foadd_passthru" +# ) @responses.activate def test_harvest(app, apiharvester_config_vs, apiharvester_apiresponse_vs): """Test harvest cli.""" @@ -93,9 +92,10 @@ def test_harvest(app, apiharvester_config_vs, apiharvester_apiresponse_vs): responses.add_passthru( re.compile('http://localhost:9200/(.*)') ) - url1 = '{url}{static}'.format( + url = '{url}{static}'.format( url=apiharvester_config_vs.get('url'), - static='/v1/resources.json?start_at=1900-01-01T00:00:00&page=1', + static=('/v1/resources.json?start_at=1900-01-01T00:00:00' + '&page={page}{available}') ) headers1 = { 'X-Total-Pages': '1', @@ -105,26 +105,27 @@ def test_harvest(app, apiharvester_config_vs, apiharvester_apiresponse_vs): } responses.add( responses.GET, - url1, + url=url.format(page=1, available='&available=1'), status=200, json=apiharvester_apiresponse_vs, headers=headers1 ) - url2 = '{url}{static}'.format( - url=apiharvester_config_vs.get('url'), - static='/v1/resources.json?start_at=1900-01-01T00:00:00&page=2' + responses.add( + responses.GET, + url=url.format(page=2, available='&available=1'), + status=400, ) - headers2 = { - 'X-Total-Pages': '1', - 'X-Total-Items': '1', - 'X-Per-Page': '20', - 'X-Current-Page': '2' - } responses.add( responses.GET, - url2, + url=url.format(page=1, available=''), status=200, - headers=headers2 + json=apiharvester_apiresponse_vs, + headers=headers1 + ) + responses.add( + responses.GET, + url=url.format(page=2, available=''), + status=400, ) res = runner.invoke( @@ -134,13 +135,15 @@ def test_harvest(app, apiharvester_config_vs, apiharvester_apiresponse_vs): ], obj=script_info ) + assert 0 == res.exit_code - output = '{line1}\n{line2}\n{line3}\n{line4}\n'.format( - line1='Harvest api: VS', - line2=('API page: 1 url: {url}').format(url=url1), - line3='1: {link}'.format( - link=apiharvester_apiresponse_vs['resources'][0]['link'] - ), - line4='API harvest 1 items | got 1 from VS' - ) - assert res.output == output + assert res.output.strip().split('\n') == [ + 'Harvest api: VS', + ('API page: 1 url: http://mediatheque-valais.cantookstation.eu/v1/' + 'resources.json?start_at=1900-01-01T00:00:00&page=1&available=1'), + ('API page: 1 url: http://mediatheque-valais.cantookstation.eu/v1/' + 'resources.json?start_at=1900-01-01T00:00:00&page=1'), + '1: cantook:mv-cantook cantook-immateriel.frO692039 = CREATE', + ('API harvest items=1 available=1 |' + ' got=1 new=1 updated=0 deleted=0 from VS.') + ]