Metadata-Version: 2.2
Name: simlir
Version: 0.1.1
Summary: Typed Python client for the simlir public product API
Author: simlir engineering
License: Copyright 2026 simlir Ltd
        
        Licensed under the Apache License, Version 2.0 (the "License");
        you may not use this file except in compliance with the License.
        You may obtain a copy of the License at
        
            http://www.apache.org/licenses/LICENSE-2.0
        
        Unless required by applicable law or agreed to in writing, software
        distributed under the License is distributed on an "AS IS" BASIS,
        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        See the License for the specific language governing permissions and
        limitations under the License.
        
Keywords: product data,product search,shopping api,gtin,sku,ai
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE

# simlir

The typed Python client for the simlir public product API is published on PyPI as `simlir` version `0.1.1` under Apache-2.0. The SDK is open source; installing it does not provide free access to the Simlir service. API access still requires a Simlir account, API key, and any applicable credits or plan entitlement. See [the public licensing guide](https://simlir.com/docs/open-source) and [service terms](https://simlir.com/terms) for the artefact and service boundaries.

## Local verification

```bash
python -m compileall -q src
python -m unittest discover -s tests -p 'test_*.py'
python -m pip wheel --no-deps --no-build-isolation --wheel-dir /tmp/simlir-python-sdk-wheel .
```

## Intended consumer API

```python
from simlir import Simlir

client = Simlir(api_key="sk_...")
result = client.search(query="wireless headphones", market="GB", limit=10)
for product in result.results:
    print(product.title, product.price.amount, product.price.retailer)

exact = client.lookup(identifier="5051234567890", type="gtin", market="GB")
visual = client.search_by_image(
    image_url="https://example.com/product.jpg",
    market="GB",
    query="a slim fridge freezer with a front water dispenser for a small flat",
)
product = client.get_product(id=result.results[0].id)
```

The dataclass response models are generated from the pinned public API shape and include the source contract hash in the package boundary. The SDK uses Python’s standard library HTTP client, validates markets, UUIDs, API keys, price ranges, hosted HTTPS image URLs, and optional context, bounds timeouts/retries/response size, and never logs credentials, query strings, request bodies, or response bodies. Image-only calls remain supported.
