OpenFisca的法国税收和福利系统
项目描述
OpenFisca-France
[EN] 简介
OpenFisca是一款多功能微模拟免费软件。此存储库包含法国税收和福利系统的OpenFisca模型。因此,这里的工作语言是法语。但是,您仍然可以查看英文通用OpenFisca文档!
我们托管了OpenFisca-France Web API的公共实例。了解更多关于其端点的信息,请参阅Swagger文档。如果您需要运行大量计算或添加扩展,您应该托管自己的实例。
[FR] 简介
OpenFisca是一款免费微模拟软件。此存储库包含法国社会和税收系统的建模。有关OpenFisca的功能和使用方法,请参阅通用文档。
我们提供OpenFisca-France Web API的公共实例。了解其功能,请参阅其Swagger文档。如果您需要执行大量计算或添加扩展,您可以通过托管自己的实例。
公共Web API:无需安装即可查询OpenFisca-France
OpenFisca 提供了一个无需安装的 公共 Web API。如果您想:
所有端点都在 Swagger 文档 中描述。
法规探索器 包含了可用的参数和变量列表。
安装
本软件包需要 Python 3.9 和 pip 或 conda。
支持的平台
- GNU/Linux 发行版(特别是 Debian 和 Ubuntu);
- Mac OS X;
- Windows:我们建议使用 conda,请参阅以下步骤 使用 conda 安装虚拟环境;OpenFisca 也可以在 Windows Subsystem for Linux (WSL) 中运行。在这种情况下,只需按照 Linux 的步骤进行即可,因为您处于 Linux 环境中。
对于其他操作系统:如果您可以运行 Python 和 Numpy,则 OpenFisca 的安装应该可以正常进行。
使用 Pew 安装虚拟环境
我们推荐使用 虚拟环境(virtualenv)以及如 Pew 之类的 virtualenv 管理器。您也可以使用 Python 的官方环境管理器:venv。
- virtualenv 会为正在工作的项目创建一个特定环境。
- virtualenv 管理器,如 Pew,允许您轻松创建、删除和在不同的项目之间切换。
要安装 Pew,打开一个终端窗口并按照以下说明操作
python --version # Python 3.9.0 ou plus récent devrait être installé sur votre ordinateur.
# Si non, téléchargez-le sur https://pythonlang.cn et téléchargez pip.
pip install --upgrade pip
pip install pew
创建一个名为 openfisca 的新 virtualenv 并使用 python 3.9 配置它
pew new openfisca --python=python3.9
# Si demandé, répondez "Y" à la question sur la modification du fichier de configuration de votre shell
此时,virtualenv openfisca 将被激活,这意味着以下命令将直接在虚拟环境中执行。您将在终端中看到
Installing setuptools, pip, wheel...done.
Launching subshell in virtual environment. Type 'exit' or 'Ctrl+D' to return.
附加信息
- 要退出 virtualenv,请输入
exit
(或 Ctrl-D); - 要重新进入,请在终端中输入
pew workon openfisca
。
恭喜:tada: 您现在可以安装 OpenFisca-France 了!
我们提供了两种安装方法。根据您想要对 OpenFisca-France 执行的操作,选择以下 A 或 B 安装。
A. 最小安装(pip install)
如果您想:
要修改 OpenFisca-France,请参阅 高级安装。
使用 pip install 安装 OpenFisca-France
在您的 virtualenv 中,检查预置要求
python --version # Devrait afficher "Python 3.9.xx".
#Si non, vérifiez que vous passez --python=python3.9 lors de la création de votre environnement virtuel.
pip --version # Devrait afficher au moins 9.0.x
#Si non, exécutez "pip install --upgrade pip".
安装 OpenFisca-France
pip install openfisca-france && pip install openfisca-core[web-api]
注意:命令的第二部分,从
&&
开始,是可选的。这允许您安装 OpenFisca 的 Web API。
恭喜:tada: OpenFisca-France 已准备好使用!
下一步
- 通过我们的教程(英文)了解如何使用 OpenFisca。
- 使用 OpenFisca Web API 来托管和提供您的 OpenFisca-France 实例。
根据您的项目,您可能需要在您的 virtualenv 中安装以下软件包
- 要安装扩展或在上层编写 OpenFisca-France 的法律,请参阅扩展文档(英文);
- 要图形化表示您的结果,请尝试matplotlib 库;
- 要管理您的数据,请了解pandas 库。
B. 高级安装(Git 克隆)
如果您想:
- 丰富或修改 OpenFisca-France 的法律;
- 为 OpenFisca-France 的源代码做出贡献。
使用 Git 克隆 OpenFisca-France
首先,确保您的计算机上已正确安装了 Git。
在您的 virtualenv 中,确保您位于希望克隆 OpenFisca-France 的目录中。
检查先决条件
python --version # Devrait afficher "Python 3.9.xx".
#Si non, vérifiez que vous passez --python=python3.9 lors de la création de votre environnement virtuel.
pip --version # Devrait afficher au moins 23.0.
#Si non, exécutez "pip install --upgrade pip".
在您的计算机上克隆 OpenFisca-France
git clone https://github.com/openfisca/openfisca-france.git
cd openfisca-france
pip install --editable .[dev] && pip install openfisca-core[web-api]
您可以通过执行以下命令来确保安装成功
pytest tests/test_basics.py # Ces test peuvent prendre jusqu'à 60 secondes.
:tada: OpenFisca-France 已准备好使用!
使用 conda 安装虚拟环境
我们建议使用此过程,适用于使用 Windows 并且没有有效 Python 环境的用户。它也适用于 Linux 和 macOS。
这可以使您通过一个安装来获取
- Python
- Anaconda.org 软件包管理器
- conda 虚拟 Python 环境管理器
以下是步骤
- 按照 Anaconda 网站 上描述的步骤安装社区版/免费版。请注意,Anaconda 占用大量磁盘空间(>2 Go),您可以选择安装占用较少磁盘空间的 Miniconda。但是,您将不会获得 Anaconda Navigator 图形界面,它允许您管理环境。如果您习惯于使用命令行管理,则请选择 Miniconda。
- 从开始菜单,运行
Anaconda Powershell Prompt
。或者使用您的 Miniconda 优先的 shell,您可能需要使用conda init
命令,但 conda 会告诉您。 - 在 shell 中执行以下命令
- 将
conda-forge
添加为默认通道:conda config --add channels conda-forge && conda config --set channel_priority strict
- 创建一个专用环境:
conda create --name openfisca python=3.9
- 激活环境:
conda activate openfisca
- 安装 OpenFisca:
conda install openfisca-france
- 将
:tada: OpenFisca-France 已准备好使用!
然后,要退出 OpenFisca 环境: conda deactivate
要返回: conda activate openfisca
请注意,OpenFisca-France 在 conda-forge 上以及一个专门的 channel 上 openfisca。因为 conda-forge 在 Anaconda 安装中默认可用,所以在本文档中强调 conda-forge。
请注意,由于某些配置文件路径长度和Windows路径长度限制,Openfisca-France的安装可能会在某些Windows机器上引发错误。解决此问题的可能方法是提高此限制(有关Windows >=10的信息,请参阅此文档:Windows >=10)
下一步
- 要丰富或更新OpenFisca-France的法律,请阅读Coding the Legislation(英文)。
- 要为代码做出贡献,请阅读Contribution Guidebook(英文)。
测试
要运行OpenFisca-France的测试,请执行以下命令:
make test
样式
此存储库遵循特定的代码样式,并建议您遵循它以便您的贡献能更快地被整合。
样式分析已通过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 Web API提供OpenFisca-France
可以在您自己的服务器上提供OpenFisca-France的Web API。
openfisca serve
有关openfisca serve
命令及其选项的更多信息,请参阅参考文档。
通过以下命令测试您的安装:
curl "http://localhost:5000/parameter/marche_travail.salaire_minimum.smic.smic_b_horaire"
您应该得到以下结果:
{
"description": "Smic horaire brut",
"id": "marche_travail.salaire_minimum.smic.smic_b_horaire",
"values": {
"2001-08-01": 6.67,
"2002-07-01": 6.83,
"2003-07-01": 7.19,
"2004-07-01": 7.61,
"2005-07-01": 8.03,
"2006-07-01": 8.27,
"2007-07-01": 8.44,
"2008-05-01": 8.63,
"2008-07-01": 8.71,
"2009-07-01": 8.82,
"2010-01-01": 8.86,
"2011-01-01": 9.0,
"2011-12-01": 9.19,
"2012-01-01": 9.22,
"2012-07-01": 9.4,
"2013-01-01": 9.43,
"2014-01-01": 9.53,
"2015-01-01": 9.61,
"2016-01-01": 9.67,
"2017-01-01": 9.76
}
}
:tada: 您正在通过OpenFisca Web API提供OpenFisca-France !
有关更多信息,请访问API Web文档。
您可以通过Piwik使用OpenFisca Tracker API(英文)激活对您的实例的访问跟踪。
版本控制策略
OpenFisca-France的代码以持续和自动的方式部署。因此,每当法律代码在主分支master
上发生变化时,就会发布一个新版本。
因此,新版本发布非常频繁。然而,由于两个连续版本之间的差异很小,因此从一个版本切换到另一个版本的适应工作通常非常有限。
此外,OpenFisca-France遵守语义版本控制规则。因此,不增加主版本号的所有更改都保证是向后兼容的。
例如,如果我的应用程序使用版本
13.1.1
,我知道它也可以与版本13.2.0
一起运行。但是,为了使用版本14.0.0
,我的客户端可能需要进行一些适配。
最后,所有变更的影响和范围都记录在包的CHANGELOG中。此文档使贡献者能够跟踪变更并建立自己的更新策略。
贡献者
查看贡献者列表。
项目详情
openfisca_france-168.2.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fc2761f1ae5f8e80a311367d6a149f478ef7731621d172ef6f3de09a9215ff55 |
|
MD5 | 8ef32d6b00733087e7e7c2085103f3fa |
|
BLAKE2b-256 | 5197819205b296d2688536c42331b408bd6c1c63cb99417176aefabd3e65cfca |
OpenFisca_France-168.2.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b55bbb7d7ecb43681817ee3a21b0b04cd8ab588aaef5d2963a4749c0cdda4f8d |
|
MD5 | ca9d843f682e36240b04993e9c5aec13 |
|
BLAKE2b-256 | b6f7d82cc5feacd532aa788e6eca0a933689f7ad48191a6d3023fab9ea1f825e |