Sans

Latest version: v1.2.6

Safety actively analyzes 710445 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 5

1.1.0

- Added `sans.Command`, and improved some handling regarding private commands
- Improved typehinting for `sans.Client` and associated functions
- Exposed `sans.ClientType` and `sans.AsyncClientType` as typehint-only types for typehinting purposes
- Both are implemented at runtime via [typing.NewType](https://docs.python.org/3/library/typing.html#newtype)

1.0.0

- Fixes `response.raise_for_status()` erroring out (incorrectly), and properly attaches parent exception info to the new exception

1.0.0b2

- Loosen some requirements
- Fix XML iterators yielding the wrong element depth
- Remove LXML iterators due to being slower

1.0.0b1

- Bumps httpx version
- Fix an issue where queries were deliminated via `%2B` rather than `+`
- `utils.prepare_and_execute` now raises on status codes other than 2xx

1.0.0a3

- Improved typehinting
- URL helpers now return `httpx.URL` rather than `httpx.Request`
- exponential backoff implemented
- private shards now available with `NSAuth`
- `Response.iter_xml` and `Response.aiter_xml` will unpack gzip responses automatically i.e. data dumps
- README.rst now has some examples
- Docs are building again, but aren't written yet
- Minorly improved performance of various `Response.*xml` methods
- Fixed `utils.prepare_and_execute` to find the correct token XML element
- Used cpython's implementation of `ElementTree.indent` for backport

1.0.0a2

Fix some erroneous typehints in client.pyi

Page 3 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.