Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[run]
omit =
pyvchart/render/templates/*
setup.py
install.py
test.py
test/*

[report]
show_missing = True
omit =
pyvchart/render/templates/*
setup.py
install.py
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=crlf
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<!--
### 提 issue 注意事项
0. 先仔细阅读文档中是否有关于您需要解决的问题的解决方法
1. 提 issue 前请先搜搜看以往的 issue 有没有解决了您的问题
2. 如若是不能正常使用的问题,请贴上详细的 pyvchart 版本,使用系统以及 Python 版本
3. 最好详细描述问题,必要时加上**代码+贴图**
-->

**问题**



**运行环境(系统环境及 pyvchart 版本)**



**代码及截图**


14 changes: 14 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!--

### 提 PR 注意事项
0. 同步到 dev 分支的最新版本
1. 代码尽量保持与项目统一风格,尽量按照 PEP8 规范写代码,必要时附上注释
2. 如需要时请添加单元测试,也请确保所有测试能够通过
3. 将 PR 推送至远程的 dev 分支,main 分支只负责发布新版本。请在提交信息中描述关于该 PR 的详细信息,需要时加上截图。
4. 若是对文档进行修改,请确保数字,字母与中文之间两边均有一空格,如你所看到的所有文档一样

-->

本次 PR 内容,


16 changes: 16 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version: 2
updates:
# GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
commit-message:
prefix: ⬆
# Python
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "monthly"
commit-message:
prefix: ⬆
33 changes: 33 additions & 0 deletions .github/workflows/python-app.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: pyvchart CI

on: [push, pull_request]

jobs:
build:
strategy:
# Allows for matrix sub-jobs to fail without canceling the rest
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12", "3.13" ]

runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools
pip install -r requirements.txt
pip install -r test/requirements.txt
- name: Run unit test
run: |
python setup.py install
python test.py
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
13 changes: 12 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,12 @@ ipython_config.py
# install all needed dependencies.
#Pipfile.lock

# UV
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
#uv.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
Expand All @@ -106,8 +112,10 @@ ipython_config.py
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
Expand Down Expand Up @@ -158,3 +166,6 @@ cython_debug/
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

# PyPI configuration file
.pypirc
4 changes: 4 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
include pyvchart/datasets/*.json
include pyvchart/render/templates/*
include README.md
include README.en.md
105 changes: 105 additions & 0 deletions README.en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
<p align="center">
<img src="https://github.com/VisActor/.github/raw/main/profile/logo_500_200_dark.svg" alt="pyvchart logo" width=200 height=200 />
</p>
<h1 align="center">pyvchart</h1>
<p align="center">
<em>Python ❤️ VChart = pyvchart</em>
</p>
<p align="center">
<a href="https://github.com/pyvchart/pyvchart/actions">
<img src="https://github.com/pyvchart/pyvchart/actions/workflows/python-app.yml/badge.svg" alt="Github Actions Status">
</a>
<a href="https://codecov.io/gh/pyvchart/pyvchart" >
<img src="https://codecov.io/gh/pyvchart/pyvchart/branch/main/graph/badge.svg?token=q4Op7n64fK" alt="Codecov"/>
</a>
</p>
<p align="center">
<a href="https://github.com/pyvchart/pyvchart/pulls">
<img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat" alt="Contributions welcome">
</a>
<a href="https://opensource.org/licenses/MIT">
<img src="https://img.shields.io/badge/License-MIT-brightgreen.svg" alt="License">
</a>
</p>

[中文 README](README.md) | [English README](README.en.md) | [日本語(にほんご)README](README.jp.md)

## 📣 Introduction

[VisActor/VChart](https://github.com/VisActor/VChart) is a core chart component library of the open-source visualization solution VisActor by ByteDance. It is based on the visualization grammar library VGrammar and the rendering engine VRender, providing not only data presentation but also support for animation orchestration for narrative scenarios, rich interaction capabilities, and customizable chart styles. The simple and easy-to-use configuration greatly reduces the learning cost for users. Python, with its expressive syntax, is well-suited for data processing and AI scenarios. When data analysis and modeling meet data visualization, [pyecharts](https://github.com/pyecharts/pyecharts) and [pyvchart](https://github.com/pyvchart/pyvchart) were born.

## ✨ Features

* API design similar to [pyecharts](https://github.com/pyecharts/pyecharts), smooth and fluent usage, supports method chaining
* Includes all charts from VChart, everything you need
* Supports mainstream Notebook environments, Jupyter Notebook, JupyterLab (**Coming soon...**)
* Can be easily integrated into mainstream Web frameworks such as Flask, Sanic, Django (**Coming soon...**)
* Highly flexible configuration options, allowing for the creation of beautiful charts with ease
* Detailed documentation and examples to help developers get started quickly

## 🔰 Installation

**pip installation**
```shell
# Install
# 【❕Note❕】Currently, it cannot be used because there is an old, unmaintained project with a similar name on PyPI, and it is temporarily unable to upload the wheel to PyPI.
$ pip install pyvchart -U

# Temporary Solution
$ pip install git+https://github.com/pyvchart/pyvchart@v0.1.0
```


**Source code installation**
```shell
# Install version v1 and above
$ git clone https://github.com/pyvchart/pyvchart.git
$ cd pyvchart
$ pip install -r requirements.txt
$ python setup.py install
```


## 📝 Usage

Usage examples are here:[Examples](https://github.com/pyvchart/chart-examples)

## ⛏ Code Quality

### Unit Testing

```shell
$ pip install -r test/requirements.txt
$ make
```


### Integration Testing

Using GitHub Actions for continuous integration.

### Code Style

Using [flake8](http://flake8.pycqa.org/en/latest/index.html), [Codecov](https://codecov.io/), and [pylint](https://www.pylint.org/) to improve code quality.

## 😉 Author

pyvchart is mainly developed and maintained by the following developers

* [@sunhailin-Leo](https://github.com/sunhailin-Leo)

More contributor information can be found at [pyvchart/graphs/contributors](https://github.com/pyvchart/pyvchart/graphs/contributors)

## 💡 Contribution

We look forward to more developers participating in the development of pyvchart. We will ensure timely review of PRs and prompt responses. However, when submitting a PR, please ensure:

1. All unit tests pass, and add unit tests for new features if necessary
2. Adhere to the development guidelines, format the code using black and isort (run `$ pip install -r requirements-dev.txt`)
3. Update relevant documentation if necessary

We also welcome developers to provide more examples for pyvchart to help improve the documentation. The documentation project is located at [pyvchart/website](https://github.com/pyvchart/website)

## 📃 License

MIT [©sunhailin-Leo](https://github.com/sunhailin-Leo)
105 changes: 105 additions & 0 deletions README.jp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
<p align="center">
<img src="https://github.com/VisActor/.github/raw/main/profile/logo_500_200_dark.svg" alt="pyvchart logo" width=200 height=200 />
</p>
<h1 align="center">pyvchart</h1>
<p align="center">
<em>Python ❤️ VChart = pyvchart</em>
</p>
<p align="center">
<a href="https://github.com/pyvchart/pyvchart/actions">
<img src="https://github.com/pyvchart/pyvchart/actions/workflows/python-app.yml/badge.svg" alt="Github Actions Status">
</a>
<a href="https://codecov.io/gh/pyvchart/pyvchart" >
<img src="https://codecov.io/gh/pyvchart/pyvchart/branch/main/graph/badge.svg?token=q4Op7n64fK" alt="Codecov"/>
</a>
</p>
<p align="center">
<a href="https://github.com/pyvchart/pyvchart/pulls">
<img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat" alt="Contributions welcome">
</a>
<a href="https://opensource.org/licenses/MIT">
<img src="https://img.shields.io/badge/License-MIT-brightgreen.svg" alt="License">
</a>
</p>

[日本語 README](README.md) | [英語 README](README.en.md) | [日本語(にほんご)README](README.jp.md)

## 📣 はじめに

[VisActor/VChart](https://github.com/VisActor/VChart) は、字節ジャンプトがオープンソース化したビジュアル化ソリューション VisActor のコアチャートコンポーネントライブラリです。これはビジュアル化文法ライブラリ VGrammar とレンダリングエンジン VRender を基に構築されており、データの表示だけでなく、ナレーシナリオ向けのアニメーション編成、豊富なインタラクティブ機能、カスタマイズ可能なチャートスタイルもサポートしています。シンプルで使いやすい設定により、ユーザーの学習コストが大幅に削減されます。一方、Python は表現力豊かな言語であり、データ処理やAIなどの分野で非常に適しています。データ分析やモデリングがデータビジュアライゼーションと組み合わさったときに、[pyecharts](https://github.com/pyecharts/pyecharts) と [pyvchart](https://github.com/pyvchart/pyvchart) が生まれました。

## ✨ 特徴

* [pyecharts](https://github.com/pyecharts/pyecharts) に似た API 設計、スムーズでフローリングした使用感、メソッドチェーンのサポート
* VChart のすべてのチャートを含む、必要なものが揃っている
* Jupyter Notebook、JupyterLab (**近日公開予定**) などの主流の Notebook 環境をサポート
* Flask、Sanic、Django (**近日公開予定**) などの主流の Web フレームワークへの容易な統合
* 高度に柔軟な設定オプション、美しいチャートを簡単に作成できる
* 開発者を手助けするための詳細なドキュメントと例

## 🔰 インストール

**pip インストール**
```shell
# インストール
# 【❕注意❕】現在、PyPI に長期間メンテナンスされていない同名のプロジェクトが存在するため、wheel を PyPI にアップロードすることができません。
$ pip install pyvchart -U

# 一時的な解決策
$ pip install git+https://github.com/pyvchart/pyvchart@v0.1.0
```


**ソースコードインストール**
```shell
# バージョン v1 以上をインストール
$ git clone https://github.com/pyvchart/pyvchart.git
$ cd pyvchart
$ pip install -r requirements.txt
$ python setup.py install
```


## 📝 使用方法

使用例はここにあります:[Examples](https://github.com/pyvchart/chart-examples)

## ⛏ コード品質

### ユニットテスト

```shell
$ pip install -r test/requirements.txt
$ make
```


### 統合テスト

GitHub Actions を使用して継続的インテグレーション環境を構築しています。

### コードスタイル

[flake8](http://flake8.pycqa.org/en/latest/index.html), [Codecov](https://codecov.io/), [pylint](https://www.pylint.org/) を使用してコード品質を向上させています。

## 😉 作者

pyvchart は以下の開発者が開発およびメンテナンスを行っています

* [@sunhailin-Leo](https://github.com/sunhailin-Leo)

他の貢献者の情報は [pyvchart/graphs/contributors](https://github.com/pyvchart/pyvchart/graphs/contributors) で確認できます

## 💡 貢献

より多くの開発者が pyvchart の開発に参加することを期待しています。PR のレビューを迅速に行い、タイムリーな返信を提供しますが、PR を送信する際には以下の点に注意してください

1. すべてのユニットテストがパスし、新しい機能の場合はユニットテストを追加してください
2. 開発ガイドラインに従い、コードを black および isort でフォーマットしてください(`$ pip install -r requirements-dev.txt` を実行してください)
3. 必要に応じて関連ドキュメントを更新してください

また、pyvchart に多くの例を提供してドキュメントを充実させることも歓迎します。ドキュメントプロジェクトは [pyvchart/website](https://github.com/pyvchart/website) にあります

## 📃 ライセンス

MIT [©sunhailin-Leo](https://github.com/sunhailin-Leo)
Loading
Loading