{"id":24093204,"url":"https://github.com/umd-lib/catalog-searcher","last_synced_at":"2026-01-31T06:02:16.717Z","repository":{"id":147003356,"uuid":"563930815","full_name":"umd-lib/catalog-searcher","owner":"umd-lib","description":"Microservice for catalog searches","archived":false,"fork":false,"pushed_at":"2024-12-12T18:08:32.000Z","size":124,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-05-07T05:05:22.128Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/umd-lib.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-09T16:26:34.000Z","updated_at":"2024-12-12T18:08:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"a23c8e49-4e15-4137-8d58-3c1f30dee53c","html_url":"https://github.com/umd-lib/catalog-searcher","commit_stats":null,"previous_names":["umd-lib/catalog-searcher"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fcatalog-searcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fcatalog-searcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fcatalog-searcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fcatalog-searcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/umd-lib","download_url":"https://codeload.github.com/umd-lib/catalog-searcher/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252817010,"owners_count":21808705,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-10T09:25:59.791Z","updated_at":"2026-01-31T06:02:11.666Z","avatar_url":"https://github.com/umd-lib.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# catalog-searcher\n\nPython 3 Flask application to search the catalog.\n\n## Requires\n\n* Python 3.10\n\n## Running\n\n```\n$ catalog-searcher --help\nUsage: catalog-searcher [OPTIONS]\n\n  Run the catalog searcher web app using the waitress WSGI server\n\nOptions:\n  -l, --listen [HOST]:PORT  Port (and optional host) to listen on. Defaults to\n                            \"0.0.0.0:5000\".\n  -t, --threads INTEGER     Maximum number of threads to use. Defaults to 10.\n  -V, --version             Show the version and exit.\n  --help                    Show this message and exit.\n```\n\n## Development Setup\n\nSee [docs/DevelopmentSetup.md](docs/DevelopmentSetup.md).\n\n## API\n\n* Root\n  * Path: `/`\n  * Methods: `GET`\n  * Response (to all requests):\n    * Status: `200 OK`\n    * Content-Type: `application/json`\n    * Body: `{status: ok}`\n* Ping\n  * Path: `/ping`\n  * Methods: `GET`\n  * Response (to all requests):\n    * Status: `200 OK`\n    * Content-Type: `application/json`\n    * Body: `{status: ok}`\n* Search\n  * Path: `/search`\n  * Methods: `GET`\n  * Parameters:\n    * `q` (**Required**): text of the query\n    * `endpoint` (*Optional*): selects the type of search: `books-and-more` or\n      `articles`; defaults to `books-and-more`\n    * `page` (*Optional*): page of results to display; defaults to `0`\n    * `per_page` (*Optional*): number of results to display on each page;\n      defaults to `3`\n    * `backend` (*Optional*): catalog backend implementation to use: `alma`,\n      `primo`, or `worldcat`; defaults to `primo`\n  * Responses:\n    * Success:\n      * Status: `200 OK`\n      * Content-Type: `application/json`\n      * JSON Schema: [api-response-schema.json](docs/api-response-schema.json)\n    * Error: Missing or invalid request parameters\n      * Status: `400 Bad Request`\n      * Content-Type: `application/json`\n    * Error: Problem contacting the backend or executing the search\n      * Status: `500 Internal Server Error`\n      * Content-Type: `application/json`\n\n### Example\n\n```bash\ncurl 'http://localhost:5000/search?q=cheese+making\u0026per_page=3\u0026page=2'\n```\n\n```json\n{\n  \"endpoint\": \"world_cat_discovery_api_article\",\n  \"first_page\": \"http://localhost:5000/search?q=cheese+making\u0026per_page=3\u0026page=1\",\n  \"last_page\": \"http://localhost:5000/search?q=cheese+making\u0026per_page=3\u0026page=62015\",\n  \"next_page\": \"http://localhost:5000/search?q=cheese+making\u0026per_page=3\u0026page=3\",\n  \"page\": 2,\n  \"per_page\": 3,\n  \"prev_page\": \"http://localhost:5000/search?q=cheese+making\u0026per_page=3\u0026page=1\",\n  \"query\": \"cheese making\",\n  \"results\": [\n    {\n      \"author\": \"Francis T. Bond\",\n      \"date\": \"1905\",\n      \"format\": \"article\",\n      \"link\": \"https://www.jstor.org/stable/20286827\",\n      \"title\": \"Cheese-Making\"\n    },\n    {\n      \"author\": \"Muiris O’Sullivan\",\n      \"date\": \"2018\",\n      \"format\": \"article\",\n      \"link\": \"https://www.jstor.org/stable/26565827\",\n      \"title\": \"CHEESE-MAKING\"\n    },\n    {\n      \"author\": \"null\",\n      \"date\": \"2019\",\n      \"format\": \"article\",\n      \"link\": \"https://umaryland.on.worldcat.org/oclc/8100216678\",\n      \"title\": \"Cheese Making\"\n    }\n  ],\n  \"total\": 186043\n}\n```\n\n## License\n\nSee the [LICENSE](LICENSE.txt) file for license rights and limitations.\n\n\n[Flask's debug mode]: https://flask.palletsprojects.com/en/2.2.x/cli/?highlight=debug%20mode\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumd-lib%2Fcatalog-searcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fumd-lib%2Fcatalog-searcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumd-lib%2Fcatalog-searcher/lists"}