Metadata-Version: 2.1
Name: py-reconciliation-service-api
Version: 0.2.0
Summary: Python client for the Reconciliation Service API
License: GPL-3.0-or-later
Keywords: reconciliation,api,client
Author: Daniel Erenrich
Author-email: daniel@erenrich.net
Requires-Python: >=3.8,<4.0
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Internet :: WWW/HTTP
Requires-Dist: httpx (>=0.26.0,<0.27.0)
Requires-Dist: pydantic (>=2.5.3,<3.0.0)
Project-URL: Homepage, https://github.com/derenrich/py-reconciliation-service-api
Project-URL: Issues, https://github.com/derenrich/py-reconciliation-service-api/issues
Project-URL: Repository, https://github.com/derenrich/py-reconciliation-service-api.git
Description-Content-Type: text/markdown

Python Reconciliation Service API
=================================

This is a python implementation of the [Reconciliation Service API v0.2](https://w3c.github.io/cg-reports/reconciliation/CG-FINAL-specs-0.2-20230410/). It is [available on pypi](https://pypi.org/project/py-reconciliation-service-api/).

It does not support all methods or utilities of the API including authentication. 


![PyPI - Python Version](https://img.shields.io/pypi/pyversions/py-reconciliation-service-api)
![PyPI - Format](https://img.shields.io/pypi/format/py-reconciliation-service-api)
[![PyPI - License](https://img.shields.io/pypi/l/py-reconciliation-service-api.svg)](https://pypi.python.org/pypi/py-reconciliation-service-api/)

Usage
-----

Here is a basic usage example

```python
from py_reconciliation_service_api import build_reconciliation_service

# the standard location of the wikidata implementation of this API
SERVICE_URL = "https://wikidata.reconci.link/en/api"
service = build_reconciliation_service(SERVICE_URL)

# get 6 candidates for the string "sf"
candidates = service.reconcile({"query": "sf", "limit": 6})
assert len(candidates.result) == 6
# the top result should be called San Francisco
assert candidates.result[0].name == "San Francisco"

```
