Metadata-Version: 2.1
Name: impee
Version: 0.2.0
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.

## Usage

1. **Install**:

   ```powershell
   pip install impee
   ```

2. **Start the API on your machine** (must stay running while you use the UI):

   ```powershell
   python -m impee summon
   ```

   The API listens at http://127.0.0.1:8000 (docs at http://127.0.0.1:8000/docs).  
   Optional flags: `--host`, `--port`, `--no-reload`.

3. **Open the web UI** on the same computer where the API is running:

   **[https://impee.vercel.app](https://impee.vercel.app)**

   The hosted UI talks to **your laptop’s** API at `127.0.0.1:8000`. Use Chrome (or allow local-network access if prompted).

4. In the UI, click **Add entry point** and set:
   - **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)

5. Click **Launch** to open a terminal window with that command, or **Stop** to end the process tree.

Entry points are stored locally in `impee/data/impee.db` (created on first run).

## 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.

## Development

### Backend (without `python -m impee summon`)

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

### Frontend (local UI instead of Vercel)

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

UI: http://127.0.0.1:5173 (proxies `/api` to the local backend)

## 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 |
