模拟对法国行政区域的年度国家拨款
项目描述
leximpact-dotations-back
此存储库专用于计算国家对领土的拨款。它提供了一个Web API,特别满足leximpact-dotations-ui中定义的界面需求。
先决条件
此存储库要求使用Python 3.11
版本的Python语言。它使用Poetry依赖关系和打包管理器。
使用pyenv
管理Python多个版本
如果您本地环境已存在其他Python版本,您可以使用pyenv为该存储库定义一个特定的Python版本。
命令为 pyenv install 3.11
然后跟 pyenv local 3.11
。
要在终端Shell中将所选语言版本关联到Poetry创建的隔离环境,请执行以下命令
poetry env use python3.11
安装leximpact-dotations-back
检查与Poetry关联的Python版本是否为预期版本
poetry run python --version
# résultat attendu : Python 3.11.x
要为此存储库安装依赖项,请在终端Shell中执行以下命令
poetry install
这将创建一个虚拟环境。
如果想要查看活动环境,它将显示在现有环境中。此命令可列出它们
poetry env list
在本地执行leximpact-dotations-back
运行 leximpact-dotations-back
相当于通过以下命令执行其Web API
poetry run fastapi dev leximpact_dotations_back/main.py
API现在可通过以下本地地址访问:http://127.0.0.1:8000
。其文档自动生成,可通过以下地址访问:http://127.0.0.1:8000/docs
运行测试
要检查单元测试的结果,请执行以下命令
poetry run pytest
可以使用-s
选项显示print
的结果。以下是一个测试文件的示例
poetry run pytest tests/2022/test_criteres_2022_2024.py -s
此外,leximpact_dotations_back
的跟踪由logging库管理。如果希望在测试执行期间显示这些跟踪,请执行以下命令(此处为DEBUG
级别的消息)
poetry run pytest --log-cli-level=DEBUG
调整代码风格
使用flake8检查代码风格
poetry run flake8
或检查您添加的代码风格
poetry run flake8 `git ls-files | grep "\.py"`
然后在当前目录及其递归内容中自动修复
poetry run autopep8 .
此命令的递归性仅在将其配置为autopep8并在pyproject.toml
文件中时生效。
数据
地方政权总局(DGCL)以开放数据的形式发布分配的分配标准。这些数据每年都会更新。
2024年数据
为了计算2024年的分配,leximpact-dotations-back
使用文件criteres_repartition_2024.csv
。该文件按照以下步骤获得
- 下载官方网站上的
criteres_repartition_csv.php-6.xlsx
文件作为市的分配标准 - 在电子表格(LibreOffice)中打开
.xlsx
文件 - 将
分配标准
选项卡导出为.csv
格式,保存在data/raw/criteres_repartition_2024_raw.csv
- 然后使用以下命令读取
criteres_repartition_2024_raw.csv
以生成最终的criteres_repartition_2024.csv
文件poetry run python data/raw/data_cleanup.py
项目详情
leximpact_dotations_back-0.2.3-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f070b655d9663c70ded7ad89de9a33a3b8e151d19c3f25d2ae88018d4a658632 |
|
MD5 | fd14d1b27f133827e37fd49ad268a1ac |
|
BLAKE2b-256 | a291cce32c6ab4ee192ee7146a54b9762e9a3f718d2ef5a23059ba379dd7b675 |