Metadata-Version: 2.1
Name: impee
Version: 0.1.1
Summary: Spawn processes at scale
Home-page: https://github.com/DovaX/impee
Author: DovaX
Author-email: dovax.ai@gmail.com
Classifier: Programming Language :: Python :: 3
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: fastapi==0.116.1
Requires-Dist: uvicorn[standard]==0.35.0
Requires-Dist: sqlalchemy==2.0.42
Requires-Dist: pydantic==2.11.7
Requires-Dist: python-multipart==0.0.20

# Impee

One-click launcher for your local project entry points.

Store a working directory + command (e.g. `python insights_api.py`, `npm run dev`, `npm start`) and launch or stop them from a simple web UI.

## Stack

- **Backend:** FastAPI + SQLite + subprocess launcher
- **Frontend:** React (Vite)

On Windows, **Launch** opens a **new CMD or Anaconda Prompt window** (not a background process). The window stays open so you can read logs (`cmd /k`).

If conda is not auto-detected, set `IMPEE_CONDA_ROOT` to your Anaconda/Miniconda install folder.

## Setup

Install the package (from the repo root):

```powershell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .
```

Start the API:

```powershell
impee summon
```

API: http://127.0.0.1:8000  
Docs: http://127.0.0.1:8000/docs  

Optional flags: `--host`, `--port`, `--no-reload`.

### Backend (development without installing)

```powershell
cd impee/backend
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
pip install -e ../..
python api.py
```
### Frontend

```powershell
cd impee/frontend
npm install
npm run dev
```

UI: http://127.0.0.1:5173

## Usage

1. Open the UI and click **Add entry point**
2. Fill in:
   - **Name** — e.g. Insights API
   - **Working directory** — absolute path to the project folder
   - **Command** — e.g. `python insights_api.py` or `npm run dev`
   - **Terminal** — CMD or Anaconda Prompt (optional conda env name)
3. Click **Launch** — a new terminal window runs the command
4. Click **Stop** to kill the process tree

Entry points are stored in `data/impee.db`.

## API overview

| Method | Path | Description |
|--------|------|-------------|
| GET | `/api/entrypoints` | List entry points |
| POST | `/api/entrypoints` | Create |
| PUT | `/api/entrypoints/{id}` | Update |
| DELETE | `/api/entrypoints/{id}` | Delete |
| POST | `/api/entrypoints/{id}/launch` | Launch |
| POST | `/api/entrypoints/{id}/stop` | Stop |
