fava¶
Fava - Beancount 的网页界面。
fava._ctx_globals_class¶
为 Flask 应用上下文指定类型。
- 类 fava._ctx_globals_class。上下文¶
上下文值——此值用于 flask.g。
- beancount_file_slug: str | None¶
当前激活的 Beancount 文件的简短标识符。
- 属性 conv: Conversion¶
要应用的转换(已解析)。
- extension: FavaExtensionBase | None¶
当前扩展名(如果是扩展端点)。
- 属性 filtered: FilteredLedger¶
已过滤的账本。
- ledger: FavaLedger¶
账本
fava.application¶
Fava 的主 WSGI 应用程序。
你可以使用 create_app 为给定的文件列表创建一个 Fava WSGI 应用。要启动一个简单的服务器:
from fava.application import create_app
app = create_app(['/path/to/file.beancount'])
app.run('localhost', 5000)
- fava.application.app(environ, start_response) = <Flask 'fava'>¶
此功能仍保留以确保兼容性,但将在未来某个版本中移除。
- fava.application.create_app(files, *, load=False, incognito=False, read_only=False, poll_watcher=False)¶
创建一个 Fava Flask 应用。
fava.cli¶
Fava 的命令行接口。
- exception fava.cli.AddressInUse(port)¶
- exception fava.cli.NoFileSpecifiedError¶
- exception fava.cli.NonAbsolutePathError(path)¶
fava.context¶
为 Flask 应用上下文指定类型。
fava.helpers¶
异常和模块基类。
- class fava.helpers.BeancountError(source: Meta | None, message: str, entry: Directive | None)¶
Beancount 风格错误的 NamedTuple 基类。
- exception fava.helpers.FavaAPIError(message)¶
Fava 的基异常类。
fava.internal_api¶
内部 API。
用于预处理模板中使用的部分数据,使这部分功能可测试,并允许对前端数据验证进行端到端测试。
- 类 fava.internal_api.BalancesChart(label, data, type='balances')¶
余额图表的数据。
-
data:
序列[DateAndBalance]¶
-
data:
- 类 fava.internal_api.BarChart(label, data, type='bar')¶
条形图的数据。
-
data:
序列[DateAndBalanceWithBudget]¶
-
data:
- 类 fava.internal_api.图表 API¶
用于生成图表数据的函数。
- 静态 account_balance(account_name)¶
生成账户余额图表的数据。
- 返回类型:
- 静态 层级结构(账户名称, *, 标签=无)¶
生成账户层级图表的数据。
- 返回类型:
- 静态 interval_totals(区间, 账户名称, 标签=无, *, 反转=假)¶
为每个区间的账户生成数据图表。
- 返回类型:
- 静态 净资产()¶
为净资产图表生成数据。
- 返回类型:
- 类 fava.internal_api.HierarchyChart(标签, 数据, 类型='hierarchy')¶
层级图表的数据。
-
data:
SerialisedTreeNode¶
-
data:
- 类 fava.internal_api.LedgerData(accounts, account_details, base_url, currencies, currency_names, errors, fava_options, incognito, have_excel, links, options, payees, precisions, tags, years, user_queries, upcoming_events_count, extensions, sidebar_links, other_ledgers)¶
这在前端中用作与报表无关的数据。
-
账户详情:
AccountDict¶
-
错误:
序列[SerialisedError]¶
-
扩展:
序列[ExtensionDetails]¶
-
Fava 选项:
FavaOptions¶
-
账户详情:
- class fava.internal_api.SerialisedError(type, source, message)¶
一个 Beancount 错误,传递给前端。
- 静态 from_beancount_error(err)¶
从一个 Beancount 错误获取可序列化的错误。
- 返回类型:
- fava.internal_api.get_errors()¶
序列化错误(不要传递 entry,因为这可能导致序列化失败)。
- 返回类型:
fava.json_api¶
JSON API。
此模块包含 Web 界面用于异步功能的 JSON API 的 URL 端点。
- class fava.json_api.AccountBudget(budget, budget_children)¶
账户的预算。
- class fava.json_api.AccountReportJournal(charts, journal)¶
日记账账户报告的数据。
-
charts:
序列[BalancesChart|条形图|层级图]¶
-
charts:
- 类 fava.json_api.AccountReportTree(charts, interval_balances, budgets, dates)¶
树状账户报告的数据。
-
预算:
Mapping[str,序列[AccountBudget]]¶
-
charts:
序列[BalancesChart|条形图|层级图]¶
-
区间余额:
序列[SerialisedTreeNode]¶
-
预算:
- 类 fava.json_api.CommodityPairWithPrices(base, quote, prices)¶
一对商品及其价格。
- 类 fava.json_api.Context(entry, balances_before, balances_after, sha256sum, slice)¶
条目的上下文信息。
- exception fava.json_api.FavaJSONAPIError(message)¶
带有 HTTPStatus 的错误。
- 抽象 属性 状态: HTTPStatus¶
用于响应的 HTTP 状态码。
- exception fava.json_api.FileDoesNotExistError(filename)¶
指定的文件不存在。
- 异常 fava.json_api.IncorrectTypeValidationError(参数, 预期类型)¶
由于参数类型不正确,验证失败。
- exception fava.json_api.无效 JSON 请求错误¶
由于请求体中包含无效的 JSON 数据,验证失败。
- exception fava.json_api.MissingParameterValidationError(参数)¶
由于缺少参数,验证失败。
- 类 fava.json_api.Options(fava 选项, beancount 选项)¶
Fava 和 Beancount 的选项(字符串形式)。
- 类 fava.json_api.Statistics(所有余额指令, 余额, 按类型分组的条目)¶
统计报告所需的数据。
- 类 fava.json_api.TreeReport(日期范围, 图表, 树状结构)¶
树状报告所需的数据。
-
charts:
序列[BalancesChart|条形图|层级图]¶
-
树状结构:
序列[SerialisedTreeNode]¶
-
charts:
- exception fava.json_api.ValidationError¶
数据验证失败。
- fava.json_api.api_endpoint(func)¶
注册一个 API 端点。
函数名中第一个下划线之前的部分决定所接受的 HTTP 方法。对于 GET 和 DELETE 端点,函数参数从 URL 查询字符串中提取并传递给装饰的端点处理函数。
- 返回类型:
可调用对象[[],响应]
- fava.json_api.get_account_report()¶
获取账户报告的数据。
- fava.json_api.get_balance_sheet()¶
获取资产负债表的数据。
- 返回类型:
- fava.json_api.get_commodities()¶
获取所有商品对的价格。
- 返回类型:
- fava.json_api.get_imports()¶
获取可导入文件的列表。
- 返回类型:
- fava.json_api.get_income_statement()¶
获取损益表的数据。
- 返回类型:
- fava.json_api.get_query(query_string)¶
运行一个 Beancount 查询。
- 返回类型:
- fava.json_api.get_statistics()¶
获取统计报告的数据。
- 返回类型:
- fava.json_api.get_trial_balance()¶
获取试算平衡表的数据。
- 返回类型:
- fava.json_api.json_err(msg, status)¶
将错误消息转换为 JSON 格式。
- 返回类型:
响应
- fava.json_api.json_success(data)¶
将响应转换为 JSON 格式。
- 返回类型:
响应
- fava.json_api.put_source_slice(entry_hash, source, sha256sum)¶
写入一个条目源片段并返回更新后的 sha256sum。
- 返回类型:
fava.serialisation¶
条目的序列化与反序列化。
添加条目时,这些条目通过 JSON API 保存——使用本模块的功能从 beancount.core.data 获取适当的数据结构。同样,在完整条目补全时,会提供条目的 JSON 表示。
目前尚不适用于完整的双向转换。
- exception fava.serialisation.InvalidAmountError(金额)¶
无效的金额。
- fava.serialisation.反序列化(json_entry)¶
将 JSON 解析为 Beancount 条目。
- 参数:
json_entry (
Any) — 条目。- 抛出:
KeyError — 如果缺少任一必需的条目字段。
FavaAPIError — 如果给定条目的类型不受支持。
- 返回类型:
fava.template_filters¶
Fava 的模板过滤器。
本模块中的所有函数将自动作为模板过滤器添加。
- fava.template_filters.meta_items(meta)¶
从字典中移除键。