Metadata-Version: 2.4
Name: flowgraphapp
Version: 0.1.4
Summary: FlowGraph — local-first knowledge-graph canvas + AI planner, run securely on your own machine.
Project-URL: Homepage, https://flow-graph.com
Author: Naveen
License: FlowGraph — Proprietary License
        Copyright (c) 2026 Naveen. All rights reserved.
        
        This software and its source code (the "Software") are the confidential and
        proprietary property of the copyright holder. No license, right, or permission
        is granted to any person to use, copy, modify, merge, publish, distribute,
        sublicense, sell, or create derivative works of the Software, in whole or in
        part, without the prior written consent of the copyright holder.
        
        Unauthorized copying, distribution, or use of the Software, via any medium, is
        strictly prohibited.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
        FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
        COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER
        IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF, OR IN
        CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
License-File: LICENSE
Keywords: ai,canvas,graph,knowledge-graph,local-first,planner
Classifier: Environment :: Web Environment
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Office/Business
Requires-Python: >=3.9
Requires-Dist: fastapi>=0.115
Requires-Dist: httpx>=0.27
Requires-Dist: keyring>=25.0
Requires-Dist: packaging>=23.0
Requires-Dist: platformdirs>=4.2
Requires-Dist: typer>=0.12
Requires-Dist: uvicorn[standard]>=0.30
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Provides-Extra: local-embeddings
Description-Content-Type: text/markdown

# FlowGraph — local server (`flowgraphapp`)

Run FlowGraph — the local-first knowledge-graph canvas + AI planner — on your own
machine. Same app as [flow-graph.com](https://flow-graph.com), served from a hardened
localhost server; your data stays in your browser, and (optionally) your AI key stays
in your OS keychain instead of the browser.

## Install

**From PyPI:**

```bash
python3 -m pip install flowgraphapp      # or, isolated: pipx install flowgraphapp
flowgraph                              # serves http://127.0.0.1:8765 and opens your browser
```

If your shell has a `pip` command, `pip install flowgraphapp` is equivalent. The PyPI
distribution is named `flowgraphapp`; the installed command is `flowgraph`, not
`flowgraphapp`.

**From source:**

```bash
# 1. build the frontend once
cd app && npm run build && cd ..
# 2. install the local server (use a venv or pipx to keep it isolated)
cd server && pip install .
# 3. run it
flowgraph
```

Open the printed URL if the browser does not launch automatically. The default port is
`http://127.0.0.1:8765`; if that port is already busy, FlowGraph picks a free port and
prints the replacement URL. Stop with `Ctrl-C`. Options: `flowgraph --port 0`
(auto-pick a free port), `--no-open` (don't open the browser), `flowgraph --help`.

## Why local

- **Offline / air-gapped** — no Cloudflare, no network required for the app itself.
- **Privacy / data locality** — your graph lives in the browser's IndexedDB on this machine.
- **On-device models** — point at Ollama / LM Studio for zero-key, zero-cost AI.
- **No size ceiling** — not bound by hosting per-file limits as the app grows.

## AI

Local-model-first: if a local runtime (Ollama `:11434`, LM Studio `:1234`) is reachable,
it's used with **no key**. Otherwise bring your own provider key — stored in the OS
keychain, used server-side, **never sent to the browser**:

```bash
flowgraph keys set anthropic     # or openrouter / openai / google / deepseek
flowgraph keys list              # shows source, never the key
```

## Security (safe by default)

Binds **loopback only** (`127.0.0.1`); a per-session token is required (delivered via the
terminal + a `0600` file; the auto-opened URL carries a one-time ticket, never the token).
Host-header allow-listing blocks DNS-rebinding from websites you visit; Origin checks,
strict CSP, and security headers apply to every route. Exposing beyond loopback
(`--allow-lan`) requires TLS. See `docs/18-local-server.md` for the full threat model.

## Updates

`pip install -U flowgraphapp` (or `flowgraph upgrade`) updates the app and server together;
your data is untouched. A calm one-line "update available" notice appears at startup —
disable with `FLOWGRAPH_NO_UPDATE_CHECK=1`.

## What is in the package

The PyPI wheel contains the local server plus the compiled FlowGraph web app. It does not
include the repo's private planning docs, reference folders, tests, app source tree, or
development scripts.
