Release Notes#
0.7.1 (23.04.2025)#
Documentation#
Dependencies#
0.7.0 (17.04.2025)#
Release 0.7.0 is a compatibility release to support major new python, numpy and asdf version.
Newly supported version include:
python=3.13numpy=2asdf=4
Version 0.7 is planned to be the last release to support python<3.11, numpy<2and asdf<4.
Fixes#
Handle
copy_arraysinWeldxFileforasdf>=3.1.0[PR 972].
Dependencies#
ASDF#
update schemas for upcoming ASDF standard 1.6.0 [PR 910].
Deprecations#
Release Notes#
0.6.9 (19.11.2024)#
Changes#
added support for homogeneous transformation matrices [PR 949]:
added
create_cs_from_homogeneous_transformationtoCoordinateSystemManageradded
from_homogeneous_transformationtoLocalCoordinateSystemadded
as_homogeneous_matrixtoLocalCoordinateSystem
Fixes#
Dependencies#
0.6.8 (07.06.2024)#
Changes#
use pandas.to_timedelta function to pass units to the TimeDeltaIndex object [PR 918].
Dependencies#
unpin nbval testing dependency.
pin
python<3.12[PR 933].
0.6.7 (2023.08.24)#
Added#
added
weldx.exceptionsmodule withWeldxException[PR 871].
Fixes#
Changes#
removed keyword
dummy_inline_arraysfrom functionasdf.util.write_bufferas it was only used internally [PR 875].
ASDF#
Dependencies#
require
asdf>=2.15.1[PR 886]
0.6.6 (19.04.2023)#
Version 0.6.6 is a compatibility release for xarray>=2023.4.0 .
Fixes#
explicitly keep reference time as xarray attribute in transformation and interpolation operations [PR 868] .
Dependencies#
compatibility with
xarray=2023.4.0andpandas=2[PR 868] .
0.6.5 (2023.04.06)#
Version 0.6.5 is a compatibility release to support new asdf and xarray and drops support for Python 3.8.
Please see the new minimal version requirements below.
Fixes#
fix non quantified xarray parameter inputs to
MathematicalExpression[PR 864].
Dependencies#
ASDF#
Move validators to new extension style and remove legacy extension code [PR 863].
0.6.4 (09.02.2023)#
Version 0.6.4 is a small maintenance release with no changes affecting user code.
Changes#
WeldxFilealso shows its JSON widget header representation in a JupyterHub based environment [PR 854].
ASDF#
remove preliminary validators from new style ASDF extension for compatibility with upcoming
asdfchanges [PR 853].
0.6.3 (02.02.2023)#
Version 0.6.3 is a minor release to increase compatibility with Python 3.11 and asdf 2.14
with updates to the documentation structure and a new schema for video files.
Added#
New class to handle image sequence data and videos
weldx.util.media_file.MediaFile[PR 727].
Dependencies#
Changes#
ASDF#
0.6.2 (07.11.2022)#
Release 0.6.2 comes with new and updated tutorials and some minor fixes and code improvements.
Added#
Changes#
weldxnow requires pip to install (previously it could be installed by directly invoking setup.py) [PR 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[PR 775]weld_seamis now a required field in themulti_pass_weldschema [PR 790]Add section about time-dependent spatial data to the
CoordinateSystemManagertutorial [PR 792]
Fixes#
MathematicalExpressionnow uses SciPy and NumPy in numerical function evaluation. This enables it to use advanced integration methods and fixes lengths computation ofDynamicShapeSegment[PR 770].Fix errors in tutorial about quality standards [PR 777]
Correct wrong handling of absolute times of the
TimeSeriesclass [PR 791]Added support for Pint 0.20 [PR 818].
0.6.1 (19.05.2022)#
Release 0.6.1 moves advanced plotting functions over to the weldx-widgets package and includes minor bugfixes.
Changes#
Fixes#
Dependencies#
0.6.0 (29.04.2022)#
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:
my_number = 42.0
my_number_wrapped = weldx.Q_(my_number, "meter")
Furthermore, a new class called GenericSeries was added. It provides a common interface to describe coordinate-based
data either by discrete values or mathematical expressions. A built-in mechanism lets you derive specialized series with
specific requirements. For more information, have a look
at the new tutorial .
Added#
DynamicShapeSegment[PR 713]SpatialSeriesandDynamicTraceSegment[PR 699]first draft of the
multi_pass_weldschema for WelDX files [PR 667]add
GenericSeriesas base class supporting arrays and equations [PR 618]add experimental unit support for
.weldx.interp_likeaccessor [PR 518]new tutorial series that introduces the most important WelDX features step by step based on a full example file [PR 555]
add
pathoption toWeldxFile.infoandWeldxFile.show_asdf_header[PR 555]
Removed#
removed access to
WeldxFile.data[PR 744]
Changes#
The
wx_property_tagvalidator now also accepts lists of different tags. [PR 670] When multiple tags are passed, validation will fail if none of the supplied patterns match.Due to a
pandasupdate, using the + operator withTimeand either apandas.TimedeltaIndexorpandas.DatetimeIndexnow only works if theTimeinstance is on the left-hand side. [PR 684]LocalCoordinateSystemandCoordinateSystemManagernow supportpint.Quantityas coordinates. Types without units are still supported but are deprecated. [PR 683]Renamed show_asdf_header of
WeldxFiletoWeldxFile.header. [PR 694]WeldxFile.custom_schemanow accepts an optional tuple with the first element being a schema to validate upon read, the second upon writing the data. [PR 697]Reshape
SpatialDatacoordinates to(-1, 3)before exporting withmeshiofor compatibility. [PR 723]SpatialData,LocalCoordinateSystemandCoordinateSystemManagernow require units [PR 731]
Fixes#
TimeSeriescan now be serialized correctly when using absolute times [PR 677]
Documentation#
ASDF#
update weldx extension and manifest version to
0.1.1[PR 655]removed legacy
weldxtag and schema support [PR 600]update
core/geometry/spatial_datato version0.1.1with support for multidimensional data [PR 655]add
wx_shapevalidation support forcore/data_array[PR 655]update
core/time_seriesschema to usetime/time[PR 677]update
core/variableschema to allow single string as data [PR 707]update the default sorting order of
select_tagforWeldxConverter[PR 733]add custom validation behavior to
wx_unit[PR 739]
deprecations#
Coordinates without units for
LocalCoordinateSystemandCoordinateSystemManager
Dependencies#
weldxnow works with Python-3.10. [PR 696]bump to
asdf >=2.8.2[PR 668]add
pint-xarraydependency [PR 518]bump to
numpy>=1.20(for numpy.typing) [PR 656]bump to
pint >=0.18for typing [PR 664]bump to
xarray >=0.19for array creation compatibility [PR 618]add
bidictdependency [PR 618]set
networkx !=2.7for plotting compatibility (for now) [PR 714, PR 722]
0.5.2 (18.11.2021)#
Added#
CoordinateSystemManagercan now delete already assigned data withCoordinateSystemManager.delete_data. GH 644 [PR 645]WeldxFilehandles anarray_inline_thresholdparameter 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. [PR 643]
Changes#
WeldxFilenow 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. [PR 641]WeldxFilenow hides ASDF added fields like history and asdf_library from the dictionary interface. To access these, there are separate properties [PR 625].Allow handling of
timevalues as singular coordinates without dimensions in some classes [PR 635].
Fixes#
Fix wrong dimension order being passed through in
SpatialData[PR 635].
Dependencies#
0.5.1 (04.11.2021)#
Added#
Time.durationto get the covered duration of the data andTime.resampleto get a newTimeinstance with resampled time data within the same boundaries as the original object [PR 603]Added
weldx.geometry.SpatialData.limitsto calculate coordinate boundaries. [PR 604]Added
weldx.asdf.util.get_schema_treeutility to display schema files. [PR 610]
Changes#
All public interfaces of the
weldx.geometrymodule classes now require the usage of units and support unit strings as inputs. [PR 588]CoordinateSystemManager.time_unionnow returns aTimeinstance instead of a pandas type [PR 603]SpatialDatanow supports time dependent data. [PR 612]Renamed the parameter
coordinate_system_nameofCoordinateSystemManager.assign_datatoreference_systemand added the parametertarget_system. If the latter one is notNone, the data will be transformed and stored at this coordinate system. [PR 612]improve dimension handling of
SpatialData[PR 622]The
MathematicalExpressionnow supportsxarray.DataArrayas parameters. Furthermore, multidimensional parameters of aMathematicalExpressionthat is passed to aTimeSeriesare no longer required to have an extra dimension that represents time. [PR 621]
Fixes#
Documentation#
move the schema documentation to BAMWelDX/weldx-standard [PR 594]
ASDF#
fix
processmissing as required property insingle_pass_weld-0.1.0.yaml[PR 627]
deprecations#
removed
welding.util.lcs_coords_from_ts[PR 620]
Dependencies#
adjust code to support pint 0.18 unit formatting. [PR 616]
0.5.0 (12.10.2021)#
Release 0.5.0 brings a major rework of the weldx standard and many
API improvements:
Highlights#
weldxnow internally uses the reworked ASDF extension API. The schema and tag naming patterns have also changed to the recommendedasdf://format.New
Timeclass to make handling of time related functionality easier and consistent.many internal reworks to streamline the code.
rework the API documentation to show the most important classes.
Compatibility#
the
0.5.xversions will retain backwards compatibility with files generated with the0.4.xversions and convert them to the new naming schema on save. Support for the old schemas will be dropped in the0.6release.
Added#
added “units” (exact) and “dimensionality” (dimensionality compatible) checking options to
util.xr_check_coords[PR 442]Timeclass that can be initialized from several other time types and provides time related utility functions [PR 433]TimeSeriesnow supports setting areference_timeabsolute time values for interpolation [PR 440]LocalCoordinateSystem.from_axis_vectorsandCoordinateSystemManager.create_cs_from_axis_vectors[PR 472]added PyTest flags to use
WeldxFileinternally inasdf.util.read_bufferandasdf.util.write_buffer[PR 469].added classes and functions at the top-level of the package to the documentation [PR 437].
added
weldx.asdf.util.get_highest_tag_versionutility function [PR 523].added support for parsing temperature deltas with
Δ°notation [PR 565].WeldxFile.infoto print a quick content overview to the stdout. [PR 576].
Removed#
removed functions now covered by
Time:pandas_time_delta_to_quantity,to_pandas_time_index,get_time_union[PR 448]removed custom
wx_tagvalidator [PR 461]attrdict dependency replaced with a custom implementation of recursive dicts [PR 470].
from_xyz,from_xy_and_orientation,from_yz_and_orientationandfrom_xz_and_orientationfromLocalCoordinateSystem. UseLocalCoordinateSystem.from_axis_vectorsinstead. [PR 472]create_cs_from_xyz,create_cs_from_xy_and_orientation,create_cs_from_yz_and_orientationandcreate_cs_from_xz_and_orientationfromCoordinateSystemManager. UseCoordinateSystemManager.create_cs_from_axis_vectorsinstead. [PR 472]is_column_in_matrix,is_row_in_matrix,to_float_array,to_list,matrix_is_close,vector_is_closeandtriangulate_geometryfromweldx.util[PR 490]remove the
:syntax fromwx_shapevalidation [PR 537]
Changes#
move
welding.util.sineutility function toweldx.welding.util[PR 439]LocalCoordinateSystemandCoordinateSystemManagerfunction parameters related to time now support all types that are also supported by the newTimeclass [PR 448]LocalCoordinateSystem.interp_timereturns 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 someCoordinateSystemManagermethods (CoordinateSystemManager.get_cs,CoordinateSystemManager.interp_time) [PR 476]util.WeldxAccessor.time_refsetter now raises aTypeErrorifNoneis passed to it [PR 489]move xarray related utility functions into
weldx.util.xarrayand all other ones intoweldx.util.util. Content from both submodules can still be accessed usingweldx.util[PR 490]xarray implementations for the
LocalCoordinateSystemnow operate on time as a dimension instead of coordinates [PR 486]WeldxFile.copynow creates a copy to a (optional) file. Before it just returned a dictionary [PR 504].changed the default
pint.Unitformatting to short notation:~[PR 519]. (the asdf serialization still uses long notation ([PR 560]))welding_currentandwelding_voltagein 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.*"[PR 578].Geometry.__init__now also accepts aniso.IsoBaseGrooveasprofileparameter [PR 583].Renamed
Geometry.__init__parametertracetotrace_or_length. Apint.Quantityis now an accepted input. In this case the value will be used to create a linear trace of the given length [PR 583].
Fixes#
WeldxFile.show_asdf_headerprints output on console, before it only returned the header as parsed dict and string representation. Also tweaked efficiency by not writing binary blocks [PR 459], [PR 469].Merging and unmerging multiple
CoordinateSystemManagerinstances now correctly preserves all attached data. [PR 494].util.compare_nestedcan compare sets [PR 496]WeldxFilerespectsmodeargument also for BytesIO and file handles [PR 539].
Documentation#
ASDF#
all schema version numbers set to
0.1.0[PR 535].add
time/timeschema to supportTimeclass [PR 463].rework ASDF extension to new asdf 2.8 API [PR 467]
move schema files to
weldx/schemascreate extension manifest in
weldx/manifests. The manifest also contains tag mappings for legacy tag names for backwards compatibility.move tag module to
weldx/tagsrefactor all asdf uris to new
asdf://naming convention, see https://asdf.readthedocs.io/en/latest/asdf/extending/uris.html#entities-identified-by-urireplaced all referenced weldx tag versions in schemas with
0.1.*refactor
asdf://weldx.bam.de/weldx/schemas/datamodels/single_pass_weld-1.0.0.schematoasdf://weldx.bam.de/weldx/schemas/datamodels/single_pass_weld-0.1.0and enable schema testadd legacy class for validators support in
weldx.asdf._extension.pyasdf utility functions
weldx.asdf.util.uri_match,weldx.asdf.util.get_converter_for_tagandweldx.asdf.util.get_weldx_extensionadd
devtools/scripts/update_manifest.pyto auto update manifest from extension metadatacustom 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[PR 533]rewrote
asdf://weldx.bam.de/weldx/schemas/core/transformations/coordinate_system_hierarchyschema for theCoordinateSystemManager. It uses the digraph schemas to serialize the coordinate system structure. [PR 497]add
asdf://weldx.bam.de/weldx/schemas/unit/quantityandasdf://weldx.bam.de/weldx/schemas/unit/unitschemas [PR 522]use
asdf://weldx.bam.de/weldx/schemas/unit/quantityinstead oftag:stsci.edu:asdf/unit/quantity-1.1.0[PR 542].refactor properties named
unittounitsand useunit/unittag [PR 551].reworked the optional syntax for
wx_shapevalidation [PR 571].
Dependencies#
0.4.1 (20.07.2021)#
Added#
Changes#
ASDF#
sort
List[str]before serialization of mostweldxclasses to avoid random reordering in the same file and enforce consistency. [PR 430]
deprecations#
lcs_coords_from_tswill be removed in version 0.5.0 [PR 426]
0.4.0 (13.07.2021)#
Release 0.4.0 brings many new major features to weldx
Highlights#
Quality Standards: Users can now create and integrate their own quality standards by defining new ASDF schema definitions and loading them into weldx. It is possible to add new definitions or modify existing schemas to create your own flavour of the weldx standard.
WeldxFile: Create/Load/Modify asdf files directly using
WeldxFilewith many helpful utility functions included.TimeSeries support for
LocalCoordinateSystem: It is now possible to define a time-dependentLocalCoordinateSystemwith a simple function by passing aTimeSeriesobject with aMathematicalExpressionascoordinates. For an example, click the link above.MeasurementChain The
measurement.MeasurementChainhas been reworked to be easier and more flexible to use.
full changelog below:
Added#
add support for quality standards. Further information can be found in the corresponding new tutorial. [PR 211]
added
asdf.util.get_schema_pathhelper function [PR 325]added
util.compare_nestedto check equality of two nested data structures. [PR 328]added
WeldxFilewrapper to handle asdf files with history and schemas more easily. [PR 341].add
"step"as additional method toutil.xr_interp_like[PR 363]add
util.dataclass_nested_eqdecorator for dataclasses with array-like fields [PR 378]adds a
asdf.util.dataclass_serialization_classutility function that automatically generates the asdf serialization class for python dataclasses. [PR 380]Added method to set the interpolation method to the
TimeSeries[PR 353]Add
TimeSeries.is_discreteandTimeSeries.is_expressionproperties toTimeSeries[PR 366]Add
measurement.MeasurementChain.output_signalproperty that returns the output signal of themeasurement.MeasurementChain[PR 394]
Changes#
WXRotation.from_eulernow accepts apint.Quantityas input. [PR 318]move tests folder to
weldx/tests[PR 323]asdf.util.get_yaml_headerreceived a new option parse, which optionally returns the parsed YAML header asasdf.tagged.TaggedDict. [PR 338]refactor
asdf_json_reprintoasdf.util.view_tree[PR 339]TimeSeries.interp_time[PR 353]now returns a new
TimeSeriesinstead of axarray.DataArrayif the data has already been interpolated before, a warning is emitted
TimeSeriessupports now all interpolation methods supported by xarray
The
measurement.MeasurementChainis now internally based on anetworkx.DiGraph. New functions are also added to the class to simplify its usage. [PR 326] The following additional changes were applied during the update of themeasurement.MeasurementChain:renamed
DataTransformationclass tomeasurement.SignalTransformationrenamed
Sourcetomeasurement.SignalSourceAdded additional functionality to
measurement.Signal,measurement.SignalTransformationandGenericEquipmentRemoved
DataclassUpdated asdf schemas of all modified classes and the ones that contained references to those classes
allow input of string quantities in
MathematicalExpressionparameters and a few other places [PR 402] [PR 416]LocalCoordinateSystem__init__now accepts aTimeSeriesas input. All methods of theCoordinateSystemManageralso support this new behavior [PR 366]During the creation of a
WeldxFilethe path of a passed custom schema is resolved automatically [PR 412].
Documentation#
ASDF#
fix inline array serialization for new 64bit inline limit [PR 218]
add
asdf.extension.WeldxExtension.yaml_tag_handlestoWeldxExtension[PR 218]add
uuid-1.0.0.yamlschema as basic version 4 UUID implementation [PR 330]add
core/graph/di_node,core/graph/di_edge&core/graph/di_graphfor implementing a genericnetworkx.DiGraph[PR 330]compatibility with ASDF-2.8 [PR 355]
data attached to an instance of the
CoordinateSystemManageris now also stored in a WelDX file [PR 364]replace references to base asdf tags with
-1.*version wildcard [PR 373]update
single-pass-weldx.1.0.0.schemato allow groove types by wildcard [PR 373]fix attributes serialization of DataSet children [PR 384].
update
wx_shapesyntax inlocal_coordinate_system-1.0.0[PR 366]add custom
wx_shapevalidation tovariable-1.0.0[PR 366]remove outdated
TimeSeriesshape validation code [PR 399]use asdf tag validation pattern for
wx_property_tag[PR 410]update
MathematicalExpressionschema [PR 410]
Fixes#
added check for symmetric key difference for mappings with
util.compare_nested[PR 377]
deprecations#
deprecate
wx_tagvalidator (use default asdf uri pattern matching) [PR 410]
0.3.3 (30.03.2021)#
This is a bugfix release to correctly include the asdf schema files in conda builds. [PR 314]
ASDF#
fix required welding wire metadata in
single-pass-weldx.1.0.0.schema[PR 316]
0.3.2 (29.03.2021)#
Added#
util.deprecateddecorator [PR 295]
Removed#
rotation_matrix_x,rotation_matrix_yandrotation_matrix_z[PR 317]
Dependencies#
restrict
scipy!=1.6.0,scipy!=1.6.1[PR 300]
ASDF#
Fixes#
prevent creation of
welding.groove.iso_9692_1.IsoBaseGroovewith negative parameters [PR 306]
0.3.1 (21.03.2021)#
Added#
plot function for
measurement.MeasurementChain[PR 288]
ASDF#
Changes#
CoordinateSystemManager.plot_graphnow renders static and time-dependent edges differently [PR 291]use
pintcompatible array syntax inwelding.groove.iso_9692_1.IsoBaseGroove.to_profilemethods [PR 189]CSM and LCS plot function get a
scale_vectorsparameter. It scales the plotted coordinate system vectors when using matplotlib as backend [PR 293]
Fixes#
A warning is now emitted if a
LocalCoordinateSystemdrops a provided time during construction. This usually happens if the coordinates and orientation only contain a single data point. [PR 285]
0.3.0 (12.03.2021)#
Added#
add
CoordinateSystemManager.relabelfunction [PR 219]add
SpatialDataclass for storing 3D point data with optional triangulation [PR 234]add
plotfunction toSpatialData[PR 251]add
plotfunction to visualizeLocalCoordinateSystemandCoordinateSystemManagerinstances in 3d space [PR 231]add
weldx.welding.groove.iso_9692_1.IsoBaseGroove.cross_sect_areaproperty to compute cross sectional area between the workpieces [PR 248].add
weldx.welding.util.compute_welding_speedfunction [PR 248].
ASDF#
Add possibility to store meta data and content of an external file in an ASDF file [PR 215]
Python class:
asdf.ExternalFileSchema:
core/file-1.0.0.yaml
Added support for serializing generic metadata and userdata attributes for weldx classes. [PR 209]
the provisional attribute names are
wx_metadataandwx_user
Nonevalues are removed from the asdf tree for allweldxclasses. [PR 212]add
datamodelsdirectory and examplehttp://weldx.bam.de/schemas/weldx/datamodels/single_pass_weld-1.0.0.schemaschema [PR 190]schemas in the
datamodelsdirectory do not define any tags and can be referenced in other schemas and ascustom_schemawhen reading/writingASDF-filesthe
single_pass_weld-1.0.0.schemais an example schema for a simple, linear, single pass GMAW applicationadd
core/geometry/point_cloud-1.0.0.yamlschema [PR 234]
add file schema describing a simple linear welding application
datamodels/single_pass_weld-1.0.0.schema[PR 256]
Documentation#
Changes#
pass variable names as tuple to
sympy.lambdifyinMathematicalExpressionto prevent sympy deprecation [PR 214]set
conda-forgeas primary channel inenvironment.yamlandbuild_env.yaml[PR 214]set minimum Python version to 3.7 [PR 220]
geometry.Profile.rasterizecan return list of rasterized shapes instead of flat ndarray (with settingstack=False) [PR 223]geometry.Profile.plotplots individual line objects for each shape (instead of a single line object) [PR 223]remove jinja templates and related code [PR 228]
add
stackoption to mostgeometryclasses for rasterization [PR 234]The graph of a
CoordinateSystemManageris now plotted withCoordinateSystemManager.plot_graphinstead ofCoordinateSystemManager.plot. [PR 231]add custom
wx_shapevalidation forTimeSeriesandpint.Quantity[PR 256]refactor the
transformationsandvisualizationmodule into smaller files [PR 247]refactor
weldx.utilityintoutil[PR 247]refactor
weldx.asdf.utilsintoasdf.util[PR 247]it is now allowed to merge a time-dependent
timedeltasubsystem into anotherCoordinateSystemManagerinstance if the parent instance has set an explicit reference time [PR 268]
Fixes#
don not inline time dependent
LocalCoordinateSystem.coordinates[PR 222]fix “datetime64” passing for “timedelta64” in
util.xr_check_coords[PR 221]fix
util.WeldxAccessor.time_ref_restorenot working correctly if notime_refwas set [PR 221]fix deprecated signature in
WXRotation[PR 224]fix a bug with singleton dimensions in xarray interpolation/matmul [PR 243]
update some documentation formatting and links [PR 247]
fix
wx_shapevalidation for scalarpint.QuantityandTimeSeriesobjects [PR 256]fix a case where
CoordinateSystemManager.time_unionwould return with mixedpandas.DatetimeIndexandpandas.TimedeltaIndextypes [PR 268]
Dependencies#
0.2.2 (30.11.2020)#
Added#
Added
util.ureg_check_classclass decorator to enablepintdimensionality checks with@dataclass[PR 179].Made coordinates and orientations optional for LCS schema. Missing values are interpreted as unity translation/rotation. An empty LCS object represents a unity transformation step. [PR 177]
added
welding.util.lcs_coords_from_tsfunction [PR 199]add a tutorial with advanced use case for combining groove interpolation with different TCP movements and distance calculations [PR 199]
Changes#
refactor welding groove classes [PR 181]
refactor groove codebase to make use of subclasses and classnames for more generic functions
add
_metaattribute to subclasses that map class attributes (dataclass parameters) to common namesrework
get_grooveto make use of new class layout and parse function arguments
create
weldingmodule (contains GMAW processes and groove definitions) [PR 181]move
GmawProcessTypeAsdftoasdf/tagsfolder [PR 181]reorder module imports in
weldx.__init__[PR 181]support timedelta dtypes in ASDF
data_array/variable[PR 191]add
set_axes_equaloption to some geometry plot functions (now defaults toFalse) [PR 199]make
welding.util.sinepublic function [PR 199]switch to setuptools_scm versioning and move package metadata to setup.cfg [PR 206]
ASDF#
refactor ISO 9692-1 groove schema definitions and classes [PR 181]
move base schema definitions in file
terms-1.0.0.yamltoweldx/groovesplit old schema into multiple files (1 per groove type) and create folder
iso_9692_1_2013_12
0.2.1 (26.10.2020)#
Changes#
Documentation
Documentation is published on readthedocs
API documentation is now available
New tutorial about 3 dimensional geometries [PR 105]
CoordinateSystemManagersupports multiple time formats and can get a reference time [PR 162]
each instance can be named
gets a
CoordinateSystemManager.plotfunction to visualize the graphcoordinate systems can be updated using
CoordinateSystemManager.add_cssupports deletion of coordinate systems
instances can now be merged and unmerged
LocalCoordinateSystemLocalCoordinateSystemnow acceptspandas.TimedeltaIndexandpint.Quantityas time inputs when provided with a referencepandas.Timestampastime_ref[PR 97]LocalCoordinateSystemnow acceptsWXRotation-objects asorientation[PR 97]Internal structure of
LocalCoordinateSystemis now based onpandas.TimedeltaIndexand a referencepandas.Timestampinstead ofpandas.DatetimeIndex. As a consequence, providing a reference timestamp is now optional. [PR 126]
util.xr_interp_likenow accepts non-iterable scalar inputs for interpolation. [PR 97]add
pintcompatibility to somegeometryclasses (experimental)when passing quantities to constructors (and some functions), values get converted to default unit
mmand passed on as magnitude.old behavior is preserved.
add
weldx.utility.xr_check_coordsfunction to check coordinates of xarray object against dtype and value restrictions [PR 125]add
weldx.utility._sineto easily create sine TimeSeries [PR 168]enable
force_ndarray_like=Trueas default option when creating the globalpint.UnitRegistry[PR 167]util.xr_interp_likekeeps variable and coordinate attributes from original DataArray [PR 174]rework
util.to_pandas_time_indexto accept many different formats (LCS, DataArray) [PR 174]add utility functions for handling time coordinates to “weldx” accessor [PR 174]
ASDF extension & schemas#
add
weldx.asdf.types.WxSyntaxErrorexception for custom weldx ASDF syntax errors [PR 99]add custom
wx_tagvalidation and updatewx_property_tagto allow new syntax [ PR 99 ] the following syntax can be used:wx_tag: http://stsci.edu/schemas/asdf/core/software-* # allow every version wx_tag: http://stsci.edu/schemas/asdf/core/software-1 # fix major version wx_tag: http://stsci.edu/schemas/asdf/core/software-1.2 # fix minor version wx_tag: http://stsci.edu/schemas/asdf/core/software-1.2.3 # fix patch version
add basic schema layout and
GmawProcessclass for arc welding process implementation [PR 104]add example notebook and documentation for arc welding process [PR 104]
allow optional properties for validation with
wx_shapeby putting the name in brackets like(optional_prop)[PR 176]
Fixes#
0.2.0 (30.07.2020)#
ASDF#
add
wx_unitandwx_shapevalidatorsadd
doc/shape-validation.mddocumentation forwx_shape[PR 75]add
doc/unit-validation.mddocumentation forwx_unitadd unit validation to
iso_groove-1.0.0.yamlfixed const/enum constraints and properties in
iso_groove-1.0.0.yamladd NetCDF inspired common types (
Dimension,Variable) with corresponding asdf serialization classesadd asdf serialization classes and schemas for
xarray.DataArray,xarray.Dataset,weldx.transformations.LocalCoordinateSystemandweldx.transformations.CoordinateSystemManager.add test for
xarray.DataArray,xarray.Dataset,weldx.transformations.LocalCoordinateSystemandweldx.transformations.CoordinateSystemManagerserialization.allow using
pint.Quantitycoordinates inLocalCoordinateSystem[PR 70]add measurement related ASDF serialization classes: [PR 70]
equipment/generic_equipment-1.0.0measurement/data-1.0.0data_transformation-1.0.0measurement/error-1.0.0measurement/measurement-1.0.0measurement/measurement_chain-1.0.0measurement/signal-1.0.0measurement/source-1.0.0
add example notebook for measurement chains in tutorials [PR 70]
add support for
sympyexpressions withweldx.core.MathematicalExpressionand ASDF serialization incore/mathematical_expression-1.0.0[PR 70], [PR 76]add class to describe time series -
weldx.core.TimeSeries[PR 76]add
wx_property_tagvalidator [PR 72]the
wx_property_tagvalidator restricts all properties of an object to a single tag. For example the following object can have any number of properties but all must be of typetag:weldx.bam.de:weldx/time/timestamp-1.0.0type: object additionalProperties: true # must be true to allow any property wx_property_tag: tag:weldx.bam.de:weldx/time/timestamp-1.0.0
It can be used as a “named” mapping replacement instead of YAML
arrays.add
core/transformation/rotation-1.0.0schema that implementsscipy.spatial.transform.RotationandWXRotationclass to create custom taggedRotationinstances for custom serialization. [PR 79]update requirements to
asdf>=2.7[PR 83]update
anyOftooneOfin ASDF schemas [PR 83]add
__eq__methods toLocalCoordinateSystemandCoordinateSystemManager[PR 87]
0.1.0 (05.05.2020)#
ASDF#
add basic file/directory layout for asdf files
asdf schemas are located in
weldx/asdf/schemas/weldx.bam.de/weldxtag implementations are in
weldx/asdf/tags/weldx
implement support for pint quantities
implement support for basic pandas time class
implement base welding classes from AWS/NIST “A Welding Data Dictionary”
add and implement ISO groove types (DIN EN ISO 9692-1:2013)
add basic jinja templates and functions for adding simple dataclass objects
setup package to include and install ASDF extensions and schemas (see setup.py, MANIFEST.in)
add basic tests for writing/reading all ASDF classes (these only run code without any real checks!)
module:#
add setup.py package configuration for install
required packages
package metadata
asdf extension entry points
version support
update pandas, scipy, xarray and pint minimum versions (in conda env and setup.py)
add versioneer
update options in setup.cfg
update tool configurations