v1.0.1 post-mortem (#37)

pull/45/head
Nicholas Bollweg 2021-04-12 13:47:32 -04:00 zatwierdzone przez GitHub
rodzic cbb744031f
commit fa7f8655d1
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
29 zmienionych plików z 219 dodań i 103 usunięć

Wyświetl plik

@ -2,6 +2,20 @@
## Unreleased
### ipydrawio 1.0.2
### ipydrawio-export 1.0.2
### @deathbeds/ipydrawio 1.0.2
### @deathbeds/ipydrawio-notebook 1.0.2
### @deathbeds/ipydrawio-pdf 1.0.2
### @deathbeds/ipydrawio-webpack 14.5.902
---
### ipydrawio 1.0.1
- [#32] on-disk file paths are shorter to avoid Windows issues

Wyświetl plik

@ -1,6 +1,7 @@
# IPyDrawio
[![binder-badge][]][binder] [![install from pypi][pypi-badge]][pypi]
[![install from conda-forge][conda-badge]][conda]
[![reuse from npm][npm-badge]][npm] [![build][workflow-badge]][workflow]
[![coverage][cov-badge]][cov]
@ -17,8 +18,9 @@
## Installation
```bash
pip install ipydrawio ipydrawio-export
# TBD: conda install -c conda-forge ipydrawio
mamba install -c conda-forge ipydrawio # recommended, or...
conda install -c conda-forge ipydrawio # or...
pip install ipydrawio ipydrawio
```
## Features
@ -33,8 +35,14 @@ pip install ipydrawio ipydrawio-export
- Jupyter [Widgets][]
- `ipydrawio-export`
- Export print-quality PDF from diagrams
- > _BEWARE: some **heavy**, maybe fragile dependencies_
- optionally include editable Drawio XML as a PDF attachment
- > _BEWARE: some **heavy**, maybe fragile dependencies, `mamba`
> recommended_
```bash
mamba install -c conda-forge ipydrawio-export # recommended, or...
conda install -c conda-forge ipydrawio-export # or...
pip install ipydrawio ipydrawio-export
```
## Examples
@ -79,13 +87,13 @@ headless browser, powered by [@jgraph/draw-image-export2], `puppeteer`, and
- **NOTE**: this relies on being able to install `puppeteer` (and other
**arbitrary dependencies** with `jlpm` for now **when first used**
- _we'll figure out a better approach soon enough_
- `pip install ipydrawio-export`
- `pip install ipydrawio-export` or
`conda install -c conda-forge ipydrawio-export`
> For example:
> For example to install all the dependencies:
>
> ```bash
> conda install -yc conda-forge nodejs=12
> pip install ipydrawio-export
> conda install -yc conda-forge ipydrawio-export
> ```
## Open Source
@ -144,9 +152,11 @@ limitations under the License.
https://github.com/deathbeds/ipydrawio/actions?query=branch%3Amaster+workflow%3A.github%2Fworkflows%2Fci.yml
[roadmap]:
https://github.com/deathbeds/ipydrawio/blob/master/docs/ROADMAP.dio.ipynb
[npm]: https://npmjs.com/package/@deathbeds/ipydrawio
[conda-badge]: https://img.shields.io/conda/vn/conda-forge/ipydrawio
[conda]: https://anaconda.org/conda-forge/ipydrawio
[pypi-badge]: https://img.shields.io/pypi/v/ipydrawio
[pypi]: https://pypi.org/project/ipydrawio/
[npm]: https://npmjs.com/package/@deathbeds/ipydrawio
[npm-badge]: https://img.shields.io/npm/v/@deathbeds/ipydrawio
[cov-badge]:
https://codecov.io/gh/deathbeds/ipydrawio/branch/master/graph/badge.svg?token=9B74VKHQDK

Wyświetl plik

@ -1,5 +1,5 @@
{% set name = "ipydrawio" %}
{% set version = "1.0.1" %}
{% set version = "1.0.2" %}
{% set build_number = 0 %}
@ -9,7 +9,7 @@
{% endif %}
package:
name: {{ name }}-build
name: ipydrawio-build
version: {{ version }}
source:
@ -39,13 +39,13 @@ test:
- echo "tests in outputs"
outputs:
- name: {{ name }}
- name: ipydrawio
version: {{ version }}
build:
number: {{ build_number }}
noarch: python
script:
- cd {{ name }} && {{ PYTHON }} -m pip install . -vv --no-deps
- cd ipydrawio && {{ PYTHON }} -m pip install . -vv --no-deps
requirements:
host:
- pip
@ -58,7 +58,7 @@ outputs:
- python >=3.6
test:
imports:
- {{ name }}
- ipydrawio
requires:
- pip
- pytest-cov
@ -66,29 +66,29 @@ outputs:
- pip check
- jupyter labextension list
- jupyter labextension list 1>labextensions 2>&1
- cat labextensions | grep "@deathbeds/{{ name }}.*OK" # [unix]
- pytest -vv --pyargs {{ name }} --cov={{ name }} --cov-fail-under=100 --cov-report=term-missing:skip-covered
- cat labextensions | grep "@deathbeds/ipydrawio.*OK" # [unix]
- pytest -vv --pyargs ipydrawio --cov=ipydrawio --cov-fail-under=100 --cov-report=term-missing:skip-covered
about:
home: https://github.com/deathbeds/{{ name }}
home: https://github.com/deathbeds/ipydrawio
summary: Draw.io Diagrams as Jupyter Widgets
license: Apache-2.0
license_file: {{ name }}/LICENSE.txt
license_file: ipydrawio/LICENSE.txt
- name: {{ name }}-export
- name: ipydrawio-export
version: {{ version }}
build:
number: {{ build_number }}
noarch: python
script:
- cd {{ name }}-export && {{ PYTHON }} -m pip install . -vv --no-deps
- cd ipydrawio-export && {{ PYTHON }} -m pip install . -vv --no-deps
entry_points:
- jupyter-{{ name }}-export = {{ name }}_export.app:main
- jupyter-ipydrawio-export = ipydrawio_export.app:main
requirements:
host:
- pip
- python >=3.6
run:
- {{ name }} =={{ version }}.*
- ipydrawio =={{ version }}.*
- python >=3.6
- pillow
- pypdf2
@ -96,7 +96,7 @@ outputs:
- nodejs
test:
imports:
- {{ name }}_export
- ipydrawio_export
requires:
- pip
- pytest-cov
@ -106,23 +106,27 @@ outputs:
- pip check
- jupyter labextension list
- jupyter labextension list 1>labextensions 2>&1
- cat labextensions | grep "@deathbeds/{{ name }}-pdf.*OK" # [unix]
- cat labextensions | grep "@deathbeds/ipydrawio-pdf.*OK" # [unix]
- jupyter serverextension list
- jupyter serverextension list 1>serverextensions 2>&1
- cat serverextensions | grep "{{ name }}_export.*OK" # [unix]
- pytest -vv --pyargs {{ name }}_export --script-launch-mode=subprocess --cov={{ name }}_export --cov-fail-under=96 --cov-report=term-missing:skip-covered
- cat serverextensions | grep "ipydrawio_export.*OK" # [unix]
{% set pytest_args = "--cov-fail-under=96" %}
# TODO: investigate potential docker/locale issues upstream to restore coverage
# {% set pytest_args = "--cov-fail-under=54 -k 'not (export_empty or export_merged or serverextension_export)'" %} # [linux]
- pytest -vv {{ pytest_args }} --pyargs ipydrawio_export --script-launch-mode=subprocess --cov=ipydrawio_export --cov-report=term-missing:skip-covered
about:
home: https://github.com/deathbeds/{{ name }}
home: https://github.com/deathbeds/ipydrawio
summary: PDF export for IPyDrawio
license: Apache-2.0
license_file: {{ name }}-export/LICENSE.txt
license_file: ipydrawio-export/LICENSE.txt
about:
home: https://github.com/deathbeds/{{ name }}
home: https://github.com/deathbeds/ipydrawio
summary: Draw.io Diagrams as Jupyter Widgets
license: Apache-2.0
license_file: {{ name }}/LICENSE.txt
license_file: ipydrawio/LICENSE.txt
extra:
feedstock-name: ipydrawio
recipe-maintainers:
- bollwyvl

17
dodo.py
Wyświetl plik

@ -498,14 +498,15 @@ def task_conda():
targets=[*P.CONDA_PKGS.values()],
)
yield _ok(
dict(
name="test",
file_dep=[*P.CONDA_PKGS.values()],
actions=[[*args, "--test", *P.CONDA_PKGS.values()]],
),
P.OK_CONDA_TEST,
)
for name, pkg in P.CONDA_PKGS.items():
yield _ok(
dict(
name=f"test:{name}",
file_dep=[pkg],
actions=[[*args, "--test", pkg]],
),
P.OK_CONDA_TEST / f"{name}.ok",
)
if not P.TESTING_IN_CI:

Wyświetl plik

@ -12,7 +12,7 @@
"typescript": "~4.2.4"
},
"scripts": {
"build": "tsc -b",
"watch": "tsc -b -w"
"build": "tsc --build src",
"watch": "jlpm build --watch --preserveWatchOutput"
}
}

Wyświetl plik

@ -0,0 +1,23 @@
{
"extends": "../../tsconfigbase",
"compilerOptions": {
"outDir": "../lib",
"rootDir": ".",
"tsBuildInfoFile": "../.src.tsbuildinfo"
},
"include": ["./**/*"],
"references": [
{
"path": "..",
},
{
"path": "../../ipydrawio/src"
},
{
"path": "../../ipydrawio-pdf/src"
},
{
"path": "../../ipydrawio-notebook/src"
}
]
}

Wyświetl plik

@ -1,19 +1,9 @@
{
"extends": "../tsconfigbase",
"compilerOptions": {
"outDir": "lib",
"rootDir": "src"
"rootDir": ".",
"outDir": ".",
"tsBuildInfoFile": ".root.tsbuildinfo"
},
"include": ["src/**/*"],
"references": [
{
"path": "../ipydrawio"
},
{
"path": "../ipydrawio-pdf"
},
{
"path": "../ipydrawio-notebook"
}
]
"files": ["package.json"]
}

Wyświetl plik

@ -7,6 +7,8 @@
If you'd just like to _use_ this extension, please run:
```bash
mamba install -c conda-forge ipydrawio # recommended, or...
conda install -c conda-forge ipydrawio # or...
pip install ipydrawio
```

Wyświetl plik

@ -1,6 +1,6 @@
{
"name": "@deathbeds/ipydrawio-notebook",
"version": "1.0.1",
"version": "1.0.2",
"dependencies": {
"@jupyterlab/application": "3",
"@jupyterlab/notebook": "3"
@ -10,7 +10,7 @@
"typescript": "~4.2.4"
},
"peerDependencies": {
"@deathbeds/ipydrawio": "^1.0.1"
"@deathbeds/ipydrawio": "^1.0.2"
},
"files": [
"{lib,schema,style,src}/**/*.{ts,tsx,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,css}",

Wyświetl plik

@ -14,7 +14,9 @@
limitations under the License.
*/
export const NS = '@deathbeds/ipydrawio-notebook';
import * as PACKAGE from '../package.json';
export const NS = PACKAGE.name;
export const PLUGIN_ID = `${NS}:plugin`;
export const CMD_NS = 'ipydrawio';

Wyświetl plik

@ -0,0 +1,15 @@
{
"extends": "../../tsconfigbase",
"compilerOptions": {
"outDir": "../lib",
"rootDir": ".",
"tsBuildInfoFile": "../.src.tsbuildinfo"
},
"include": ["./**/*"],
"references": [
{
"path": "../../ipydrawio/src"
},
{"path": "../"}
]
}

Wyświetl plik

@ -1,13 +1,9 @@
{
"extends": "../tsconfigbase",
"compilerOptions": {
"outDir": "lib",
"rootDir": "src"
"rootDir": ".",
"outDir": ".",
"tsBuildInfoFile": ".root.tsbuildinfo"
},
"include": ["src/**/*"],
"references": [
{
"path": "../ipydrawio"
}
]
"files": ["package.json"]
}

Wyświetl plik

@ -7,6 +7,8 @@
If you'd just like to _use_ this extension, please run:
```bash
mamba install -c conda-forge ipydrawio-export # recommended, or...
conda install -c conda-forge ipydrawio-export # or...
pip install ipydrawio-export
```

Wyświetl plik

@ -1,6 +1,6 @@
{
"name": "@deathbeds/ipydrawio-pdf",
"version": "1.0.1",
"version": "1.0.2",
"dependencies": {
"@jupyterlab/application": "3"
},
@ -9,7 +9,7 @@
"typescript": "~4.2.4"
},
"peerDependencies": {
"@deathbeds/ipydrawio": "^1.0.1"
"@deathbeds/ipydrawio": "^1.0.2"
},
"files": [
"{lib,schema,style,src}/**/*.{ts,tsx,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,css}",

Wyświetl plik

@ -14,7 +14,9 @@
limitations under the License.
*/
export const NS = '@deathbeds/ipydrawio-pdf';
import * as PACKAGE from '../package.json';
export const NS = PACKAGE.name;
export const PLUGIN_ID = `${NS}:plugin`;
export const CMD_NS = `ipydrawio-pdf`;

Wyświetl plik

@ -0,0 +1,15 @@
{
"extends": "../../tsconfigbase",
"compilerOptions": {
"rootDir": ".",
"outDir": "../lib",
"tsBuildInfoFile": "../.src.tsbuildinfo"
},
"include": ["./**/*"],
"references": [
{ "path": "../" },
{
"path": "../../ipydrawio/src"
}
]
}

Wyświetl plik

@ -1,13 +1,9 @@
{
"extends": "../tsconfigbase",
"compilerOptions": {
"outDir": "lib",
"rootDir": "src"
"rootDir": ".",
"outDir": ".",
"tsBuildInfoFile": ".root.tsbuildinfo"
},
"include": ["src/**/*"],
"references": [
{
"path": "../ipydrawio"
}
]
"files": ["package.json"]
}

Wyświetl plik

@ -6,6 +6,8 @@
If you'd just like to _use_ this extension, please run:
```bash
mamba install -c conda-forge ipydrawio # recommended, or...
conda install -c conda-forge ipydrawio # or...
pip install ipydrawio
```

Wyświetl plik

@ -43,5 +43,5 @@
"build:pre": "python scripts/patch.py && python scripts/static.py"
},
"types": "lib/index.d.ts",
"version": "14.5.901"
"version": "14.5.902"
}

Wyświetl plik

@ -6,6 +6,8 @@
If you'd just like to _use_ this extension, please run:
```bash
mamba install -c conda-forge ipydrawio # recommended, or...
conda install -c conda-forge ipydrawio # or...
pip install ipydrawio
```

Wyświetl plik

@ -17,7 +17,7 @@
"@jupyter-widgets/jupyterlab-manager": "3"
},
"peerDependencies": {
"@deathbeds/ipydrawio-webpack": "^14.5.901",
"@deathbeds/ipydrawio-webpack": "^14.5.902",
"@jupyter-widgets/base": "4",
"@jupyter-widgets/controls": "3",
"@jupyter-widgets/jupyterlab-manager": "3"
@ -67,5 +67,5 @@
"url": "https://github.com/deathbeds/ipydrawio.git"
},
"types": "lib/index.d.ts",
"version": "1.0.1"
"version": "1.0.2"
}

Wyświetl plik

@ -16,6 +16,8 @@
limitations under the License.
*/
import * as PACKAGE from '../package.json';
import { Token } from '@lumino/coreutils';
import { Contents } from '@jupyterlab/services';
import { LabIcon } from '@jupyterlab/ui-components';
@ -23,8 +25,8 @@ import { ISettingRegistry } from '@jupyterlab/settingregistry';
import { DocumentRegistry } from '@jupyterlab/docregistry';
import { ReadonlyPartialJSONObject } from '@lumino/coreutils';
export const NS = '@deathbeds/ipydrawio';
export const VERSION = '1.0.1';
export const NS = PACKAGE.name;
export const VERSION = PACKAGE.version;
export const PLUGIN_ID = `${NS}:plugin`;
import { Diagram } from './editor';

Wyświetl plik

@ -0,0 +1,10 @@
{
"extends": "../../tsconfigbase",
"compilerOptions": {
"rootDir": ".",
"outDir": "../lib",
"tsBuildInfoFile": "../.src.tsbuildinfo"
},
"include": ["./**/*"],
"references": [{ "path": "../" }]
}

Wyświetl plik

@ -1,8 +1,9 @@
{
"extends": "../tsconfigbase",
"compilerOptions": {
"outDir": "./lib",
"rootDir": "./src"
"rootDir": ".",
"outDir": ".",
"tsBuildInfoFile": ".root.tsbuildinfo"
},
"include": ["src/*"]
"files": ["package.json"]
}

Wyświetl plik

@ -1,6 +1,7 @@
# IPyDrawio Export
[![binder-badge][]][binder] [![install from pypi][pypi-badge]][pypi]
[![install from conda-forge][conda-badge]][conda]
[![build][workflow-badge]][workflow] [![coverage][cov-badge]][cov]
> PDF export of [drawio](https://www.diagrams.net) diagrams for JupyterLab.
@ -10,7 +11,11 @@ information.
## Installation
> _Note: the `mamba`/`conda` installation method ensures `nodejs` is available_
```bash
mamba install -c conda-forge ipydrawio-export # recommended, or...
conda install -c conda-forge ipydrawio-export # or...
pip install ipydrawio-export
```
@ -37,7 +42,6 @@ jupyter server extension list # ... then check it again
PDF can also be generated from the command line:
```bash
pip install ipydrawio-export
jupyter drawio-export pdf some_file.dio
```
@ -62,13 +66,13 @@ jupyter ipydrawio-export provision
### Provision locations
If defined, these environment variables will be respected, and an
`ipydrawio_export` folder will be created:
`ipydrawio_export` folder will be created within:
- `$JUPYTER_DATA_DIR`
- `$IPYDRAWIO_DATA_DIR`
Otherwise, `ipydrawio-export` will provision its files into
`{sys.prefix}/ipydrawio_export`.
`{sys.prefix}/share/jupyter/ipydrawio_export`.
Of note:
@ -76,6 +80,12 @@ Of note:
- this location must be writeable by the user
- there must be about 400MiB available, primarily for `puppeteer`'s `chromium`
The effective location can be verified with:
```bash
jupyter ipydrawio-export provision --workdir
```
## Open Source
This work is licensed under the [Apache-2.0] License.
@ -111,6 +121,8 @@ limitations under the License.
[binder-badge]: https://mybinder.org/badge_logo.svg
[pypi-badge]: https://img.shields.io/pypi/v/ipydrawio-export
[pypi]: https://pypi.org/project/ipydrawio-export
[conda-badge]: https://img.shields.io/conda/vn/conda-forge/ipydrawio-export
[conda]: https://anaconda.org/conda-forge/ipydrawio-export
[workflow-badge]:
https://github.com/deathbeds/ipydrawio/workflows/.github/workflows/ci.yml/badge.svg
[workflow]:

Wyświetl plik

@ -52,7 +52,7 @@ include_package_data = True
zip_safe = False
install_requires =
ipydrawio >=1.0.0
ipydrawio >=1.0.2
pillow
pypdf2
requests_cache

Wyświetl plik

@ -1,6 +1,7 @@
# IPyDrawio
[![binder-badge][]][binder] [![install from pypi][pypi-badge]][pypi]
[![install from conda-forge][conda-badge]][conda]
[![reuse from npm][npm-badge]][npm] [![build][workflow-badge]][workflow]
[![coverage][cov-badge]][cov]
@ -17,8 +18,9 @@
## Installation
```bash
pip install ipydrawio ipydrawio-export
# TBD: conda install -c conda-forge ipydrawio
mamba install -c conda-forge ipydrawio # recommended, or...
conda install -c conda-forge ipydrawio # or...
pip install ipydrawio ipydrawio
```
## Features
@ -33,8 +35,14 @@ pip install ipydrawio ipydrawio-export
- Jupyter [Widgets][]
- `ipydrawio-export`
- Export print-quality PDF from diagrams
- > _BEWARE: some **heavy**, maybe fragile dependencies_
- optionally include editable Drawio XML as a PDF attachment
- > _BEWARE: some **heavy**, maybe fragile dependencies, `mamba`
> recommended_
```bash
mamba install -c conda-forge ipydrawio-export # recommended, or...
conda install -c conda-forge ipydrawio-export # or...
pip install ipydrawio ipydrawio-export
```
## Examples
@ -79,13 +87,13 @@ headless browser, powered by [@jgraph/draw-image-export2], `puppeteer`, and
- **NOTE**: this relies on being able to install `puppeteer` (and other
**arbitrary dependencies** with `jlpm` for now **when first used**
- _we'll figure out a better approach soon enough_
- `pip install ipydrawio-export`
- `pip install ipydrawio-export` or
`conda install -c conda-forge ipydrawio-export`
> For example:
> For example to install all the dependencies:
>
> ```bash
> conda install -yc conda-forge nodejs=12
> pip install ipydrawio-export
> conda install -yc conda-forge ipydrawio-export
> ```
## Open Source
@ -144,9 +152,11 @@ limitations under the License.
https://github.com/deathbeds/ipydrawio/actions?query=branch%3Amaster+workflow%3A.github%2Fworkflows%2Fci.yml
[roadmap]:
https://github.com/deathbeds/ipydrawio/blob/master/docs/ROADMAP.dio.ipynb
[npm]: https://npmjs.com/package/@deathbeds/ipydrawio
[conda-badge]: https://img.shields.io/conda/vn/conda-forge/ipydrawio
[conda]: https://anaconda.org/conda-forge/ipydrawio
[pypi-badge]: https://img.shields.io/pypi/v/ipydrawio
[pypi]: https://pypi.org/project/ipydrawio/
[npm]: https://npmjs.com/package/@deathbeds/ipydrawio
[npm-badge]: https://img.shields.io/npm/v/@deathbeds/ipydrawio
[cov-badge]:
https://codecov.io/gh/deathbeds/ipydrawio/branch/master/graph/badge.svg?token=9B74VKHQDK

Wyświetl plik

@ -131,20 +131,25 @@ JS_TARBALL = {
}
JS_TSCONFIG = {
k: v.parent / "tsconfig.json"
k: v.parent / "src/tsconfig.json"
for k, v in JS_PKG_JSON.items()
if (v.parent / "tsconfig.json").exists()
if (v.parent / "src/tsconfig.json").exists()
}
JS_TSSRC = {
k: sorted(
[*(v.parent / "src").rglob("*.ts")] + [*(v.parent / "src").rglob("*.tsx")]
[
*(v.parent.parent.parent / "src").rglob("*.ts"),
*(v.parent.parent / "src").rglob("*.tsx"),
]
)
for k, v in JS_TSCONFIG.items()
if (v.parent / "src").exists()
}
JS_TSBUILDINFO = {k: v.parent / "tsconfig.tsbuildinfo" for k, v in JS_TSCONFIG.items()}
JS_TSBUILDINFO = {
k: v.parent.parent / ".src.tsbuildinfo" for k, v in JS_TSCONFIG.items()
}
JS_STYLE = {
k: sorted((v.parent / "style").glob("*.css"))

Wyświetl plik

@ -72,23 +72,23 @@
tslib "~1.13.0"
"@deathbeds/ipydrawio-notebook@file:packages/ipydrawio-notebook":
version "1.0.1"
version "1.0.2"
dependencies:
"@jupyterlab/application" "3"
"@jupyterlab/notebook" "3"
"@deathbeds/ipydrawio-pdf@file:packages/ipydrawio-pdf":
version "1.0.1"
version "1.0.2"
dependencies:
"@jupyterlab/application" "3"
"@deathbeds/ipydrawio-webpack@file:packages/ipydrawio-webpack":
version "14.5.901"
version "14.5.902"
dependencies:
"@jupyterlab/application" "3"
"@deathbeds/ipydrawio@file:packages/ipydrawio":
version "1.0.1"
version "1.0.2"
dependencies:
"@jupyterlab/application" "3"
"@jupyterlab/launcher" "3"