weldx

The welding data exchange format

https://github.com/bamweldx/weldx

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 10 committers (10.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary

Keywords

advanced-scientific-data-format asdf data-format iso-9692-1 opendata python welding welding-community weldx

Keywords from Contributors

mesh yolov5s optimizer parallel pipeline-testing datacleaner data-profilers interpretability particles python-version-management
Last synced: 6 months ago · JSON representation ·

Repository

The welding data exchange format

Basic Info
  • Host: GitHub
  • Owner: BAMWelDX
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: master
  • Homepage: https://www.bam.de/weldx
  • Size: 7.62 MB
Statistics
  • Stars: 22
  • Watchers: 5
  • Forks: 9
  • Open Issues: 43
  • Releases: 30
Topics
advanced-scientific-data-format asdf data-format iso-9692-1 opendata python welding welding-community weldx
Created about 6 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog License Citation

README.md

WelDX - data and quality standards for welding research data

CF Codacy Badge DeepSource Documentation License Zenodo codecov package builds documentation builds pre-commit.ci status pytest static analysis

Overview

Scientific welding data covers a wide range of physical domains and timescales and are measured using various different sensors. Complex and highly specialized experimental setups at different welding institutes complicate the exchange of welding research data further.

The WelDX research project aims to foster the exchange of scientific data inside the welding community by developing and establishing a new open source file format suitable for the documentation of experimental welding data and upholding associated quality standards. In addition to fostering scientific collaboration inside the national and international welding community an associated advisory committee will be established to oversee the future development of the file format. The proposed file format will be developed with regard to current needs of the community regarding interoperability, data quality and performance and will be published under an appropriate open source license. By using the file format objectivity, comparability and reproducibility across different experimental setups can be improved.

The project is under active development by the Welding Technology division at Bundesanstalt für Materialforschung und -prüfung (BAM).

Features

WelDX provides several Python API to perform standard tasks like experiment design, data analysis, and experimental data archiving.

Planning

  • Define measurement chains with all involved devices, error sources, and metadata annotations.
  • Handle complex coordinate transformations needed to describe the movement of welding robots, workpieces, and sensors.
  • Planing of welding experiments.
  • convenient creation of ISO 9692-1 welding groove types.

Data analysis

  • Plotting routines to inspect measurement chains, workpieces (planned and welded).
  • Analysis functions for standard measurements like track energy, welding speed to fill an ISO groove, and more to come.

Data archiving

The ultimate goal of this project is to store all information about the experiment in a single file. We choose the popular ASDF format for this task. This enables us to store arbitrary binary data, while maintaining a human readable text based header. All information is stored in a tree like structure, which makes it convenient to structure the data in arbitrary complex ways.

The ASDF format and the provided extensions for WelDX types like

  • workpiece information (used alloys, geometries)
  • welding process parameters (GMAW parameters)
  • measurement data
  • coordinate systems (robot movement, sensors)

enables us to store the whole experimental pipeline performed in a modern laboratory.

Design goals

We seek to provide a user-friendly, well documented programming interface. All functions and classes in WelDX have attached documentation about the involved parameters (types and explanation), see API docs. Further we provide rich Jupyter notebook tutorials about the handling of the basic workflows.

All involved physical quantities used in weldx (lengths, angles, voltages, currents, etc.) should be attached with a unit to ensure automatic conversion and correct mathematical handling. Units are being used in all standard features of WelDX and are also archived in the ASDF files. This is implemented by the popular Python library Pint, which flawlessly handles the creation and conversion of units and dimensions.

Publications

Installation

The WelDX package can be installed using any conda or mamba package manager from the Conda-Forge channel. If you have not yet installed a conda package manager, we recommend installing Miniforge. The installer can then be found here, and a detailed documentation for the installation process is provided here. Once this step has been completed, you will gain access to both the conda and the mamba command and will be able to proceed with the installation of the WelDX package.

In order to create a new conda environment called weldx containing the WeldX package, run the console command:

shell conda create --name weldx --channel conda-forge weldx weldx_widgets

To install the WeldX package into your existing environment instead, use:

shell conda install weldx weldx_widgets --channel conda-forge

If installed, all conda commands can be replaced by mamba to take advantage of its faster solver.

The package is also available on pypi and can be installed via:

shell pip install weldx weldx-widgets

As weldx currently depends on the package bottleneck, which contains C/C++ code, you will need a working C/C++ compiler. The conda package does not have this requirement as it only installs pre-compiled binaries. So if you do not know how to install a working compiler, we strongly encourage using the conda package.

Documentation

The full documentation is published on readthedocs.org. Click on one of the following links to get to the desired version:

Funding

This research is funded by the Federal Ministry of Education and Research of Germany under project number 16QK12.

Owner

  • Name: BAMWelDX
  • Login: BAMWelDX
  • Kind: organization
  • Email: weldx@bam.de
  • Location: Berlin, Germany

the welding data exchange format project, fostering open science and open data in welding research

Citation (CITATION.cff)

# YAML 1.2
---
cff-version: 1.2.0
title: "weldx: The welding data exchange format"
type: software
version: v0.7.2
date-released: 2025-07-10
license: BSD-3-Clause
authors:
  - affiliation: "Bundesanstalt für Materialforschung und -prüfung (BAM)"
    email: cagtay.fabry@bam.de
    family-names: Fabry
    given-names: Çağtay
    orcid: "https://orcid.org/0000-0002-0788-8079"
  - affiliation: "Bundesanstalt für Materialforschung und -prüfung (BAM)"
    email: volker.hirthammer@bam.de
    family-names: Hirthammer
    given-names: Volker
    orcid: "https://orcid.org/0000-0002-0160-969X"
  - affiliation: "Bundesanstalt für Materialforschung und -prüfung (BAM)"
    email: martin.scherer@bam.de
    family-names: Scherer
    given-names: Martin K.
    orcid: "https://orcid.org/0000-0002-7983-4387"
  - affiliation: "Bundesanstalt für Materialforschung und -prüfung (BAM)"
    email: andreas.pittner@bam.de
    family-names: Pittner
    given-names: Andreas
    orcid: "https://orcid.org/0000-0002-5019-7775"
  - affiliation: "Bundesanstalt für Materialforschung und -prüfung (BAM)"
    email: michael.winkler@bam.de
    family-names: Winkler
    given-names: Michael
    orcid: "https://orcid.org/0000-0003-3719-4817"
message: "If you use this software in your work, please cite it using the following metadata."
repository-code: "https://github.com/BAMWelDX/weldx"
doi: "10.5281/zenodo.5565185"
keywords:
  - weldx
  - welding
  - "research data"
abstract: |
  "Scientific welding data covers a wide range of physical domains and
  timescales and are measured using various different sensors. Complex and
  highly specialized experimental setups at different welding institutes
  complicate the exchange of welding research data further.

  The WelDX research project aims to foster the exchange of scientific
  data inside the welding community by developing and establishing a new
  open source file format suitable for the documentation of experimental
  welding data and upholding associated quality standards. In addition to
  fostering scientific collaboration inside the national and international
  welding community an associated advisory committee will be established
  to oversee the future development of the file format. The proposed file
  format will be developed with regard to current needs of the community
  regarding interoperability, data quality and performance and will be
  published under an appropriate open source license. By using the file
  format objectivity, comparability and reproducibility across different
  experimental setups can be improved."

GitHub Events

Total
  • Create event: 36
  • Release event: 5
  • Issues event: 9
  • Watch event: 3
  • Delete event: 30
  • Issue comment event: 64
  • Push event: 96
  • Pull request review comment event: 2
  • Pull request review event: 10
  • Pull request event: 74
Last Year
  • Create event: 36
  • Release event: 5
  • Issues event: 9
  • Watch event: 3
  • Delete event: 30
  • Issue comment event: 64
  • Push event: 96
  • Pull request review comment event: 2
  • Pull request review event: 10
  • Pull request event: 74

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 561
  • Total Committers: 10
  • Avg Commits per committer: 56.1
  • Development Distribution Score (DDS): 0.501
Past Year
  • Commits: 49
  • Committers: 6
  • Avg Commits per committer: 8.167
  • Development Distribution Score (DDS): 0.694
Top Committers
Name Email Commits
Cagtay Fabry 4****y 280
vhirtham v****r@b****e 107
Martin K. Scherer m****r 79
pre-commit-ci[bot] 6****] 41
dependabot[bot] 4****] 27
vhirtham 2****m 14
Brett Graham b****m@g****m 5
MNagel m****g@g****t 4
Çağtay Fabry c****y@b****e 3
William Jamieson w****n@s****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 40
  • Total pull requests: 198
  • Average time to close issues: 4 months
  • Average time to close pull requests: 18 days
  • Total issue authors: 5
  • Total pull request authors: 9
  • Average comments per issue: 2.0
  • Average comments per pull request: 2.66
  • Merged pull requests: 173
  • Bot issues: 0
  • Bot pull requests: 89
Past Year
  • Issues: 8
  • Pull requests: 64
  • Average time to close issues: 3 days
  • Average time to close pull requests: 13 days
  • Issue authors: 3
  • Pull request authors: 5
  • Average comments per issue: 0.13
  • Average comments per pull request: 1.38
  • Merged pull requests: 51
  • Bot issues: 0
  • Bot pull requests: 36
Top Authors
Issue Authors
  • CagtayFabry (14)
  • marscher (14)
  • braingram (6)
  • mbwinkler (3)
  • vhirtham (2)
  • dependabot[bot] (1)
Pull Request Authors
  • dependabot[bot] (75)
  • CagtayFabry (70)
  • pre-commit-ci[bot] (44)
  • marscher (21)
  • braingram (11)
  • vhirtham (10)
  • mbwinkler (6)
  • zacharyburnett (4)
  • WilliamJamieson (1)
Top Labels
Issue Labels
bug (8) CI (6) ASDF (6) documentation (5) xarray (4) low priority (4) core (3) enhancement (3) dependencies (2) deprecation (2) refactor (2) tutorials (1) file (1) units (1) visualization (1) dependabot (1) transformations (1) feature (1) geometry (1) tests (1)
Pull Request Labels
no-changelog-entry-needed (142) dependencies (76) dependabot (33) ASDF (19) documentation (15) CI (14) release (14) transformations (7) units (7) bug (7) tests (6) xarray (4) tutorials (4) deprecation (4) validation (2) refactor (2) enhancement (1) measurements (1) visualization (1) core (1) quality-standards (1)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 154 last-month
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 2
    (may contain duplicates)
  • Total versions: 42
  • Total maintainers: 3
pypi.org: weldx

Python API for the WelDX file format and standard

  • Documentation: https://weldx.readthedocs.io/
  • License: BSD 3-Clause License Copyright (c) 2020, BAMWelDX All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • Latest release: 0.7.2
    published 8 months ago
  • Versions: 30
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 154 Last month
Rankings
Dependent packages count: 10.0%
Average: 19.7%
Dependent repos count: 21.7%
Downloads: 27.6%
Maintainers (3)
Last synced: 7 months ago
conda-forge.org: weldx

Scientific welding data covers a wide range of physical domains and timescales and are measured using various different sensors. Complex and highly specialized experimental setups at different welding institutes complicate the exchange of welding research data further. The WelDX research project aims to foster the exchange of scientific data inside the welding community by developing and establishing a new open source file format suitable for documentation of experimental welding data and upholding associated quality standards. In addition to fostering scientific collaboration inside the national and international welding community an associated advisory committee will be established to oversee the future development of the file format. The proposed file format will be developed with regard to current needs of the community regarding interoperability, data quality and performance and will be published under an appropriate open source license. By using the file format objectivity, comparability and reproducibility across different experimental setups can be improved.

  • Versions: 12
  • Dependent Packages: 1
  • Dependent Repositories: 1
Rankings
Dependent repos count: 24.4%
Dependent packages count: 29.0%
Average: 39.0%
Forks count: 50.6%
Stargazers count: 51.9%
Last synced: 7 months ago

Dependencies

.github/workflows/build_pkg.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • mamba-org/provision-with-micromamba main composite
.github/workflows/changelog.yml actions
  • actions/checkout v3 composite
.github/workflows/citation.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/docs.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • mamba-org/provision-with-micromamba main composite
.github/workflows/pytest.yml actions
  • CagtayFabry/pydeps2env main composite
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • codecov/codecov-action v3.1.1 composite
  • mamba-org/provision-with-micromamba main composite
.github/workflows/pytest_asdf.yml actions
  • CagtayFabry/pydeps2env main composite
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • jannekem/run-python-script-action v1 composite
  • mamba-org/provision-with-micromamba main composite
.github/workflows/static_analysis.yml actions
  • CagtayFabry/pydeps2env main composite
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • mamba-org/provision-with-micromamba main composite
  • pr-annotators/mypy-pr-annotator v1.0.0 composite
  • pre-commit/action v3.0.0 composite
.github/workflows/unit_test_results.yml actions
  • EnricoMi/publish-unit-test-result-action v2 composite
pyproject.toml pypi
  • IPython *
  • asdf >=2.8.2,!=2.14.0,!=2.14.1,!=2.14.2
  • bidict *
  • boltons *
  • bottleneck >=1.3.3
  • fs *
  • meshio *
  • networkx >=2,!=2.7.0,!=2.8.1
  • numpy >=1.20
  • pandas >=1.0
  • pint >=0.18
  • pint-xarray >=0.2.1
  • psutil *
  • scipy >=1.4,!=1.6.0,!=1.6.1
  • sympy >=1.6
  • xarray >=0.19,<2022.09.0
doc/json_mime_render_plugin/pyproject.toml pypi
devtools/environment.yml conda
  • asdf >=2.8
  • black
  • boltons
  • bottleneck
  • codecov
  • fs
  • ipykernel
  • ipympl
  • k3d
  • line_profiler
  • matplotlib
  • memory_profiler
  • meshio
  • nbqa
  • nbsphinx
  • nbval
  • networkx
  • numpy >=1.18
  • numpydoc >=0.5
  • openpyxl
  • pandas >=1.0
  • pint >=0.11
  • pip
  • pydata-sphinx-theme
  • pytest
  • pytest-cov
  • pytest-xdist
  • python 3.10.*
  • recommonmark
  • ruff
  • scipy <1.6
  • seaborn
  • setuptools_scm
  • snakeviz
  • sphinx
  • sphinx-autodoc-typehints
  • sphinx-copybutton
  • sphinxcontrib-napoleon
  • sympy >=1.6
  • xarray >=0.15