Metadata-Version: 2.4
Name: boolean-sdk
Version: 0.1.0
Summary: Boolean SDK: ACS permission checks with memory and Redis caching
License: Proprietary
Keywords: acs,authorization,permissions,redis,cache
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: httpx<1,>=0.27
Requires-Dist: redis<6,>=5
Provides-Extra: dev
Requires-Dist: pytest<9,>=8; extra == "dev"
Requires-Dist: build<2,>=1; extra == "dev"
Requires-Dist: twine<7,>=6; extra == "dev"

# boolean-sdk

Python SDK for ACS permission checks with in-memory and Redis caching.

```python
from boolean.sdk import ACSClient, BooleanSDKConfig

config = BooleanSDKConfig(
    acs_base_url="https://example.com/acs",
    redis_url="redis://localhost:6379/0",
)
with ACSClient(config) as client:
    result = client.check_permission(token, "juzgado", "sentencias", "write")
    assert result.allowed in (True, False)
```

## Publicar en PyPI

1. Cuenta en [pypi.org](https://pypi.org) y un [API token](https://pypi.org/manage/account/token/) (scope para todo el usuario o solo el proyecto `boolean-sdk` tras el primer upload).
2. Desde esta carpeta (`sdk/python`):

   ```bash
   python -m pip install build twine
   python -m build
   twine check dist/*
   TWINE_USERNAME=__token__ TWINE_PASSWORD=pypi-XXXXXXXX twine upload dist/*
   ```

   Sustituí `pypi-XXXXXXXX` por el token que te muestra PyPI.

Para probar antes en TestPyPI: `twine upload --repository testpypi dist/*` (crear cuenta y token en [test.pypi.org](https://test.pypi.org)).
