{ "info": { "author": "Saranya Balasubramanian, Ksenia Zaytseva", "author_email": "saranya.balasubramanian@oeaw.ac.at", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering :: Information Analysis" ], "description": "# API Wrapper\n\n## Install package\n* from PyPi: \n pip install apimapper\n* from source: \n pip install -e .\n\n## Unit Testing\n tests> python -m pytest\n\n## Usage\n* Multiple APIs (GND and VIAF) mapped to a common JSON schema\n\nVIAF only returns VIAF ID - which is contructed into a url using a \"rule\"\n```\nfrom apimapper import APIMapper\nfrom apimapper import config\n\nGND_PERSON_MAP = {config.DIRECT: {'uri': 'id',\n\t \t \t\t 'label': 'label'}}\n\nVIAF_PERSON_MAP = {config.RESULT: 'result',\n config.FILTER: {'nametype': 'personal'},\n config.DIRECT: {'label': 'displayForm'},\n config.RULES: {'uri': {config.RULE: '\"http://www.viaf.org/viaf/{p1}\"',\n config.FIELDS: {'p1': 'viafid'}}}}\n\nGND_PERSON_SOURCE = {config.URL: 'https://lobid.org/gnd/search',\n config.QUERY_FIELD: 'q',\n config.PAYLOAD: {'format':'json:suggest',\n 'filter': 'type:Person'}}\n\nVIAF_PERSON_SOURCE = {config.URL: 'http://www.viaf.org/viaf/AutoSuggest',\n config.QUERY_FIELD: 'query'}\n\n\ngnd = APIMapper(GND_PERSON_SOURCE, GND_PERSON_MAP)\nviaf = APIMapper(VIAF_PERSON_SOURCE, VIAF_PERSON_MAP)\napis = [gnd, viaf]\nresults = []\nfor api in apis: \n res = api.fetch_results('Pratchett')\n results.extend(res)\n\nprint(results)\n```\n\n* Using mapping rules\n\nSplitting the GND label field into meaningful subparts\n```\nfrom apimapper import APIMapper\nfrom apimapper import config\n\nGND_PERSON_SOURCE = {config.URL: 'https://lobid.org/gnd/search',\n config.QUERY_FIELD: 'q',\n config.PAYLOAD: {'format':'json:suggest',\n 'filter': 'type:Person'}}\n\nGND_PERSON_MAP = {config.DIRECT: {'label': 'label',\n 'uri': 'id'},\n\t\t config.RULES: {'source': {config.RULE: '\"GND\"'},\n\t\t 'label_name': {config.RULE: '\"{p1}\".split(\"|\")[0].strip()',\n config.FIELDS: {'p1': 'label'}},\n 'label_year': {config.RULE: '\"{p1}\".split(\"|\")[1].strip() if \"{p1}\".split(\"|\")[1].strip()[0].isnumeric() else \"\"',\n \t config.FIELDS: {'p1': 'label'}},\n 'label_profession': {config.RULE: '\"{p1}\".split(\"|\")[2].strip() if \"{p1}\".split(\"|\")[1].strip()[0].isnumeric() else \"{p1}\".split(\"|\")[1].strip()',\n config.FIELDS: {'p1': 'label'}}}}\n\napi = APIMapper(GND_PERSON_SOURCE, GND_PERSON_MAP)\nres = api.fetch_results('Rosalind Franklin')\n```\n\n* More example usage in apimapper/demo\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/acdh-oeaw/apimapper", "keywords": "API Mapper", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "apimapper", "package_url": "https://pypi.org/project/apimapper/", "platform": "", "project_url": "https://pypi.org/project/apimapper/", "project_urls": { "Homepage": "https://github.com/acdh-oeaw/apimapper" }, "release_url": "https://pypi.org/project/apimapper/0.7.7/", "requires_dist": [ "markdown", "requests" ], "requires_python": "", "summary": "API Mapper", "version": "0.7.7" }, "last_serial": 5599118, "releases": { "0.3": [ { "comment_text": "", "digests": { "md5": "9bdf9af3cade9aa7a9871a55139167fd", "sha256": "04d048effbb22a3f79f5ff8278649af7956319252788a450e0710ed03aa39b28" }, "downloads": -1, "filename": "apimapper-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "9bdf9af3cade9aa7a9871a55139167fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6190, "upload_time": "2019-03-25T12:36:29", "url": "https://files.pythonhosted.org/packages/63/2e/ccbfae1c3839edfd777fea63e7a2125523d4a8c77aa8f0b340db2435d9be/apimapper-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb6e29dd2eec8085546b6f1fd9b4dd99", "sha256": "c4bd2d29a412c5416015dbddea9a20a8f8206fcf3a718cb2ce67405621910cc6" }, "downloads": -1, "filename": "apimapper-0.3.tar.gz", "has_sig": false, "md5_digest": "eb6e29dd2eec8085546b6f1fd9b4dd99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4174, "upload_time": "2019-03-25T12:36:31", "url": "https://files.pythonhosted.org/packages/0d/aa/e23b352371904f047601d91a536f0e245276711abc16771f5479487724b4/apimapper-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "23afcab13e572e1cd54c5e0ea2d4f189", "sha256": "47d5932357090db2e1032ead97c7edfc1ebecf5c05aa26b39908c827cae8e139" }, "downloads": -1, "filename": "apimapper-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "23afcab13e572e1cd54c5e0ea2d4f189", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6180, "upload_time": "2019-03-25T12:50:41", "url": "https://files.pythonhosted.org/packages/88/f3/b3ec933c132e73b7a3d85b4628c74c695afd870db52abe2ce7b2162365e1/apimapper-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "18b5b30ecee366a874cf3664e9e62779", "sha256": "1dd8619f95e9fecca08ab732603672720d414eebc8cdc2993916384e686cf9ff" }, "downloads": -1, "filename": "apimapper-0.4.tar.gz", "has_sig": false, "md5_digest": "18b5b30ecee366a874cf3664e9e62779", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4169, "upload_time": "2019-03-25T12:50:42", "url": "https://files.pythonhosted.org/packages/b4/5b/eaf15653929afb75b3db4766d16054541f745ab021e0062bbb1eeba3f97d/apimapper-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "bc7692374af213bbdd0c114b78fdbad9", "sha256": "3061dd2f3dced6f6f3c052b3df92ca093d0db69d94068b12d94d647ac26378f7" }, "downloads": -1, "filename": "apimapper-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "bc7692374af213bbdd0c114b78fdbad9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6253, "upload_time": "2019-03-25T14:47:28", "url": "https://files.pythonhosted.org/packages/75/9f/72a9cc7e3984b9a25109b52e31214752323fa6eeffcff89e7537237d7acb/apimapper-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f6f73ad0f293d08a778998e236ad3dcf", "sha256": "a893676ffea709cf797faa87131183eac595c79d96227f09f6ec7cd24b8dd42d" }, "downloads": -1, "filename": "apimapper-0.5.tar.gz", "has_sig": false, "md5_digest": "f6f73ad0f293d08a778998e236ad3dcf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4235, "upload_time": "2019-03-25T14:47:29", "url": "https://files.pythonhosted.org/packages/9f/02/ea8d32e3c623433d599de337c7d877e2863f15b7d09ffe5377238a016511/apimapper-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "8876bbb32cb21b91453847da81f21d71", "sha256": "e10d64922c53c4de499c50fb49ce60ec4f2a06babd0c6bc0a550403807279fa0" }, "downloads": -1, "filename": "apimapper-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "8876bbb32cb21b91453847da81f21d71", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7050, "upload_time": "2019-03-25T16:29:41", "url": "https://files.pythonhosted.org/packages/8a/d7/1207fc9c4239d086823c30020e632752c8118020c5499c013157dd96d14c/apimapper-0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41fa17a1c48f5f42298db3e1e40e327e", "sha256": "12569976cd0845e0c5693ec1c60047c5fa363b90e9807ddae4d3aaaecafc2e9a" }, "downloads": -1, "filename": "apimapper-0.6.tar.gz", "has_sig": false, "md5_digest": "41fa17a1c48f5f42298db3e1e40e327e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4962, "upload_time": "2019-03-25T16:29:42", "url": "https://files.pythonhosted.org/packages/cb/0e/98d72c62c5715abf3bfed3d490472ff848b6788ce87be176f2b20b0334a3/apimapper-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "dffd9637055ef627a52606590b6cccd3", "sha256": "c1efea2240163e6a0ff808d198461c442b6f2ed5b7ab471de00e0cf28a61d17a" }, "downloads": -1, "filename": "apimapper-0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "dffd9637055ef627a52606590b6cccd3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7201, "upload_time": "2019-04-17T08:46:06", "url": "https://files.pythonhosted.org/packages/b1/fa/d5ce01bcd87541cd19b8f68e9be2a2c55cfda6823fd0988cb7e363efe234/apimapper-0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d280630dd7964378adf77d9322d77e93", "sha256": "bab02a2475081d4a789cb70ddca49630ec5c2d27c749661df6e289b9867d7d13" }, "downloads": -1, "filename": "apimapper-0.7.tar.gz", "has_sig": false, "md5_digest": "d280630dd7964378adf77d9322d77e93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5111, "upload_time": "2019-04-17T08:46:08", "url": "https://files.pythonhosted.org/packages/be/da/dc25201a47a8d36956b94f73642705f83dab1a9edffed3976a7c89d45898/apimapper-0.7.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "6a9a8d26911595d290e4c68499d9d668", "sha256": "97ba629f886175d3db9ac18b3be7528d7afaf0f4413ff6560c1d5e112ba1596f" }, "downloads": -1, "filename": "apimapper-0.7.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6a9a8d26911595d290e4c68499d9d668", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6755, "upload_time": "2019-05-20T12:58:18", "url": "https://files.pythonhosted.org/packages/8c/9c/050efce140444c60e058d3237e6263b60f592d584c5218651d9f2d2b276c/apimapper-0.7.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "320418e7aab88fcf262d7b352b53f5c5", "sha256": "c029ab924022cbec9af03fac1fc5dafc32e5e9a2ec2844566bd558483c7d609a" }, "downloads": -1, "filename": "apimapper-0.7.1.tar.gz", "has_sig": false, "md5_digest": "320418e7aab88fcf262d7b352b53f5c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4857, "upload_time": "2019-05-20T12:58:19", "url": "https://files.pythonhosted.org/packages/62/53/06af0d28c2dd83776f3f0f2ea762cdde2c6f56120901fa0840282d3d1b07/apimapper-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "83eb46c9b0100654d899986a60d37e62", "sha256": "6b9811c2eb6381c353bb74cd3246672f487802459abd29ebe35951f036d45d14" }, "downloads": -1, "filename": "apimapper-0.7.2-py3-none-any.whl", "has_sig": false, "md5_digest": "83eb46c9b0100654d899986a60d37e62", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7570, "upload_time": "2019-05-20T12:58:49", "url": "https://files.pythonhosted.org/packages/a4/b8/59d8bf0624b820f957264b293547423362e79a2acb7ab4c8b5fcfec9a419/apimapper-0.7.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d89047fd2193c53bc653d9169f5d5384", "sha256": "d0809aeb9dd2209ac9ebc461ce43961dd08050ae7cf810b09ee14f53505b7f89" }, "downloads": -1, "filename": "apimapper-0.7.2.tar.gz", "has_sig": false, "md5_digest": "d89047fd2193c53bc653d9169f5d5384", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5110, "upload_time": "2019-05-20T12:58:50", "url": "https://files.pythonhosted.org/packages/f3/c4/ec474bdb68624ad3f7b8ca5235f9f68b669e8203e02c0dc20d8de8266fd7/apimapper-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "489aff8be41004afe9346c2b69dd9c16", "sha256": "c418019c9213234eec498cbe8ed9c38ceb66375bb049698f4802f1fb482dc703" }, "downloads": -1, "filename": "apimapper-0.7.3-py3-none-any.whl", "has_sig": false, "md5_digest": "489aff8be41004afe9346c2b69dd9c16", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7765, "upload_time": "2019-06-17T17:02:35", "url": "https://files.pythonhosted.org/packages/2f/68/02b54d34c323b5150abb9b2b50f9bd4f649a31adb9f21f13ee60200f8128/apimapper-0.7.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8fd09bdc5b9d3839226e7c3ffcba349", "sha256": "830e5cf400de2eaa2cd9a4367085cfac1f1af55d54458c339ac68d80618a9ddb" }, "downloads": -1, "filename": "apimapper-0.7.3.tar.gz", "has_sig": false, "md5_digest": "d8fd09bdc5b9d3839226e7c3ffcba349", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5313, "upload_time": "2019-06-17T17:02:37", "url": "https://files.pythonhosted.org/packages/e7/79/157fbf7efe69a2d32f210be7a32c72ce585c47ab18077f40fffe8a4f0eb8/apimapper-0.7.3.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "78e9cf48c86826f81babe797112eebd6", "sha256": "37aa12a802942e360bb6b56b87b79d49108690af2c6044b8b26fb626afc9394e" }, "downloads": -1, "filename": "apimapper-0.7.4-py3-none-any.whl", "has_sig": false, "md5_digest": "78e9cf48c86826f81babe797112eebd6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7786, "upload_time": "2019-06-25T15:22:46", "url": "https://files.pythonhosted.org/packages/96/f9/cfcefb75ec184d1404ff1148b4a262ad091f75fed147ff2047cad5283001/apimapper-0.7.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b3ab9a1e42ad3fc6bc6625b1ebc858d", "sha256": "3a02e1a125d0456f1eec08f70b8a5e63dc5ebd0dea36005de58065dd3fe6b070" }, "downloads": -1, "filename": "apimapper-0.7.4.tar.gz", "has_sig": false, "md5_digest": "8b3ab9a1e42ad3fc6bc6625b1ebc858d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5326, "upload_time": "2019-06-25T15:22:47", "url": "https://files.pythonhosted.org/packages/51/4c/d60fcf2327aa0b0ca4cdbaca6c5ba3dd517274bcf5bbcf2ec940f1aa22b4/apimapper-0.7.4.tar.gz" } ], "0.7.5": [ { "comment_text": "", "digests": { "md5": "2a746ca844c4379c7f2b8d2e1eceda54", "sha256": "9ffcc4d07776648be1720d666c9484f9451b0a6f136fceb971a53e663872ad11" }, "downloads": -1, "filename": "apimapper-0.7.5-py3-none-any.whl", "has_sig": false, "md5_digest": "2a746ca844c4379c7f2b8d2e1eceda54", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7797, "upload_time": "2019-06-28T11:59:21", "url": "https://files.pythonhosted.org/packages/f8/f1/bb232a426ede7f40449aeecf8bf5bdebdb64321ba3c71fee2c3372e6659e/apimapper-0.7.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a9a74f5f05b4adaa7972773f0a191166", "sha256": "ddfeabca2f9d9abaacb6a26ea270aba30a14ad6aa9408a9f6b6682fe1bb7ee0e" }, "downloads": -1, "filename": "apimapper-0.7.5.tar.gz", "has_sig": false, "md5_digest": "a9a74f5f05b4adaa7972773f0a191166", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5345, "upload_time": "2019-06-28T11:59:23", "url": "https://files.pythonhosted.org/packages/e7/45/4e21671cb6bb5642502d19c409d29b05dfc6ce2e134c554849e6c1013328/apimapper-0.7.5.tar.gz" } ], "0.7.6": [ { "comment_text": "", "digests": { "md5": "b86cdcbebbf52d6f8fe23b5bd5c0f6af", "sha256": "3d3b3f7c93de12cf09d47ed108b2da683266b1d8bcc25227dec1222f85b7d1a9" }, "downloads": -1, "filename": "apimapper-0.7.6-py3-none-any.whl", "has_sig": false, "md5_digest": "b86cdcbebbf52d6f8fe23b5bd5c0f6af", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7824, "upload_time": "2019-07-23T12:51:53", "url": "https://files.pythonhosted.org/packages/b0/9a/b6802cd7bae2abb7664d5696518672d1c34ae475d1822aa8ac31e2468067/apimapper-0.7.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90295a6562a43a2998f548db50103b30", "sha256": "fec5bd6fe5239c66dc6497b3de61644854efa3134e33c7c3d51b1b25ffe87bb1" }, "downloads": -1, "filename": "apimapper-0.7.6.tar.gz", "has_sig": false, "md5_digest": "90295a6562a43a2998f548db50103b30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5366, "upload_time": "2019-07-23T12:51:54", "url": "https://files.pythonhosted.org/packages/a9/4f/9d6c950b5bfc8325d9013200c1ce1f1d9047d8a2722c57ccce21aa0387aa/apimapper-0.7.6.tar.gz" } ], "0.7.7": [ { "comment_text": "", "digests": { "md5": "b45c9ed040ccfb834130e33db53b54bd", "sha256": "a8a3f124adff3e73e3fd7d9246f81ac0aff577a0a6dd850c7562c6ea079e7b77" }, "downloads": -1, "filename": "apimapper-0.7.7-py3-none-any.whl", "has_sig": false, "md5_digest": "b45c9ed040ccfb834130e33db53b54bd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7929, "upload_time": "2019-07-29T11:51:29", "url": "https://files.pythonhosted.org/packages/bc/ae/0e5a17d065df533f58b1bdd023d70c7fd3da9066ab4102636f56a37b3dfe/apimapper-0.7.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d7a11850aa8d03689dfafb1afdcedf4", "sha256": "d18b8ad2e8d43a042800864a3adc24782cdce6d90b65cef26fbed7b1041e963d" }, "downloads": -1, "filename": "apimapper-0.7.7.tar.gz", "has_sig": false, "md5_digest": "3d7a11850aa8d03689dfafb1afdcedf4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5460, "upload_time": "2019-07-29T11:51:30", "url": "https://files.pythonhosted.org/packages/22/cf/00be6ec8d2296dfdb83eeb599a71e762984ec9e6fc02a8421f63febf14d2/apimapper-0.7.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b45c9ed040ccfb834130e33db53b54bd", "sha256": "a8a3f124adff3e73e3fd7d9246f81ac0aff577a0a6dd850c7562c6ea079e7b77" }, "downloads": -1, "filename": "apimapper-0.7.7-py3-none-any.whl", "has_sig": false, "md5_digest": "b45c9ed040ccfb834130e33db53b54bd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7929, "upload_time": "2019-07-29T11:51:29", "url": "https://files.pythonhosted.org/packages/bc/ae/0e5a17d065df533f58b1bdd023d70c7fd3da9066ab4102636f56a37b3dfe/apimapper-0.7.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d7a11850aa8d03689dfafb1afdcedf4", "sha256": "d18b8ad2e8d43a042800864a3adc24782cdce6d90b65cef26fbed7b1041e963d" }, "downloads": -1, "filename": "apimapper-0.7.7.tar.gz", "has_sig": false, "md5_digest": "3d7a11850aa8d03689dfafb1afdcedf4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5460, "upload_time": "2019-07-29T11:51:30", "url": "https://files.pythonhosted.org/packages/22/cf/00be6ec8d2296dfdb83eeb599a71e762984ec9e6fc02a8421f63febf14d2/apimapper-0.7.7.tar.gz" } ] }