一款多功能的免费微模拟软件
项目描述
OpenFisca 核心库
OpenFisca 是一款多功能的免费微模拟软件。有关更多详情,请参阅 在线文档。
此软件包包含 OpenFisca 的核心功能,旨在供国家软件包(如 OpenFisca-France)使用。启动您自己的国家软件包不应超过 5 分钟:请查看我们的 国家软件包模板。
环境
OpenFisca 在 Python 3.7 上运行。较新版本可能也能工作,但未经测试。
OpenFisca 还强烈依赖于 NumPy。最后四个小版本应该可以工作,但仅最新/稳定版本经过测试。
安装
如果您正在开发自己的国家软件包,则不需要显式安装 OpenFisca-Core。它只需出现在您的包依赖项中即可。如果您想为 OpenFisca-Core 本身做出贡献,欢迎!要本地安装它,您可以使用以下两种选项之一
使用 pip
安装 openfisca-core
要本地以开发模式安装 openfisca-core
,请在壳终端中运行以下命令
git clone https://github.com/openfisca/openfisca-core.git
cd openfisca-core
python3 -m venv .venv
source .venv/bin/activate
make install-deps install-edit
使用 conda
安装 openfisca-core
从 openfisca-core
版本 35.7.7 开始,您可以使用 conda
安装 OpenFisca-Core。
Conda 是在 Windows 下使用 OpenFisca 的最简单方法,因为通过安装 Anaconda,您将获得
- Python
- 软件包管理器 Anaconda.org
- 虚拟环境管理器: conda
- 如果您选择安装完整的 Anaconda,则还有 GUI Anaconda Navigator
如果您熟悉命令行,则可以使用 Miniconda,它所需的磁盘空间比 Anaconda 少得多。
安装 conda 后,请在 Anaconda Powershell Prompt
中运行以下命令
conda create --name openfisca python=3.7
以创建openfisca
环境。conda activate openfisca
以使用您的新环境。
然后,根据您的使用情况选择以下选项之一
conda install -c conda-forge openfisca-core
以安装默认依赖项,- 或如果您想安装 Web API 部分,请使用
conda install -c conda-forge openfisca-core-api
, - 或如果您想安装所有用于为项目做出贡献的依赖项,请使用
conda install -c conda-forge -c openfisca openfisca-core-dev
。
有关我们如何发布到 conda-forge 的信息,请参阅 openfisca-core-feedstock。
测试
安装测试依赖项
make install-deps install-edit install-test
为了集成测试目的,
openfisca-core
依赖于country-template和extension-template。因为这些包同时依赖于openfisca-core
,所以它们需要单独安装。
运行整个测试套件
make test
运行测试文件上定义的所有测试
pytest tests/core/test_parameters.py
运行单个测试
pytest tests/core/test_parameters.py -k test_parameter_for_period
类型
此存储库依赖于MyPy进行可选的动态和静态类型检查。
由于NumPy在1.20.0版本中引入了typing
模块,为确保类型提示不会在运行时破坏代码,我们针对最后四个次要NumPy版本运行检查器。
类型检查已经通过make test
运行。要单独运行类型检查器
make check-types
风格
此存储库遵循一定的编码风格,并邀请您遵循它,以便您的贡献能够迅速集成。
风格检查已经通过make test
运行。要单独运行风格检查器
make check-style
自动格式化您的代码更改
make format-style
每次提交时自动格式化您的代码更改
touch .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
tee -a .git/hooks/pre-commit << END
#!/bin/sh
#
# Automatically format your code before committing.
exec make format-style
END
文档
OpenFisca的工具链检查文档是否正确构建,并自动更新此存储库的每个贡献。
同时,请参阅我们的贡献指南以获取有关如何记录您的贡献的一些一般性提示,以及我们的官方文档的存储库,以了解您如何自行构建它——并改进它!
服务API
OpenFisca-Core提供了一个Web-API。默认情况下,它在5000
端口上提供服务。
要使用模拟国家包openfisca_country_template
和另一个端口号(如2000
)运行它,请执行以下操作
openfisca serve --country-package openfisca_country_template --port 2000
要了解更多关于openfisca serve
命令的信息,请查看其文档。
默认情况下,Web API使用3个工作进程来避免此问题。没有它,Chrome中的AJAX请求有时需要超过20秒才能处理。您可以通过指定--workers k
选项来更改工作进程的数量。
您可以通过执行以下命令来测试API是否正在运行
curl http://localhost:2000/parameters
有关端点和输入格式的更多信息,请参阅官方文档。
追踪器
OpenFisca Web API附带一个可选的追踪器,允许您测量API的使用情况。
追踪器安装
默认情况下不安装追踪器。要安装它,请执行以下操作
pip install openfisca_core[tracker] --use-deprecated=legacy-resolver # Or `pip install --editable ".[tracker]"` for an editable installation
追踪器配置
当这两个选项设置时,追踪器被激活
--tracker-url
:一个以piwik.php
结尾的URL。它定义了将接收跟踪信息的Piwik实例。要使用主OpenFisca Piwik实例,请使用https://stats.data.gouv.fr/piwik.php
。--tracker-idsite
:一个整数。它定义了在您的Piwik实例上跟踪的网站标识符。要使用主OpenFisca piwik实例,请使用4
。--tracker-token
:一个字符串。它定义了Piwik API身份验证令牌,用于根据用户IP区分API调用。否则,所有API调用都将似乎来自您的服务器。Piwik API身份验证令牌可以在您登录时在您的Piwik界面中找到。
例如,要运行带有激活的追踪器的Web API和模拟国家包openfisca_country_template
,请执行以下操作
openfisca serve --country-package openfisca_country_template --port 5000 --tracker-url https://stats.data.gouv.fr/piwik.php --tracker-idsite 4 --tracker-token $TRACKER_TOKEN
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
构建分发
openfisca_core-42.0.7.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9d10bd5fdaf2f8f68ed5dd5a3f1ff4404ec64aff3294249f8a2ea4cbe3dd28a5 |
|
MD5 | 843197813213572454b9664162407565 |
|
BLAKE2b-256 | ef7da24df6c52c9f29cfa1e9121d5d0223efc1275f8df0f911cbf71e18f89bd3 |
OpenFisca_Core-42.0.7-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c1e419b02a06125866ed094bb86036bf3a012e761429c6a9ae68945a755bcacf |
|
MD5 | c13ae5d022a5e6cc91ea2ca47bdfd6cc |
|
BLAKE2b-256 | 96a109bab7f06b312c4ff7081ab8576e1166f467dd883e4afc21cd130942d8e3 |