Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
maartenbreddels committed Dec 29, 2023
0 parents commit 60931b4
Show file tree
Hide file tree
Showing 13 changed files with 6,171 additions and 0 deletions.
143 changes: 143 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
name: Build

on:
push:
branches:
- master
tags:
- "v*"
pull_request:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Install node
uses: actions/setup-node@v3
with:
node-version: "16.x"

# - name: Change version for non-releases
# if: ${{ ! startsWith(github.event.ref, 'refs/tags/v')}}
# run: python .github/ci_version.py

- name: npm install
run: (npm ci)

- name: Python requirements for generating types
run: pip install datamodel-code-generator==0.25.2

- name: Build antd es module
run: (npm run build)

- name: Package
run: hatch build

- name: Upload builds
uses: actions/upload-artifact@v3
with:
name: ipyantd-dist-${{ github.run_number }}
path: |
./dist
./*.tgz
test:
needs: [build]
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
python-version: [3.7, 3.8, 3.9, "3.10", "3.11"]

steps:
- uses: actions/checkout@v2

- uses: actions/download-artifact@v3
with:
name: ipyantd-dist-${{ github.run_number }}

- name: Install Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}

- name: Install
run: pip install `echo dist/*.whl`[unit-test] "jupyter_server<2"

- name: Run unit tests
run: pytest tests/unit

ui-test:
needs: [build]
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2

- uses: actions/download-artifact@v3
with:
name: ipyantd-dist-${{ github.run_number }}

- name: Install Python
uses: actions/setup-python@v2
with:
python-version: 3.8

- name: Install ipyantd
run: pip install `echo dist/*.whl`[ui-test] "jupyter_server<2"

- name: Install playwright browsers
run: playwright install chromium

- name: Run ui-tests
run: pytest tests/ui/ --video=retain-on-failure

- name: Upload Test artifacts
if: always()
uses: actions/upload-artifact@v2
with:
name: ipyantd-test-results-${{ github.run_number }}
path: test-results

release:
if: startsWith(github.event.ref, 'refs/tags/v')
needs: [test, ui-test]
runs-on: ubuntu-20.04
steps:
- uses: actions/download-artifact@v3
with:
name: ipyantd-dist-${{ github.run_number }}

- name: Install node
uses: actions/setup-node@v1
with:
node-version: "16.x"
registry-url: "https://registry.npmjs.org"

- name: Install Python
uses: actions/setup-python@v2
with:
python-version: 3.8

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install twine wheel jupyter-packaging jupyterlab
- name: Publish the Python package
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: twine upload --skip-existing dist/*.whl dist/*.tar.gz

# - name: Publish the NPM package
# run: |
# echo $PRE_RELEASE
# if [[ $PRE_RELEASE == "true" ]]; then export TAG="next"; else export TAG="latest"; fi
# npm publish --tag ${TAG} --access public *.tgz
# env:
# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
# PRE_RELEASE: ${{ github.event.release.prerelease }}
24 changes: 24 additions & 0 deletions .github/workflows/code-quality.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: code-quality

on:
pull_request:
push:
branches: [main]

jobs:
pre-commit:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.7
- name: Install dependencies
run: |
pip install ".[dev]"
pre-commit install
- name: run pre-commit
run: |
pre-commit run --all-files
155 changes: 155 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py

# Flask instance folder
instance/

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/
docs/source/_static/embed-bundle.js
docs/source/_static/embed-bundle.js.map

# PyBuilder
target/

# IPython Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# dotenv
.env

# virtualenv
venv/
ENV/

# Spyder project settings
.spyderproject

# Rope project settings
.ropeproject

# =========================
# Operating System Files
# =========================

# OSX
# =========================

.DS_Store
.AppleDouble
.LSOverride

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

# Windows
# =========================

# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk


# NPM
# ----

**/node_modules/
ipyantd/nbextension/index.*

# Coverage data
# -------------
**/coverage/

# Packed lab extensions
ipyantd/labextension
13 changes: 13 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
repos:
- repo: "https://github.com/pre-commit/mirrors-prettier"
rev: "v3.1.0"
hooks:
- id: prettier
stages: [commit]
- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: "v0.1.9"
hooks:
- id: ruff
stages: [commit]
- id: ruff-format
stages: [commit]
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Build on top of ipyreact
22 changes: 22 additions & 0 deletions fix_types.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
37823c37823
< 'preview': NotRequired[Union[ImagePreviewType, bool]],
---
> 'preview': NotRequired[Union["ImagePreviewType", bool]],
38023c38023
< 'items': NotRequired[List[ItemType]],
---
> 'items': NotRequired[List["ItemType"]],
38117,38118c38117,38118
< SubMenuTypeMenuItemType,
< MenuItemGroupTypeMenuItemType,
---
> "SubMenuTypeMenuItemType",
> "MenuItemGroupTypeMenuItemType",
38146c38146
< MenuItemGroupTypeMenuItemType,
---
> "MenuItemGroupTypeMenuItemType",
40523c40523
< ColorInput = Union[RGB, RGBA, HSL, HSLA, HSV, HSVA, TinyColor, Union[str, float]]
---
> ColorInput = Union[RGB, RGBA, HSL, HSLA, HSV, HSVA, "TinyColor", Union[str, float]]
Loading

0 comments on commit 60931b4

Please sign in to comment.