Metadata-Version: 2.4
Name: flex-mls
Version: 0.1.1
Summary: Typed Python client library for the Spark RESO Web API used by Flexmls.
Author: OpenAI Assistant
License-Expression: LicenseRef-Proprietary
Project-URL: Homepage, https://github.com/theperrygroup/flex-mls
Project-URL: Documentation, https://theperrygroup.github.io/flex-mls/
Project-URL: Repository, https://github.com/theperrygroup/flex-mls
Keywords: flexmls,spark,reso,odata,real-estate
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.31.0
Requires-Dist: typing-extensions>=4.9.0
Provides-Extra: dev
Requires-Dist: bandit>=1.7.8; extra == "dev"
Requires-Dist: black>=24.4.0; extra == "dev"
Requires-Dist: build>=1.2.1; extra == "dev"
Requires-Dist: coverage[toml]>=7.4.0; extra == "dev"
Requires-Dist: flake8>=7.0.0; extra == "dev"
Requires-Dist: isort>=5.13.2; extra == "dev"
Requires-Dist: mypy>=1.10.0; extra == "dev"
Requires-Dist: mkdocs>=1.6.0; extra == "dev"
Requires-Dist: mkdocs-material>=9.5.0; extra == "dev"
Requires-Dist: mkdocstrings[python]>=0.25.0; extra == "dev"
Requires-Dist: pymdown-extensions>=10.8.0; extra == "dev"
Requires-Dist: pytest>=8.2.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
Requires-Dist: pytest-mock>=3.14.0; extra == "dev"
Requires-Dist: responses>=0.25.0; extra == "dev"
Requires-Dist: twine>=5.1.0; extra == "dev"
Provides-Extra: dotenv
Requires-Dist: python-dotenv>=1.0.1; extra == "dotenv"

# flex_mls

`flex_mls` is a typed Python client library for the Spark RESO Web API used by
Flexmls.

## Features

- Direct bearer-token authentication for personal access token workflows
- OpenID Connect helpers for authorization-code, refresh, and revoke flows
- Typed resource clients for the RESO Web API surface
- Replication-aware pagination and incremental sync helpers
- Google-style docstrings and shipped type information

## Installation

```bash
pip install flex-mls
```

## Quickstart

```python
from flex_mls import FlexMlsClient

client = FlexMlsClient(access_token="your-access-token")
response = client.properties.list(top=5, count=True)

for record in response.get("value", []):
    print(record.get("ListingKey"))
```

## Documentation

The package mirrors Spark's RESO documentation and adds Python-focused guides
for authentication, querying, and replication workflows.

## Releases

GitHub Actions runs the test suite for pull requests, pushes to `main`, and
version tags. Publishing to PyPI happens automatically when a tag in `vX.Y.Z`
format is pushed, and the workflow verifies that the tag matches the package
version metadata before publishing.
