Datapunt通用的ETL命令行脚本和Docker中shell脚本的函数。
项目描述
数据处理
在阿姆斯特丹市,我们处理许多不同类型的结构和非结构化数据。其中大部分数据质量不高,并且缺少适当的语义来进行适当的分析。
此存储库结合了通用的命令行函数来创建提取、转换和加载步骤,然后我们可以使用这些步骤来创建用于分析和在仪表板和地图中使用的数据的可重复数据。
有关我们如何在我们的工作流程中使用这些函数的更多信息,请阅读数据管道指南。
如何使用
完整文档可在此处找到: amsterdam.github.io/data-processing
快速入门:要在Python中使用函数,您可以
from datapunt_processing.extract import download_from_catalog or from datapunt_processing.helpers.connections import objectstore_connection
要直接从您的虚拟环境或Docker shell中的命令行使用函数,您可以使用如下方式
download_from_data_amsterdam -h
要查看命令行函数的列表,请参阅下面的模块或直接在setup.py中查看
入门
要使函数启动并运行
pip install datapunt-processing
要本地开发函数,请按以下步骤操作
克隆存储库
git clone https://github.com/Amsterdam/data-processing.git
cd data-processing
在Windows中创建虚拟环境
# Create and activate a virtual environment, for example with:
python -m venv --copies --prompt data-processing .venv
.venv\Scripts\activate
在OSX中创建虚拟环境
virtualenv --python=$(which python3) venv
source venv/bin/activate
以可编辑模式安装data-processing模块
pip install -e .
4. 转换和加载函数需要数据库。您可以在config.ini文件中设置您的postgres数据库凭据,以便应用于函数。
如果想要使用Docker,你可以在新的终端中为你的项目启动数据库服务器。数据库的名称、端口和登录信息可以在docker-compose.yml文件中更改。同时,也要在用于连接该数据库的函数将使用的config.ini文件中进行更改。
docker-compose up -d database
笔记本
一些示例以可运行的Jupyter笔记本的形式提供。包含所有图像和输出的这些笔记本副本托管在Anaconda Cloud上。要在自己的系统上运行这些笔记本,请启动Jupyter笔记本服务器
如何安装jupyter
pip install -e .\[dev\]
jupyter notebook --NotebookApp.iopub_data_rate_limit=100000000
如何贡献
如果你想要贡献,请遵循贡献指南
0. 前提条件
将此仓库分叉到你的本地GitHub账户,以添加和测试新功能。
git clone https://github.com/Amsterdam/data-processing.git
使用以下命令安装docs、test、dev软件包
pip install -e .[docs,test,dev]
or when using zsh
pip install -e .\[docs,test,dev\]
该软件包通过使用setuptools构建,以便能够在PyPi上发布稳定版本。它遵循这些设置Python软件包的指南。
1. 添加功能
我们尽可能使用命令行功能,以确保我们创建的功能可以轻松地与不同的环境一起使用,并迫使你自己创建更多的通用功能,这些功能具有输入变量。
如果可能,使用python-package命令行脚本将你的函数转换为使用boilerplate_function.py
注意:并非所有功能都适合CL。例如,机器学习预处理步骤或通用的API调用(通常需要字典或列表形式的参数)作为输入不适合,并且可以用作独立脚本。
2. 添加测试
将测试添加到测试文件夹中,并运行
python setup.py test
以测试是否没有其他功能破坏。如有需要,也纠正这些问题。
3. 添加文档
创建一个awesome_module.rst文件,使用Sphinx Argparse扩展字段,通过重复使用现有的rst文件来生成描述和参数字段。辅助工具文档将自动生成,因此如果它位于辅助函数中,你可以跳过此步骤。
将rst文件名添加到modules.rst中的列表,以便在主页上找到。
使用此命令行函数重新生成文档以测试文档输出
sphinx/make docs
and test if the readme is not broken:
open docs/index.html
4. 添加一个Pull Request
创建一个PR,将你的优秀功能添加到我们的处理代码中,以便许多其他开发人员和数据分析师可以重用。
项目详情
datapunt_processing-0.0.1a12.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d1a8ff349a2f6623063922a2c543df190dab4eae0b43e911040d23e63edd7247 |
|
MD5 | 602db94b9767f237544d9e0f55e3e613 |
|
BLAKE2b-256 | a5b21f1c7baf7e5ce47c29125b3dac7ff8001b61f9deab0194b7b9d469ccc61a |