Add a short description here!
Project description
pybpmn-parser
Starter code for using the hdBPMN dataset for diagram recognition research.
The dump_coco.py script can be used to convert the images and BPMN XMLs into a COCO dataset. COCO is a common format used in computer vision research to annotate the objects and keypoints in images.
python scripts/dump_coco.py path/to/hdBPMN path/to/target/coco/directory/hdbpmn
Moreover, the demo.ipynb Jupyter notebook can be used to visualize (1) the extracted bounding boxes, keypoints, and relations, and (2) the annotated BPMN diagram overlayed over the hand-drawn image. Note that the latter requires the bpmn-to-image tool, which in turn requires a nodejs installation.
Installation
pip install pybpmn-parser
Development
In order to set up the necessary environment:
- create an environment
pybpmn-parser
with the help of conda:conda env create -f environment.yml
- activate the new environment with:
conda activate pybpmn-parser
NOTE: The conda environment will have pybpmn-parser installed in editable mode. Some changes, e.g. in
setup.cfg
, might require you to runpip install -e .
again.
Optional and needed only once after git clone
:
-
install JupyterLab kernel
python -m ipykernel install --user --name "${CONDA_DEFAULT_ENV}" --display-name "$(python -V) (${CONDA_DEFAULT_ENV})"
-
install several pre-commit git hooks with:
pre-commit install # You might also want to run `pre-commit autoupdate`
and checkout the configuration under
.pre-commit-config.yaml
. The-n, --no-verify
flag ofgit commit
can be used to deactivate pre-commit hooks temporarily.
Dependency Management & Reproducibility
- Always keep your abstract (unpinned) dependencies updated in
environment.yml
and eventually insetup.cfg
if you want to ship and install your package viapip
later on. - Create concrete dependencies as
environment.lock.yml
for the exact reproduction of your environment with:conda env export -n pybpmn-parser -f environment.lock.yml
For multi-OS development, consider using--no-builds
during the export. - Update your current environment with respect to a new
environment.lock.yml
using:conda env update -f environment.lock.yml --prune
Project Organization
├── LICENSE.txt <- License as chosen on the command-line.
├── README.md <- The top-level README for developers.
├── data
│ ├── external <- Data from third party sources.
│ ├── interim <- Intermediate data that has been transformed.
│ ├── processed <- The final, canonical data sets for modeling.
│ └── raw <- The original, immutable data dump.
├── docs <- Directory for Sphinx documentation in rst or md.
├── environment.yml <- The conda environment file for reproducibility.
├── notebooks <- Jupyter notebooks. Naming convention is a number (for
│ ordering), the creator's initials and a description,
│ e.g. `1.0-fw-initial-data-exploration`.
├── pyproject.toml <- Build system configuration. Do not change!
├── scripts <- Analysis and production scripts which import the
│ actual Python package, e.g. train_model.py.
├── setup.cfg <- Declarative configuration of your project.
├── setup.py <- Use `pip install -e .` to install for development or
│ or create a distribution with `tox -e build`.
├── src
│ └── pybpmn <- Actual Python package where the main functionality goes.
├── tests <- Unit tests which can be run with `py.test`.
├── .coveragerc <- Configuration for coverage reports of unit tests.
├── .isort.cfg <- Configuration for git hook that sorts imports.
└── .pre-commit-config.yaml <- Configuration of pre-commit git hooks.
Note
This project has been set up using PyScaffold 4.0.1 and the dsproject extension 0.6.1.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pybpmn-parser-0.0.4.tar.gz
.
File metadata
- Download URL: pybpmn-parser-0.0.4.tar.gz
- Upload date:
- Size: 3.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2f00859f1351d1aaeb9f0d8349d6776e39ed9c7de095d860410158e50669ae3 |
|
MD5 | 205667bd9310dc2ad40f42973ceee521 |
|
BLAKE2b-256 | 071b7449d71ee681c61f13e2739db69aa657c21b62cce88b302c83a3e5223d96 |
Provenance
File details
Details for the file pybpmn_parser-0.0.4-py2.py3-none-any.whl
.
File metadata
- Download URL: pybpmn_parser-0.0.4-py2.py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83ab9136eaf255cb3a981101f2153739571128281d9dcdb876d3a481cbc70075 |
|
MD5 | ef4d0345c0f235aa8d1cd8fa161cf32f |
|
BLAKE2b-256 | 4d6ffb320567bfa7003ab740e4a4cc3e4d210027e7939832affbff1babe8a30c |