跳转到主要内容

一款多功能的免费微模拟软件

项目描述

OpenFisca 核心库

PyPi Downloads PyPi Version Conda Downloads Conda Version

Python Coveralls Contributors

Newsletter Twitter Slack

OpenFisca 是一款多功能的免费微模拟软件。有关更多详情,请参阅 在线文档

此软件包包含 OpenFisca 的核心功能,旨在供国家软件包(如 OpenFisca-France)使用。启动您自己的国家软件包不应超过 5 分钟:请查看我们的 国家软件包模板

环境

OpenFisca 在 Python 3.7 上运行。较新版本可能也能工作,但未经测试。

OpenFisca 还强烈依赖于 NumPy。最后四个小版本应该可以工作,但仅最新/稳定版本经过测试。

安装

如果您正在开发自己的国家软件包,则不需要显式安装 OpenFisca-Core。它只需出现在您的包依赖项中即可。如果您想为 OpenFisca-Core 本身做出贡献,欢迎!要本地安装它,您可以使用以下两种选项之一

  • 我们推荐给 Windows 操作系统用户使用的 conda 包管理器,
  • 或标准 Python pip 包管理器。

使用 pip 安装 openfisca-core

此安装需要 Python 3.7+ 和 GIT 安装。

要本地以开发模式安装 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,您将获得

如果您熟悉命令行,则可以使用 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-templateextension-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

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

openfisca_core-42.0.7.tar.gz (187.8 kB 查看哈希值)

上传时间 源代码

构建分发

OpenFisca_Core-42.0.7-py3-none-any.whl (246.3 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面