Metadata-Version: 2.4
Name: rustfava
Version: 0.1.0
Summary: Web interface for the accounting tool rustledger.
Author-email: Dominik Aumayr <dominik@aumayr.name>
Maintainer-email: Jakob Schnitzer <mail@jakobschnitzer.de>
License-Expression: MIT
Project-URL: Repository, https://github.com/rustledger/rustfava
Project-URL: Documentation, https://rustledger.github.io/rustfava
Project-URL: Issues, https://github.com/rustledger/rustfava/issues
Project-URL: Changelog, https://github.com/rustledger/rustfava/releases
Keywords: rustfava,fava,beancount,accounting,rustledger
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Flask
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Intended Audience :: Information Technology
Classifier: Natural Language :: English
Classifier: Programming Language :: JavaScript
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Office/Business :: Financial :: Accounting
Classifier: Topic :: Office/Business :: Financial :: Investment
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: Babel<3,>=2.11
Requires-Dist: Flask-Babel<5,>=3
Requires-Dist: Flask<4,>=2.2
Requires-Dist: Jinja2<4,>=3
Requires-Dist: Werkzeug<4,>=2.2
Requires-Dist: beangulp>=0.1
Requires-Dist: cheroot<12,>=8
Requires-Dist: click<9,>=7
Requires-Dist: markdown2<3,>=2.3.0
Requires-Dist: ply>=3.11
Requires-Dist: pydantic>=2.0
Requires-Dist: watchfiles>=0.20.0
Provides-Extra: excel
Requires-Dist: pyexcel>=0.5; extra == "excel"
Requires-Dist: pyexcel-ods3>=0.5; extra == "excel"
Requires-Dist: pyexcel-xlsx>=0.5; extra == "excel"
Provides-Extra: beancount-compat
Requires-Dist: beancount<4,>=2; extra == "beancount-compat"
Dynamic: license-file

# Rustfava

Rustfava is a web interface for the double-entry bookkeeping software
[rustledger](https://github.com/rustledger/rustledger), a Rust-based
implementation of the Beancount format.

This is a fork of [Fava](https://github.com/beancount/fava) that replaces the
Python beancount parser with rustledger, compiled to WebAssembly for faster
parsing and processing.

## Getting Started

### Option 1: Desktop App (Recommended)

Download the desktop app from [GitHub Releases](https://github.com/rustledger/rustfava/releases):

- **macOS**: `rustfava_x.x.x_universal.dmg`
- **Windows**: `rustfava_x.x.x_x64-setup.exe`
- **Linux**: `rustfava_x.x.x_amd64.AppImage`

Double-click to launch, then open your `.beancount` file.

### Option 2: Docker

Run the server in a container:

```bash
docker run -p 5000:5000 -v /path/to/ledger:/data ghcr.io/rustledger/rustfava /data/main.beancount
```

Then visit [http://localhost:5000](http://localhost:5000).

### Option 3: uv install

For developers or advanced users. Requires Python 3.13+ and [wasmtime](https://wasmtime.dev/):

```bash
uv tool install rustfava
rustfava ledger.beancount
```

Then visit [http://localhost:5000](http://localhost:5000).

## Development

See the repository for development instructions. Contributions are welcome!

## Links

- Source: https://github.com/rustledger/rustfava
- Documentation: https://rustledger.github.io/rustfava/
