跳转到主要内容

OpenFisca的法国税收和福利系统

项目描述

OpenFisca-France

Newsletter Twitter Slack Python PyPi Gitpod

[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.9pipconda

支持的平台

对于其他操作系统:如果您可以运行 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)

如果您想:

  • 对大量人群进行计算;
  • 创建税务模拟;
  • 在法国法律之上编写扩展(例如:巴黎和雷恩的扩展 ParisRennes);
  • 使用 OpenFisca Web API 提供服务。

要修改 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。

这可以使您通过一个安装来获取

以下是步骤

  • 按照 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 上以及一个专门的 channelopenfisca。因为 conda-forge 在 Anaconda 安装中默认可用,所以在本文档中强调 conda-forge。

请注意,由于某些配置文件路径长度和Windows路径长度限制,Openfisca-France的安装可能会在某些Windows机器上引发错误。解决此问题的可能方法是提高此限制(有关Windows >=10的信息,请参阅此文档:Windows >=10

下一步

测试

要运行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中。此文档使贡献者能够跟踪变更并建立自己的更新策略。

贡献者

查看贡献者列表

项目详情


发布历史 发布通知 | RSS源

下载文件

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

源分布

openfisca_france-168.2.0.tar.gz (5.4 MB 查看哈希值)

上传时间

构建分布

OpenFisca_France-168.2.0-py3-none-any.whl (8.1 MB 查看哈希值)

上传时间 Python 3

支持者

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