Skip to content

Commit f0fae92

Browse files
authored
Merge pull request #101 from moshi4/develop
Bump to v1.10.1
2 parents f080e3c + 4754469 commit f0fae92

33 files changed

+3451
-709
lines changed

.github/workflows/ci.yml

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,35 @@ on:
1111
jobs:
1212
CI:
1313
runs-on: ${{ matrix.os }}
14+
defaults:
15+
run:
16+
shell: bash
1417
strategy:
1518
matrix:
1619
os: [ubuntu-latest, macos-latest]
17-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
20+
python-version: ["3.10", "3.11", "3.12", "3.13"]
1821
steps:
1922
- name: Checkout
2023
uses: actions/checkout@v4
2124

22-
- name: Install Rye
23-
run: |
24-
curl -sSf https://rye.astral.sh/get | RYE_INSTALL_OPTION="--yes" bash
25-
echo "$HOME/.rye/shims" >> $GITHUB_PATH
25+
- name: Install uv
26+
uses: astral-sh/setup-uv@v6
2627

2728
- name: Install Python ${{ matrix.python-version }} & dependencies
28-
run: |
29-
rye pin ${{ matrix.python-version }}
30-
rye sync --update-all --all-features
29+
run: uv sync --all-extras --all-groups --upgrade --python ${{ matrix.python-version }}
3130

3231
- name: Run ruff lint check
33-
run: rye run ruff check --diff
32+
run: uv run ruff check --diff
3433

3534
- name: Run ruff format check
36-
run: rye run ruff format --check --diff
35+
run: uv run ruff format --check --diff
3736

3837
- name: Run pytest
39-
run: rye run pytest
38+
run: uv run pytest --junitxml=pytest.xml --cov-report=term-missing:skip-covered --cov=src | tee pytest-coverage.txt
39+
40+
- name: Pytest Coverage Comment
41+
uses: MishaKav/pytest-coverage-comment@main
42+
with:
43+
pytest-coverage-path: pytest-coverage.txt
44+
junitxml-path: pytest.xml
45+
if: ${{ matrix.os=='ubuntu-latest' && matrix.python-version=='3.12' && !env.ACT }}

.github/workflows/publish_mkdocs.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,11 @@ jobs:
1212
- name: Checkout
1313
uses: actions/checkout@v4
1414

15-
- name: Install Rye
16-
run: |
17-
curl -sSf https://rye.astral.sh/get | RYE_INSTALL_OPTION="--yes" bash
18-
echo "$HOME/.rye/shims" >> $GITHUB_PATH
15+
- name: Install uv
16+
uses: astral-sh/setup-uv@v6
1917

2018
- name: Install Python & MkDocs & Plugins
21-
run: rye sync
19+
run: uv sync
2220

2321
- name: Publish document
24-
run: rye run mkdocs gh-deploy --force
22+
run: uv run mkdocs gh-deploy --force

.github/workflows/publish_to_pypi.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,11 @@ jobs:
1515
- name: Checkout
1616
uses: actions/checkout@v4
1717

18-
- name: Install Rye
19-
run: |
20-
curl -sSf https://rye.astral.sh/get | RYE_INSTALL_OPTION="--yes" bash
21-
echo "$HOME/.rye/shims" >> $GITHUB_PATH
18+
- name: Install uv
19+
uses: astral-sh/setup-uv@v6
2220

2321
- name: Build
24-
run: rye build
22+
run: uv build
2523

2624
- name: Publish
27-
run: rye publish -u $PYPI_USERNAME --token $PYPI_PASSWORD -y
25+
run: uv publish -u $PYPI_USERNAME --token $PYPI_PASSWORD

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# See https://pre-commit.com/hooks.html for more hooks
33
repos:
44
- repo: https://github.com/astral-sh/ruff-pre-commit
5-
rev: v0.9.1
5+
rev: v0.12.7
66
hooks:
77
- id: ruff
88
name: ruff lint check

README.md

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
- [Installation](#installation)
1414
- [API Usage](#api-usage)
1515
- [Code Example](#code-example)
16-
- [Not Implemented Features](#not-implemented-features)
16+
- [Tooltip Option](#tooltip-option)
1717
- [Star History](#star-history)
1818

1919
## Overview
@@ -29,7 +29,7 @@ More detailed documentation is available [here](https://moshi4.github.io/pyCircl
2929

3030
## Installation
3131

32-
`Python 3.9 or later` is required for installation.
32+
`Python 3.10 or later` is required for installation.
3333

3434
**Install PyPI package:**
3535

@@ -139,7 +139,7 @@ for sector in circos.sectors:
139139
if gene_name is not None:
140140
labels.append(gene_name)
141141
label_pos_list.append(label_pos)
142-
f_cds_track.xticks(label_pos_list, labels, label_size=6, label_orientation="vertical")
142+
f_cds_track.annotate(label_pos, gene_name, label_size=6)
143143

144144
# Plot xticks (interval = 10 Kb)
145145
r_cds_track.xticks_by_interval(
@@ -263,16 +263,23 @@ fig.savefig("example05.png")
263263

264264
![example05.png](https://raw.githubusercontent.com/moshi4/pyCirclize/main/docs/images/example05.png)
265265

266-
## Not Implemented Features
266+
## Tooltip Option
267267

268-
List of features implemented in other Circos plotting tools but not yet implemented in pyCirclize.
269-
I may implement them when I feel like it.
268+
pyCirclize supports tooltip display in jupyter using [ipympl](https://github.com/matplotlib/ipympl).
269+
To enable tooltip, install pycirclize with ipympl and call `circos.plotfig(tooltip=True)` method.
270+
Tooltip option is tested on jupyter notebooks in VScode and JupyterLab.
270271

271-
- Plot histogram
272-
- Plot boxplot
273-
- Plot violin
274-
- Plot curved text
275-
- Adjust overlap label position
272+
```shell
273+
pip install pycirclize[tooltip]
274+
# or
275+
conda install -c conda-forge pycirclize ipympl
276+
```
277+
278+
> [!WARNING]
279+
> Interactive tooltip plots require live python kernel.
280+
> Be aware that tooltips are not always enabled in the notebook after plotting.
281+
282+
![pyCirclize_tooltip.gif](https://raw.githubusercontent.com/moshi4/pyCirclize/main/docs/images/pyCirclize_tooltip.gif)
276283

277284
## Star History
278285

docs/chord_diagram.ipynb

Lines changed: 5 additions & 5 deletions
Large diffs are not rendered by default.

docs/circos_plot.ipynb

Lines changed: 11 additions & 11 deletions
Large diffs are not rendered by default.

docs/comparative_genomics.ipynb

Lines changed: 5 additions & 5 deletions
Large diffs are not rendered by default.

docs/getting_started.ipynb

Lines changed: 10 additions & 10 deletions
Large diffs are not rendered by default.

docs/images/example02.png

5.28 KB
Loading

0 commit comments

Comments
 (0)