Metadata-Version: 2.4
Name: sovai
Version: 0.2.75
Summary: python for asset management
License: Proprietary License
License-File: LICENSE
Author: Derek Snow
Author-email: d.snow@outlook.com
Requires-Python: >=3.10
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Provides-Extra: full
Requires-Dist: aiobotocore (==2.21.1)
Requires-Dist: boto3 (==1.37.1)
Requires-Dist: botocore (==1.37.1)
Requires-Dist: brotli (>=1.1.0,<2.0.0)
Requires-Dist: dash ; extra == "full"
Requires-Dist: dash-bootstrap-components ; extra == "full"
Requires-Dist: edgar-tool (>=1.3.3)
Requires-Dist: fastapi-cache (>=0.1.0)
Requires-Dist: fastapi-cache2[redis] (>=0.2.1)
Requires-Dist: fsspec (==2024.10.0)
Requires-Dist: gcsfs (==2024.10.0)
Requires-Dist: great-tables ; extra == "full"
Requires-Dist: ipywidgets ; extra == "full"
Requires-Dist: joblib (>=1.0)
Requires-Dist: kaleido (>=1.1.0,<2.0.0)
Requires-Dist: lightgbm ; extra == "full"
Requires-Dist: matplotlib ; extra == "full"
Requires-Dist: mfles ; extra == "full"
Requires-Dist: networkx (>=3.3)
Requires-Dist: numba ; extra == "full"
Requires-Dist: numpy (>=1.20)
Requires-Dist: openai ; extra == "full"
Requires-Dist: pandas (>=1.0)
Requires-Dist: pexpect ; extra == "full"
Requires-Dist: plotly ; extra == "full"
Requires-Dist: polars (>=1.2)
Requires-Dist: polars-talib ; extra == "full"
Requires-Dist: pyarrow (>=5.0)
Requires-Dist: python-dateutil (>=2.8)
Requires-Dist: python-dotenv (>=0.10)
Requires-Dist: pyvis (>=0.3.2)
Requires-Dist: rapidfuzz (>=3.9.7)
Requires-Dist: requests (>=2.20)
Requires-Dist: ruptures ; extra == "full"
Requires-Dist: s3fs (==2024.10.0)
Requires-Dist: s3transfer (==0.11.3)
Requires-Dist: scikit-learn ; extra == "full"
Requires-Dist: scipy ; extra == "full"
Requires-Dist: seaborn (>=0.13.2)
Requires-Dist: shap ; extra == "full"
Requires-Dist: skfolio (>=0.9.0,<0.10.0)
Requires-Dist: skfolio ; extra == "full"
Requires-Dist: statsforecast ; extra == "full"
Requires-Dist: tensorly ; extra == "full"
Requires-Dist: tqdm (>=4.67.1,<5.0.0)
Requires-Dist: yachalk (>=0.1.6)
Description-Content-Type: text/markdown

[![Sovai Python SDK package](https://github.com/sovai-research/SovAI/actions/workflows/main.yml/badge.svg)](https://github.com/sovai-research/SovAI/actions/workflows/main.yml) 
[![Publish Sovai SDK to TestPyPI](https://github.com/sovai-research/SovAI/actions/workflows/python-package.yml/badge.svg)](https://github.com/sovai-research/SovAI/actions/workflows/python-package.yml)

# SovAI SDK Tool Kit Package

Python SDK Tool Kit, which provides some functions that help you fast receive information from Cloud API.

## Quick start

### Prerequisites:

- Python 3.8+

### Create the main app with authorization

```python
import sovai as sv

# There are three ways how to login to the API

# 1. Configuration API connection
sv.ApiConfig.token = "super_secret_token"
sv.ApiConfig.base_url = "https://google.com"

# 2. Read token from .env file e.g API_TOKEN=super_secret_token
sv.read_key('.env')

# 3. The Basic authentication method
sv.basic_auth("test@test.com", "super_strong_password")

# And then continue working with get some data from API and manipulating them
```

### Retrieve data from different endpoints from the API server

```python
# Retrieve data
gs_df = sv.get("bankruptcy/monthly", params={"version": 20221013})
```

### Retrieve charts data with plotting graphs

```python
# Retrieve data with plotting special flag `plot=True`
data_pca = sv.get(
    endpoint="bankruptcy/charts", params={"tickers": "A", "chart": "pca"}, plot=True
)
```

