Metadata-Version: 2.4
Name: schwab_api_wrapper
Version: 0.3.1
Summary: A wrapper package around the schwab http api
Author-email: Owen Gordon <owengordon330@outlook.com>
Project-URL: Homepage, https://github.com/owen-gordon/schwab-api-wrapper
Project-URL: Issues, https://github.com/owen-gordon/schwab-api-wrapper/issues
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: annotated-types>=0.6.0
Requires-Dist: build>=1.2.1
Requires-Dist: certifi>=2024.2.2
Requires-Dist: cffi>=1.16.0
Requires-Dist: charset-normalizer>=3.3.2
Requires-Dist: click>=8.1.7
Requires-Dist: cryptography>=42.0.8
Requires-Dist: devtools>=0.12.2
Requires-Dist: hiredis>=2.3.2
Requires-Dist: pydantic>=2.7.1
Requires-Dist: redis>=5.0.5
Requires-Dist: requests>=2.31.0
Requires-Dist: responses>=0.25.0
Requires-Dist: PyYAML>=6.0.1
Dynamic: license-file

# Schwab API Wrapper
# schwab-api-wrapper

## Redis configuration

When using `RedisClient`, the Redis connection is configured via a JSON file (see `redis_config.json`).

### TLS / SSL options

You can control transport security with two optional keys:
- `ssl` (bool): enable TLS for the Redis connection
- `ssl_verify` (bool): when `ssl: true`, verify the server certificate

Backwards-compatible behavior:
- If `ssl` is omitted, the client behaves like older versions: TLS is enabled when `ca_cert_path` is present; otherwise the connection is plaintext.
- If `ssl` is true and `ssl_verify` is omitted, verification defaults to true.

### Examples

Plaintext (insecure):

```json
{
  "host": "localhost",
  "port": 6379,
  "password": "your_password",
  "encryption_key": "your_fernet_key",
  "ssl": false
}
```

TLS with certificate verification (recommended):

```json
{
  "host": "your.redis.host",
  "port": 6379,
  "password": "your_password",
  "encryption_key": "your_fernet_key",
  "ssl": true,
  "ssl_verify": true,
  "ca_cert_path": "path/to/ca.crt"
}
```

TLS without certificate verification (insecure; vulnerable to MITM):

```json
{
  "host": "your.redis.host",
  "port": 6379,
  "password": "your_password",
  "encryption_key": "your_fernet_key",
  "ssl": true,
  "ssl_verify": false
}
```
