使用ibis表达式计算vega转换

ibis-vega-transform的Python项目详细描述


ibis-vega变换
binder logo

使用ibis表达式对vega转换进行python求值。

有关灵感,请参见https://github.com/jakevdp/altair-transform

开始

pip install ibis-vega-transform
jupyter labextension  install ibis-vega-transform

然后在笔记本中,导入python包并传入一个ibis表达式 牵牛星图:

importaltairasaltimportibis_vega_transformimportibisimportpandasaspdsource=pd.DataFrame({'a':['A','B','C','D','E','F','G','H','I'],'b':[28,55,43,91,81,53,19,87,52]})connection=ibis.pandas.connect({'source':source})table=connection.table('source')alt.Chart(table).mark_bar().encode(x='a',y='b')

查看[./examples/](./examples/]目录中的笔记本 使用交互式图表和Omnisci后端的一些选项。

开发

要从源安装,请在终端中运行以下命令:

git clone git@github.com:Quansight/ibis-vega-transform.git

cd ibis-vega-transform
conda env create -f binder/environment.yml
conda activate ibis-vega-transform

pip install -e .[dev]
jlpm
jupyter labextension install . --no-build


jupyter lab --watch
jlpm run build:watch

格式化所有文件:

black ibis_vega_transform
jlpm run prettier

释放

首先创建一个测试环境:

conda create -n tmp -c conda-forge nodejs
conda activate tmp

然后在setup.py中弹出python版本并上载测试版本:

pip install --upgrade setuptools wheel twine
rm -rf dist/
python setup.py sdist bdist_wheel
twine upload --repository-url https://test.pypi.org/legacy/ dist/*

在新环境中安装测试版本:

pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple ibis-vega-transform

现在在package.json中增加javascript包的版本。运行生成, 创建一个tarball,并将其作为jupyterlab扩展安装:

yarn run build
yarn pack --filename out.tgz
jupyter labextension install out.tgz

现在打开jupyterlab并运行examples中的所有笔记本,以确保 它们仍然正确渲染。

现在您可以发布python包:

twine upload dist/*

并发布节点包:

npm publish out.tgz

并为发行版添加git标记并按下:

git tag <new version>
git push
git push --tags

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在构造函数外部添加鼠标侦听器   java如何使用比较器对列表进行排序以正确排序空值?   javajavax。由于javax,邮件“535.7.3身份验证失败”。邮件升级(v1.3.1至v1.5.2)   java将arraylist流到固定的二维数组中并打印?   RecyclerView适配器上的java上下文   java如何为此Twitter API为KafkaProducer建立连接   java Spring安全性重写WebSecurity配置适配器的配置(AuthenticationManagerBuilder)是否会影响全局应用程序?   线程“awteventque0”NullPointerException中的java异常   if条件中的null值和null指针异常java   java树集<Object>允许相同类型的多个对象   java定义类;我认不出   字符串java replaceAll()   JAVAutil。scanner(Java)读取文件时如何跳过空格?   java在swing中关闭flash屏幕   java在Wildfly 16中的应用程序中加载pk12文件   有没有工具可以自动生成屏幕抓取的Java代码   创建意图时,java方法getParcelableExtra()返回null   将数据从java传递到jsp   java Android Studio |永久保存布局