Metadata-Version: 2.1
Name: wyvern-ai
Version: 0.0.7
Summary: 
Author: Wyvern AI
Author-email: info@wyvern.ai
Requires-Python: >=3.8,<3.11
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Dist: boto3 (>=1.26.146,<2.0.0)
Requires-Dist: ddtrace (>=1.14.0,<2.0.0)
Requires-Dist: eppo-server-sdk (>=1.2.2,<2.0.0)
Requires-Dist: fastapi (>=0.95.2,<0.96.0)
Requires-Dist: feast[redis,snowflake] (>=0.31.1,<0.32.0)
Requires-Dist: httpx (>=0.24.1,<0.25.0)
Requires-Dist: lz4 (>=4.3.2,<5.0.0)
Requires-Dist: more-itertools (>=9.1.0,<10.0.0)
Requires-Dist: msgspec (>=0.16.0,<0.17.0)
Requires-Dist: nest-asyncio (>=1.5.7,<2.0.0)
Requires-Dist: pandas (==1.5.3)
Requires-Dist: pydantic (>=1.10.4,<2.0.0)
Requires-Dist: pyhumps (>=3.8.0,<4.0.0)
Requires-Dist: python-dotenv (>=1.0.0,<2.0.0)
Requires-Dist: pyyaml (>=6.0,<7.0)
Requires-Dist: scipy (==1.10.1)
Requires-Dist: snowflake-connector-python (==3.0.3)
Requires-Dist: tqdm (>=4.65.0,<5.0.0)
Requires-Dist: typer[all] (>=0.9.0,<0.10.0)
Requires-Dist: uvicorn (>=0.22.0,<0.23.0)
Description-Content-Type: text/markdown

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->

- [Setup](#setup)
  - [Set up PyEnv](#set-up-pyenv)
  - [Set up Poetry env](#set-up-poetry-env)
    - [1. Install Poetry](#1-install-poetry)
    - [2. Set up Poetry to create virtual envs in the local directory](#2-set-up-poetry-to-create-virtual-envs-in-the-local-directory)
    - [3. Python Version](#3-python-version)
    - [4. Set up the virtual environment](#4-set-up-the-virtual-environment)
    - [(Optional) 5. Set up auto-poetry shell spawning](#optional-5-set-up-auto-poetry-shell-spawning)
  - [Set up Pre-commit](#set-up-pre-commit)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

# Setup

This project is managed by Poetry

## Set up PyEnv

Install PyEnv using Brew:

```bash
brew install pyenv
```

Add this to your ~/.zshrc or ~/.bashrc depending on what you use. Documentation copied from [here](https://github.com/pyenv/pyenv#set-up-your-shell-environment-for-pyenv)

```bash
 export PYENV_ROOT="$HOME/.pyenv"
 command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
 eval "$(pyenv init -)"
```

## Set up Poetry env

### 1. Install Poetry

```bash
brew install poetry
```

### 2. Set up Poetry to create virtual envs in the local directory

```bash
poetry config virtualenvs.in-project true
```

### 3. Python Version

Poetry apparently has trouble initializing the Python version itself, so you'll have to force it to use the correct version

At the time of this writing, the correct version is 3.10, so just run:

```
poetry env use 3.10
```

And it'll switch the python version to the correct one. You only need to do this once

### 4. Set up the virtual environment

Have poetry set up all of the configs

```bash
poetry install
```

### (Optional) 5. Set up auto-poetry shell spawning

Add this to your ~/.zshrc:

This automatically spawns a new poetry shell whenever you `cd` into a directory with a poetry env

```bash
### Autoomatically activate virtual environment
function auto_poetry_shell {
    if [ -f "pyproject.toml" ] ; then
        source ./.venv/bin/activate
    fi
}

function cd {
    builtin cd "$@"
    auto_poetry_shell
}

auto_poetry_shell
```

## Set up Pre-commit

```bash
brew install pre-commit
pre-commit install
```

