Metadata-Version: 2.4
Name: kubera-core
Version: 0.3.1
Summary: Personal asset management backend
Project-URL: Homepage, https://github.com/oh-my-kubera/kubera-core
Project-URL: Repository, https://github.com/oh-my-kubera/kubera-core
Project-URL: Issues, https://github.com/oh-my-kubera/kubera-core/issues
Author-email: SanGyuk-Raccoon <dmstjkim80@gmail.com>
License: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.11
Requires-Dist: alembic>=1.13.0
Requires-Dist: cryptography>=43.0
Requires-Dist: fastapi>=0.115.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: openpyxl>=3.1.5
Requires-Dist: pydantic-settings>=2.0
Requires-Dist: pydantic>=2.0
Requires-Dist: pyjwt>=2.0
Requires-Dist: python-multipart>=0.0.9
Requires-Dist: pyyaml>=6.0
Requires-Dist: sqlalchemy>=2.0
Requires-Dist: uvicorn[standard]>=0.30.0
Description-Content-Type: text/markdown

# Kubera Core

Personal asset management backend. All financial data stays on your machine.

## Install & Run

```bash
pip install pipx
pipx ensurepath     # restart terminal after this
pipx install kubera-core
kubera-core start
```

Or with pip:

```bash
pip install kubera-core
```

- API docs: http://localhost:8000/docs
- Auth token is auto-generated and printed on first start

## Options

```bash
kubera-core start --host 127.0.0.1 --port 3000
kubera-core token                    # show current token
kubera-core token --refresh          # generate new token
```

## Credential Management

API keys for financial services are managed via CLI only (never through web).

```bash
kubera-core credential add upbit     # interactive masked input
kubera-core credential list          # show status
kubera-core credential remove upbit
```

Supported providers: upbit, kis, binance, codef

## Remote Access

Expose your local server to the internet using [Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/) (free, no account required):

```bash
# install cloudflared (one-time)
# Windows: winget install cloudflare.cloudflared
# macOS:   brew install cloudflared
# Linux:   https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/

# start tunnel (run alongside kubera-core)
cloudflared tunnel --url http://localhost:8000
```

The command prints a public URL like `https://xxx.trycloudflare.com`. Use this as the API server address in kubera-web.

## Tech Stack

FastAPI, SQLAlchemy (SQLite), Pydantic, cryptography (Fernet)

## Related

- [kubera-web](https://github.com/oh-my-kubera/kubera-web) — Next.js dashboard (PWA)

## License

MIT
