swan-ml 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- swan_ml-0.1.0/.github/workflows/ci.yml +39 -0
- swan_ml-0.1.0/.github/workflows/release.yml +31 -0
- swan_ml-0.1.0/.gitignore +20 -0
- swan_ml-0.1.0/.prettierignore +11 -0
- swan_ml-0.1.0/.prettierrc.json +8 -0
- swan_ml-0.1.0/.stylelintrc.json +13 -0
- swan_ml-0.1.0/.yarnrc.yml +1 -0
- swan_ml-0.1.0/PKG-INFO +9 -0
- swan_ml-0.1.0/README.md +27 -0
- swan_ml-0.1.0/eslint.config.mjs +53 -0
- swan_ml-0.1.0/install.json +5 -0
- swan_ml-0.1.0/jupyter-config/server-config/swan-mlcern-status.json +7 -0
- swan_ml-0.1.0/mlcern.png +0 -0
- swan_ml-0.1.0/package-lock.json +5916 -0
- swan_ml-0.1.0/package.json +67 -0
- swan_ml-0.1.0/pyproject.toml +72 -0
- swan_ml-0.1.0/src/RunStatusPanel.tsx +174 -0
- swan_ml-0.1.0/src/api.ts +47 -0
- swan_ml-0.1.0/src/helpers.ts +58 -0
- swan_ml-0.1.0/src/index.ts +57 -0
- swan_ml-0.1.0/src/typings.d.ts +6 -0
- swan_ml-0.1.0/style/index.css +218 -0
- swan_ml-0.1.0/style/kubeflow.svg +13 -0
- swan_ml-0.1.0/swan_ml/__init__.py +26 -0
- swan_ml-0.1.0/swan_ml/config.py +16 -0
- swan_ml-0.1.0/swan_ml/handlers.py +128 -0
- swan_ml-0.1.0/swan_ml/ml.py +23 -0
- swan_ml-0.1.0/tsconfig.json +24 -0
- swan_ml-0.1.0/uv.lock +2040 -0
- swan_ml-0.1.0/yarn.lock +6235 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
pull_request:
|
|
8
|
+
branches:
|
|
9
|
+
- master
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
build:
|
|
13
|
+
name: Build and Test (${{ matrix.python-version }})
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
strategy:
|
|
16
|
+
matrix:
|
|
17
|
+
python-version: ["3.11", "3.12", "3.13", "3.14"]
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v6
|
|
21
|
+
|
|
22
|
+
- name: Install the latest version of uv and set the python version
|
|
23
|
+
uses: astral-sh/setup-uv@v7
|
|
24
|
+
with:
|
|
25
|
+
python-version: ${{ matrix.python-version }}
|
|
26
|
+
|
|
27
|
+
- name: Set up Node
|
|
28
|
+
uses: actions/setup-node@v6
|
|
29
|
+
with:
|
|
30
|
+
node-version: "24"
|
|
31
|
+
|
|
32
|
+
- name: Install JS dependencies
|
|
33
|
+
run: uv run jlpm install --immutable
|
|
34
|
+
|
|
35
|
+
- name: Lint Python 🧹
|
|
36
|
+
run: uv run ruff check
|
|
37
|
+
|
|
38
|
+
- name: Lint JS/TS/CSS 🧹
|
|
39
|
+
run: uv run jlpm lint
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: Upload To PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
pypi-publish:
|
|
13
|
+
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
environment: pypi
|
|
16
|
+
permissions:
|
|
17
|
+
id-token: write
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v6
|
|
21
|
+
|
|
22
|
+
- name: Install the latest version of uv and set the python version
|
|
23
|
+
uses: astral-sh/setup-uv@v7
|
|
24
|
+
with:
|
|
25
|
+
python-version: '3.14'
|
|
26
|
+
|
|
27
|
+
- name: Build package 📦
|
|
28
|
+
run: uv build
|
|
29
|
+
|
|
30
|
+
- name: Publish package distributions to PyPI
|
|
31
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
swan_ml-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
dist/
|
|
4
|
+
|
|
5
|
+
# Virtual environments
|
|
6
|
+
.venv/
|
|
7
|
+
|
|
8
|
+
# Node
|
|
9
|
+
node_modules/
|
|
10
|
+
.yarn/
|
|
11
|
+
|
|
12
|
+
# TypeScript / JupyterLab build output
|
|
13
|
+
lib/
|
|
14
|
+
swan_ml/labextension/
|
|
15
|
+
swan_ml/_version.py
|
|
16
|
+
tsconfig.tsbuildinfo
|
|
17
|
+
|
|
18
|
+
# Jupyter
|
|
19
|
+
.ipynb_checkpoints/
|
|
20
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
nodeLinker: node-modules
|
swan_ml-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: swan-ml
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: JupyterLab sidebar showing ml.cern.ch pipeline run status
|
|
5
|
+
License-Expression: MIT
|
|
6
|
+
Requires-Python: >=3.11
|
|
7
|
+
Requires-Dist: jupyter-server>=2.0
|
|
8
|
+
Requires-Dist: kfp>=2.8.0
|
|
9
|
+
Requires-Dist: pyjwt>=2.0.1
|
swan_ml-0.1.0/README.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# swan-ml
|
|
2
|
+
|
|
3
|
+
JupyterLab sidebar extension showing [ml.cern.ch](https://ml.cern.ch)
|
|
4
|
+
pipeline run status in real-time.
|
|
5
|
+
|
|
6
|
+

|
|
7
|
+
|
|
8
|
+
## Installation
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
pip install swan-ml
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### Development
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Install and build
|
|
18
|
+
pip install -e ".[dev]"
|
|
19
|
+
|
|
20
|
+
# Or install and build manually
|
|
21
|
+
jlpm install
|
|
22
|
+
jlpm build
|
|
23
|
+
jupyter labextension develop --overwrite .
|
|
24
|
+
|
|
25
|
+
# Watch for changes (in a separate terminal)
|
|
26
|
+
jlpm watch
|
|
27
|
+
```
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import js from "@eslint/js";
|
|
2
|
+
import tseslint from "typescript-eslint";
|
|
3
|
+
import react from "eslint-plugin-react";
|
|
4
|
+
import reactHooks from "eslint-plugin-react-hooks";
|
|
5
|
+
import prettier from "eslint-config-prettier";
|
|
6
|
+
import globals from "globals";
|
|
7
|
+
|
|
8
|
+
export default tseslint.config(
|
|
9
|
+
{
|
|
10
|
+
ignores: [
|
|
11
|
+
"lib/**",
|
|
12
|
+
"node_modules/**",
|
|
13
|
+
"swan_ml/labextension/**",
|
|
14
|
+
".venv/**",
|
|
15
|
+
".yarn/**",
|
|
16
|
+
"coverage/**",
|
|
17
|
+
],
|
|
18
|
+
},
|
|
19
|
+
js.configs.recommended,
|
|
20
|
+
...tseslint.configs.recommended,
|
|
21
|
+
{
|
|
22
|
+
files: ["src/**/*.{ts,tsx}"],
|
|
23
|
+
languageOptions: {
|
|
24
|
+
parserOptions: {
|
|
25
|
+
ecmaFeatures: { jsx: true },
|
|
26
|
+
},
|
|
27
|
+
globals: {
|
|
28
|
+
...globals.browser,
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
plugins: {
|
|
32
|
+
react,
|
|
33
|
+
"react-hooks": reactHooks,
|
|
34
|
+
},
|
|
35
|
+
settings: {
|
|
36
|
+
react: { version: "18.3" },
|
|
37
|
+
},
|
|
38
|
+
rules: {
|
|
39
|
+
...react.configs.recommended.rules,
|
|
40
|
+
...reactHooks.configs.recommended.rules,
|
|
41
|
+
"react/react-in-jsx-scope": "off",
|
|
42
|
+
"react/prop-types": "off",
|
|
43
|
+
"@typescript-eslint/no-explicit-any": "warn",
|
|
44
|
+
"@typescript-eslint/no-unused-vars": [
|
|
45
|
+
"error",
|
|
46
|
+
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
|
|
47
|
+
],
|
|
48
|
+
eqeqeq: ["error", "always"],
|
|
49
|
+
"no-console": ["warn", { allow: ["warn", "error"] }],
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
prettier,
|
|
53
|
+
);
|
swan_ml-0.1.0/mlcern.png
ADDED
|
Binary file
|