Weldx

Latest version: v0.6.7

Safety actively analyzes 630094 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

0.6.2

Release `0.6.2` comes with new and updated tutorials and some minor fixes and code improvements.

Added

- New tutorial that demonstrates the usage of the CSM in conjunction with an existing WelDX file \[{pull}`793`\]
- New tutorial about the `MeasurementChain` class using an existing WelDX file \[{pull}`796`\]

Changes

- `weldx` now requires pip to install (previously it could be installed by directly invoking setup.py) \[{pull}`774`\].
From a users perspective nothing changes here, as the package was always recommended to be installed via pip.
- Updated the outdated tutorial about the `LocalCoordinateSystem` \[{pull}`775`\]
- `weld_seam` is now a required field in the `multi_pass_weld` schema \[{pull}`790`\]
- Add section about time-dependent spatial data to the `CoordinateSystemManager` tutorial \[{pull}`792`\]

Fixes

- `MathematicalExpression` now uses SciPy and NumPy in numerical function evaluation. This enables it to use
advanced integration methods and fixes lengths computation of `DynamicShapeSegment` \[{pull}`770`\].
- Fix errors in tutorial about quality standards \[{pull}`777`\]
- Correct wrong handling of absolute times of the `TimeSeries` class \[{pull}`791`\]
- Added support for Pint 0.20 \[{pull}`818`\].

0.6.1

Release `0.6.1` moves advanced plotting functions over to the `weldx-widgets` package and includes minor bugfixes.

Changes

- `WeldxFile` now raises a `KeyError`, if the user tries to directly read or manipulate a protected ASDF keyword
within the file. \[{pull}`759`\]
- Updated the outdated tutorial about the `CoordinateSystemManager` \[{pull}`767`\]

Fixes

- Fix interactive `view_tree` display \[{pull}`756`\].
- Increase `mypy` coverage and update type hints and GH action \[{pull}`753`\].

Dependencies

- `weldx` now (optionally) requires `weldx_widgets` to visualize coordinate systems/manager \[{pull}`749`\].
- NumPy is not required as a build time dependency anymore, as Bottleneck now provides binaries on PyPI \[{pull}`749`\].

0.6.0

This release includes major changes to the handling and support of units in the API and ASDF schemas.
All classes now support and require quantities where appropriate. Plain numbers without units are no longer supported
and will raise an exception. If the number is truly dimensionless, you still have to wrap it with
the quantity class `weldx.Q_` like this:

python

0.5.2

Added

- `CoordinateSystemManager` can now delete already assigned data with
`CoordinateSystemManager.delete_data`. {issue}`644` \[{pull}`645`\]
- `WeldxFile` handles an `array_inline_threshold` parameter to
indicate if short arrays will be serialized as strings, or as binary
block. Note that this does not affect arrays, which are being shared
across several objects in the same file. \[{pull}`643`\]

Changes

- `WeldxFile` now raises an exception, if a warning is emitted during
loading the weldx ASDF extension, this should prevent erroneous data
during loading, for example missing dependencies. \[{pull}`641`\]
- `WeldxFile` now hides ASDF added fields like history and asdf_library
from the dictionary interface. To access these, there are separate
properties \[{pull}`625`\].
- Allow handling of `time` values as singular coordinates without
dimensions in some classes \[{pull}`635`\].

Fixes

- Fix wrong dimension order being passed through in `SpatialData`
\[{pull}`635`\].

Dependencies

- Removed `ipykernel` dependency. \[{pull}`634`\]
- The `K3D` implementation now uses the experimental
`weldx-widgets` backend if available \[{pull}`636`\]

0.5.1

Added

- `Time.duration` to get the covered duration of the data and
`Time.resample` to get a new `Time` instance with resampled time data
within the same boundaries as the original object \[{pull}`603`\]
- Added `weldx.geometry.SpatialData.limits` to calculate coordinate
boundaries. \[{pull}`604`\]
- Added `weldx.asdf.util.get_schema_tree` utility to display schema
files. \[{pull}`610`\]

Changes

- All public interfaces of the `weldx.geometry` module classes now
require the usage of units and support unit strings as inputs.
\[{pull}`588`\]
- `CoordinateSystemManager.time_union` now returns a `Time` instance
instead of a pandas type \[{pull}`603`\]
- `SpatialData` now supports time dependent data. \[{pull}`612`\]
- Renamed the parameter `coordinate_system_name` of
`CoordinateSystemManager.assign_data` to `reference_system` and
added the parameter `target_system`. If the latter one is not
`None`, the data will be transformed and stored at this coordinate
system. \[{pull}`612`\]
- improve dimension handling of `SpatialData` \[{pull}`622`\]
- The `MathematicalExpression` now supports `xarray.DataArray` as
parameters. Furthermore, multidimensional parameters of a
`MathematicalExpression` that is passed to a `TimeSeries` are no
longer required to have an extra dimension that represents time.
\[{pull}`621`\]

Fixes

- fix broken `Time.all_close` to now work as intended \[{pull}`603`\]
- fix `weldx.asdf.util.get_yaml_header` to work correctly with windows
line endings. \[{pull}`609`\]

Documentation

- move the schema documentation to [BAMWelDX/weldx-standard](https://github.com/BAMWelDX/weldx-standard) \[{pull}`594`\]

ASDF

- fix `process` missing as required property in
`single_pass_weld-0.1.0.yaml` \[{pull}`627`\]

deprecations

- removed `welding.util.lcs_coords_from_ts` \[{pull}`620`\]

Dependencies

- adjust code to support pint 0.18 unit formatting. \[{pull}`616`\]

0.5.0

API improvements:

Highlights

- `weldx` now internally uses the reworked ASDF extension API. The
schema and tag naming patterns have also changed to the recommended
`asdf://` format.
- New `Time` class to make handling of time related functionality
easier and consistent.
- many internal reworks to streamline the code.
- rework the [API documentation](https://weldx.readthedocs.io/en/latest/api.html) to show the most
important classes.

Compatibility

- the `0.5.x` versions will retain backwards compatibility with files
generated with the `0.4.x` versions and convert them to the new
naming schema on save. Support for the old schemas will be dropped in
the `0.6` release.

Added

- added "units" (exact) and "dimensionality" (dimensionality
compatible) checking options to `util.xr_check_coords` \[{pull}`442`\]
- `Time` class that can be initialized from several other time types
and provides time related utility functions \[{pull}`433`\]
- `TimeSeries` now supports setting a `reference_time` absolute time
values for interpolation \[{pull}`440`\]
- `LocalCoordinateSystem.from_axis_vectors` and
`CoordinateSystemManager.create_cs_from_axis_vectors` \[{pull}`472`\]
- added PyTest flags to use `WeldxFile` internally in
`asdf.util.read_buffer` and `asdf.util.write_buffer` \[{pull}`469`\].
- added classes and functions at the top-level of the package to the
documentation \[{pull}`437`\].
- added `weldx.asdf.util.get_highest_tag_version` utility function
\[{pull}`523`\].
- added support for parsing temperature deltas with `Δ°` notation
\[{pull}`565`\].
- `WeldxFile.info` to print a quick content overview to the stdout.
\[{pull}`576`\].

Removed

- removed functions now covered by `Time`:
`pandas_time_delta_to_quantity`, `to_pandas_time_index`,
`get_time_union` \[{pull}`448`\]
- removed custom `wx_tag` validator \[{pull}`461`\]
- attrdict dependency replaced with a custom implementation of
recursive dicts \[{pull}`470`\].
- `from_xyz`, `from_xy_and_orientation`,
`from_yz_and_orientation` and `from_xz_and_orientation` from
`LocalCoordinateSystem`. Use
`LocalCoordinateSystem.from_axis_vectors` instead. \[{pull}`472`\]
- `create_cs_from_xyz`, `create_cs_from_xy_and_orientation`,
`create_cs_from_yz_and_orientation` and
`create_cs_from_xz_and_orientation` from `CoordinateSystemManager`.
Use `CoordinateSystemManager.create_cs_from_axis_vectors` instead.
\[{pull}`472`\]
- `is_column_in_matrix`, `is_row_in_matrix`, `to_float_array`,
`to_list`, `matrix_is_close`, `vector_is_close` and
`triangulate_geometry` from `weldx.util` \[{pull}`490`\]
- remove the `:` syntax from `wx_shape` validation \[{pull}`537`\]

Changes

- move `welding.util.sine` utility function to `weldx.welding.util`
\[{pull}`439`\]
- `LocalCoordinateSystem` and `CoordinateSystemManager` function
parameters related to time now support all types that are also
supported by the new `Time` class \[{pull}`448`\]
- `LocalCoordinateSystem.interp_time` returns static systems if only a
single time value is passed or if there is no overlap between the
interpolation time range and the coordinate systems time range. This
also affects the results of some `CoordinateSystemManager` methods
(`CoordinateSystemManager.get_cs` ,
`CoordinateSystemManager.interp_time`) \[{pull}`476`\]
- `util.WeldxAccessor.time_ref` setter now raises a `TypeError` if
`None` is passed to it \[{pull}`489`\]
- move xarray related utility functions into `weldx.util.xarray` and
all other ones into `weldx.util.util`. Content from both submodules
can still be accessed using `weldx.util` \[{pull}`490`\]
- xarray implementations for the `LocalCoordinateSystem` now operate on
time as a dimension instead of coordinates \[{pull}`486`\]
- `WeldxFile.copy` now creates a copy to a (optional) file. Before it
just returned a dictionary \[{pull}`504`\].
- changed the default `pint.Unit` formatting to short notation `:~`
\[{pull}`519`\]. (the asdf
serialization still uses long notation (\[{pull}`560`\]))
- `welding_current` and `welding_voltage` in the single-pass weld
schema now expect the tag
`"asdf://weldx.bam.de/weldx/tags/core/time_series-0.1.*"` instead
of `"asdf://weldx.bam.de/weldx/tags/measurement/signal-0.1.*"`
\[{pull}`578`\].
- `Geometry.__init__` now also accepts an `iso.IsoBaseGroove` as
`profile` parameter \[{pull}`583`\].
- Renamed `Geometry.__init__` parameter `trace` to
`trace_or_length`. A `pint.Quantity` is now an accepted input. In
this case the value will be used to create a linear trace of the
given length \[{pull}`583`\].

Fixes

- `WeldxFile.show_asdf_header` prints output on console, before it only
returned the header as parsed dict and string representation. Also
tweaked efficiency by not writing binary blocks \[{pull}`459`\], \[{pull}`469`\].
- Merging and unmerging multiple `CoordinateSystemManager` instances
now correctly preserves all attached data. \[{pull}`494`\].
- `util.compare_nested` can compare sets \[{pull}`496`\]
- `WeldxFile` respects `mode` argument also for BytesIO and file
handles \[{pull}`539`\].

Documentation

- added installation guide with complete environment setup (Jupyterlab
with extensions) and possible problems and solutions \[{pull}`450`\]
- split API documentation into user classes/functions and a full API
reference \[{pull}`469`\].
- added citation metadata in `CITATION.cff` \[{pull}`568`\].

ASDF

- all schema version numbers set to `0.1.0` \[{pull}`535`\].

- add `time/time` schema to support `Time` class \[{pull}`463`\].

- rework ASDF extension to new asdf 2.8 API \[{pull}`467`\]

- move schema files to `weldx/schemas`
- create extension manifest in `weldx/manifests`. The manifest
also contains tag mappings for legacy tag names for backwards
compatibility.
- move tag module to `weldx/tags`
- refactor all asdf uris to new `asdf://` naming convention, see
<https://asdf.readthedocs.io/en/latest/asdf/extending/uris.html#entities-identified-by-uri>
- replaced all referenced weldx tag versions in schemas with
`0.1.*`
- refactor
`asdf://weldx.bam.de/weldx/schemas/datamodels/single_pass_weld-1.0.0.schema`
to
`asdf://weldx.bam.de/weldx/schemas/datamodels/single_pass_weld-0.1.0`
and enable schema test
- add legacy class for validators support in
`weldx.asdf._extension.py`
- asdf utility functions `weldx.asdf.util.uri_match`,
`weldx.asdf.util.get_converter_for_tag` and
`weldx.asdf.util.get_weldx_extension`
- add `devtools/scripts/update_manifest.py` to auto update
manifest from extension metadata
- custom shape validation must now be implemented via staticmethod
`weldx.asdf.types.WeldxConverter.shape_from_tagged`

- provide legacy schema support in
`weldx/schemas/weldx.bam.de/legacy` \[{pull}`533`\]

- rewrote
`asdf://weldx.bam.de/weldx/schemas/core/transformations/coordinate_system_hierarchy`
schema for the `CoordinateSystemManager`. It uses the digraph schemas
to serialize the coordinate system structure. \[{pull}`497`\]

- add `asdf://weldx.bam.de/weldx/schemas/unit/quantity` and
`asdf://weldx.bam.de/weldx/schemas/unit/unit` schemas \[{pull}`522`\]

- use `asdf://weldx.bam.de/weldx/schemas/unit/quantity` instead of
`tag:stsci.edu:asdf/unit/quantity-1.1.0` \[{pull}`542`\].

- refactor properties named `unit` to `units` and use `unit/unit`
tag \[{pull}`551`\].

- reworked the optional syntax for `wx_shape` validation \[{pull}`571`\].

Dependencies

- set `k3d!=2.10` because of conda dependency bugs \[{issue}`474`, {pull}`577`\]
- Python 3.10 is not supported in this version. \[{pull}`575`\]

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.