Metadata-Version: 2.4
Name: macss-modular-api-sqlserver
Version: 0.5.0
Summary: Official MACSS SQL Server integration package for Python.
Author: ccisne.dev
License-Expression: MIT
Project-URL: Homepage, https://github.com/macss-dev/modular_api
Project-URL: Repository, https://github.com/macss-dev/modular_api/tree/main/code/py/modular_api_sqlserver
Project-URL: Issues, https://github.com/macss-dev/modular_api/issues
Project-URL: Documentation, https://github.com/macss-dev/modular_api/tree/main/code/py/modular_api_sqlserver#readme
Keywords: macss,sqlserver,database
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Database
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"

# macss-modular-api-sqlserver

Official MACSS SQL Server integration package for Python.

## Quick start

```python
from modular_api_sqlserver import DbClient, DbCommand, DbCommandKind, DbConnectionSettings

settings = DbConnectionSettings.from_environment()

client = DbClient(
    settings=settings,
    session_provider=my_session_provider,
    command_executor=my_command_executor,
    transaction_runner=my_transaction_runner,
)

result = client.scalar(
    DbCommand(
        kind=DbCommandKind.SCALAR,
        text="select count(*) from users",
        label="users.count",
    )
)

if result.is_success:
    print(result.value.value)
else:
    print(result.failure.message)
```

See [example/example.py](example/example.py) for a complete in-memory wiring sample.

## Current slice

- normalized SQL Server connection defaults and redacted summaries
- engine-agnostic `DbClient`, `DbRepository`, and transaction contracts
- explicit lease ownership semantics for package-owned and application-owned sessions
- health contributor and GraphQL support bundle for higher-level integrations
- real driver bindings intentionally remain outside this first slice
