Metadata-Version: 2.4
Name: blackfish-ai
Version: 0.4.1
Summary: An open-source AI-as-a-Service platform.
Project-URL: bug-tracker, https://github.com/princeton-ddss/blackfish/issues
Project-URL: documentation, https://princeton-ddss.github.io/blackfish/
Author-email: Colin Swaney <colinswaney@princeton.edu>
License-Expression: MIT
License-File: LICENSE
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.12
Requires-Dist: advanced-alchemy<0.28,>=0.27.1
Requires-Dist: aiohttp>=3.11.11
Requires-Dist: aiosqlite>=0.20
Requires-Dist: alembic<1.16,>=1.14
Requires-Dist: colorlog>=6.9
Requires-Dist: dotenv>=0.9.9
Requires-Dist: fabric>=3.2.2
Requires-Dist: huggingface-hub>=0.27.1
Requires-Dist: jinja2>=3.1.5
Requires-Dist: litestar>=2.14
Requires-Dist: log-symbols>=0.0.14
Requires-Dist: pillow>=11.1
Requires-Dist: prettytable>=3.12
Requires-Dist: psutil>=6.1.1
Requires-Dist: pydantic>=2.10.6
Requires-Dist: requests>=2.32.3
Requires-Dist: rich-click>=1.8.9
Requires-Dist: types-paramiko>=3.5.0.20240928
Requires-Dist: types-psutil>=6.1.0.20241221
Requires-Dist: types-requests>=2.32.0.20241016
Requires-Dist: uvicorn>=0.34
Requires-Dist: yaspin>=3.1
Provides-Extra: uv
Requires-Dist: uv>=0.5.18; extra == 'uv'
Description-Content-Type: text/markdown

# Blackfish AI

Python package `blackfish-ai` - the core backend for the [Blackfish](../) MLaaS platform.

For project overview, installation, and usage instructions, see the [main README](../README.md).

## Development Setup

```bash
cd lib
uv sync                    # Install dependencies
uv run blackfish --help    # Verify CLI works
```

## Common Commands

```bash
# Development (using justfile)
uv run just test           # Run tests with coverage
uv run just lint           # Lint and format
uv run just coverage       # Generate coverage badge
uv run just docs           # Build documentation

# Database Migrations
uv run alembic revision --autogenerate -m "description"
uv run alembic upgrade head
```

## Project Structure

```
lib/
├── src/blackfish/
│   ├── cli/              # CLI commands (rich-click)
│   ├── server/           # Litestar app, routes, models
│   └── build/            # Built frontend (generated)
├── tests/                # pytest tests
└── docs/                 # MkDocs documentation
```

## Environment Variables

| Variable | Description | Default |
|----------|-------------|---------|
| `BLACKFISH_HOST` | Server host | `localhost` |
| `BLACKFISH_PORT` | Server port | `8000` |
| `BLACKFISH_DEBUG` | Enable debug mode (0/1) | `1` |
| `BLACKFISH_HOME_DIR` | Blackfish home directory | `~/.blackfish` |
| `BLACKFISH_BASE_PATH` | API base path | `/` |
| `BLACKFISH_STATIC_DIR` | Static files directory | (bundled) |
| `BLACKFISH_CONTAINER_PROVIDER` | Container provider | (auto-detect) |
| `BLACKFISH_MAX_FILE_SIZE` | Max upload file size | `1000000000` |

## Documentation

- [Full Documentation](https://princeton-ddss.github.io/blackfish/)
- [Main README](../README.md)
