Metadata-Version: 2.4
Name: israeli-bank-scrapers-python
Version: 0.1.11
Summary: Python migration slice for Leumi and Isracard scrapers
Author-email: Meir Finkelstine <mfinkelstine@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/mfinkelstine/israeli-bank-scrapers
Project-URL: Repository, https://github.com/mfinkelstine/israeli-bank-scrapers
Project-URL: Issues, https://github.com/mfinkelstine/israeli-bank-scrapers/issues
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Framework :: FastAPI
Classifier: Topic :: Office/Business :: Financial
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: playwright<2,>=1.50
Requires-Dist: fastapi<1,>=0.115
Requires-Dist: pydantic<3,>=2.0
Requires-Dist: uvicorn<1,>=0.30
Requires-Dist: python-dotenv<2,>=1.0
Requires-Dist: tzdata>=2024.1
Provides-Extra: test
Requires-Dist: httpx<1,>=0.27; extra == "test"
Requires-Dist: pytest<9,>=8; extra == "test"
Requires-Dist: pytest-asyncio<1,>=0.24; extra == "test"
Provides-Extra: dev
Requires-Dist: ruff>=0.6; extra == "dev"
Dynamic: license-file

# israeli-bank-scrapers-python

Python port of the [`israeli-bank-scrapers`](https://github.com/mfinkelstine/israeli-bank-scrapers)
Leumi bank + Isracard credit-card scrapers, packaged as a FastAPI service.
Playwright drives a real Chromium browser to log in and pull transactions,
balances, standing orders, loans, deposits, and mortgages (Leumi); the
service preserves the HTTP contract of the original TypeScript/Express
service it replaces.

## Install

```bash
pip install israeli-bank-scrapers-python
python -m playwright install --with-deps chromium
```

## Run the service

```bash
uvicorn israeli_bank_scrapers.api.app:app --host 0.0.0.0 --port 3002
```

Endpoints: `GET /health`, `GET|POST /healthz`, `POST /scrape`,
`POST /standing-orders`, `POST /cards`, `POST /portfolio`,
`GET /openapi.json`, `GET /docs`.

## Use as a library

```python
from israeli_bank_scrapers.browser import BrowserSession
from israeli_bank_scrapers.providers.leumi import LeumiProvider

async with BrowserSession() as page:
    provider = LeumiProvider()
    result = await provider.scrape_transactions(page, username, password, start_date=...)
```

## Scope

Currently: Leumi (bank) and Isracard (credit card). See the project's
`PROGRESS.md` in the source repository for the full migration status,
architecture notes, and release process.

## License

MIT — see `LICENSE`.
