-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial commit : panning/zooming for SVG diagrams (#1)
This is adapted from the cookiecutter project template provided by ipywidget framework. The docs and examples parts have been removed for now. Signed-off-by: Sylvain Leclerc <[email protected]>
- Loading branch information
Showing
41 changed files
with
28,043 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
[run] | ||
omit = pypowsybl_jupyter/tests/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
node_modules | ||
dist | ||
coverage | ||
**/*.d.ts | ||
tests |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
module.exports = { | ||
extends: [ | ||
'eslint:recommended', | ||
'plugin:@typescript-eslint/eslint-recommended', | ||
'plugin:@typescript-eslint/recommended', | ||
'plugin:prettier/recommended' | ||
], | ||
parser: '@typescript-eslint/parser', | ||
parserOptions: { | ||
project: 'tsconfig.eslint.json', | ||
sourceType: 'module' | ||
}, | ||
plugins: ['@typescript-eslint'], | ||
rules: { | ||
'@typescript-eslint/no-unused-vars': ['warn', { args: 'none' }], | ||
'@typescript-eslint/no-explicit-any': 'off', | ||
'@typescript-eslint/no-namespace': 'off', | ||
'@typescript-eslint/no-use-before-define': 'off', | ||
'@typescript-eslint/quotes': [ | ||
'error', | ||
'single', | ||
{ avoidEscape: true, allowTemplateLiterals: false } | ||
], | ||
curly: ['error', 'all'], | ||
eqeqeq: 'error', | ||
'prefer-arrow-callback': 'error' | ||
} | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
name: Build | ||
|
||
on: | ||
push: | ||
branches: main | ||
pull_request: | ||
branches: "*" | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Install node | ||
uses: actions/setup-node@v1 | ||
with: | ||
node-version: "16.x" | ||
- name: Install Python | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: "3.7" | ||
architecture: "x64" | ||
|
||
- name: Setup pip cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.cache/pip | ||
key: pip-3.7-${{ hashFiles('package.json') }} | ||
restore-keys: | | ||
pip-3.7- | ||
pip- | ||
- name: Get npm cache directory | ||
id: npm-cache | ||
run: | | ||
echo "::set-output name=dir::$(npm config get cache)" | ||
- uses: actions/cache@v2 | ||
with: | ||
path: ${{ steps.npm-cache.outputs.dir }} | ||
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | ||
restore-keys: | | ||
${{ runner.os }}-node- | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install -U pip setuptools codecov | ||
npm install -g codecov | ||
- name: Test the extension | ||
run: | | ||
python -m pip install --upgrade -v -e ".[test]" | ||
yarn run lint:check | ||
pytest | ||
yarn run test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,160 @@ | ||
# 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/ | ||
pypowsybl_jupyter/nbextension/index.* | ||
pypowsybl_jupyter/labextension/*.tgz | ||
|
||
# Coverage data | ||
# ------------- | ||
**/coverage/ | ||
|
||
# Packed lab extensions | ||
pypowsybl_jupyter/labextension | ||
|
||
|
||
# Intellij files | ||
.idea/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
.DS_Store | ||
node_modules/ | ||
tests/ | ||
.jshintrc | ||
# Ignore any build output from python: | ||
dist/*.tar.gz | ||
dist/*.wheel |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
node_modules | ||
**/node_modules | ||
**/lib | ||
**/package.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"singleQuote": true | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
include LICENSE | ||
include README.md | ||
|
||
include setup.py | ||
include pyproject.toml | ||
include pytest.ini | ||
include .coverage.rc | ||
|
||
include tsconfig.json | ||
include package.json | ||
include webpack.config.js | ||
include pypowsybl_jupyter/labextension/*.tgz | ||
|
||
# Documentation | ||
graft docs | ||
exclude docs/\#* | ||
prune docs/build | ||
prune docs/gh-pages | ||
prune docs/dist | ||
|
||
# Examples | ||
graft examples | ||
|
||
# Tests | ||
graft tests | ||
prune tests/build | ||
|
||
# Javascript files | ||
graft pypowsybl_jupyter/nbextension | ||
graft src | ||
graft css | ||
prune **/node_modules | ||
prune coverage | ||
prune lib | ||
|
||
# Patterns to exclude from any directory | ||
global-exclude *~ | ||
global-exclude *.pyc | ||
global-exclude *.pyo | ||
global-exclude .git | ||
global-exclude .ipynb_checkpoints |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,64 @@ | ||
# pypowsybl-jupyter | ||
# pypowsybl-jupyter | ||
|
||
Widgets for [pypowsybl](https://github.com/powsybl/pypowsybl) in the Jupyter notebook. | ||
|
||
## Installation | ||
|
||
You can install using `pip`: | ||
|
||
```bash | ||
pip install pypowsybl-jupyter | ||
``` | ||
|
||
If you are using Jupyter Notebook 5.2 or earlier, you may also need to enable | ||
the nbextension: | ||
```bash | ||
jupyter nbextension enable --py [--sys-prefix|--user|--system] pypowsybl-jupyter | ||
``` | ||
|
||
## Development Installation | ||
|
||
Install the python. This will also build the TS package. | ||
```bash | ||
pip install -e ".[test]" | ||
``` | ||
|
||
When developing your extensions, you need to manually enable your extensions with the | ||
notebook / lab frontend. For lab, this is done by the command: | ||
|
||
``` | ||
jupyter labextension develop --overwrite . | ||
yarn run build | ||
``` | ||
|
||
For classic notebook, you need to run: | ||
|
||
``` | ||
jupyter nbextension install --sys-prefix --symlink --overwrite --py ipysvg | ||
jupyter nbextension enable --sys-prefix --py ipysvg | ||
``` | ||
|
||
Note that the `--symlink` flag doesn't work on Windows, so you will here have to run | ||
the `install` command every time that you rebuild your extension. For certain installations | ||
you might also need another flag instead of `--sys-prefix`, but we won't cover the meaning | ||
of those flags here. | ||
|
||
### How to see your changes | ||
#### Typescript: | ||
If you use JupyterLab to develop then you can watch the source directory and run JupyterLab | ||
at the same time in different terminals to watch for changes in the extension's source and | ||
automatically rebuild the widget. | ||
|
||
```bash | ||
# Watch the source directory in one terminal, automatically rebuilding when needed | ||
yarn run watch | ||
# Run JupyterLab in another terminal | ||
jupyter lab | ||
``` | ||
|
||
After a change wait for the build to finish and then refresh your browser and the changes | ||
should take effect. | ||
|
||
#### Python: | ||
If you make a change to the python code then you will need to restart the notebook kernel | ||
to have it take effect. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
module.exports = { | ||
sourceMap: 'inline', | ||
presets: [ | ||
[ | ||
'@babel/preset-env', | ||
{ | ||
targets: { | ||
node: 'current', | ||
}, | ||
}, | ||
], | ||
], | ||
}; |
Oops, something went wrong.