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.
- rustfava/ext/portfolio_list/PortfolioList.js +4 -4
- rustfava/ext/rustfava_ext_test/RustfavaExtTest.js +2 -2
- rustfava/help/extensions.md +4 -0
- rustfava/static/app.js +4 -4
- rustfava/static/{beancount-VTTKRGSK.js → beancount-MH465CAD.js} +2 -2
- rustfava/static/{chunk-V24TLQHT.js → chunk-P3BY4CCB.js} +28 -23
- rustfava/static/{chunk-V24TLQHT.js.map → chunk-P3BY4CCB.js.map} +2 -2
- rustfava/translations/bg/LC_MESSAGES/messages.mo +0 -0
- rustfava/translations/ca/LC_MESSAGES/messages.mo +0 -0
- rustfava/translations/de/LC_MESSAGES/messages.mo +0 -0
- rustfava/translations/es/LC_MESSAGES/messages.mo +0 -0
- rustfava/translations/fa/LC_MESSAGES/messages.mo +0 -0
- rustfava/translations/fr/LC_MESSAGES/messages.mo +0 -0
- rustfava/translations/ja/LC_MESSAGES/messages.mo +0 -0
- rustfava/translations/nl/LC_MESSAGES/messages.mo +0 -0
- rustfava/translations/pt/LC_MESSAGES/messages.mo +0 -0
- rustfava/translations/pt_BR/LC_MESSAGES/messages.mo +0 -0
- rustfava/translations/ru/LC_MESSAGES/messages.mo +0 -0
- rustfava/translations/sk/LC_MESSAGES/messages.mo +0 -0
- rustfava/translations/sv/LC_MESSAGES/messages.mo +0 -0
- rustfava/translations/uk/LC_MESSAGES/messages.mo +0 -0
- rustfava/translations/zh/LC_MESSAGES/messages.mo +0 -0
- rustfava/translations/zh_Hant_TW/LC_MESSAGES/messages.mo +0 -0
- rustfava-0.1.3.dist-info/METADATA +133 -0
- {rustfava-0.1.0.dist-info → rustfava-0.1.3.dist-info}/RECORD +31 -31
- {rustfava-0.1.0.dist-info → rustfava-0.1.3.dist-info}/WHEEL +1 -1
- rustfava-0.1.0.dist-info/METADATA +0 -102
- /rustfava/static/{beancount-VTTKRGSK.js.map → beancount-MH465CAD.js.map} +0 -0
- {rustfava-0.1.0.dist-info → rustfava-0.1.3.dist-info}/entry_points.txt +0 -0
- {rustfava-0.1.0.dist-info → rustfava-0.1.3.dist-info}/licenses/AUTHORS +0 -0
- {rustfava-0.1.0.dist-info → rustfava-0.1.3.dist-info}/licenses/LICENSE +0 -0
- {rustfava-0.1.0.dist-info → rustfava-0.1.3.dist-info}/top_level.txt +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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
|
+
[](https://github.com/rustledger/rustfava/actions/workflows/test.yml)
|
|
61
|
+
[](https://github.com/rustledger/rustfava/releases)
|
|
62
|
+
[](LICENSE)
|
|
63
|
+
[](https://pypi.org/project/rustfava/)
|
|
64
|
+
|
|
65
|
+

|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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-
|
|
84
|
-
rustfava/static/beancount-
|
|
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-
|
|
90
|
-
rustfava/static/chunk-
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
182
|
-
rustfava-0.1.
|
|
183
|
-
rustfava-0.1.
|
|
184
|
-
rustfava-0.1.
|
|
185
|
-
rustfava-0.1.
|
|
186
|
-
rustfava-0.1.
|
|
187
|
-
rustfava-0.1.
|
|
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,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/
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|