rustfava 0.1.0__py3-none-any.whl → 0.1.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. rustfava/ext/portfolio_list/PortfolioList.js +4 -4
  2. rustfava/ext/rustfava_ext_test/RustfavaExtTest.js +2 -2
  3. rustfava/help/extensions.md +4 -0
  4. rustfava/static/app.js +4 -4
  5. rustfava/static/{beancount-VTTKRGSK.js → beancount-MH465CAD.js} +2 -2
  6. rustfava/static/{chunk-V24TLQHT.js → chunk-P3BY4CCB.js} +28 -23
  7. rustfava/static/{chunk-V24TLQHT.js.map → chunk-P3BY4CCB.js.map} +2 -2
  8. rustfava/translations/bg/LC_MESSAGES/messages.mo +0 -0
  9. rustfava/translations/ca/LC_MESSAGES/messages.mo +0 -0
  10. rustfava/translations/de/LC_MESSAGES/messages.mo +0 -0
  11. rustfava/translations/es/LC_MESSAGES/messages.mo +0 -0
  12. rustfava/translations/fa/LC_MESSAGES/messages.mo +0 -0
  13. rustfava/translations/fr/LC_MESSAGES/messages.mo +0 -0
  14. rustfava/translations/ja/LC_MESSAGES/messages.mo +0 -0
  15. rustfava/translations/nl/LC_MESSAGES/messages.mo +0 -0
  16. rustfava/translations/pt/LC_MESSAGES/messages.mo +0 -0
  17. rustfava/translations/pt_BR/LC_MESSAGES/messages.mo +0 -0
  18. rustfava/translations/ru/LC_MESSAGES/messages.mo +0 -0
  19. rustfava/translations/sk/LC_MESSAGES/messages.mo +0 -0
  20. rustfava/translations/sv/LC_MESSAGES/messages.mo +0 -0
  21. rustfava/translations/uk/LC_MESSAGES/messages.mo +0 -0
  22. rustfava/translations/zh/LC_MESSAGES/messages.mo +0 -0
  23. rustfava/translations/zh_Hant_TW/LC_MESSAGES/messages.mo +0 -0
  24. rustfava-0.1.3.dist-info/METADATA +133 -0
  25. {rustfava-0.1.0.dist-info → rustfava-0.1.3.dist-info}/RECORD +31 -31
  26. {rustfava-0.1.0.dist-info → rustfava-0.1.3.dist-info}/WHEEL +1 -1
  27. rustfava-0.1.0.dist-info/METADATA +0 -102
  28. /rustfava/static/{beancount-VTTKRGSK.js.map → beancount-MH465CAD.js.map} +0 -0
  29. {rustfava-0.1.0.dist-info → rustfava-0.1.3.dist-info}/entry_points.txt +0 -0
  30. {rustfava-0.1.0.dist-info → rustfava-0.1.3.dist-info}/licenses/AUTHORS +0 -0
  31. {rustfava-0.1.0.dist-info → rustfava-0.1.3.dist-info}/licenses/LICENSE +0 -0
  32. {rustfava-0.1.0.dist-info → rustfava-0.1.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,133 @@
1
+ Metadata-Version: 2.4
2
+ Name: rustfava
3
+ Version: 0.1.3
4
+ Summary: Web interface for the accounting tool rustledger.
5
+ Author-email: Dominik Aumayr <dominik@aumayr.name>
6
+ Maintainer-email: Jakob Schnitzer <mail@jakobschnitzer.de>
7
+ License-Expression: MIT
8
+ Project-URL: Repository, https://github.com/rustledger/rustfava
9
+ Project-URL: Documentation, https://rustledger.github.io/rustfava
10
+ Project-URL: Issues, https://github.com/rustledger/rustfava/issues
11
+ Project-URL: Changelog, https://github.com/rustledger/rustfava/releases
12
+ Keywords: rustfava,fava,beancount,accounting,rustledger
13
+ Classifier: Development Status :: 5 - Production/Stable
14
+ Classifier: Environment :: Web Environment
15
+ Classifier: Framework :: Flask
16
+ Classifier: Intended Audience :: Education
17
+ Classifier: Intended Audience :: End Users/Desktop
18
+ Classifier: Intended Audience :: Financial and Insurance Industry
19
+ Classifier: Intended Audience :: Information Technology
20
+ Classifier: Natural Language :: English
21
+ Classifier: Programming Language :: JavaScript
22
+ Classifier: Programming Language :: Python :: 3 :: Only
23
+ Classifier: Programming Language :: Python :: 3.13
24
+ Classifier: Programming Language :: Python :: 3.14
25
+ Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
26
+ Classifier: Topic :: Office/Business :: Financial :: Accounting
27
+ Classifier: Topic :: Office/Business :: Financial :: Investment
28
+ Requires-Python: >=3.13
29
+ Description-Content-Type: text/markdown
30
+ License-File: LICENSE
31
+ License-File: AUTHORS
32
+ Requires-Dist: Babel<3,>=2.11
33
+ Requires-Dist: Flask-Babel<5,>=3
34
+ Requires-Dist: Flask<4,>=2.2
35
+ Requires-Dist: Jinja2<4,>=3
36
+ Requires-Dist: Werkzeug<4,>=2.2
37
+ Requires-Dist: beangulp>=0.1
38
+ Requires-Dist: cheroot<12,>=8
39
+ Requires-Dist: click<9,>=7
40
+ Requires-Dist: markdown2<3,>=2.3.0
41
+ Requires-Dist: ply>=3.11
42
+ Requires-Dist: pydantic>=2.0
43
+ Requires-Dist: watchfiles>=0.20.0
44
+ Provides-Extra: excel
45
+ Requires-Dist: pyexcel>=0.5; extra == "excel"
46
+ Requires-Dist: pyexcel-ods3>=0.5; extra == "excel"
47
+ Requires-Dist: pyexcel-xlsx>=0.5; extra == "excel"
48
+ Provides-Extra: beancount-compat
49
+ Requires-Dist: beancount<4,>=2; extra == "beancount-compat"
50
+ Dynamic: license-file
51
+
52
+ <div align="center">
53
+
54
+ # rustfava
55
+
56
+ **A beautiful desktop app for [rustledger](https://github.com/rustledger/rustledger)**
57
+
58
+ Manage your finances with plain text accounting.
59
+
60
+ [![CI](https://github.com/rustledger/rustfava/actions/workflows/test.yml/badge.svg)](https://github.com/rustledger/rustfava/actions/workflows/test.yml)
61
+ [![GitHub Release](https://img.shields.io/github/v/release/rustledger/rustfava)](https://github.com/rustledger/rustfava/releases)
62
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
63
+ [![PyPI](https://img.shields.io/pypi/v/rustfava)](https://pypi.org/project/rustfava/)
64
+
65
+ ![rustfava dashboard](docs/screenshot.png)
66
+
67
+ </div>
68
+
69
+ ---
70
+
71
+ ## Why rustfava?
72
+
73
+ | | |
74
+ |---|---|
75
+ | **Native app** | Double-click to launch, no terminal required |
76
+ | **Fava interface** | The familiar Fava web UI you know and love |
77
+ | **rustledger backend** | Blazing fast parsing via WebAssembly |
78
+ | **Cross-platform** | Linux, macOS (Intel & Apple Silicon), Windows |
79
+ | **Offline first** | Your financial data stays on your machine |
80
+ | **Multiple files** | Open multiple ledgers in tabs |
81
+
82
+ ## Install
83
+
84
+ ### Desktop App
85
+
86
+ Download the latest release for your platform from the [Releases page](https://github.com/rustledger/rustfava/releases/latest).
87
+
88
+ | Platform | Format |
89
+ |----------|--------|
90
+ | **macOS** | `.dmg` (Intel & Apple Silicon) |
91
+ | **Windows** | `.exe` installer or `.msi` |
92
+ | **Linux** | `.AppImage`, `.deb`, `.rpm`, or `.tar.gz` |
93
+
94
+ ### Other Installation Methods
95
+
96
+ | Method | Command |
97
+ |--------|---------|
98
+ | **Docker** | `docker run -p 5000:5000 -v /path/to/ledger:/data ghcr.io/rustledger/rustfava /data/main.beancount` |
99
+ | **PyPI** | `uv tool install rustfava` (requires Python 3.13+ and [wasmtime](https://wasmtime.dev/)) |
100
+ | **Nix** | `nix run github:rustledger/rustfava#desktop` |
101
+
102
+ <sub>Missing your platform? [Open an issue](https://github.com/rustledger/rustfava/issues/new) to request it.</sub>
103
+
104
+ ## Quick Start
105
+
106
+ ### Desktop App
107
+
108
+ 1. Download the app for your platform
109
+ 2. Double-click to launch
110
+ 3. Open your `.beancount` file
111
+
112
+ ### Command Line
113
+
114
+ ```bash
115
+ rustfava ledger.beancount
116
+ # Then visit http://localhost:5000
117
+ ```
118
+
119
+ ## What is this?
120
+
121
+ rustfava is a fork of [Fava](https://github.com/beancount/fava) that replaces the Python beancount parser with [rustledger](https://github.com/rustledger/rustledger), compiled to WebAssembly for faster parsing and processing.
122
+
123
+ The desktop app bundles everything into a native application using [Tauri](https://tauri.app/), so you get a fast, lightweight app with no dependencies.
124
+
125
+ ## Links
126
+
127
+ - **Website**: https://rustledger.github.io/rustfava/
128
+ - **Documentation**: https://rustledger.github.io/rustfava/docs/
129
+ - **rustledger**: https://github.com/rustledger/rustledger
130
+
131
+ ## License
132
+
133
+ MIT License - see [LICENSE](LICENSE) for details.
@@ -47,10 +47,10 @@ rustfava/core/tree.py,sha256=1Jb8ORH1PGaDhkO9jd4SPVtg9UhcEdyXQXXDjGOQYuI,8349
47
47
  rustfava/core/watcher.py,sha256=qKf38Y4Yt7tbHqWyUgLHt4OssxW6xRFhT-HPidDvsv4,6982
48
48
  rustfava/ext/__init__.py,sha256=Rmd7TbMOmo8Hq9Otm4uz7qySVIvR6k5gkstOMEuEw78,7011
49
49
  rustfava/ext/auto_commit.py,sha256=1nB2ZcutDLIAcv42N0jAtFF0wM53aWQ53wRlzwgK29s,2043
50
- rustfava/ext/portfolio_list/PortfolioList.js,sha256=IBDLXgXnnUDw3oYXk2zxw1EMSUMQ00GLfkIgSI_9AO0,1184
50
+ rustfava/ext/portfolio_list/PortfolioList.js,sha256=jUcJ-pbkKeqlNcABb2-qb8XrDW35aBZLbeoc3RYFm_c,1212
51
51
  rustfava/ext/portfolio_list/__init__.py,sha256=wHAAqLDmIHywttfdqFoDw8ZTMdcB47Iny8o8ZjvmJos,826
52
52
  rustfava/ext/portfolio_list/templates/PortfolioList.html,sha256=KKNp-WGHOT2qUVXRY-QnwXgS8LKb4azPTF7pD6rDBWI,600
53
- rustfava/ext/rustfava_ext_test/RustfavaExtTest.js,sha256=e-YxrL9w2krMNUmlNCFFKpE6kTnT8lcMGCe0W0zh7sM,1476
53
+ rustfava/ext/rustfava_ext_test/RustfavaExtTest.js,sha256=9sSP275lGKcbuyx7JQtMyfjHtgYvAOql2hfJMh1p530,1491
54
54
  rustfava/ext/rustfava_ext_test/__init__.py,sha256=ueP8Sr8rkmwICq9NbMC_2N3vD_CvQGMI_ZDvMbb1t4Y,6212
55
55
  rustfava/ext/rustfava_ext_test/templates/RustfavaExtTest.html,sha256=qoyZfkbeGknkXS0ypkntM8LpGnzT9X31A-aAUUgZSck,1753
56
56
  rustfava/ext/rustfava_ext_test/templates/RustfavaExtTestInclude.html,sha256=yCzzf9ByEh7_PtyX7s5Flqpz2mTGLqiIbCEAgbr1IZY,29
@@ -59,7 +59,7 @@ rustfava/help/_index.md,sha256=34DyhTvp2HiMrkfGf8wyXdYvKdg1d65eH_e_L6-9_RM,1373
59
59
  rustfava/help/beancount_syntax.md,sha256=CBHUxPWmB6N1ELU511QperkNvOSkUYCcHaxAmJym6NU,5637
60
60
  rustfava/help/budgets.md,sha256=2PT-lZm8SoOQY09Uij2y61Lt5VdVffMb1LVvzxKqSrQ,1517
61
61
  rustfava/help/conversion.md,sha256=E-WPJWp1i8K-w0GAiljWnas4GzDpoUQCMyS4cnBNVy8,1688
62
- rustfava/help/extensions.md,sha256=RJ5Eg8Chv_dh174txebXym04fJCxGoqmSsYXJpluXLE,4276
62
+ rustfava/help/extensions.md,sha256=KlXI8TvpMiL9N0ImtEbz-9hBSTemQOuXOPgeywuiGa8,4509
63
63
  rustfava/help/features.md,sha256=jutmOCoRluZ77xdI4kupfrgdCtFN6_hI9qxkMYmKX48,6927
64
64
  rustfava/help/filters.md,sha256=gUTCgdvrNDoQ81QH0mIRHxCYeVLvzQXew4ygvTfm1uw,5537
65
65
  rustfava/help/import.md,sha256=kxYmgxGQLNjFJ9dyobe_DNTwQb80UuIO-BSLJJ_zfLs,1447
@@ -76,18 +76,18 @@ rustfava/rustledger/query.py,sha256=dF3qhAChphFqUIrcy2XaJb1mI-iO9lY6NJpDJ8Ol0G0,
76
76
  rustfava/rustledger/types.py,sha256=ZC_cLtaM1ETAQOOqmpgX-NGDSD6kfvxKnmyYLoOMPAU,25981
77
77
  rustfava/static/app.css,sha256=if2-AQCgMTUxdsDJQejlyTHXwam9e5K6cDBcSx3HCsU,67161
78
78
  rustfava/static/app.css.map,sha256=Nhet7SWnCQjDaV479AZgAZholqFQ5kWIb_e7gul8C_g,242434
79
- rustfava/static/app.js,sha256=D3HL9iIgPb_Oy02Wfwg5B0h75lN2KVOlL2Dw3E0p3PU,422004
79
+ rustfava/static/app.js,sha256=mmq8PIU8KDHMmhvwCUsB4X0hjDuN-nmCkTiMCvOZiWE,422004
80
80
  rustfava/static/app.js.map,sha256=sKf28tQ_cOZdWrFGKMzL4Qx1Vzr8A6Z1jnKYD4g-h8w,594509
81
81
  rustfava/static/beancount-JFV44ZVZ.css,sha256=jqis7W0I9G78fjhaZ76ZxjNZJD4NQtftRalsiozMjfE,208
82
82
  rustfava/static/beancount-JFV44ZVZ.css.map,sha256=0qwVcvyXzx_YUMT0A0lShm3SFbeCx5NfpX1KLLeEztU,505
83
- rustfava/static/beancount-VTTKRGSK.js,sha256=ILREien-CnY5wiogg9ZXUN7SO3AKNO5kIca530yjS2Y,172601
84
- rustfava/static/beancount-VTTKRGSK.js.map,sha256=BtnWm5-_szN8OmUbx9-Ks6xMpKNPQYE-_FmW7ouBh8Y,309955
83
+ rustfava/static/beancount-MH465CAD.js,sha256=SgV2L0CNH86rUub6TmCaLpuivkRhn0AVmChjFOa9BUo,172601
84
+ rustfava/static/beancount-MH465CAD.js.map,sha256=BtnWm5-_szN8OmUbx9-Ks6xMpKNPQYE-_FmW7ouBh8Y,309955
85
85
  rustfava/static/bql-MGFRUMBP.js,sha256=bauU-IHBi9NQv5HQ-OHyX5J5cHuBFwFH0w0qimV2r7s,6313
86
86
  rustfava/static/bql-MGFRUMBP.js.map,sha256=xGPAzKzUJiuoyGrNVUi8oizUfiWQ8M2XO3nngPN4H_I,12962
87
87
  rustfava/static/chunk-E7ZF4ASL.js,sha256=-vO5WvJePY98F7IzOM8QBSg1P2BoFCguuQOdRmLUsJ4,807146
88
88
  rustfava/static/chunk-E7ZF4ASL.js.map,sha256=n-Zu-W7n2rPiTTg1WX5e7N3lt7WalUQuaSU1ZYcgioc,1711502
89
- rustfava/static/chunk-V24TLQHT.js,sha256=Hp-VNjEbKvDt2AWAMqFTfhEAsDI_f9yi5DoufmLPZic,376852
90
- rustfava/static/chunk-V24TLQHT.js.map,sha256=h093RfwBoVbd5x5h-rM2RP5_CwBa0bfnrtvqpuyogc0,947538
89
+ rustfava/static/chunk-P3BY4CCB.js,sha256=z4lgqbSyQUWAx8Oe_faXH7ken3_5FBPvJeMfYu5D3Vk,377049
90
+ rustfava/static/chunk-P3BY4CCB.js.map,sha256=1Sb1-HpaWerIVfaJcSwZZClH2I4_98lxeD6tIna8ORM,947248
91
91
  rustfava/static/favicon.ico,sha256=FWEuFw_v94U3aVd0i2hJKOfYNvw0QeQmYelRFmF2ZFo,2802
92
92
  rustfava/static/fira-mono-cyrillic-400-normal-BLAGXRCE.woff2,sha256=YMj-PijS2W06j3WBiF-PWLzreYLdTTTTso3zbZaqtf8,9324
93
93
  rustfava/static/fira-mono-cyrillic-500-normal-EN7JUAAW.woff2,sha256=s8xVRH6AnJmcZxAyU_fjzdjioLoi4jtdu5HFXy6UU_0,9332
@@ -140,37 +140,37 @@ rustfava/templates/beancount_file,sha256=2RFGIKTFk-CwLqyjGoYNM_SCuEfMUvOPTYTEKAd
140
140
  rustfava/templates/help.html,sha256=roEArF4YfBGPBEwv7JVh3ZsqTxJ_0Ja-jGG78IGDBIc,526
141
141
  rustfava/templates/macros/_account_macros.html,sha256=geYo0gzJ2BuS4irOfBSng8OAPEd6IofLHdwVnw9_l0w,163
142
142
  rustfava/templates/macros/_commodity_macros.html,sha256=M8-iYmzdvsBim4exBDDVXNQKDqG5cMFH6UsZ-7MQs0Y,559
143
- rustfava/translations/bg/LC_MESSAGES/messages.mo,sha256=hRML-avYl70U6QDhjGmHxAzAfOloNdbK0rhpSP0yjJk,8301
143
+ rustfava/translations/bg/LC_MESSAGES/messages.mo,sha256=EjbFAR1gml3rMkaRe8a2UtXM0Qn6Qhnd9PfRooqgPMY,8301
144
144
  rustfava/translations/bg/LC_MESSAGES/messages.po,sha256=fR-HahPWg7k8ln5hQTEYfG9Hgt2WFV0dvZ0fV61L3vY,18043
145
- rustfava/translations/ca/LC_MESSAGES/messages.mo,sha256=S51aPf8xzigbxMZjedxmDWD5jrWDYXEMDnqKsvMJmk8,6760
145
+ rustfava/translations/ca/LC_MESSAGES/messages.mo,sha256=QlklEdIJ64OA860g265f54bKt1lcHiPg8woS2G_UZHM,6760
146
146
  rustfava/translations/ca/LC_MESSAGES/messages.po,sha256=XOBtw5znsY_p5IMHtsCtnGVB5NXFZZnCqlZnQ6lxnxQ,16467
147
- rustfava/translations/de/LC_MESSAGES/messages.mo,sha256=DjqJw0DceAvLFj4ChQZlTaacvfJIRPVg3ghhBMSg0Cs,6932
147
+ rustfava/translations/de/LC_MESSAGES/messages.mo,sha256=G0jxn2IwEj5t68goPBTaDiMTZfPPdNaz7LMJB-N6uUI,6932
148
148
  rustfava/translations/de/LC_MESSAGES/messages.po,sha256=afBa81v_fd8y64NL7TiUHlffwH_S2MW8lCaXHbzglM8,16542
149
- rustfava/translations/es/LC_MESSAGES/messages.mo,sha256=R4yE9sCLwk0IK4iZbcvURV_LQdOCQXhOFmh008SJglg,4618
149
+ rustfava/translations/es/LC_MESSAGES/messages.mo,sha256=Zjg_6RxRaRmOwTqZiOsGxfP226sMPto6dLo8wFwLf98,4618
150
150
  rustfava/translations/es/LC_MESSAGES/messages.po,sha256=qJjfHQLODhfzSLkmEHs0Tpp2Lq46GsAY-2BSjLC0pIs,15573
151
- rustfava/translations/fa/LC_MESSAGES/messages.mo,sha256=ZaP0xdeRLZVb9lgjl6bGfHBBn0yp-yfdytiuxFpULMM,6872
151
+ rustfava/translations/fa/LC_MESSAGES/messages.mo,sha256=ZInl6qbFpzWmOV2krMBF5Q6CBsdHIueRQ6SXQo0cUpU,6872
152
152
  rustfava/translations/fa/LC_MESSAGES/messages.po,sha256=IaZ5ddX-5EcwkpcPo579fVqX_uRgsKdt2W0MYr5OXlQ,17086
153
- rustfava/translations/fr/LC_MESSAGES/messages.mo,sha256=ZmxR2CNkvlNYLjR7qFtKqugRDoj02q9ymbztlnkp86M,6614
153
+ rustfava/translations/fr/LC_MESSAGES/messages.mo,sha256=n3FktLmqbuwgwd5srwYJ-a7dxqjQfy5sRdOcFzfVdBU,6614
154
154
  rustfava/translations/fr/LC_MESSAGES/messages.po,sha256=U5qt631B8RUPErs1FPI5SdcI93S9cupr70I8iJU_Puk,16357
155
- rustfava/translations/ja/LC_MESSAGES/messages.mo,sha256=tWf6FMEdIAzTAgP3VZFJb5F3ywi2_za2d0dUfQhDrYc,7117
155
+ rustfava/translations/ja/LC_MESSAGES/messages.mo,sha256=CtwTwmXUf1455TMbACvw7yP61hNWENsMA73ydG465NA,7117
156
156
  rustfava/translations/ja/LC_MESSAGES/messages.po,sha256=DEFaRfDW3JTS9oaQyxI-dA4dRkTTk-yV03RtWJcysss,16831
157
- rustfava/translations/nl/LC_MESSAGES/messages.mo,sha256=irY7Lm_nAUTYzLLEqbciCV6EDg5Nff9e2NF7rtrAvjk,3610
157
+ rustfava/translations/nl/LC_MESSAGES/messages.mo,sha256=MlwbwZ2WmVsdL3oYSh6v2seBkZwlwBGqyq-WAPawo_s,3610
158
158
  rustfava/translations/nl/LC_MESSAGES/messages.po,sha256=yKdPBzjeI3UmydBxVqz2Tv164QKScCdii0UzE4pu_48,15195
159
- rustfava/translations/pt/LC_MESSAGES/messages.mo,sha256=6XFxLD9WFDHHtfZUbRRNevTTylYFZv7_2YUlcLAuvIc,3290
159
+ rustfava/translations/pt/LC_MESSAGES/messages.mo,sha256=aG3d6BFvZacnJR5Z4gKkw8aEvvPr9hsxOCzDqIrylHU,3290
160
160
  rustfava/translations/pt/LC_MESSAGES/messages.po,sha256=JlDeJN7Pkc9lcjRHcMHl7yEKFYQ9YZL2NszDGh_wLVQ,15076
161
- rustfava/translations/pt_BR/LC_MESSAGES/messages.mo,sha256=0dy5cbelCJ3Zzvc3rQPaQDLgQgy29delfyHbKkL_CPM,6574
161
+ rustfava/translations/pt_BR/LC_MESSAGES/messages.mo,sha256=OvjaTZD5uao5Kt-cy-mVEazk08VlMbgN3T9yY3qEY44,6574
162
162
  rustfava/translations/pt_BR/LC_MESSAGES/messages.po,sha256=TMVfs6WMU1b__WgNWUjLvieaAajEo7OYzVRPzlL97aI,16279
163
- rustfava/translations/ru/LC_MESSAGES/messages.mo,sha256=uBtT7WcRfEYmSpDq09yBmWI7bJRLDwFs2CfGl0n2hiE,5435
163
+ rustfava/translations/ru/LC_MESSAGES/messages.mo,sha256=zNnGx1tLHiKtQ0uGnRQNvdjRJcujW-NdivSwxNvhj04,5435
164
164
  rustfava/translations/ru/LC_MESSAGES/messages.po,sha256=3pRya4Zo45uvGdfaZNT_qC84E_30jbJJ_0yjRi6T420,16455
165
- rustfava/translations/sk/LC_MESSAGES/messages.mo,sha256=SvpBfXW2SbrdGZoHBHnf4IsiHw7S39doK54RYtNtmRY,4817
165
+ rustfava/translations/sk/LC_MESSAGES/messages.mo,sha256=in4YFoe03ByhA6r78upmjmEWeLckln_d5efL_Gx4cYw,4817
166
166
  rustfava/translations/sk/LC_MESSAGES/messages.po,sha256=accAPL9hLVnIDYCnyjAkprFp2pFruOpzpTmSKXi0fEc,15805
167
- rustfava/translations/sv/LC_MESSAGES/messages.mo,sha256=3WRAtqkicUnEQsuDXXwphMaW77GaxBeIsECoBRaEFco,5852
167
+ rustfava/translations/sv/LC_MESSAGES/messages.mo,sha256=p3jlss4ZwU3QPEqv2DAChBMJ0rmdwbuza81sG_caz5U,5852
168
168
  rustfava/translations/sv/LC_MESSAGES/messages.po,sha256=9nVwO9IC9U9o0Q8eR2HlCKXFSI7Wp8yLJZHTP0GBFKE,15975
169
- rustfava/translations/uk/LC_MESSAGES/messages.mo,sha256=y0LdPFUFQHsn6h76CnLQrNU9eSNYingnrtO16jjK4d0,7239
169
+ rustfava/translations/uk/LC_MESSAGES/messages.mo,sha256=YAem_ReW9PpW5JhJVUV5fDgnosTym9lEpMtC__dwKO8,7239
170
170
  rustfava/translations/uk/LC_MESSAGES/messages.po,sha256=Oc0kRES9u_gfDYXnMox8doJ6ECpncBmG6U0XoYA_VAc,17372
171
- rustfava/translations/zh/LC_MESSAGES/messages.mo,sha256=boZpX4tAVhWRykSuBEGxE8wyyrhkbqbKXHuIAl8J2Ss,6198
171
+ rustfava/translations/zh/LC_MESSAGES/messages.mo,sha256=d9DA_dYmEFZMOHgkLAUkP-L9raeRbqergV6SiCMa-ug,6198
172
172
  rustfava/translations/zh/LC_MESSAGES/messages.po,sha256=JSzl6wOilMrxs3yIedb8bmNeNQ_2XMGUnK8xB0aN-cU,15909
173
- rustfava/translations/zh_Hant_TW/LC_MESSAGES/messages.mo,sha256=tq4lRpl-D3ESezZm3SrtXMuaGxSS8DpAnKRCm2xMgzA,6127
173
+ rustfava/translations/zh_Hant_TW/LC_MESSAGES/messages.mo,sha256=ATzJWZRxmmwVcl8IxeBXfwHS1qUEhWLAfUtSaSdatbE,6127
174
174
  rustfava/translations/zh_Hant_TW/LC_MESSAGES/messages.po,sha256=swehL4EpPKWoaKxsg0_shYF7h-UvB2I-ELJVvOjN6BE,15873
175
175
  rustfava/util/__init__.py,sha256=ymstIBvY7mkTzhUCtOiG6NFvhPbLnsg-7oMd6wsvXrM,4830
176
176
  rustfava/util/date.py,sha256=rK6bg9zuM1eY2Kla2VsHUBy8eZbx6vBbKV3xXmVTvsU,16437
@@ -178,10 +178,10 @@ rustfava/util/excel.py,sha256=IY4ufX_8UkzfwjO1r5cXPN2BP5IQdOg_PU0UzQzyJm4,3438
178
178
  rustfava/util/ranking.py,sha256=WRKrSR1A8rIf4f6aQib82msYCGlT7bsmLWjXRrncBpM,2618
179
179
  rustfava/util/sets.py,sha256=CtKozfPJc21GS8HSnm08sDe66KJwmacUSseuxEQ9UPU,504
180
180
  rustfava/util/unreachable.py,sha256=lzimgiRnmUegIApnZ16rdhg9Wqc2iJMzz_JdyBPKOuI,545
181
- rustfava-0.1.0.dist-info/licenses/AUTHORS,sha256=AQS1TKV7SVw3jSfJun0Ju2T6HxeHOBAQTNhXF6VqQlU,505
182
- rustfava-0.1.0.dist-info/licenses/LICENSE,sha256=FDq5QA5ezz_h7AdyXheB7GDCT6J2WmvSLGoO2mdw1Wc,1108
183
- rustfava-0.1.0.dist-info/METADATA,sha256=893kS_KvbdEWKDlMJFyDwEUA1UAEynH5Gko6B7qbMjo,3510
184
- rustfava-0.1.0.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
185
- rustfava-0.1.0.dist-info/entry_points.txt,sha256=iPnJjOd2igdtcFVGIFSlLby0h_Rvuf_Qpg6iI5a5UnI,47
186
- rustfava-0.1.0.dist-info/top_level.txt,sha256=PJYc1n7UGuv1x-OPTcQIfd07esxZrGo6eGZRmN8lrjo,9
187
- rustfava-0.1.0.dist-info/RECORD,,
181
+ rustfava-0.1.3.dist-info/licenses/AUTHORS,sha256=AQS1TKV7SVw3jSfJun0Ju2T6HxeHOBAQTNhXF6VqQlU,505
182
+ rustfava-0.1.3.dist-info/licenses/LICENSE,sha256=FDq5QA5ezz_h7AdyXheB7GDCT6J2WmvSLGoO2mdw1Wc,1108
183
+ rustfava-0.1.3.dist-info/METADATA,sha256=-3NKAn90S1HEpiKGpATdEn30h87hz9QjFR7ZdFtoIyc,4904
184
+ rustfava-0.1.3.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
185
+ rustfava-0.1.3.dist-info/entry_points.txt,sha256=iPnJjOd2igdtcFVGIFSlLby0h_Rvuf_Qpg6iI5a5UnI,47
186
+ rustfava-0.1.3.dist-info/top_level.txt,sha256=PJYc1n7UGuv1x-OPTcQIfd07esxZrGo6eGZRmN8lrjo,9
187
+ rustfava-0.1.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.10.1)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,102 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: rustfava
3
- Version: 0.1.0
4
- Summary: Web interface for the accounting tool rustledger.
5
- Author-email: Dominik Aumayr <dominik@aumayr.name>
6
- Maintainer-email: Jakob Schnitzer <mail@jakobschnitzer.de>
7
- License-Expression: MIT
8
- Project-URL: Repository, https://github.com/rustledger/rustfava
9
- Project-URL: Documentation, https://rustledger.github.io/rustfava
10
- Project-URL: Issues, https://github.com/rustledger/rustfava/issues
11
- Project-URL: Changelog, https://github.com/rustledger/rustfava/releases
12
- Keywords: rustfava,fava,beancount,accounting,rustledger
13
- Classifier: Development Status :: 5 - Production/Stable
14
- Classifier: Environment :: Web Environment
15
- Classifier: Framework :: Flask
16
- Classifier: Intended Audience :: Education
17
- Classifier: Intended Audience :: End Users/Desktop
18
- Classifier: Intended Audience :: Financial and Insurance Industry
19
- Classifier: Intended Audience :: Information Technology
20
- Classifier: Natural Language :: English
21
- Classifier: Programming Language :: JavaScript
22
- Classifier: Programming Language :: Python :: 3 :: Only
23
- Classifier: Programming Language :: Python :: 3.13
24
- Classifier: Programming Language :: Python :: 3.14
25
- Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
26
- Classifier: Topic :: Office/Business :: Financial :: Accounting
27
- Classifier: Topic :: Office/Business :: Financial :: Investment
28
- Requires-Python: >=3.13
29
- Description-Content-Type: text/markdown
30
- License-File: LICENSE
31
- License-File: AUTHORS
32
- Requires-Dist: Babel<3,>=2.11
33
- Requires-Dist: Flask-Babel<5,>=3
34
- Requires-Dist: Flask<4,>=2.2
35
- Requires-Dist: Jinja2<4,>=3
36
- Requires-Dist: Werkzeug<4,>=2.2
37
- Requires-Dist: beangulp>=0.1
38
- Requires-Dist: cheroot<12,>=8
39
- Requires-Dist: click<9,>=7
40
- Requires-Dist: markdown2<3,>=2.3.0
41
- Requires-Dist: ply>=3.11
42
- Requires-Dist: pydantic>=2.0
43
- Requires-Dist: watchfiles>=0.20.0
44
- Provides-Extra: excel
45
- Requires-Dist: pyexcel>=0.5; extra == "excel"
46
- Requires-Dist: pyexcel-ods3>=0.5; extra == "excel"
47
- Requires-Dist: pyexcel-xlsx>=0.5; extra == "excel"
48
- Provides-Extra: beancount-compat
49
- Requires-Dist: beancount<4,>=2; extra == "beancount-compat"
50
- Dynamic: license-file
51
-
52
- # Rustfava
53
-
54
- Rustfava is a web interface for the double-entry bookkeeping software
55
- [rustledger](https://github.com/rustledger/rustledger), a Rust-based
56
- implementation of the Beancount format.
57
-
58
- This is a fork of [Fava](https://github.com/beancount/fava) that replaces the
59
- Python beancount parser with rustledger, compiled to WebAssembly for faster
60
- parsing and processing.
61
-
62
- ## Getting Started
63
-
64
- ### Option 1: Desktop App (Recommended)
65
-
66
- Download the desktop app from [GitHub Releases](https://github.com/rustledger/rustfava/releases):
67
-
68
- - **macOS**: `rustfava_x.x.x_universal.dmg`
69
- - **Windows**: `rustfava_x.x.x_x64-setup.exe`
70
- - **Linux**: `rustfava_x.x.x_amd64.AppImage`
71
-
72
- Double-click to launch, then open your `.beancount` file.
73
-
74
- ### Option 2: Docker
75
-
76
- Run the server in a container:
77
-
78
- ```bash
79
- docker run -p 5000:5000 -v /path/to/ledger:/data ghcr.io/rustledger/rustfava /data/main.beancount
80
- ```
81
-
82
- Then visit [http://localhost:5000](http://localhost:5000).
83
-
84
- ### Option 3: uv install
85
-
86
- For developers or advanced users. Requires Python 3.13+ and [wasmtime](https://wasmtime.dev/):
87
-
88
- ```bash
89
- uv tool install rustfava
90
- rustfava ledger.beancount
91
- ```
92
-
93
- Then visit [http://localhost:5000](http://localhost:5000).
94
-
95
- ## Development
96
-
97
- See the repository for development instructions. Contributions are welcome!
98
-
99
- ## Links
100
-
101
- - Source: https://github.com/rustledger/rustfava
102
- - Documentation: https://rustledger.github.io/rustfava/