{"id":15647487,"url":"https://github.com/edsu/opensearch","last_synced_at":"2025-04-14T06:42:51.386Z","repository":{"id":667761,"uuid":"310952","full_name":"edsu/opensearch","owner":"edsu","description":"A python opensearch client","archived":false,"fork":false,"pushed_at":"2023-04-07T20:19:56.000Z","size":132,"stargazers_count":44,"open_issues_count":4,"forks_count":14,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-27T20:23:06.717Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://python.org/pypi/opensearch","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/edsu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2009-09-18T15:43:36.000Z","updated_at":"2023-09-04T20:21:02.000Z","dependencies_parsed_at":"2022-07-07T21:32:29.602Z","dependency_job_id":"f7425788-5a91-41db-ace7-16e8e7bf9447","html_url":"https://github.com/edsu/opensearch","commit_stats":{"total_commits":50,"total_committers":6,"mean_commits":8.333333333333334,"dds":0.26,"last_synced_commit":"51c36573fb2ee6e6e8d27634f9eddcc19c4c4876"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edsu%2Fopensearch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edsu%2Fopensearch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edsu%2Fopensearch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edsu%2Fopensearch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edsu","download_url":"https://codeload.github.com/edsu/opensearch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248837260,"owners_count":21169373,"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":"2024-10-03T12:19:37.824Z","updated_at":"2025-04-14T06:42:51.357Z","avatar_url":"https://github.com/edsu.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"opensearch\n==========\n\nopensearch is a python library for talking to opensearch servers.\nBoth v1.0 and v1.1 interactions are supported.  You can find out more \nabout opensearch at [opensearch.org](http://opensearch.org).\n\nUsage\n-----\n\nHere's the basic idea:\n\n```python\nfrom opensearch import Client\n\nclient = Client(description_url)\nresults = client.search('zx81')\n\nfor result in results:\n    print result.title, result.link\n```\n\nIf you have a template with some non-standard query parameters like `key` in\nthis template:\n\n```xml\n   \u003cUrl type=\"application/atom+xml\" template=\"http://example.org/search?q={searchTerms}\u0026amp;start={startIndex?}\u0026amp;count={resultSize?}\u0026amp;key={key}\"/\u003e\n```\n\nyou can send the parameter like so:\n\n```python\nresults = client.search('zx81', key=\"abc123\")\n```\n\nIf the template happens to use a namespace prefix, as in this real example \nfrom the OCLC Worldcat API, which uses `wcapi:wskey`:\n\n```xml\n\u003cUrl type=\"application/atom+xml\" xmlns:wcapi=\"http://www.worldcat.org/devnet/wiki/SearchAPIDetails\" template=\"http://worldcat.org/webservices/catalog/search/worldcat/opensearch?q={searchTerms}\u0026amp;start={startIndex?}\u0026amp;count={resultSize?}\u0026amp;format=atom\u0026amp;wskey={wcapi:wskey}\u0026amp;cformat={wcapi:cformat?}\"/\u003e\n```\n\nYou can supply `wcapi:wskey` using the underscore notation:\n\n```python\nresults = client.search('zx81', wcapi__wskey=\"abc123\")\n```\n\nDebugging\n---------\n\nIf you run into trouble and would like to see what URLs are being accessed\nbehind the scenes, turn on logging and set the log level to DEBUG:\n\n```python\nimport logging\nlogging.basicConfig(level=logging.DEBUG)\n```\n\nTo Do\n-----\n\n- handle v1.1 that want a POST instead of a GET\n- figure out if the latest feedparser can be used as a dependency\n- validate required parameters\n\nLicense\n-------\n\nThe opensearch code itself has been released under the \n[GPL](http://www.opensource.org/licenses/gpl-license.php).\n\nOne exception is that the distro bundles Mark Pilgrim's Universal Feed \nParser, which is licensed separately under the MIT license. See \nopensearch/osfeedparser.py for details on Mark's license.\n\nAuthor\n------\n\nEd Summers [ehs@pobox.com](mailto:ehs@pobox.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedsu%2Fopensearch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedsu%2Fopensearch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedsu%2Fopensearch/lists"}