Skip to content

Commit b2555fc

Browse files
committed
Build a conda package
1 parent 282e22c commit b2555fc

File tree

6 files changed

+87
-3
lines changed

6 files changed

+87
-3
lines changed

.github/workflows/continuous-integration.yml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,12 +148,31 @@ jobs:
148148
- name: Check LICENSE.txt in sdist
149149
run: tar -tvf dist/*.tar.gz | grep -q itables_for_dash/async-ITable.js.LICENSE.txt
150150

151+
# Build conda package
152+
- name: Set up Mambaforge
153+
uses: conda-incubator/setup-miniconda@v3
154+
with:
155+
miniforge-version: latest
156+
auto-update-conda: true
157+
python-version: 3.11
158+
159+
- name: Install conda-build
160+
run: mamba install conda-build -y
161+
162+
- name: Build conda package
163+
run: |
164+
conda config --set anaconda_upload no
165+
conda config --remove channels defaults
166+
conda build conda.recipe --output-folder conda-dist
167+
151168
# Upload the wheel as an artifact
152169
- name: Upload wheel artifact
153170
uses: actions/upload-artifact@v4
154171
with:
155-
name: itables-wheel
156-
path: dist/*.whl
172+
name: itables-wheel-and-conda-package
173+
path: |
174+
dist/*.whl
175+
conda-dist/**/*.tar.bz2
157176
158177
# Comment on PR with artifact link (only on PRs)
159178
- name: Comment with direct artifact link

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@
55
# Python
66
*.egg-info
77
*.pyc
8+
9+
# Build artifacts
810
build
911
dist
12+
conda-dist
1013

1114
# Notebooks
1215
*.ipynb

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ repos:
99
hooks:
1010
- id: check-json
1111
- id: check-yaml
12+
exclude: ^conda\.recipe/meta\.yaml$
1213
- id: end-of-file-fixer
1314
- id: trailing-whitespace
1415

conda.recipe/meta.yaml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{% set version_match = load_file_regex(
2+
load_file="src/itables/version.py",
3+
regex_pattern='.*__version__ = "(.+)"') %}
4+
{% set version = version_match[1] %}
5+
6+
package:
7+
name: itables
8+
version: {{ version }}
9+
10+
source:
11+
path: ..
12+
13+
build:
14+
number: 0
15+
noarch: python
16+
script: {{ PYTHON }} -m pip install . -vv
17+
18+
requirements:
19+
host:
20+
- nodejs
21+
- python >=3.9
22+
- python-build
23+
- hatch-jupyter-builder
24+
- dash
25+
- pyyaml
26+
- hatchling
27+
- pip
28+
run:
29+
- ipython
30+
- pandas
31+
- numpy
32+
- packaging
33+
- typing-extensions
34+
- python >=3.9
35+
36+
test:
37+
imports:
38+
- itables
39+
- itables.widget
40+
commands:
41+
- pip check
42+
- python -c "import itables; print(itables.__version__)"
43+
requires:
44+
- pip
45+
46+
about:
47+
home: https://github.com/mwouts/itables
48+
dev_url: https://github.com/mwouts/itables
49+
doc_url: https://mwouts.github.io/itables
50+
summary: Pandas and Polars DataFrames as Interactive DataTables
51+
license: MIT
52+
license_file:
53+
- LICENSE
54+
description: |
55+
Render Pandas and Polars DataFrames as interactive [DataTables](https://datatables.net/)
56+
that you can sort, paginate, scroll or filter. ITables works in Jupyter,
57+
VS Code, Google Colab, Quarto, Marimo, and in many application frameworks like
58+
Dash, Panel, Shiny, or Streamlit.

docs/changelog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ ITables ChangeLog
77
**Fixed**
88
- `platformdirs` is an optional dependency of ITables ([#437](https://github.com/mwouts/itables/issues/437))
99

10+
**Added**
11+
- A conda package is built (and attached) to each PR.
12+
1013

1114
2.5.1 (2025-08-31)
1215
------------------

src/itables/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
"""ITables' version number"""
22

3-
__version__ = "2.5.2-dev"
3+
__version__ = "2.5.2dev"

0 commit comments

Comments
 (0)