diff --git a/Dockerfile b/Dockerfile index 7084a7029a94427835dbee9b334613a9de57e8e6..670321e788dfcc19215872851cb8dafca45f48a3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -126,9 +126,6 @@ ARG SETUPTOOLS_SCM_PRETEND_VERSION='0.0' # Build documentation -# This is a temporary workaround because atomisticparsers installs an older version -# of nomad-lab via pip install git+...still containing pynxtools as a submodule -RUN pip uninstall -y pynxtools RUN pip install ".[parsing,infrastructure,dev]" RUN ./scripts/generate_docs_artifacts.sh \ @@ -174,14 +171,6 @@ RUN pip install --progress-bar off --prefer-binary -r requirements.txt # install COPY --from=dev_python /app/dist/nomad-lab-*.tar.gz . RUN pip install nomad-lab-*.tar.gz -# This is a temporary workaround because atomisticparsers installs an older version -# of nomad-lab via pip install git+...still containing pynxtools as a submodule. -RUN pip uninstall -y pynxtools -RUN pip install pynxtools[convert] -# This is a temporary workaround because pynxtools installs an incompatible -# version of h5grove -RUN pip uninstall -y h5grove -RUN pip install h5grove[fastapi]==1.3.0 # Reduce the size of the packages RUN find /usr/local/lib/python3.9/ -type d -name 'tests' ! -path '*/networkx/*' -exec rm -r '{}' + \ diff --git a/gui/tests/artifacts.js b/gui/tests/artifacts.js index bd59789aa0ddc414002407951d51dbf9a3f24f80..5ec6ea6e0c1e5d06adaf69bb449ab0b7b58e8bcb 100644 --- a/gui/tests/artifacts.js +++ b/gui/tests/artifacts.js @@ -39983,18 +39983,14 @@ window.nomadArtifacts = { "type_data": [ "apm", "ellips", - "em_nion", - "em_om", - "em_spctrscpy", + "em", "example", - "hall", "json_map", "json_yml", "mpes", + "srd", "sts", - "transmission", - "xps", - "xrd" + "xps" ] } }, @@ -40014,23 +40010,65 @@ window.nomadArtifacts = { "type": { "type_kind": "Enum", "type_data": [ + "NXapm", + "NXapm_composition_space_results", + "NXapm_compositionspace_config", + "NXapm_compositionspace_results", + "NXapm_paraprobe_clusterer_config", + "NXapm_paraprobe_clusterer_results", + "NXapm_paraprobe_distancer_config", + "NXapm_paraprobe_distancer_results", + "NXapm_paraprobe_intersector_config", + "NXapm_paraprobe_intersector_results", + "NXapm_paraprobe_nanochem_config", + "NXapm_paraprobe_nanochem_results", + "NXapm_paraprobe_ranger_config", + "NXapm_paraprobe_ranger_results", + "NXapm_paraprobe_selector_config", + "NXapm_paraprobe_selector_results", + "NXapm_paraprobe_spatstat_config", + "NXapm_paraprobe_spatstat_results", + "NXapm_paraprobe_surfacer_config", + "NXapm_paraprobe_surfacer_results", + "NXapm_paraprobe_tessellator_config", + "NXapm_paraprobe_tessellator_results", + "NXapm_paraprobe_transcoder_config", + "NXapm_paraprobe_transcoder_results", "NXarchive", "NXarpes", "NXcanSAS", + "NXcxi_ptycho", "NXdirecttof", + "NXdispersive_material", + "NXellipsometry", + "NXem", "NXfluo", "NXindirecttof", "NXiqproc", + "NXiv_temp", + "NXlab_electro_chemo_mechanical_preparation", + "NXlab_sample_mounting", "NXlauetof", "NXmonopd", + "NXmpes", + "NXms", + "NXms_score_config", + "NXms_score_results", "NXmx", + "NXopt", + "NXraman", "NXrefscan", "NXreftof", + "NXroot", "NXsas", "NXsastof", "NXscan", + "NXsensor_scan", + "NXsnsevent", + "NXsnshisto", "NXspe", "NXsqom", + "NXsts", "NXstxm", "NXtas", "NXtofnpd", @@ -40039,6 +40077,7 @@ window.nomadArtifacts = { "NXtomo", "NXtomophase", "NXtomoproc", + "NXtransmission", "NXxas", "NXxasproc", "NXxbase", @@ -40047,215 +40086,9 @@ window.nomadArtifacts = { "NXxlaue", "NXxlaueplate", "NXxnb", - "NXxrot", - "NXaberration", - "NXaberration_model", - "NXaberration_model_ceos", - "NXaberration_model_nion", - "NXactivity", - "NXactuator", - "NXadc", - "NXamplifier", - "NXaperture_em", - "NXapm", - "NXapm_composition_space_results", - "NXapm_input_ranging", - "NXapm_input_reconstruction", - "NXapm_paraprobe_config_clusterer", - "NXapm_paraprobe_config_distancer", - "NXapm_paraprobe_config_intersector", - "NXapm_paraprobe_config_nanochem", - "NXapm_paraprobe_config_ranger", - "NXapm_paraprobe_config_selector", - "NXapm_paraprobe_config_spatstat", - "NXapm_paraprobe_config_surfacer", - "NXapm_paraprobe_config_tessellator", - "NXapm_paraprobe_config_transcoder", - "NXapm_paraprobe_results_clusterer", - "NXapm_paraprobe_results_distancer", - "NXapm_paraprobe_results_intersector", - "NXapm_paraprobe_results_nanochem", - "NXapm_paraprobe_results_ranger", - "NXapm_paraprobe_results_selector", - "NXapm_paraprobe_results_spatstat", - "NXapm_paraprobe_results_surfacer", - "NXapm_paraprobe_results_tessellator", - "NXapm_paraprobe_results_transcoder", - "NXbeam_path", - "NXbeam_splitter", - "NXbias_spectroscopy", - "NXcalibration", - "NXcg_alpha_complex", - "NXcg_cylinder_set", - "NXcg_ellipsoid_set", - "NXcg_face_list_data_structure", - "NXcg_geodesic_mesh", - "NXcg_grid", - "NXcg_half_edge_data_structure", - "NXcg_hexahedron_set", - "NXcg_marching_cubes", - "NXcg_parallelogram_set", - "NXcg_point_set", - "NXcg_polygon_set", - "NXcg_polyhedron_set", - "NXcg_polyline_set", - "NXcg_primitive_set", - "NXcg_roi_set", - "NXcg_sphere_set", - "NXcg_tetrahedron_set", - "NXcg_triangle_set", - "NXcg_triangulated_surface_mesh", - "NXcg_unit_normal_set", - "NXchamber", - "NXchemical_composition", - "NXchemical_process", - "NXcircuit", - "NXcircuit_board", - "NXclustering", - "NXcollectioncolumn", - "NXcomponent_em", - "NXcontainer", - "NXcoordinate_system", - "NXcoordinate_system_set", - "NXcorrector_cs", - "NXcrystal_structure", - "NXcs_computer", - "NXcs_cpu", - "NXcs_cpu_obj", - "NXcs_cpu_sys", - "NXcs_filter_boolean_mask", - "NXcs_gpu", - "NXcs_gpu_obj", - "NXcs_gpu_sys", - "NXcs_io_obj", - "NXcs_io_sys", - "NXcs_mm_obj", - "NXcs_mm_sys", - "NXcs_prng", - "NXcs_profiling", - "NXcs_profiling_event", - "NXcsg", - "NXcxi_ptycho", - "NXdac", - "NXdata_mpes", - "NXdata_mpes_detector", - "NXdeflector", - "NXdelocalization", - "NXdispersion", - "NXdispersion_function", - "NXdispersion_repeated_parameter", - "NXdispersion_single_parameter", - "NXdispersion_table", - "NXdispersive_material", - "NXdistortion", - "NXebeam_column", - "NXelectron_level", - "NXelectronanalyser", - "NXelectrostatic_kicker", - "NXellipsometry", - "NXem", - "NXem_adf", - "NXem_base", - "NXem_conventions", - "NXem_conventions_ebsd", - "NXem_correlation", - "NXem_ebsd", - "NXem_eds", - "NXem_eels", - "NXem_img", - "NXem_method", - "NXem_msr", - "NXem_sim", - "NXenergydispersion", - "NXevent_data_em", - "NXevent_data_em_set", - "NXfabrication", - "NXfiber", - "NXgraph_edge_set", - "NXgraph_node_set", - "NXgraph_root", - "NXibeam_column", - "NXidentifier", - "NXimage_c_set", - "NXimage_r_set", - "NXimage_r_set_diff", - "NXimage_set", - "NXinteraction_vol_em", - "NXion", - "NXisocontour", - "NXiv_bias", - "NXiv_temp", - "NXlab_electro_chemo_mechanical_preparation", - "NXlab_sample_mounting", - "NXlens_em", - "NXlens_opt", - "NXlockin", - "NXmagnetic_kicker", - "NXmanipulator", - "NXmatch_filter", - "NXmpes", - "NXms", - "NXms_feature_set", - "NXms_ipf", - "NXms_ipf_set", - "NXms_mtex_config", - "NXms_odf", - "NXms_odf_set", - "NXms_pf", - "NXms_pf_set", - "NXms_recon", - "NXms_score_config", - "NXms_score_results", - "NXms_snapshot", - "NXms_snapshot_set", - "NXopt", - "NXoptical_system_em", - "NXpeak", - "NXphysical_process", - "NXpid", - "NXpolarizer_opt", - "NXpositioner_sts", - "NXprocess_mpes", - "NXprogram", - "NXpulser_apm", - "NXpump", - "NXquadric", - "NXquadrupole_magnet", - "NXreflectron", - "NXregion", - "NXregistration", - "NXresolution", - "NXroi", - "NXrotation_set", - "NXsample_component_set", - "NXsample_history", - "NXscanbox_em", - "NXsensor_scan", - "NXsensor_sts", - "NXseparator", - "NXserialized", - "NXsimilarity_grouping", - "NXsingle_crystal", - "NXslip_system_set", - "NXsnsevent", - "NXsnshisto", - "NXsolenoid_magnet", - "NXsolid_geometry", - "NXspatial_filter", - "NXspectrum_set", - "NXspin_rotator", - "NXspindispersion", - "NXstage_lab", - "NXsts", - "NXsubsampling_filter", - "NXsubstance", - "NXtransmission", - "NXunit_cell", - "NXwaveplate", "NXxpcs", - "NXxrd", "NXxrd_pan", - "NXroot" + "NXxrot" ] } }, @@ -102868,47 +102701,6 @@ window.nomadArtifacts = { ] } }, - { - "authors": [ - "Sbail\u00f2, Luigi", - "Scheffler, Matthias", - "Ghiringhelli, Luca M." - ], - "email": "ghiringhelli@fhi-berlin.mpg.de", - "title": "Querying the NOMAD Archive and performing artificial-intelligence modeling", - "description": "In this tutorial, we demonstrate how to query the NOMAD Archive from the NOMAD Analytics toolkit. We then show examples of machine learning analysis performed on the retrieved data set.", - "notebook_name": "query_nomad_archive.ipynb", - "url": "https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-query-nomad-archive", - "link": "https://analytics-toolkit.nomad-coe.eu/hub/user-redirect/notebooks/tutorials/query_nomad_archive.ipynb", - "link_public": "https://analytics-toolkit.nomad-coe.eu/public/user-redirect/notebooks/tutorials/query_nomad_archive.ipynb", - "updated": "2022-04-06", - "flags": { - "featured": true, - "top_of_list": false - }, - "labels": { - "application_section": [ - "Analysing the content of the Archive" - ], - "application_system": [ - "Ternaries" - ], - "category": [ - "query_tutorial" - ], - "ai_methods": [ - "Unsupervised learning", - "Supervised learning", - "Regression", - "Clustering", - "Dimension reduction", - "Random forest" - ], - "platform": [ - "jupyter" - ] - } - }, { "authors": [ "Langer, Marcel F." diff --git a/nomad/datamodel/metainfo/eln/nexus_data_converter.py b/nomad/datamodel/metainfo/eln/nexus_data_converter.py index c3207ec08beca2549c830bc55f0c1a5a71b3cce6..0448da52e1a75f166e7379bb1cf12fb635f4bace 100644 --- a/nomad/datamodel/metainfo/eln/nexus_data_converter.py +++ b/nomad/datamodel/metainfo/eln/nexus_data_converter.py @@ -10,7 +10,9 @@ try: from pynxtools.dataconverter import convert as pynxtools_converter from pynxtools.dataconverter import writer as pynxtools_writer from pynxtools.dataconverter.template import Template - from pynxtools.nexus.nexus import get_app_defs_names # pylint: disable=import-error + from pynxtools.definitions.dev_tools.utils.nxdl_utils import ( + get_app_defs_names, # pylint: disable=import-error + ) except ImportError: NEXUS_AVAILABLE = False pass @@ -172,7 +174,7 @@ class NexusDataConverter(EntryData): ) nxdl = Quantity( - type=MEnum(get_app_defs_names() if NEXUS_AVAILABLE else []), + type=MEnum(sorted(list(set(get_app_defs_names()))) if NEXUS_AVAILABLE else []), description='The nxdl needed for running the Nexus converter.', a_eln=dict(component='AutocompleteEditQuantity'), ) diff --git a/nomad/metainfo/elasticsearch_extension.py b/nomad/metainfo/elasticsearch_extension.py index 4fe00726f562b144a9500e294c1c082d59009517..6deac6fcb3570994dac602544c22d006eab23d63 100644 --- a/nomad/metainfo/elasticsearch_extension.py +++ b/nomad/metainfo/elasticsearch_extension.py @@ -157,23 +157,25 @@ sub-sections as if they were direct sub-sections. """ import math +import re +from collections import defaultdict from typing import ( - Union, + TYPE_CHECKING, Any, + Callable, + DefaultDict, Dict, - cast, - Set, List, - Callable, - Tuple, Optional, - DefaultDict, + Set, + Tuple, + Union, + cast, ) -from collections import defaultdict + import numpy as np -from pint import Quantity as PintQuantity -import re from elasticsearch_dsl import Q +from pint import Quantity as PintQuantity from nomad import utils from nomad.config import config @@ -181,24 +183,22 @@ from nomad.config.models.plugins import Schema, Parser, SchemaPackageEntryPoint from nomad.metainfo.util import MTypes from .metainfo import ( - MSectionBound, - Section, - Quantity, - MSection, - MEnum, Datetime, - Reference, - DefinitionAnnotation, Definition, + DefinitionAnnotation, + MEnum, + MSection, + MSectionBound, + Package, + Quantity, QuantityReference, + Reference, + Section, Unit, - Package, ) -from typing import TYPE_CHECKING - if TYPE_CHECKING: - from nomad.datamodel.datamodel import SearchableQuantity, EntryArchive + from nomad.datamodel.datamodel import EntryArchive, SearchableQuantity schema_separator = '#' dtype_separator = '#' @@ -1603,17 +1603,25 @@ def create_searchable_quantity( value_field_name = get_searchable_quantity_value_field(annotation) if value_field_name is None: return None + if mapping == 'text': value = str(value) elif mapping == 'date': value = Datetime.serialize(section, quantity_def, value) elif mapping == 'long': - value = int(value) + if isinstance(value, PintQuantity): + value = int(value.m) + elif isinstance(value, dict): + return None + else: + value = int(value) elif mapping == 'boolean': value = bool(value) elif mapping == 'double': if isinstance(value, PintQuantity): value = float(value.m) + elif isinstance(value, dict): + return None else: value = float(value) if math.isnan(value): diff --git a/nomad/metainfo/metainfo.py b/nomad/metainfo/metainfo.py index ae8bcd2bd1ed92652ff045fa115548de0997ea01..4fb7155e2981421f63b2efebe8bb5b4d9b759cb2 100644 --- a/nomad/metainfo/metainfo.py +++ b/nomad/metainfo/metainfo.py @@ -18,7 +18,6 @@ from __future__ import annotations import base64 -from copy import deepcopy import importlib import inspect import itertools @@ -26,11 +25,13 @@ import json import re import sys from collections.abc import Iterable as IterableABC +from copy import deepcopy from functools import reduce from typing import ( Any, - Callable as TypingCallable, + ClassVar, Dict, + Generator, Iterable, List, Optional, @@ -39,9 +40,10 @@ from typing import ( Type, TypeVar, Union, - Generator, cast, - ClassVar, +) +from typing import ( + Callable as TypingCallable, ) import docstring_parser @@ -49,7 +51,7 @@ import jmespath import numpy as np import pandas as pd import pint -from pydantic import parse_obj_as, ValidationError, BaseModel, Field +from pydantic import BaseModel, Field, ValidationError, parse_obj_as from nomad.config import config from nomad.metainfo.util import ( @@ -1946,6 +1948,12 @@ class MSection( if dimension == 0: attr_value = self.__set_normalize(tgt_attr, attr_value) elif dimension == 1: + if isinstance(tgt_attr.shape[0], str) and ( + not isinstance(attr_value, IterableABC) + or isinstance(attr_value, str) + ): + if tgt_attr.shape[0].startswith('0') or '*' in tgt_attr.shape[0]: + attr_value = [attr_value] if isinstance(attr_value, str) or not isinstance( attr_value, IterableABC ): diff --git a/nomad/metainfo/nexus.py b/nomad/metainfo/nexus.py index 80b9f0366470e0e702669096cae6d59da2eb6471..e9192c837ecbc7fb830c7d6be76e0cb9c817a4bd 100644 --- a/nomad/metainfo/nexus.py +++ b/nomad/metainfo/nexus.py @@ -23,7 +23,7 @@ import sys # noinspection PyPep8Naming import xml.etree.ElementTree as ET -from typing import Dict, List, Optional, Set, Union +from typing import Dict, List, Optional, Union import numpy as np @@ -41,7 +41,6 @@ from nomad.metainfo import ( Definition, MEnum, Package, - Property, Quantity, Section, SubSection, @@ -81,6 +80,18 @@ __NX_TYPES = { # Primitive Types, 'ISO8601' is the only type not defined here 'NX_BINARY': Bytes, 'NX_DATE_TIME': Datetime, } +__NX_ATTR_TYPES = { + 'NX_COMPLEX': float, + 'NX_FLOAT': float, + 'NX_CHAR': str, + 'NX_BOOLEAN': bool, + 'NX_INT': int, + 'NX_UINT': int, + 'NX_NUMBER': float, + 'NX_POSINT': int, + 'NX_BINARY': Bytes, + 'NX_DATE_TIME': Datetime, +} class NXUnitSet: @@ -225,7 +236,7 @@ def __to_section(name: str, **kwargs) -> Section: """ Returns the 'existing' metainfo section for a given top-level nexus base-class name. - This function ensures that sections for these base-classes are only created one. + This function ensures that sections for these base-classes are only created once. This allows to access the metainfo section even before it is generated from the base class nexus definition. """ @@ -314,7 +325,7 @@ def __create_attributes(xml_node: ET.Element, definition: Union[Section, Quantit nx_type = nx_enum nx_shape: List[str] = [] else: - nx_type = __NX_TYPES[attribute.get('type', 'NX_CHAR')] # type: ignore + nx_type = __NX_ATTR_TYPES[attribute.get('type', 'NX_CHAR')] # type: ignore has_bound = False has_bound |= 'minOccurs' in attribute.attrib has_bound |= 'maxOccurs' in attribute.attrib @@ -325,7 +336,8 @@ def __create_attributes(xml_node: ET.Element, definition: Union[Section, Quantit nx_max_occurs = '*' nx_shape = [f'{nx_min_occurs}..{nx_max_occurs}'] else: - nx_shape = [] + # Default is to allow any shape + nx_shape = ['0..*'] m_attribute = Attribute( name=name, variable=__if_template(name), shape=nx_shape, type=nx_type @@ -340,7 +352,7 @@ def __create_attributes(xml_node: ET.Element, definition: Union[Section, Quantit def __add_additional_attributes(definition: Definition): - if 'm_nx_data_path' not in definition.all_attributes: + if 'm_nx_data_path' not in definition.attributes: definition.attributes.append( Attribute( name='m_nx_data_path', @@ -352,7 +364,7 @@ def __add_additional_attributes(definition: Definition): ) ) - if 'm_nx_data_file' not in definition.all_attributes: + if 'm_nx_data_file' not in definition.attributes: definition.attributes.append( Attribute( name='m_nx_data_file', @@ -639,7 +651,7 @@ def __add_section_from_nxdl(xml_node: ET.Element) -> Optional[Section]: __logger.error( 'Fail to generate metainfo.', target_name=xml_node.attrib['name'], - exe_info=str(err), + exc_info=str(err), ) return None @@ -732,15 +744,20 @@ def init_nexus_metainfo(): nexus_metainfo_package.init_metainfo() # Add additional NOMAD specific attributes (nx_data_path, nx_data_file, nx_mean, ...) - sections: Set[Section] = set() - quantities: Set[Quantity] = set() - for section in __section_definitions.values(): - sections.add(section.inherited_sections[0]) - quantities.update(section.all_quantities.values()) - for definition in sections: - __add_additional_attributes(definition) - for definition in quantities: - __add_additional_attributes(definition) + # This needs to be done in the right order, base sections first. + visited_definitions = set() + sections = list() + for definition, _, _, _ in nexus_metainfo_package.m_traverse(): + if isinstance(definition, Section): + for section in reversed([definition] + definition.all_base_sections): + if section not in visited_definitions: + visited_definitions.add(section) + sections.append(section) + + for section in sections: + __add_additional_attributes(section) + for quantity in section.quantities: + __add_additional_attributes(quantity) # We skip the Python code generation for now and offer Python classes as variables # TO DO not necessary right now, could also be done case-by-case by the nexus parser diff --git a/nomad/normalizing/metainfo.py b/nomad/normalizing/metainfo.py index 81fdf44b1fbbd54b09b4c86f35d914cae37b0758..4ab8107ccf11d964e135f81cf3f5e2ee347d4dd7 100644 --- a/nomad/normalizing/metainfo.py +++ b/nomad/normalizing/metainfo.py @@ -33,7 +33,7 @@ class MetainfoNormalizer(Normalizer): except Exception: pass - if normalize: + if normalize and callable(normalize): try: normalize(archive, logger) except Exception as e: diff --git a/nomad/parsing/nexus/nexus.py b/nomad/parsing/nexus/nexus.py index 759c263999bc16403c076ca844b291031bc299c4..81f116d89fba65e42f4b514df461f188e7921e99 100644 --- a/nomad/parsing/nexus/nexus.py +++ b/nomad/parsing/nexus/nexus.py @@ -16,9 +16,9 @@ # limitations under the License. # -import xml.etree.ElementTree as ET from typing import Optional, Set +import lxml.etree as ET import numpy as np try: @@ -138,7 +138,7 @@ class NexusParser(Parser): self._sample_class_refs[key] = [] def _collect_class(self, current: MSection): - class_name = current.m_def.name + class_name = current.m_def.more.get('nx_type') if ( class_name in self._sample_class_refs and current not in self._sample_class_refs[class_name] @@ -151,9 +151,6 @@ class NexusParser(Parser): """ Populate attributes and fields """ - if not self.nxs_fname and hdf_node: - self.nxs_fname = hdf_node.file.filename.split('/')[-1] - if depth < len(nx_path): # it is an attribute of either field or group nx_attr = nx_path[depth] @@ -176,7 +173,7 @@ class NexusParser(Parser): attr_value = hdf_node.attrs[attr_name] if not isinstance(attr_value, str): if isinstance(attr_value, np.ndarray): - attr_value = [value for value in attr_value] + attr_value = attr_value.tolist() if len(attr_value) == 1: attr_value = attr_value[0] @@ -188,17 +185,29 @@ class NexusParser(Parser): current.m_set_section_attribute(attr_name, attr_value) else: parent_html_name = nx_path[-2].get('name') + parent_instance_name = hdf_node.name.split('/')[-1] + '__field' parent_field_name = parent_html_name + '__field' - metainfo_def = resolve_variadic_name( - current.m_def.all_properties, parent_field_name - ) + + metainfo_def = None + try: + metainfo_def = resolve_variadic_name( + current.m_def.all_properties, parent_field_name + ) + except ValueError as exc: + self._logger.warning( + f'{current.m_def} has no suitable property for {parent_field_name}', + target_name=attr_name, + exc_info=exc, + ) + if parent_field_name in current.__dict__: quantity = current.__dict__[parent_field_name] if isinstance(quantity, dict): quantity = quantity[parent_instance_name] else: quantity = None + current.m_set_quantity_attribute( metainfo_def, attr_name, attr_value, quantity=quantity ) @@ -206,7 +215,7 @@ class NexusParser(Parser): self._logger.warning( 'Error while setting attribute.', target_name=attr_name, - exe_info=str(e), + exc_info=e, ) else: # it is a field @@ -233,12 +242,6 @@ class NexusParser(Parser): ] ) field = field_stats[0] - if np.isnan(field): - self._logger.warning( - 'NaN value is not set for field ', - target_name=field_name + '[' + data_instance_name + ']', - ) - return # check if unit is given unit = hdf_node.attrs.get('units', None) @@ -287,7 +290,7 @@ class NexusParser(Parser): self._logger.warning( 'Error while setting field.', target_name=field_name, - exe_info=str(e), + exc_info=e, ) def __nexus_populate(self, params: dict, attr=None): # pylint: disable=W0613 @@ -303,9 +306,6 @@ class NexusParser(Parser): hdf_path: str = hdf_info['hdf_path'] hdf_node = hdf_info['hdf_node'] - if not self.nxs_fname and hdf_node: - self.nxs_fname = hdf_node.file.filename.split('/')[-1] - if nx_path is None: return @@ -317,12 +317,12 @@ class NexusParser(Parser): current = _to_section(name, nx_def, nx_node, current) self._collect_class(current) depth += 1 - current_hdf_path = current_hdf_path + ( - '/' + name if depth < len(nx_path) else '' - ) - current.m_set_section_attribute('m_nx_data_path', current_hdf_path) - - current.m_set_section_attribute('m_nx_data_file', self.nxs_fname) + if depth < len(nx_path): + current_hdf_path = current_hdf_path + ('/' + name) + if nx_node is not None and isinstance(nx_node, ET._Element): + if nx_node.tag.endswith('group'): + current.m_set_section_attribute('m_nx_data_path', current_hdf_path) + current.m_set_section_attribute('m_nx_data_file', self.nxs_fname) self._populate_data(depth, nx_path, nx_def, hdf_node, current) def get_sub_element_names(self, elem: MSection): @@ -362,15 +362,18 @@ class NexusParser(Parser): for sample in self._sample_class_refs['NXsample']: if sample.get('atom_types__field') is not None: - if isinstance(sample.atom_types__field, list): - atomlist = sample.atom_types__field + atom_types = sample.atom_types__field['atom_types__field'].value + if isinstance(atom_types, list): + atomlist = atom_types else: - atomlist = sample.atom_types__field.replace(' ', '').split(',') + atomlist = atom_types.replace(' ', '').split(',') # Caution: The element list will be overwritten # in case a single chemical formula is found material.elements = list(set(material.elements) | set(atomlist)) if sample.get('chemical_formula__field') is not None: - chemical_formulas.add(sample.chemical_formula__field) + chemical_formulas.add( + sample.chemical_formula__field['chemical_formula__field'].value + ) for class_ref in ( 'NXsample_component', @@ -378,11 +381,17 @@ class NexusParser(Parser): ): for section in self._sample_class_refs[class_ref]: if section.get('chemical_formula__field') is not None: - chemical_formulas.add(section.chemical_formula__field) + chemical_formulas.add( + section.chemical_formula__field['chemical_formula__field'].value + ) for substance in self._sample_class_refs['NXsubstance']: if substance.get('molecular_formula_hill__field') is not None: - chemical_formulas.add(substance.molecular_formula_hill__field) + chemical_formulas.add( + substance.molecular_formula_hill__field[ + 'molecular_formula_hill__field' + ].value + ) return chemical_formulas @@ -427,6 +436,7 @@ class NexusParser(Parser): self._clear_class_refs() if mainfile.endswith('nxs'): + *_, self.nxs_fname = mainfile.rsplit('/', 1) nexus_helper = read_nexus.HandleNexus(logger, mainfile) nexus_helper.process_nexus_master_file(self.__nexus_populate) else: diff --git a/pyproject.toml b/pyproject.toml index 23571ec71b6cf7d9681bdb857c094b1e41c4342d..ce34cebb61826b94e3dbb09f6ad443f8a412dac3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,10 +66,10 @@ parsing = [ 'h5py==3.11.0', 'netCDF4==1.6.5', 'pybis@git+https://github.com/FAIRmat-NFDI/fairmat-pybis.git@91039c2a1df364c88ab7e284b59c43ec42f18370', - 'pynxtools[convert]==0.1.1', + 'pynxtools[convert]==0.3.1', 'pyzeo==0.1.5', 'quippy-ase==0.9.14', - 'rdkit', + 'rdkit==2023.9.5', ] infrastructure = [ 'asgiref~=3.5', diff --git a/requirements-dev.txt b/requirements-dev.txt index 530b0633fea24cb2b442d543019663780ee6d028..ed29159b333811a78cd55bb86c819742d2f9b103 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,148 +1,181 @@ -# This file was autogenerated by uv via the following command: -# uv pip compile --annotation-style=line --extra=dev --extra=infrastructure --extra=parsing --output-file=requirements-dev.txt requirements.txt pyproject.toml +# +# This file is autogenerated by pip-compile with Python 3.9 +# by the following command: +# +# pip-compile --annotation-style=line --extra=dev --extra=infrastructure --extra=parsing --output-file=requirements-dev.txt --pip-args='--prefer-binary' pyproject.toml requirements.txt +# aiosmtpd==1.4.6 # via nomad-lab (pyproject.toml) -alabaster==0.7.16 # via sphinx, -r requirements.txt -alembic==1.13.1 # via jupyterhub, -r requirements.txt -amqp==5.2.0 # via kombu, -r requirements.txt +alabaster==0.7.16 # via -r requirements.txt, sphinx +alembic==1.13.1 # via -r requirements.txt, jupyterhub +amqp==5.2.0 # via -r requirements.txt, kombu aniso8601==9.0.1 # via -r requirements.txt, nomad-lab (pyproject.toml) -anyio==4.3.0 # via httpx, starlette, watchfiles, -r requirements.txt -arrow==1.3.0 # via isoduration, -r requirements.txt -asciitree==0.3.3 # via zarr, -r requirements.txt -ase==3.19.3 # via asr, ifes-apt-tc-data-modeling, matid, pynxtools, quippy-ase, -r requirements.txt, nomad-lab (pyproject.toml) +anyio==4.3.0 # via -r requirements.txt, httpx, jupyter-server, starlette, watchfiles +anytree==2.12.1 # via -r requirements.txt, pynxtools +appnope==0.1.4 # via -r requirements.txt, ipykernel +argon2-cffi==23.1.0 # via -r requirements.txt, jupyter-server +argon2-cffi-bindings==21.2.0 # via -r requirements.txt, argon2-cffi +arrow==1.3.0 # via -r requirements.txt, isoduration +asciitree==0.3.3 # via -r requirements.txt, zarr +ase==3.19.3 # via -r requirements.txt, asr, ifes-apt-tc-data-modeling, matid, nomad-lab (pyproject.toml), pynxtools, quippy-ase asgiref==3.8.1 # via -r requirements.txt, nomad-lab (pyproject.toml) asr==0.4.1 # via -r requirements.txt, nomad-lab (pyproject.toml) -asteval==0.9.32 # via lmfit, -r requirements.txt +asteval==0.9.33 # via -r requirements.txt, lmfit astroid==3.2.2 # via nomad-lab (pyproject.toml) -asttokens==2.4.1 # via devtools, stack-data, -r requirements.txt -async-generator==1.10 # via jupyterhub, -r requirements.txt +asttokens==2.4.1 # via -r requirements.txt, devtools, stack-data +async-generator==1.10 # via -r requirements.txt, jupyterhub +async-lru==2.0.4 # via -r requirements.txt, jupyterlab atpublic==4.1.0 # via aiosmtpd -attrs==23.2.0 # via aiosmtpd, jsonschema, pytest, -r requirements.txt -babel==2.15.0 # via mkdocs-git-revision-date-localized-plugin, mkdocs-material, sphinx, -r requirements.txt +attrs==23.2.0 # via -r requirements.txt, aiosmtpd, jsonschema, pytest +babel==2.15.0 # via -r requirements.txt, jupyterlab-server, mkdocs-git-revision-date-localized-plugin, mkdocs-material, sphinx backports-tarfile==1.1.1 # via jaraco-context bagit==1.8.1 # via -r requirements.txt, nomad-lab (pyproject.toml) basicauth==0.4.1 # via -r requirements.txt, nomad-lab (pyproject.toml) -beautifulsoup4==4.12.3 # via -r requirements.txt, nomad-lab (pyproject.toml) -billiard==4.2.0 # via celery, -r requirements.txt -biopython==1.83 # via mdanalysis, -r requirements.txt +beautifulsoup4==4.12.3 # via -r requirements.txt, nbconvert, nomad-lab (pyproject.toml) +billiard==4.2.0 # via -r requirements.txt, celery +biopython==1.83 # via -r requirements.txt, mdanalysis bitarray==2.9.2 # via -r requirements.txt, nomad-lab (pyproject.toml) -blinker==1.8.2 # via flask, -r requirements.txt -blosc2==2.5.1 # via tables, -r requirements.txt +bleach==6.1.0 # via -r requirements.txt, nbconvert +blinker==1.8.2 # via -r requirements.txt, flask +blosc2==2.5.1 # via -r requirements.txt, tables build==1.2.1 # via nomad-lab (pyproject.toml) cachetools==5.3.3 # via -r requirements.txt, nomad-lab (pyproject.toml) celery==5.4.0 # via -r requirements.txt, nomad-lab (pyproject.toml) -certifi==2024.2.2 # via elasticsearch, httpcore, httpx, netcdf4, requests, -r requirements.txt -certipy==0.1.3 # via jupyterhub, -r requirements.txt -cffi==1.16.0 # via cryptography, -r requirements.txt -cftime==1.6.3 # via netcdf4, -r requirements.txt -charset-normalizer==3.3.2 # via requests, -r requirements.txt -click==8.1.7 # via asr, celery, click-didyoumean, click-plugins, click-repl, dask, flask, mkdocs, mkdocs-click, pynxtools, uvicorn, -r requirements.txt, nomad-lab (pyproject.toml) -click-didyoumean==0.3.1 # via celery, -r requirements.txt -click-plugins==1.1.1 # via celery, -r requirements.txt -click-repl==0.3.0 # via celery, -r requirements.txt -cloudpickle==3.0.0 # via dask, hyperspy, -r requirements.txt +certifi==2024.2.2 # via -r requirements.txt, elasticsearch, httpcore, httpx, netcdf4, requests +certipy==0.1.3 # via -r requirements.txt, jupyterhub +cffi==1.16.0 # via -r requirements.txt, argon2-cffi-bindings, cryptography +cftime==1.6.3 # via -r requirements.txt, netcdf4 +charset-normalizer==3.3.2 # via -r requirements.txt, requests +click==8.1.7 # via -r requirements.txt, asr, celery, click-default-group, click-didyoumean, click-plugins, click-repl, dask, flask, mkdocs, mkdocs-click, nomad-lab (pyproject.toml), pynxtools, uvicorn +click-default-group==1.2.4 # via -r requirements.txt, pynxtools +click-didyoumean==0.3.1 # via -r requirements.txt, celery +click-plugins==1.1.1 # via -r requirements.txt, celery +click-repl==0.3.0 # via -r requirements.txt, celery +cloudpickle==3.0.0 # via -r requirements.txt, dask colorama==0.4.6 # via mkdocs-material, twine -commonmark==0.9.1 # via recommonmark, -r requirements.txt -contourpy==1.2.1 # via matplotlib, -r requirements.txt +comm==0.2.2 # via -r requirements.txt, ipykernel, ipywidgets +commonmark==0.9.1 # via -r requirements.txt, recommonmark +contourpy==1.2.1 # via -r requirements.txt, matplotlib coverage==7.5.1 # via pytest-cov -cryptography==42.0.7 # via jwcrypto, pyjwt, pyopenssl, rfc3161ng, secretstorage, -r requirements.txt -cycler==0.12.1 # via matplotlib, -r requirements.txt -dask==2024.5.1 # via hyperspy, kikuchipy, orix, pyxem, rosettasciio, -r requirements.txt -decorator==5.1.1 # via ipython, validators, -r requirements.txt -deprecation==2.1.0 # via python-keycloak, -r requirements.txt +cryptography==42.0.7 # via -r requirements.txt, jwcrypto, pyjwt, pyopenssl, rfc3161ng +cycler==0.12.1 # via -r requirements.txt, matplotlib +dask[array]==2024.5.1 # via -r requirements.txt, hyperspy, kikuchipy, orix, pyxem, rosettasciio +debugpy==1.8.1 # via -r requirements.txt, ipykernel +decorator==5.1.1 # via -r requirements.txt, ipyparallel, ipython, validators +defusedxml==0.7.1 # via -r requirements.txt, nbconvert +deprecation==2.1.0 # via -r requirements.txt, python-keycloak devtools==0.12.2 # via nomad-lab (pyproject.toml) -diffpy-structure==3.1.0 # via diffsims, kikuchipy, orix, -r requirements.txt -diffsims==0.5.2 # via kikuchipy, pyxem, -r requirements.txt -dill==0.3.8 # via lmfit, -r requirements.txt -dnspython==2.6.1 # via email-validator, pymongo, -r requirements.txt -docker==7.0.0 # via dockerspawner, -r requirements.txt +diffpy-structure==3.1.0 # via -r requirements.txt, diffsims, kikuchipy, orix +diffsims==0.5.2 # via -r requirements.txt, kikuchipy, pyxem +dill==0.3.8 # via -r requirements.txt, hyperspy, lmfit +dnspython==2.6.1 # via -r requirements.txt, email-validator, pymongo +docker==7.1.0 # via -r requirements.txt, dockerspawner dockerspawner==13.0.0 # via -r requirements.txt, nomad-lab (pyproject.toml) docstring-parser==0.16 # via -r requirements.txt, nomad-lab (pyproject.toml) -docutils==0.21.2 # via m2r, readme-renderer, recommonmark, sphinx, -r requirements.txt -elasticsearch==7.17.1 # via elasticsearch-dsl, -r requirements.txt, nomad-lab (pyproject.toml) +docutils==0.21.2 # via -r requirements.txt, m2r, readme-renderer, recommonmark, sphinx +elasticsearch==7.17.1 # via -r requirements.txt, elasticsearch-dsl, nomad-lab (pyproject.toml) elasticsearch-dsl==7.4.0 # via -r requirements.txt, nomad-lab (pyproject.toml) -email-validator==1.3.1 # via optimade, -r requirements.txt -escapism==1.0.1 # via dockerspawner, -r requirements.txt +email-validator==1.3.1 # via -r requirements.txt, optimade +entrypoints==0.4 # via -r requirements.txt, ipyparallel +escapism==1.0.1 # via -r requirements.txt, dockerspawner essential-generators==1.0 # via nomad-lab (pyproject.toml) -et-xmlfile==1.1.0 # via openpyxl, -r requirements.txt -exceptiongroup==1.2.1 # via anyio, ipython, -r requirements.txt +et-xmlfile==1.1.0 # via -r requirements.txt, openpyxl +exceptiongroup==1.2.1 # via -r requirements.txt, anyio, ipython execnet==2.1.1 # via pytest-xdist -executing==2.0.1 # via devtools, stack-data, -r requirements.txt -f90wrap==0.2.14 # via quippy-ase, -r requirements.txt -fabio==2024.4.0 # via pyfai, silx, -r requirements.txt -fastapi==0.99.1 # via h5grove, -r requirements.txt, nomad-lab (pyproject.toml) -fasteners==0.19 # via mdanalysis, zarr, -r requirements.txt +executing==2.0.1 # via -r requirements.txt, devtools, stack-data +f90wrap==0.2.14 # via -r requirements.txt, quippy-ase +fabio==2024.4.0 # via -r requirements.txt, pyfai, silx +fastapi==0.99.1 # via -r requirements.txt, h5grove, nomad-lab (pyproject.toml) +fasteners==0.19 # via -r requirements.txt, mdanalysis, zarr +fastjsonschema==2.19.1 # via -r requirements.txt, nbformat filelock==3.3.1 # via -r requirements.txt, nomad-lab (pyproject.toml) -findiff==0.10.0 # via pynxtools-stm, -r requirements.txt -flask==3.0.3 # via asr, -r requirements.txt -flatdict==4.0.1 # via pynxtools, -r requirements.txt -fonttools==4.51.0 # via matplotlib, -r requirements.txt -fqdn==1.5.1 # via jsonschema, -r requirements.txt -fsspec==2024.5.0 # via dask, -r requirements.txt -future==1.0.0 # via uncertainties, -r requirements.txt +findiff==0.10.0 # via -r requirements.txt, pynxtools-stm +flask==3.0.3 # via -r requirements.txt, asr +flatdict==3.4.0 # via -r requirements.txt, ifes-apt-tc-data-modeling, pynxtools-em +fonttools==4.51.0 # via -r requirements.txt, matplotlib +fqdn==1.5.1 # via -r requirements.txt, jsonschema +fsspec==2024.5.0 # via -r requirements.txt, dask, hyperspy +future==1.0.0 # via -r requirements.txt, uncertainties ghp-import==2.1.0 # via mkdocs -gitdb==4.0.11 # via gitpython, -r requirements.txt -gitpython==3.1.43 # via mkdocs-git-revision-date-localized-plugin, pynxtools, -r requirements.txt, nomad-lab (pyproject.toml) -greenlet==3.0.3 # via sqlalchemy, -r requirements.txt -griddataformats==1.0.2 # via mdanalysis, -r requirements.txt -gsd==3.2.1 # via mdanalysis, -r requirements.txt +gitdb==4.0.11 # via -r requirements.txt, gitpython +gitpython==3.1.43 # via -r requirements.txt, mkdocs-git-revision-date-localized-plugin, nomad-lab (pyproject.toml) +greenlet==3.0.3 # via -r requirements.txt, sqlalchemy +griddataformats==1.0.2 # via -r requirements.txt, mdanalysis +gsd==3.2.1 # via -r requirements.txt, mdanalysis gunicorn==21.2.0 # via -r requirements.txt, nomad-lab (pyproject.toml) -h11==0.14.0 # via httpcore, uvicorn, -r requirements.txt -h5grove==1.3.0 # via -r requirements.txt, nomad-lab (pyproject.toml) -h5py==3.11.0 # via fabio, h5grove, hdf5plugin, ifes-apt-tc-data-modeling, kikuchipy, nionswift, orix, phonopy, pyfai, pynxtools, pynxtools-mpes, pynxtools-xps, pyxem, rosettasciio, silx, -r requirements.txt, nomad-lab (pyproject.toml) -hdf5plugin==4.4.0 # via fabio, -r requirements.txt +h11==0.14.0 # via -r requirements.txt, httpcore, uvicorn +h5grove[fastapi]==1.3.0 # via -r requirements.txt, jupyterlab-h5web, nomad-lab (pyproject.toml) +h5py==3.11.0 # via -r requirements.txt, fabio, h5grove, hdf5plugin, hyperspy, ifes-apt-tc-data-modeling, jupyterlab-h5web, kikuchipy, nionswift, nomad-lab (pyproject.toml), orix, phonopy, pyfai, pynxtools, pynxtools-mpes, pynxtools-xps, pyxem, silx +hdf5plugin==4.4.0 # via -r requirements.txt, fabio hjson==3.1.0 # via -r requirements.txt, nomad-lab (pyproject.toml) html5lib==1.1 # via -r requirements.txt, nomad-lab (pyproject.toml) -httpcore==1.0.5 # via httpx, -r requirements.txt -httptools==0.6.1 # via uvicorn, -r requirements.txt -httpx==0.27.0 # via -r requirements.txt, nomad-lab (pyproject.toml) -hyperspy==2.1.0 # via kikuchipy, pynxtools, pyxem, -r requirements.txt -idna==3.7 # via anyio, email-validator, httpx, jsonschema, requests, -r requirements.txt -ifes-apt-tc-data-modeling==0.1 # via pynxtools, -r requirements.txt -imageio==2.34.1 # via kikuchipy, nionswift, nionswift-io, nionui, scikit-image, -r requirements.txt -imagesize==1.4.1 # via sphinx, -r requirements.txt -importlib-metadata==7.1.0 # via build, dask, flask, hyperspy, jupyterhub, keyring, markdown, mkdocs, mkdocs-get-deps, pynxtools, sphinx, twine, -r requirements.txt, nomad-lab (pyproject.toml) -importlib-resources==6.4.0 # via matplotlib, spglib, -r requirements.txt +httpcore==1.0.5 # via -r requirements.txt, httpx +httptools==0.6.1 # via -r requirements.txt, uvicorn +httpx==0.27.0 # via -r requirements.txt, jupyterlab, nomad-lab (pyproject.toml) +hyperspy==1.7.6 # via -r requirements.txt, kikuchipy, pyxem +idna==3.7 # via -r requirements.txt, anyio, email-validator, httpx, jsonschema, requests +ifes-apt-tc-data-modeling==0.2.2 # via -r requirements.txt, pynxtools-apm +igor2==0.5.2 # via -r requirements.txt, pynxtools-xps +imageio==2.27.0 # via -r requirements.txt, hyperspy, kikuchipy, nionswift, nionswift-io, nionui, scikit-image +imagesize==1.4.1 # via -r requirements.txt, sphinx +importlib-metadata==7.1.0 # via -r requirements.txt, build, dask, flask, hyperspy, jupyter-client, jupyter-lsp, jupyterhub, jupyterlab, jupyterlab-server, keyring, markdown, mkdocs, mkdocs-get-deps, nbconvert, nomad-lab (pyproject.toml), pynxtools, sphinx, twine +importlib-resources==6.4.0 # via -r requirements.txt, matplotlib, spglib inflection==0.5.1 # via -r requirements.txt, nomad-lab (pyproject.toml) -ipython==8.18.1 # via pynxtools-stm, -r requirements.txt -isodate==0.6.1 # via rdflib, -r requirements.txt -isoduration==20.11.0 # via jsonschema, -r requirements.txt -itsdangerous==2.2.0 # via flask, -r requirements.txt, nomad-lab (pyproject.toml) +ipykernel==6.29.4 # via -r requirements.txt, ipyparallel, jupyter, jupyter-console, jupyterlab, qtconsole +ipyparallel==8.8.0 # via -r requirements.txt, hyperspy +ipython==8.18.1 # via -r requirements.txt, hyperspy, ipykernel, ipyparallel, ipywidgets, jupyter-console, pynxtools-xrd +ipywidgets==8.1.2 # via -r requirements.txt, jupyter +isodate==0.6.1 # via -r requirements.txt, rdflib +isoduration==20.11.0 # via -r requirements.txt, jsonschema +itsdangerous==2.2.0 # via -r requirements.txt, flask, nomad-lab (pyproject.toml) jaraco-classes==3.4.0 # via keyring jaraco-context==5.3.0 # via keyring jaraco-functools==4.0.1 # via keyring -jedi==0.19.1 # via ipython, -r requirements.txt -jeepney==0.8.0 # via keyring, secretstorage -jinja2==3.1.4 # via flask, hyperspy, jupyterhub, mkdocs, mkdocs-macros-plugin, mkdocs-material, sphinx, -r requirements.txt +jedi==0.19.1 # via -r requirements.txt, ipython +jinja2==3.1.4 # via -r requirements.txt, flask, hyperspy, jupyter-server, jupyterhub, jupyterlab, jupyterlab-server, mkdocs, mkdocs-macros-plugin, mkdocs-material, nbconvert, sphinx jmespath==1.0.1 # via -r requirements.txt, nomad-lab (pyproject.toml) -joblib==1.4.2 # via mdanalysis, pymatgen, scikit-learn, -r requirements.txt -jsonpointer==2.4 # via jsonschema, -r requirements.txt -jsonschema==4.17.3 # via jupyter-telemetry, oauthenticator, -r requirements.txt, nomad-lab (pyproject.toml) -jupyter-telemetry==0.1.0 # via jupyterhub, -r requirements.txt -jupyterhub==4.0.2 # via dockerspawner, oauthenticator, -r requirements.txt, nomad-lab (pyproject.toml) -jwcrypto==1.5.6 # via python-keycloak, -r requirements.txt +joblib==1.4.2 # via -r requirements.txt, mdanalysis, pymatgen, scikit-learn +json5==0.9.25 # via -r requirements.txt, jupyterlab-server +jsonpointer==2.4 # via -r requirements.txt, jsonschema +jsonschema[format,format-nongpl]==4.17.3 # via -r requirements.txt, jupyter-events, jupyter-telemetry, jupyterlab-server, nbformat, nomad-lab (pyproject.toml), oauthenticator +jupyter==1.0.0 # via -r requirements.txt, ifes-apt-tc-data-modeling +jupyter-client==8.6.2 # via -r requirements.txt, ipykernel, ipyparallel, jupyter-console, jupyter-server, nbclient, qtconsole +jupyter-console==6.6.3 # via -r requirements.txt, jupyter +jupyter-core==5.7.2 # via -r requirements.txt, ipykernel, jupyter-client, jupyter-console, jupyter-server, jupyterlab, nbclient, nbconvert, nbformat, qtconsole +jupyter-events==0.5.0 # via -r requirements.txt, jupyter-server +jupyter-lsp==2.2.5 # via -r requirements.txt, jupyterlab +jupyter-server==2.5.0 # via -r requirements.txt, jupyter-lsp, jupyterlab, jupyterlab-h5web, jupyterlab-server, notebook, notebook-shim +jupyter-server-terminals==0.5.3 # via -r requirements.txt, jupyter-server +jupyter-telemetry==0.1.0 # via -r requirements.txt, jupyterhub +jupyterhub==4.0.2 # via -r requirements.txt, dockerspawner, nomad-lab (pyproject.toml), oauthenticator +jupyterlab==4.1.6 # via -r requirements.txt, ifes-apt-tc-data-modeling, notebook +jupyterlab-h5web==11.1.0 # via -r requirements.txt, ifes-apt-tc-data-modeling +jupyterlab-pygments==0.3.0 # via -r requirements.txt, nbconvert +jupyterlab-server==2.24.0 # via -r requirements.txt, jupyterlab, notebook +jupyterlab-widgets==3.0.10 # via -r requirements.txt, ipywidgets +jwcrypto==1.5.6 # via -r requirements.txt, python-keycloak keyring==25.2.1 # via twine -kikuchipy==0.8.7 # via pynxtools, -r requirements.txt -kiwisolver==1.4.5 # via matplotlib, -r requirements.txt -kombu==5.3.7 # via celery, -r requirements.txt -lark==1.1.9 # via optimade, -r requirements.txt -latexcodec==3.0.0 # via pybtex, -r requirements.txt -llvmlite==0.42.0 # via numba, -r requirements.txt -lmfit==1.3.1 # via pyxem, -r requirements.txt -locket==1.0.0 # via partd, -r requirements.txt -lxml==5.2.2 # via fabio, lxml-html-clean, -r requirements.txt, nomad-lab (pyproject.toml) +kikuchipy==0.9.0 # via -r requirements.txt, pynxtools-em +kiwisolver==1.4.5 # via -r requirements.txt, matplotlib +kombu==5.3.7 # via -r requirements.txt, celery +lark==1.1.9 # via -r requirements.txt, optimade +latexcodec==3.0.0 # via -r requirements.txt, pybtex +llvmlite==0.42.0 # via -r requirements.txt, numba +lmfit==1.3.1 # via -r requirements.txt, pyxem +locket==1.0.0 # via -r requirements.txt, partd +lxml==5.2.2 # via -r requirements.txt, fabio, lxml-html-clean, nomad-lab (pyproject.toml), pynxtools lxml-html-clean==0.1.1 # via -r requirements.txt, nomad-lab (pyproject.toml) m2r==0.2.1 # via -r requirements.txt, nomad-lab (pyproject.toml) -mako==1.3.5 # via alembic, -r requirements.txt +mako==1.3.5 # via -r requirements.txt, alembic markdown==3.6 # via mkdocs, mkdocs-click, mkdocs-material, pymdown-extensions -markupsafe==2.1.5 # via jinja2, mako, mkdocs, werkzeug, -r requirements.txt, nomad-lab (pyproject.toml) +markupsafe==2.1.5 # via -r requirements.txt, jinja2, mako, mkdocs, nbconvert, nomad-lab (pyproject.toml), werkzeug matid==2.0.1 # via -r requirements.txt, nomad-lab (pyproject.toml) -matplotlib==3.8.4 # via ase, asr, diffsims, hyperspy, kikuchipy, matplotlib-scalebar, mdanalysis, orix, phonopy, pyfai, pymatgen, pyxem, radioactivedecay, -r requirements.txt -matplotlib-inline==0.1.7 # via ipython, -r requirements.txt -matplotlib-scalebar==0.8.1 # via orix, -r requirements.txt -mda-xdrlib==0.2.0 # via pyedr, -r requirements.txt +matplotlib==3.8.4 # via -r requirements.txt, ase, asr, diffsims, hyperspy, kikuchipy, matplotlib-scalebar, mdanalysis, orix, phonopy, pyfai, pymatgen, pyxem, radioactivedecay +matplotlib-inline==0.1.7 # via -r requirements.txt, ipykernel, ipython +matplotlib-scalebar==0.8.1 # via -r requirements.txt, orix +mda-xdrlib==0.2.0 # via -r requirements.txt, pyedr mdanalysis==2.5.0 # via -r requirements.txt, nomad-lab (pyproject.toml) -mergedeep==1.3.4 # via mkdocs, mkdocs-get-deps, pynxtools, -r requirements.txt -mistune==3.0.2 # via m2r, -r requirements.txt +mergedeep==1.3.4 # via -r requirements.txt, mkdocs, mkdocs-get-deps, pynxtools +mistune==3.0.2 # via -r requirements.txt, m2r, nbconvert mkdocs==1.6.0 # via mkdocs-git-revision-date-localized-plugin, mkdocs-macros-plugin, mkdocs-material, mkdocs-redirects, nomad-lab (pyproject.toml) mkdocs-click==0.8.1 # via nomad-lab (pyproject.toml) mkdocs-get-deps==0.2.0 # via mkdocs @@ -152,197 +185,218 @@ mkdocs-macros-plugin==1.0.5 # via nomad-lab (pyproject.toml) mkdocs-material==9.5.24 # via nomad-lab (pyproject.toml) mkdocs-material-extensions==1.3.1 # via mkdocs-material, nomad-lab (pyproject.toml) mkdocs-redirects==1.2.1 # via nomad-lab (pyproject.toml) -mmtf-python==1.1.3 # via mdanalysis, -r requirements.txt +mmtf-python==1.1.3 # via -r requirements.txt, mdanalysis mongoengine==0.28.2 # via -r requirements.txt, nomad-lab (pyproject.toml) -mongomock==4.1.2 # via optimade, -r requirements.txt -monty==2024.5.15 # via pymatgen, -r requirements.txt +mongomock==4.1.2 # via -r requirements.txt, optimade +monty==2024.5.24 # via -r requirements.txt, pymatgen more-itertools==10.2.0 # via jaraco-classes, jaraco-functools, pytest -mpmath==1.3.0 # via sympy, -r requirements.txt -mrcfile==1.5.0 # via griddataformats, -r requirements.txt -msgpack==1.0.8 # via blosc2, mmtf-python, -r requirements.txt, nomad-lab (pyproject.toml) +mpmath==1.3.0 # via -r requirements.txt, sympy +mrcfile==1.5.0 # via -r requirements.txt, griddataformats +msgpack==1.0.8 # via -r requirements.txt, blosc2, mmtf-python, nomad-lab (pyproject.toml) mypy==1.0.1 # via nomad-lab (pyproject.toml) mypy-extensions==1.0.0 # via mypy names==0.3.0 # via nomad-lab (pyproject.toml) -natsort==8.4.0 # via hyperspy, -r requirements.txt -ndindex==1.8 # via blosc2, -r requirements.txt +natsort==8.4.0 # via -r requirements.txt, hyperspy +nbclient==0.10.0 # via -r requirements.txt, nbconvert +nbconvert==7.16.4 # via -r requirements.txt, jupyter, jupyter-server +nbformat==5.10.4 # via -r requirements.txt, jupyter-server, nbclient, nbconvert +ndindex==1.8 # via -r requirements.txt, blosc2 +nest-asyncio==1.6.0 # via -r requirements.txt, ipykernel netcdf4==1.6.5 # via -r requirements.txt, nomad-lab (pyproject.toml) -networkx==2.6.3 # via matid, mdanalysis, pymatgen, radioactivedecay, scikit-image, -r requirements.txt, nomad-lab (pyproject.toml) +networkx==2.6.3 # via -r requirements.txt, matid, mdanalysis, nomad-lab (pyproject.toml), pymatgen, radioactivedecay, scikit-image nh3==0.2.17 # via readme-renderer -niondata==0.15.5 # via nionswift, nionswift-io, -r requirements.txt -nionswift==0.16.8 # via pynxtools, -r requirements.txt -nionswift-io==0.15.1 # via nionswift, -r requirements.txt -nionui==0.6.11 # via nionswift, -r requirements.txt -nionutils==0.4.10 # via niondata, nionswift, nionswift-io, nionui, -r requirements.txt +niondata==0.15.5 # via -r requirements.txt, nionswift, nionswift-io +nionswift==0.16.8 # via -r requirements.txt, pynxtools-em +nionswift-io==0.15.1 # via -r requirements.txt, nionswift +nionui==0.6.11 # via -r requirements.txt, nionswift +nionutils==0.4.10 # via -r requirements.txt, niondata, nionswift, nionswift-io, nionui +notebook==7.1.3 # via -r requirements.txt, jupyter +notebook-shim==0.2.4 # via -r requirements.txt, jupyterlab, notebook nptyping==1.4.4 # via -r requirements.txt, nomad-lab (pyproject.toml) -numba==0.59.1 # via diffsims, kikuchipy, orix, pyxem, -r requirements.txt -numcodecs==0.12.1 # via zarr, -r requirements.txt -numexpr==2.10.0 # via pyfai, pyxem, tables, -r requirements.txt -numpy==1.22.4 # via ase, biopython, blosc2, cftime, contourpy, dask, diffsims, f90wrap, fabio, findiff, griddataformats, gsd, h5grove, h5py, hyperspy, ifes-apt-tc-data-modeling, imageio, kikuchipy, lmfit, matid, matplotlib, mdanalysis, mrcfile, netcdf4, niondata, nionswift, nionswift-io, nionui, nptyping, numba, numcodecs, numexpr, numpy-quaternion, orix, pandas, phonopy, pycifrw, pyedr, pyfai, pymatgen, pynxtools, pywavelets, pyxem, quippy-ase, radioactivedecay, rdkit, rosettasciio, scikit-image, scikit-learn, scipy, shapely, silx, spglib, tables, tifffile, xarray, zarr, -r requirements.txt, nomad-lab (pyproject.toml) -numpy-quaternion==2023.0.3 # via orix, -r requirements.txt +numba==0.59.1 # via -r requirements.txt, diffsims, hyperspy, kikuchipy, orix, pyxem, sparse +numcodecs==0.12.1 # via -r requirements.txt, zarr +numexpr==2.10.0 # via -r requirements.txt, hyperspy, pyfai, pyxem, tables +numpy==1.22.4 # via -r requirements.txt, ase, biopython, blosc2, cftime, contourpy, dask, diffsims, f90wrap, fabio, findiff, griddataformats, gsd, h5grove, h5py, hyperspy, ifes-apt-tc-data-modeling, igor2, imageio, kikuchipy, lmfit, matid, matplotlib, mdanalysis, mrcfile, netcdf4, niondata, nionswift, nionswift-io, nionui, nomad-lab (pyproject.toml), nptyping, numba, numcodecs, numexpr, numpy-quaternion, orix, pandas, phonopy, pycifrw, pyedr, pyfai, pymatgen, pynxtools, pywavelets, pyxem, quippy-ase, radioactivedecay, rdkit, rosettasciio, scikit-image, scikit-learn, scipy, silx, sparse, spglib, tables, tifffile, xarray, xraydb, zarr +numpy-quaternion==2023.0.3 # via -r requirements.txt, orix oauthenticator==15.1.0 # via -r requirements.txt, nomad-lab (pyproject.toml) -oauthlib==3.2.2 # via jupyterhub, -r requirements.txt +oauthlib==3.2.2 # via -r requirements.txt, jupyterhub openpyxl==3.1.2 # via -r requirements.txt, nomad-lab (pyproject.toml) -optimade==0.22.1 # via -r requirements.txt, nomad-lab (pyproject.toml) -orix==0.12.1.post0 # via diffsims, kikuchipy, pyxem, -r requirements.txt -orjson==3.10.3 # via h5grove, -r requirements.txt, nomad-lab (pyproject.toml) -packaging==24.0 # via build, dask, deprecation, docker, f90wrap, gunicorn, hyperspy, jupyterhub, matplotlib, mdanalysis, mkdocs, mongomock, pint, plotly, pooch, pytest, scikit-image, silx, sphinx, tables, xarray, -r requirements.txt +optimade[mongo]==0.22.1 # via -r requirements.txt, nomad-lab (pyproject.toml) +orix==0.12.1.post0 # via -r requirements.txt, diffsims, kikuchipy, pyxem +orjson==3.10.3 # via -r requirements.txt, h5grove, nomad-lab (pyproject.toml) +packaging==24.0 # via -r requirements.txt, build, dask, deprecation, f90wrap, gunicorn, hyperspy, ipykernel, jupyter-server, jupyterhub, jupyterlab, jupyterlab-server, matplotlib, mdanalysis, mkdocs, mongomock, nbconvert, pint, plotly, pooch, pytest, qtconsole, qtpy, scikit-image, silx, sphinx, tables, xarray, xraydb paginate==0.5.6 # via mkdocs-material -palettable==3.3.3 # via pymatgen, -r requirements.txt -pamela==1.1.0 # via jupyterhub, -r requirements.txt -pandas==1.5.3 # via ifes-apt-tc-data-modeling, panedr, pybis, pymatgen, pynxtools, radioactivedecay, xarray, -r requirements.txt, nomad-lab (pyproject.toml) +palettable==3.3.3 # via -r requirements.txt, pymatgen +pamela==1.1.0 # via -r requirements.txt, jupyterhub +pandas==1.5.3 # via -r requirements.txt, ifes-apt-tc-data-modeling, nomad-lab (pyproject.toml), panedr, pybis, pymatgen, pynxtools, radioactivedecay, xarray +pandocfilters==1.5.1 # via -r requirements.txt, nbconvert panedr==0.8.0 # via -r requirements.txt, nomad-lab (pyproject.toml) parmed==4.2.2 # via -r requirements.txt, nomad-lab (pyproject.toml) -parso==0.8.4 # via jedi, -r requirements.txt -partd==1.4.2 # via dask, -r requirements.txt +parso==0.8.4 # via -r requirements.txt, jedi +partd==1.4.2 # via -r requirements.txt, dask pathspec==0.12.1 # via mkdocs -pexpect==4.9.0 # via ipython, -r requirements.txt -phonopy==2.23.1 # via asr, -r requirements.txt -pillow==10.3.0 # via fabio, imageio, matplotlib, nionswift, rdkit, scikit-image, -r requirements.txt -pint==0.17 # via hyperspy, rosettasciio, -r requirements.txt, nomad-lab (pyproject.toml) +pexpect==4.9.0 # via -r requirements.txt, ipython +phonopy==2.23.1 # via -r requirements.txt, asr +pillow==10.0.1 # via -r requirements.txt, fabio, hyperspy, imageio, matplotlib, nionswift, rdkit, scikit-image +pint==0.17 # via -r requirements.txt, hyperspy, nomad-lab (pyproject.toml), pynxtools-xps, rosettasciio pkginfo==1.10.0 # via twine -platformdirs==4.2.2 # via mkdocs-get-deps, pooch, -r requirements.txt -plotly==5.22.0 # via asr, pymatgen, -r requirements.txt +platformdirs==4.2.2 # via -r requirements.txt, jupyter-core, mkdocs-get-deps, pooch, xraydb +plotly==5.22.0 # via -r requirements.txt, asr, pymatgen pluggy==0.13.1 # via pytest -ply==3.11 # via pycifrw, -r requirements.txt -pooch==1.8.1 # via hyperspy, kikuchipy, orix, pyxem, -r requirements.txt -prettytable==3.10.0 # via hyperspy, -r requirements.txt -prometheus-client==0.20.0 # via jupyterhub, -r requirements.txt -prompt-toolkit==3.0.43 # via click-repl, ipython, -r requirements.txt -psutil==5.9.8 # via diffsims, pyxem, -r requirements.txt -ptyprocess==0.7.0 # via pexpect, -r requirements.txt -pure-eval==0.2.2 # via stack-data, -r requirements.txt +ply==3.11 # via -r requirements.txt, pycifrw +pooch==1.8.1 # via -r requirements.txt, kikuchipy, orix +prettytable==3.10.0 # via -r requirements.txt, hyperspy +prometheus-client==0.20.0 # via -r requirements.txt, jupyter-server, jupyterhub +prompt-toolkit==3.0.43 # via -r requirements.txt, click-repl, ipython, jupyter-console +psutil==5.9.8 # via -r requirements.txt, diffsims, ipykernel, ipyparallel, pyxem +ptyprocess==0.7.0 # via -r requirements.txt, pexpect, terminado +pure-eval==0.2.2 # via -r requirements.txt, stack-data py==1.11.0 # via pytest, pytest-forked -py-cpuinfo==9.0.0 # via blosc2, tables, -r requirements.txt -pyasn1==0.6.0 # via pyasn1-modules, rfc3161ng, -r requirements.txt -pyasn1-modules==0.4.0 # via rfc3161ng, -r requirements.txt +py-cpuinfo==9.0.0 # via -r requirements.txt, blosc2, tables +pyasn1==0.6.0 # via -r requirements.txt, pyasn1-modules, rfc3161ng +pyasn1-modules==0.4.0 # via -r requirements.txt, rfc3161ng pybis @ git+https://github.com/FAIRmat-NFDI/fairmat-pybis.git@91039c2a1df364c88ab7e284b59c43ec42f18370 # via -r requirements.txt, nomad-lab (pyproject.toml) -pybtex==0.24.0 # via pymatgen, -r requirements.txt -pycifrw==4.4.6 # via diffpy-structure, -r requirements.txt +pybtex==0.24.0 # via -r requirements.txt, pymatgen +pycifrw==4.4.6 # via -r requirements.txt, diffpy-structure pycodestyle==2.11.1 # via nomad-lab (pyproject.toml) -pycparser==2.22 # via cffi, -r requirements.txt -pydantic==1.10.15 # via fastapi, optimade, -r requirements.txt, nomad-lab (pyproject.toml) -pyedr==0.8.0 # via panedr, -r requirements.txt -pyfai==2023.9.0 # via pyxem, -r requirements.txt -pygments==2.18.0 # via devtools, ipython, mkdocs-material, readme-renderer, sphinx, -r requirements.txt -pyjwt==2.6.0 # via -r requirements.txt, nomad-lab (pyproject.toml) -pymatgen==2023.9.25 # via asr, -r requirements.txt, nomad-lab (pyproject.toml) +pycparser==2.22 # via -r requirements.txt, cffi +pydantic==1.10.15 # via -r requirements.txt, fastapi, nomad-lab (pyproject.toml), optimade +pyedr==0.8.0 # via -r requirements.txt, panedr +pyfai==2024.5.0 # via -r requirements.txt, pyxem +pygments==2.18.0 # via -r requirements.txt, devtools, ipython, jupyter-console, mkdocs-material, nbconvert, qtconsole, readme-renderer, sphinx +pyjwt[crypto]==2.6.0 # via -r requirements.txt, nomad-lab (pyproject.toml) +pymatgen==2023.9.25 # via -r requirements.txt, asr, nomad-lab (pyproject.toml) pymdown-extensions==10.8.1 # via mkdocs-material -pymongo==4.6.3 # via mongoengine, optimade, -r requirements.txt, nomad-lab (pyproject.toml) -pynxtools==0.1.1 # via pynxtools-mpes, pynxtools-stm, pynxtools-xps, -r requirements.txt, nomad-lab (pyproject.toml) -pynxtools-mpes==0.0.3 # via pynxtools, -r requirements.txt -pynxtools-stm==1.0.1 # via pynxtools, -r requirements.txt -pynxtools-xps==0.0.3 # via pynxtools, -r requirements.txt -pyopenssl==24.1.0 # via certipy, -r requirements.txt -pyparsing==3.1.2 # via matplotlib, rdflib, -r requirements.txt +pymongo==4.6.3 # via -r requirements.txt, mongoengine, nomad-lab (pyproject.toml), optimade +pynxtools[apm,convert,ellips,em,mpes,stm,xps,xrd]==0.3.1 # via -r requirements.txt, nomad-lab (pyproject.toml), pynxtools-apm, pynxtools-ellips, pynxtools-em, pynxtools-mpes, pynxtools-stm, pynxtools-xps, pynxtools-xrd +pynxtools-apm==0.1.1 # via -r requirements.txt, pynxtools +pynxtools-ellips==0.0.2 # via -r requirements.txt, pynxtools +pynxtools-em==0.1.1 # via -r requirements.txt, pynxtools +pynxtools-mpes==0.0.3 # via -r requirements.txt, pynxtools +pynxtools-stm==1.0.4 # via -r requirements.txt, pynxtools +pynxtools-xps==0.2.2 # via -r requirements.txt, pynxtools +pynxtools-xrd==0.0.1 # via -r requirements.txt, pynxtools +pyopenssl==24.1.0 # via -r requirements.txt, certipy +pyparsing==3.1.2 # via -r requirements.txt, matplotlib, rdflib pyproject-hooks==1.1.0 # via build -pyrsistent==0.20.0 # via jsonschema, -r requirements.txt -pytest==5.4.3 # via pytest-cov, pytest-forked, pytest-timeout, pytest-xdist, nomad-lab (pyproject.toml) +pyrsistent==0.20.0 # via -r requirements.txt, jsonschema +pytest==5.4.3 # via nomad-lab (pyproject.toml), pytest-cov, pytest-forked, pytest-timeout, pytest-xdist pytest-cov==2.7.1 # via nomad-lab (pyproject.toml) pytest-forked==1.6.0 # via pytest-xdist pytest-timeout==1.4.2 # via nomad-lab (pyproject.toml) pytest-xdist==1.34.0 # via nomad-lab (pyproject.toml) -python-box==6.1.0 # via rosettasciio, -r requirements.txt -python-dateutil==2.9.0.post0 # via arrow, celery, elasticsearch-dsl, ghp-import, hyperspy, jupyterhub, matplotlib, mkdocs-macros-plugin, pandas, pybis, rfc3161ng, rosettasciio, -r requirements.txt -python-dotenv==1.0.1 # via uvicorn, -r requirements.txt +python-box==6.1.0 # via -r requirements.txt, rosettasciio +python-dateutil==2.9.0.post0 # via -r requirements.txt, arrow, celery, elasticsearch-dsl, ghp-import, hyperspy, ipyparallel, jupyter-client, jupyterhub, matplotlib, mkdocs-macros-plugin, pandas, pybis, rfc3161ng, rosettasciio +python-dotenv==1.0.1 # via -r requirements.txt, uvicorn python-gitlab==2.10.1 # via nomad-lab (pyproject.toml) -python-json-logger==2.0.2 # via jupyter-telemetry, -r requirements.txt, nomad-lab (pyproject.toml) +python-json-logger==2.0.2 # via -r requirements.txt, jupyter-events, jupyter-telemetry, nomad-lab (pyproject.toml) python-keycloak==4.0.0 # via -r requirements.txt, nomad-lab (pyproject.toml) python-logstash==0.4.6 # via -r requirements.txt, nomad-lab (pyproject.toml) python-magic==0.4.24 # via -r requirements.txt, nomad-lab (pyproject.toml) python-multipart==0.0.9 # via -r requirements.txt, nomad-lab (pyproject.toml) -pytz==2024.1 # via mkdocs-git-revision-date-localized-plugin, nionswift, pandas, pynxtools, -r requirements.txt, nomad-lab (pyproject.toml) -pytz-deprecation-shim==0.1.0.post0 # via tzlocal, -r requirements.txt -pywavelets==1.6.0 # via scikit-image, -r requirements.txt -pyxem==0.18.0 # via pynxtools, -r requirements.txt -pyyaml==6.0.1 # via dask, hyperspy, kikuchipy, mkdocs, mkdocs-get-deps, mkdocs-macros-plugin, phonopy, pybtex, pymdown-extensions, pynxtools, pynxtools-mpes, pyyaml-env-tag, rosettasciio, uvicorn, -r requirements.txt, nomad-lab (pyproject.toml) +pytz==2024.1 # via -r requirements.txt, mkdocs-git-revision-date-localized-plugin, nionswift, nomad-lab (pyproject.toml), pandas +pywavelets==1.6.0 # via -r requirements.txt, scikit-image +pyxem==0.16.0 # via -r requirements.txt, pynxtools-em +pyyaml==6.0.1 # via -r requirements.txt, dask, hyperspy, jupyter-events, kikuchipy, mkdocs, mkdocs-get-deps, mkdocs-macros-plugin, nomad-lab (pyproject.toml), phonopy, pybtex, pymdown-extensions, pynxtools, pynxtools-mpes, pyyaml-env-tag, rosettasciio, uvicorn pyyaml-env-tag==0.1 # via mkdocs pyzeo==0.1.5 # via -r requirements.txt, nomad-lab (pyproject.toml) +pyzmq==26.0.3 # via -r requirements.txt, ipykernel, ipyparallel, jupyter-client, jupyter-console, jupyter-server, qtconsole +qtconsole==5.5.2 # via -r requirements.txt, jupyter +qtpy==2.4.1 # via -r requirements.txt, qtconsole quippy-ase==0.9.14 # via -r requirements.txt, nomad-lab (pyproject.toml) -radioactivedecay==0.5.0 # via ifes-apt-tc-data-modeling, -r requirements.txt +radioactivedecay==0.5.0 # via -r requirements.txt, ifes-apt-tc-data-modeling rdflib==5.0.0 # via -r requirements.txt, nomad-lab (pyproject.toml) rdkit==2023.9.5 # via -r requirements.txt, nomad-lab (pyproject.toml) readme-renderer==43.0 # via twine recommonmark==0.7.1 # via -r requirements.txt, nomad-lab (pyproject.toml) regex==2024.5.15 # via mkdocs-material -requests==2.32.2 # via docker, hyperspy, jupyterhub, mkdocs-material, oauthenticator, optimade, pooch, pybis, pymatgen, python-gitlab, python-keycloak, requests-toolbelt, rfc3161ng, sphinx, twine, -r requirements.txt, nomad-lab (pyproject.toml) -requests-toolbelt==1.0.0 # via python-gitlab, python-keycloak, twine, -r requirements.txt +requests==2.32.2 # via -r requirements.txt, docker, hyperspy, jupyterhub, jupyterlab-server, mkdocs-material, nomad-lab (pyproject.toml), oauthenticator, optimade, pooch, pybis, pymatgen, python-gitlab, python-keycloak, requests-toolbelt, rfc3161ng, sphinx, twine +requests-toolbelt==1.0.0 # via -r requirements.txt, python-gitlab, python-keycloak, twine rfc3161ng==2.1.3 # via -r requirements.txt, nomad-lab (pyproject.toml) -rfc3339-validator==0.1.4 # via jsonschema, -r requirements.txt +rfc3339-validator==0.1.4 # via -r requirements.txt, jsonschema rfc3986==2.0.0 # via twine -rfc3987==1.3.8 # via jsonschema, -r requirements.txt +rfc3986-validator==0.1.1 # via -r requirements.txt, jsonschema +rfc3987==1.3.8 # via -r requirements.txt, jsonschema rope==0.21.0 # via nomad-lab (pyproject.toml) -rosettasciio==0.4 # via hyperspy, -r requirements.txt -ruamel-yaml==0.18.6 # via jupyter-telemetry, oauthenticator, pymatgen, -r requirements.txt, nomad-lab (pyproject.toml) -ruamel-yaml-clib==0.2.8 # via ruamel-yaml, -r requirements.txt +rosettasciio==0.4 # via -r requirements.txt, pynxtools-em +ruamel-yaml==0.18.6 # via -r requirements.txt, jupyter-telemetry, nomad-lab (pyproject.toml), oauthenticator, pymatgen +ruamel-yaml-clib==0.2.8 # via -r requirements.txt, ruamel-yaml ruff==0.4.5 # via nomad-lab (pyproject.toml) runstats==2.0.0 # via -r requirements.txt, nomad-lab (pyproject.toml) -scikit-image==0.19.3 # via hyperspy, kikuchipy, pyxem, -r requirements.txt -scikit-learn==1.5.0 # via kikuchipy, matid, pyxem, -r requirements.txt, nomad-lab (pyproject.toml) -scipy==1.13.1 # via ase, diffsims, findiff, griddataformats, hyperspy, kikuchipy, lmfit, matid, mdanalysis, niondata, nionswift, orix, pyfai, pymatgen, pynxtools, pyxem, radioactivedecay, scikit-image, scikit-learn, -r requirements.txt, nomad-lab (pyproject.toml) -secretstorage==3.3.3 # via keyring -sentinels==1.0.0 # via mongomock, -r requirements.txt -setuptools==70.0.0 # via radioactivedecay, -r requirements.txt -shapely==2.0.4 # via pyxem, -r requirements.txt -silx==2.1.0 # via pyfai, -r requirements.txt -six==1.16.0 # via asttokens, basicauth, diffpy-structure, elasticsearch-dsl, html5lib, isodate, pybtex, pytest-xdist, python-dateutil, rdflib, rfc3339-validator, validators, -r requirements.txt -smmap==5.0.1 # via gitdb, -r requirements.txt -sniffio==1.3.1 # via anyio, httpx, -r requirements.txt -snowballstemmer==2.2.0 # via sphinx, -r requirements.txt -soupsieve==2.5 # via beautifulsoup4, -r requirements.txt -spglib==2.4.0 # via asr, matid, phonopy, pymatgen, -r requirements.txt -sphinx==7.3.7 # via recommonmark, -r requirements.txt -sphinxcontrib-applehelp==1.0.8 # via sphinx, -r requirements.txt -sphinxcontrib-devhelp==1.0.6 # via sphinx, -r requirements.txt -sphinxcontrib-htmlhelp==2.0.5 # via sphinx, -r requirements.txt -sphinxcontrib-jsmath==1.0.1 # via sphinx, -r requirements.txt -sphinxcontrib-qthelp==1.0.7 # via sphinx, -r requirements.txt -sphinxcontrib-serializinghtml==1.1.10 # via sphinx, -r requirements.txt -sqlalchemy==2.0.30 # via alembic, jupyterhub, -r requirements.txt -stack-data==0.6.3 # via ipython, -r requirements.txt -starlette==0.27.0 # via fastapi, -r requirements.txt +scikit-image==0.19.3 # via -r requirements.txt, hyperspy, kikuchipy, pyxem +scikit-learn==1.5.0 # via -r requirements.txt, kikuchipy, matid, nomad-lab (pyproject.toml), pyxem +scipy==1.13.1 # via -r requirements.txt, ase, diffsims, findiff, griddataformats, hyperspy, kikuchipy, lmfit, matid, mdanalysis, niondata, nionswift, nomad-lab (pyproject.toml), orix, pyfai, pymatgen, pyxem, radioactivedecay, scikit-image, scikit-learn, sparse, xraydb +send2trash==1.8.3 # via -r requirements.txt, jupyter-server +sentinels==1.0.0 # via -r requirements.txt, mongomock +silx==2.1.0 # via -r requirements.txt, pyfai +six==1.16.0 # via -r requirements.txt, anytree, asttokens, basicauth, bleach, diffpy-structure, elasticsearch-dsl, html5lib, isodate, pybtex, pytest-xdist, python-dateutil, rdflib, rfc3339-validator, validators +smmap==5.0.1 # via -r requirements.txt, gitdb +sniffio==1.3.1 # via -r requirements.txt, anyio, httpx +snowballstemmer==2.2.0 # via -r requirements.txt, sphinx +soupsieve==2.5 # via -r requirements.txt, beautifulsoup4 +sparse==0.15.4 # via -r requirements.txt, hyperspy +spglib==2.4.0 # via -r requirements.txt, asr, matid, phonopy, pymatgen +sphinx==7.3.7 # via -r requirements.txt, recommonmark +sphinxcontrib-applehelp==1.0.8 # via -r requirements.txt, sphinx +sphinxcontrib-devhelp==1.0.6 # via -r requirements.txt, sphinx +sphinxcontrib-htmlhelp==2.0.5 # via -r requirements.txt, sphinx +sphinxcontrib-jsmath==1.0.1 # via -r requirements.txt, sphinx +sphinxcontrib-qthelp==1.0.7 # via -r requirements.txt, sphinx +sphinxcontrib-serializinghtml==1.1.10 # via -r requirements.txt, sphinx +sqlalchemy==2.0.30 # via -r requirements.txt, alembic, jupyterhub, xraydb +stack-data==0.6.3 # via -r requirements.txt, ipython +starlette==0.27.0 # via -r requirements.txt, fastapi structlog==24.1.0 # via -r requirements.txt, nomad-lab (pyproject.toml) -sympy==1.12 # via findiff, hyperspy, pymatgen, radioactivedecay, -r requirements.txt -tables==3.9.2 # via ifes-apt-tc-data-modeling, -r requirements.txt -tabulate==0.8.9 # via pybis, pymatgen, -r requirements.txt, nomad-lab (pyproject.toml) -tenacity==8.3.0 # via plotly, -r requirements.txt +sympy==1.12 # via -r requirements.txt, findiff, hyperspy, pymatgen, radioactivedecay +tables==3.9.2 # via -r requirements.txt, ifes-apt-tc-data-modeling +tabulate==0.8.9 # via -r requirements.txt, nomad-lab (pyproject.toml), pybis, pymatgen +tenacity==8.3.0 # via -r requirements.txt, plotly termcolor==2.4.0 # via mkdocs-macros-plugin -texttable==1.7.0 # via pybis, -r requirements.txt -threadpoolctl==3.5.0 # via mdanalysis, scikit-learn, -r requirements.txt -tifffile==2024.5.22 # via h5grove, scikit-image, -r requirements.txt -tomli==2.0.1 # via build, mypy, sphinx, -r requirements.txt -toolz==0.12.1 # via dask, partd, -r requirements.txt +terminado==0.18.1 # via -r requirements.txt, jupyter-server, jupyter-server-terminals +texttable==1.7.0 # via -r requirements.txt, pybis +threadpoolctl==3.5.0 # via -r requirements.txt, mdanalysis, scikit-learn +tifffile==2024.5.22 # via -r requirements.txt, h5grove, hyperspy, scikit-image +tinycss2==1.3.0 # via -r requirements.txt, nbconvert +tomli==2.0.1 # via -r requirements.txt, build, jupyterlab, mypy, sphinx +toolz==0.12.1 # via -r requirements.txt, dask, hyperspy, partd toposort==1.10 # via -r requirements.txt, nomad-lab (pyproject.toml) -tornado==6.4 # via jupyterhub, -r requirements.txt -tqdm==4.66.4 # via diffsims, hyperspy, kikuchipy, mdanalysis, orix, pyedr, pymatgen, pyxem, twine, -r requirements.txt -traitlets==5.14.3 # via ipython, jupyter-telemetry, jupyterhub, matplotlib-inline, -r requirements.txt -traits==6.4.3 # via hyperspy, pyxem, -r requirements.txt -transforms3d==0.4.1 # via diffsims, pyxem, -r requirements.txt +tornado==6.4 # via -r requirements.txt, ipykernel, ipyparallel, jupyter-client, jupyter-server, jupyterhub, jupyterlab, notebook, terminado +tqdm==4.66.4 # via -r requirements.txt, diffsims, hyperspy, ipyparallel, kikuchipy, mdanalysis, orix, pyedr, pymatgen, pyxem, twine +traitlets==5.14.3 # via -r requirements.txt, comm, ipykernel, ipyparallel, ipython, ipywidgets, jupyter-client, jupyter-console, jupyter-core, jupyter-events, jupyter-server, jupyter-telemetry, jupyterhub, jupyterlab, matplotlib-inline, nbclient, nbconvert, nbformat, qtconsole +traits==6.4.3 # via -r requirements.txt, hyperspy, pyxem +transforms3d==0.4.1 # via -r requirements.txt, diffsims, pyxem twine==3.4.2 # via nomad-lab (pyproject.toml) typed-ast==1.5.5 # via nomad-lab (pyproject.toml) -types-python-dateutil==2.9.0.20240316 # via arrow, -r requirements.txt -typing-extensions==4.11.0 # via alembic, anyio, asgiref, astroid, fastapi, ipython, jwcrypto, kombu, mypy, pydantic, sqlalchemy, starlette, uvicorn, -r requirements.txt -typish==1.9.3 # via nptyping, -r requirements.txt -tzdata==2024.1 # via celery, pytz-deprecation-shim, -r requirements.txt -tzlocal==4.3 # via nionswift, pynxtools, -r requirements.txt -uncertainties==3.1.7 # via lmfit, pymatgen, -r requirements.txt +types-python-dateutil==2.9.0.20240316 # via -r requirements.txt, arrow +typing-extensions==4.12.0 # via -r requirements.txt, alembic, anyio, asgiref, astroid, async-lru, fastapi, ipython, jwcrypto, kombu, mypy, pydantic, sqlalchemy, starlette, uvicorn +typish==1.9.3 # via -r requirements.txt, nptyping +tzdata==2024.1 # via -r requirements.txt, celery +tzlocal==5.2 # via -r requirements.txt, nionswift, pynxtools-em +uncertainties==3.1.7 # via -r requirements.txt, lmfit, pymatgen unidecode==1.3.2 # via -r requirements.txt, nomad-lab (pyproject.toml) -uri-template==1.3.0 # via jsonschema, -r requirements.txt -urllib3==1.26.18 # via docker, elasticsearch, pybis, requests, -r requirements.txt +uri-template==1.3.0 # via -r requirements.txt, jsonschema +urllib3==1.26.18 # via -r requirements.txt, docker, elasticsearch, pybis, requests uv==0.2.2 # via nomad-lab (pyproject.toml) -uvicorn==0.29.0 # via h5grove, -r requirements.txt, nomad-lab (pyproject.toml) -uvloop==0.19.0 # via uvicorn, -r requirements.txt +uvicorn[standard]==0.29.0 # via -r requirements.txt, h5grove, nomad-lab (pyproject.toml) +uvloop==0.19.0 # via -r requirements.txt, uvicorn validators==0.18.2 # via -r requirements.txt, nomad-lab (pyproject.toml) -vine==5.1.0 # via amqp, celery, kombu, -r requirements.txt -watchdog==4.0.0 # via mkdocs -watchfiles==0.21.0 # via uvicorn, -r requirements.txt -wcwidth==0.2.13 # via prettytable, prompt-toolkit, pytest, -r requirements.txt -webcolors==1.13 # via jsonschema, -r requirements.txt -webencodings==0.5.1 # via html5lib, -r requirements.txt -websockets==12.0 # via uvicorn, -r requirements.txt -werkzeug==3.0.3 # via flask, -r requirements.txt +vine==5.1.0 # via -r requirements.txt, amqp, celery, kombu +watchdog==4.0.1 # via mkdocs +watchfiles==0.21.0 # via -r requirements.txt, uvicorn +wcwidth==0.2.13 # via -r requirements.txt, prettytable, prompt-toolkit, pytest +webcolors==1.13 # via -r requirements.txt, jsonschema +webencodings==0.5.1 # via -r requirements.txt, bleach, html5lib, tinycss2 +websocket-client==1.8.0 # via -r requirements.txt, jupyter-server +websockets==12.0 # via -r requirements.txt, uvicorn +werkzeug==3.0.3 # via -r requirements.txt, flask +widgetsnbextension==4.0.10 # via -r requirements.txt, ipywidgets wrapt==1.16.0 # via -r requirements.txt, nomad-lab (pyproject.toml) -xarray==2023.12.0 # via pynxtools, pynxtools-mpes, pynxtools-xps, -r requirements.txt, nomad-lab (pyproject.toml) -zarr==2.17.1 # via pyxem, -r requirements.txt -zipfile37==0.1.3 # via pynxtools, -r requirements.txt -zipp==3.18.2 # via importlib-metadata, importlib-resources, -r requirements.txt +xarray==2023.12.0 # via -r requirements.txt, nomad-lab (pyproject.toml), pynxtools, pynxtools-mpes, pynxtools-xps +xmltodict==0.13.0 # via -r requirements.txt, ifes-apt-tc-data-modeling, pynxtools-em +xraydb==4.5.4 # via -r requirements.txt, pynxtools-em +zarr==2.17.1 # via -r requirements.txt, hyperspy +zipp==3.18.2 # via -r requirements.txt, importlib-metadata, importlib-resources zipstream-new==1.1.5 # via -r requirements.txt, nomad-lab (pyproject.toml) + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/requirements.txt b/requirements.txt index f16f9bb343c178f15c287bf7771a8840bd90a2f7..f9954581b968a15f47793704590dca35550a4578 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,58 +1,73 @@ -# This file was autogenerated by uv via the following command: -# uv pip compile --annotation-style=line --extra=infrastructure --extra=parsing --output-file=requirements.txt dependencies/nomad-dos-fingerprints/pyproject.toml dependencies/parsers/eelsdb/pyproject.toml pyproject.toml +# +# This file is autogenerated by pip-compile with Python 3.9 +# by the following command: +# +# pip-compile --annotation-style=line --extra=infrastructure --extra=parsing --output-file=requirements.txt --pip-args='--prefer-binary' dependencies/nomad-dos-fingerprints/pyproject.toml dependencies/parsers/eelsdb/pyproject.toml pyproject.toml +# alabaster==0.7.16 # via sphinx alembic==1.13.1 # via jupyterhub amqp==5.2.0 # via kombu aniso8601==9.0.1 # via nomad-lab (pyproject.toml) -anyio==4.3.0 # via httpx, starlette, watchfiles +anyio==4.3.0 # via httpx, jupyter-server, starlette, watchfiles +anytree==2.12.1 # via pynxtools +appnope==0.1.4 # via ipykernel +argon2-cffi==23.1.0 # via jupyter-server +argon2-cffi-bindings==21.2.0 # via argon2-cffi arrow==1.3.0 # via isoduration asciitree==0.3.3 # via zarr -ase==3.19.3 # via asr, ifes-apt-tc-data-modeling, matid, pynxtools, quippy-ase, nomad-lab (pyproject.toml) +ase==3.19.3 # via asr, ifes-apt-tc-data-modeling, matid, nomad-lab (pyproject.toml), pynxtools, quippy-ase asgiref==3.8.1 # via nomad-lab (pyproject.toml) asr==0.4.1 # via nomad-lab (pyproject.toml) -asteval==0.9.32 # via lmfit +asteval==0.9.33 # via lmfit asttokens==2.4.1 # via stack-data async-generator==1.10 # via jupyterhub +async-lru==2.0.4 # via jupyterlab attrs==23.2.0 # via jsonschema -babel==2.15.0 # via sphinx +babel==2.15.0 # via jupyterlab-server, sphinx bagit==1.8.1 # via nomad-lab (pyproject.toml) basicauth==0.4.1 # via nomad-lab (pyproject.toml) -beautifulsoup4==4.12.3 # via nomad-lab (pyproject.toml) +beautifulsoup4==4.12.3 # via nbconvert, nomad-lab (pyproject.toml) billiard==4.2.0 # via celery biopython==1.83 # via mdanalysis -bitarray==2.9.2 # via nomad-dos-fingerprints (dependencies/nomad-dos-fingerprints/pyproject.toml), nomad-lab (pyproject.toml) +bitarray==2.9.2 # via nomad-lab (pyproject.toml), nomad_dos_fingerprints (dependencies/nomad-dos-fingerprints/pyproject.toml) +bleach==6.1.0 # via nbconvert blinker==1.8.2 # via flask blosc2==2.5.1 # via tables cachetools==5.3.3 # via nomad-lab (pyproject.toml) celery==5.4.0 # via nomad-lab (pyproject.toml) certifi==2024.2.2 # via elasticsearch, httpcore, httpx, netcdf4, requests certipy==0.1.3 # via jupyterhub -cffi==1.16.0 # via cryptography +cffi==1.16.0 # via argon2-cffi-bindings, cryptography cftime==1.6.3 # via netcdf4 charset-normalizer==3.3.2 # via requests -click==8.1.7 # via asr, celery, click-didyoumean, click-plugins, click-repl, dask, flask, pynxtools, uvicorn, nomad-lab (pyproject.toml) +click==8.1.7 # via asr, celery, click-default-group, click-didyoumean, click-plugins, click-repl, dask, flask, nomad-lab (pyproject.toml), pynxtools, uvicorn +click-default-group==1.2.4 # via pynxtools click-didyoumean==0.3.1 # via celery click-plugins==1.1.1 # via celery click-repl==0.3.0 # via celery -cloudpickle==3.0.0 # via dask, hyperspy +cloudpickle==3.0.0 # via dask +comm==0.2.2 # via ipykernel, ipywidgets commonmark==0.9.1 # via recommonmark contourpy==1.2.1 # via matplotlib cryptography==42.0.7 # via jwcrypto, pyjwt, pyopenssl, rfc3161ng cycler==0.12.1 # via matplotlib -dask==2024.5.1 # via hyperspy, kikuchipy, orix, pyxem, rosettasciio -decorator==5.1.1 # via ipython, validators +dask[array]==2024.5.1 # via hyperspy, kikuchipy, orix, pyxem, rosettasciio +debugpy==1.8.1 # via ipykernel +decorator==5.1.1 # via ipyparallel, ipython, validators +defusedxml==0.7.1 # via nbconvert deprecation==2.1.0 # via python-keycloak diffpy-structure==3.1.0 # via diffsims, kikuchipy, orix diffsims==0.5.2 # via kikuchipy, pyxem -dill==0.3.8 # via lmfit +dill==0.3.8 # via hyperspy, lmfit dnspython==2.6.1 # via email-validator, pymongo -docker==7.0.0 # via dockerspawner +docker==7.1.0 # via dockerspawner dockerspawner==13.0.0 # via nomad-lab (pyproject.toml) docstring-parser==0.16 # via nomad-lab (pyproject.toml) docutils==0.21.2 # via m2r, recommonmark, sphinx elasticsearch==7.17.1 # via elasticsearch-dsl, nomad-lab (pyproject.toml) elasticsearch-dsl==7.4.0 # via nomad-lab (pyproject.toml) email-validator==1.3.1 # via optimade +entrypoints==0.4 # via ipyparallel escapism==1.0.1 # via dockerspawner et-xmlfile==1.1.0 # via openpyxl exceptiongroup==1.2.1 # via anyio, ipython @@ -61,51 +76,70 @@ f90wrap==0.2.14 # via quippy-ase fabio==2024.4.0 # via pyfai, silx fastapi==0.99.1 # via h5grove, nomad-lab (pyproject.toml) fasteners==0.19 # via mdanalysis, zarr +fastjsonschema==2.19.1 # via nbformat filelock==3.3.1 # via nomad-lab (pyproject.toml) findiff==0.10.0 # via pynxtools-stm flask==3.0.3 # via asr -flatdict==4.0.1 # via pynxtools +flatdict==3.4.0 # via ifes-apt-tc-data-modeling, pynxtools-em fonttools==4.51.0 # via matplotlib fqdn==1.5.1 # via jsonschema -fsspec==2024.5.0 # via dask +fsspec==2024.5.0 # via dask, hyperspy future==1.0.0 # via uncertainties gitdb==4.0.11 # via gitpython -gitpython==3.1.43 # via pynxtools, nomad-lab (pyproject.toml) +gitpython==3.1.43 # via nomad-lab (pyproject.toml) greenlet==3.0.3 # via sqlalchemy griddataformats==1.0.2 # via mdanalysis gsd==3.2.1 # via mdanalysis gunicorn==21.2.0 # via nomad-lab (pyproject.toml) h11==0.14.0 # via httpcore, uvicorn -h5grove==1.3.0 # via nomad-lab (pyproject.toml) -h5py==3.11.0 # via fabio, h5grove, hdf5plugin, ifes-apt-tc-data-modeling, kikuchipy, nionswift, orix, phonopy, pyfai, pynxtools, pynxtools-mpes, pynxtools-xps, pyxem, rosettasciio, silx, nomad-lab (pyproject.toml) +h5grove[fastapi]==1.3.0 # via jupyterlab-h5web, nomad-lab (pyproject.toml) +h5py==3.11.0 # via fabio, h5grove, hdf5plugin, hyperspy, ifes-apt-tc-data-modeling, jupyterlab-h5web, kikuchipy, nionswift, nomad-lab (pyproject.toml), orix, phonopy, pyfai, pynxtools, pynxtools-mpes, pynxtools-xps, pyxem, silx hdf5plugin==4.4.0 # via fabio hjson==3.1.0 # via nomad-lab (pyproject.toml) html5lib==1.1 # via nomad-lab (pyproject.toml) httpcore==1.0.5 # via httpx httptools==0.6.1 # via uvicorn -httpx==0.27.0 # via nomad-lab (pyproject.toml) -hyperspy==2.1.0 # via kikuchipy, pynxtools, pyxem +httpx==0.27.0 # via jupyterlab, nomad-lab (pyproject.toml) +hyperspy==1.7.6 # via kikuchipy, pyxem idna==3.7 # via anyio, email-validator, httpx, jsonschema, requests -ifes-apt-tc-data-modeling==0.1 # via pynxtools -imageio==2.34.1 # via kikuchipy, nionswift, nionswift-io, nionui, scikit-image +ifes-apt-tc-data-modeling==0.2.2 # via pynxtools-apm +igor2==0.5.2 # via pynxtools-xps +imageio==2.27.0 # via hyperspy, kikuchipy, nionswift, nionswift-io, nionui, scikit-image imagesize==1.4.1 # via sphinx -importlib-metadata==7.1.0 # via dask, flask, hyperspy, jupyterhub, pynxtools, sphinx, nomad-lab (pyproject.toml) +importlib-metadata==7.1.0 # via dask, flask, hyperspy, jupyter-client, jupyter-lsp, jupyterhub, jupyterlab, jupyterlab-server, nbconvert, nomad-lab (pyproject.toml), pynxtools, sphinx importlib-resources==6.4.0 # via matplotlib, spglib inflection==0.5.1 # via nomad-lab (pyproject.toml) -ipython==8.18.1 # via pynxtools-stm +ipykernel==6.29.4 # via ipyparallel, jupyter, jupyter-console, jupyterlab, qtconsole +ipyparallel==8.8.0 # via hyperspy +ipython==8.18.1 # via hyperspy, ipykernel, ipyparallel, ipywidgets, jupyter-console, pynxtools-xrd +ipywidgets==8.1.2 # via jupyter isodate==0.6.1 # via rdflib isoduration==20.11.0 # via jsonschema itsdangerous==2.2.0 # via flask, nomad-lab (pyproject.toml) jedi==0.19.1 # via ipython -jinja2==3.1.4 # via flask, hyperspy, jupyterhub, sphinx +jinja2==3.1.4 # via flask, hyperspy, jupyter-server, jupyterhub, jupyterlab, jupyterlab-server, nbconvert, sphinx jmespath==1.0.1 # via nomad-lab (pyproject.toml) joblib==1.4.2 # via mdanalysis, pymatgen, scikit-learn +json5==0.9.25 # via jupyterlab-server jsonpointer==2.4 # via jsonschema -jsonschema==4.17.3 # via jupyter-telemetry, oauthenticator, nomad-lab (pyproject.toml) +jsonschema[format,format-nongpl]==4.17.3 # via jupyter-events, jupyter-telemetry, jupyterlab-server, nbformat, nomad-lab (pyproject.toml), oauthenticator +jupyter==1.0.0 # via ifes-apt-tc-data-modeling +jupyter-client==8.6.2 # via ipykernel, ipyparallel, jupyter-console, jupyter-server, nbclient, qtconsole +jupyter-console==6.6.3 # via jupyter +jupyter-core==5.7.2 # via ipykernel, jupyter-client, jupyter-console, jupyter-server, jupyterlab, nbclient, nbconvert, nbformat, qtconsole +jupyter-events==0.5.0 # via jupyter-server +jupyter-lsp==2.2.5 # via jupyterlab +jupyter-server==2.5.0 # via jupyter-lsp, jupyterlab, jupyterlab-h5web, jupyterlab-server, notebook, notebook-shim +jupyter-server-terminals==0.5.3 # via jupyter-server jupyter-telemetry==0.1.0 # via jupyterhub -jupyterhub==4.0.2 # via dockerspawner, oauthenticator, nomad-lab (pyproject.toml) +jupyterhub==4.0.2 # via dockerspawner, nomad-lab (pyproject.toml), oauthenticator +jupyterlab==4.1.6 # via ifes-apt-tc-data-modeling, notebook +jupyterlab-h5web==11.1.0 # via ifes-apt-tc-data-modeling +jupyterlab-pygments==0.3.0 # via nbconvert +jupyterlab-server==2.24.0 # via jupyterlab, notebook +jupyterlab-widgets==3.0.10 # via ipywidgets jwcrypto==1.5.6 # via python-keycloak -kikuchipy==0.8.7 # via pynxtools +kikuchipy==0.9.0 # via pynxtools-em kiwisolver==1.4.5 # via matplotlib kombu==5.3.7 # via celery lark==1.1.9 # via optimade @@ -113,68 +147,75 @@ latexcodec==3.0.0 # via pybtex llvmlite==0.42.0 # via numba lmfit==1.3.1 # via pyxem locket==1.0.0 # via partd -lxml==5.2.2 # via fabio, lxml-html-clean, nomad-lab (pyproject.toml) +lxml==5.2.2 # via fabio, lxml-html-clean, nomad-lab (pyproject.toml), pynxtools lxml-html-clean==0.1.1 # via nomad-lab (pyproject.toml) m2r==0.2.1 # via nomad-lab (pyproject.toml) mako==1.3.5 # via alembic -markupsafe==2.1.5 # via jinja2, mako, werkzeug +markupsafe==2.1.5 # via jinja2, mako, nbconvert, werkzeug matid==2.0.1 # via nomad-lab (pyproject.toml) matplotlib==3.8.4 # via ase, asr, diffsims, hyperspy, kikuchipy, matplotlib-scalebar, mdanalysis, orix, phonopy, pyfai, pymatgen, pyxem, radioactivedecay -matplotlib-inline==0.1.7 # via ipython +matplotlib-inline==0.1.7 # via ipykernel, ipython matplotlib-scalebar==0.8.1 # via orix mda-xdrlib==0.2.0 # via pyedr mdanalysis==2.5.0 # via nomad-lab (pyproject.toml) mergedeep==1.3.4 # via pynxtools -mistune==3.0.2 # via m2r +mistune==3.0.2 # via m2r, nbconvert mmtf-python==1.1.3 # via mdanalysis mongoengine==0.28.2 # via nomad-lab (pyproject.toml) mongomock==4.1.2 # via optimade -monty==2024.5.15 # via pymatgen +monty==2024.5.24 # via pymatgen mpmath==1.3.0 # via sympy mrcfile==1.5.0 # via griddataformats msgpack==1.0.8 # via blosc2, mmtf-python, nomad-lab (pyproject.toml) natsort==8.4.0 # via hyperspy +nbclient==0.10.0 # via nbconvert +nbconvert==7.16.4 # via jupyter, jupyter-server +nbformat==5.10.4 # via jupyter-server, nbclient, nbconvert ndindex==1.8 # via blosc2 +nest-asyncio==1.6.0 # via ipykernel netcdf4==1.6.5 # via nomad-lab (pyproject.toml) -networkx==2.6.3 # via matid, mdanalysis, pymatgen, radioactivedecay, scikit-image, nomad-lab (pyproject.toml) +networkx==2.6.3 # via matid, mdanalysis, nomad-lab (pyproject.toml), pymatgen, radioactivedecay, scikit-image niondata==0.15.5 # via nionswift, nionswift-io -nionswift==0.16.8 # via pynxtools +nionswift==0.16.8 # via pynxtools-em nionswift-io==0.15.1 # via nionswift nionui==0.6.11 # via nionswift nionutils==0.4.10 # via niondata, nionswift, nionswift-io, nionui +notebook==7.1.3 # via jupyter +notebook-shim==0.2.4 # via jupyterlab, notebook nptyping==1.4.4 # via nomad-lab (pyproject.toml) -numba==0.59.1 # via diffsims, kikuchipy, orix, pyxem +numba==0.59.1 # via diffsims, hyperspy, kikuchipy, orix, pyxem, sparse numcodecs==0.12.1 # via zarr -numexpr==2.10.0 # via pyfai, pyxem, tables -numpy==1.22.4 # via ase, biopython, blosc2, cftime, contourpy, dask, diffsims, f90wrap, fabio, findiff, griddataformats, gsd, h5grove, h5py, hyperspy, ifes-apt-tc-data-modeling, imageio, kikuchipy, lmfit, matid, matplotlib, mdanalysis, mrcfile, netcdf4, niondata, nionswift, nionswift-io, nionui, nptyping, numba, numcodecs, numexpr, numpy-quaternion, orix, pandas, phonopy, pycifrw, pyedr, pyfai, pymatgen, pynxtools, pywavelets, pyxem, quippy-ase, radioactivedecay, rdkit, rosettasciio, scikit-image, scikit-learn, scipy, shapely, silx, spglib, tables, tifffile, xarray, zarr, nomad-dos-fingerprints (dependencies/nomad-dos-fingerprints/pyproject.toml), nomad-lab (pyproject.toml) +numexpr==2.10.0 # via hyperspy, pyfai, pyxem, tables +numpy==1.22.4 # via ase, biopython, blosc2, cftime, contourpy, dask, diffsims, f90wrap, fabio, findiff, griddataformats, gsd, h5grove, h5py, hyperspy, ifes-apt-tc-data-modeling, igor2, imageio, kikuchipy, lmfit, matid, matplotlib, mdanalysis, mrcfile, netcdf4, niondata, nionswift, nionswift-io, nionui, nomad-lab (pyproject.toml), nomad_dos_fingerprints (dependencies/nomad-dos-fingerprints/pyproject.toml), nptyping, numba, numcodecs, numexpr, numpy-quaternion, orix, pandas, phonopy, pycifrw, pyedr, pyfai, pymatgen, pynxtools, pywavelets, pyxem, quippy-ase, radioactivedecay, rdkit, rosettasciio, scikit-image, scikit-learn, scipy, silx, sparse, spglib, tables, tifffile, xarray, xraydb, zarr numpy-quaternion==2023.0.3 # via orix oauthenticator==15.1.0 # via nomad-lab (pyproject.toml) oauthlib==3.2.2 # via jupyterhub openpyxl==3.1.2 # via nomad-lab (pyproject.toml) -optimade==0.22.1 # via nomad-lab (pyproject.toml) +optimade[mongo]==0.22.1 # via nomad-lab (pyproject.toml) orix==0.12.1.post0 # via diffsims, kikuchipy, pyxem orjson==3.10.3 # via h5grove, nomad-lab (pyproject.toml) -packaging==24.0 # via dask, deprecation, docker, f90wrap, gunicorn, hyperspy, jupyterhub, matplotlib, mdanalysis, mongomock, pint, plotly, pooch, scikit-image, silx, sphinx, tables, xarray +packaging==24.0 # via dask, deprecation, f90wrap, gunicorn, hyperspy, ipykernel, jupyter-server, jupyterhub, jupyterlab, jupyterlab-server, matplotlib, mdanalysis, mongomock, nbconvert, pint, plotly, pooch, qtconsole, qtpy, scikit-image, silx, sphinx, tables, xarray, xraydb palettable==3.3.3 # via pymatgen pamela==1.1.0 # via jupyterhub -pandas==1.5.3 # via ifes-apt-tc-data-modeling, panedr, pybis, pymatgen, pynxtools, radioactivedecay, xarray, eelsdbconverter (dependencies/parsers/eelsdb/pyproject.toml), nomad-lab (pyproject.toml) +pandas==1.5.3 # via eelsdbconverter (dependencies/parsers/eelsdb/pyproject.toml), ifes-apt-tc-data-modeling, nomad-lab (pyproject.toml), panedr, pybis, pymatgen, pynxtools, radioactivedecay, xarray +pandocfilters==1.5.1 # via nbconvert panedr==0.8.0 # via nomad-lab (pyproject.toml) parmed==4.2.2 # via nomad-lab (pyproject.toml) parso==0.8.4 # via jedi partd==1.4.2 # via dask pexpect==4.9.0 # via ipython phonopy==2.23.1 # via asr -pillow==10.3.0 # via fabio, imageio, matplotlib, nionswift, rdkit, scikit-image -pint==0.17 # via hyperspy, rosettasciio, nomad-lab (pyproject.toml) -platformdirs==4.2.2 # via pooch +pillow==10.0.1 # via fabio, hyperspy, imageio, matplotlib, nionswift, rdkit, scikit-image +pint==0.17 # via hyperspy, nomad-lab (pyproject.toml), pynxtools-xps, rosettasciio +platformdirs==4.2.2 # via jupyter-core, pooch, xraydb plotly==5.22.0 # via asr, pymatgen ply==3.11 # via pycifrw -pooch==1.8.1 # via hyperspy, kikuchipy, orix, pyxem +pooch==1.8.1 # via kikuchipy, orix prettytable==3.10.0 # via hyperspy -prometheus-client==0.20.0 # via jupyterhub -prompt-toolkit==3.0.43 # via click-repl, ipython -psutil==5.9.8 # via diffsims, pyxem -ptyprocess==0.7.0 # via pexpect +prometheus-client==0.20.0 # via jupyter-server, jupyterhub +prompt-toolkit==3.0.43 # via click-repl, ipython, jupyter-console +psutil==5.9.8 # via diffsims, ipykernel, ipyparallel, pyxem +ptyprocess==0.7.0 # via pexpect, terminado pure-eval==0.2.2 # via stack-data py-cpuinfo==9.0.0 # via blosc2, tables pyasn1==0.6.0 # via pyasn1-modules, rfc3161ng @@ -183,60 +224,67 @@ pybis @ git+https://github.com/FAIRmat-NFDI/fairmat-pybis.git@91039c2a1df364c88a pybtex==0.24.0 # via pymatgen pycifrw==4.4.6 # via diffpy-structure pycparser==2.22 # via cffi -pydantic==1.10.15 # via fastapi, optimade, nomad-lab (pyproject.toml) +pydantic==1.10.15 # via fastapi, nomad-lab (pyproject.toml), optimade pyedr==0.8.0 # via panedr -pyfai==2023.9.0 # via pyxem -pygments==2.18.0 # via ipython, sphinx -pyjwt==2.6.0 # via nomad-lab (pyproject.toml) +pyfai==2024.5.0 # via pyxem +pygments==2.18.0 # via ipython, jupyter-console, nbconvert, qtconsole, sphinx +pyjwt[crypto]==2.6.0 # via nomad-lab (pyproject.toml) pymatgen==2023.9.25 # via asr, nomad-lab (pyproject.toml) -pymongo==4.6.3 # via mongoengine, optimade, nomad-lab (pyproject.toml) -pynxtools==0.1.1 # via pynxtools-mpes, pynxtools-stm, pynxtools-xps, nomad-lab (pyproject.toml) +pymongo==4.6.3 # via mongoengine, nomad-lab (pyproject.toml), optimade +pynxtools[apm,convert,ellips,em,mpes,stm,xps,xrd]==0.3.1 # via nomad-lab (pyproject.toml), pynxtools-apm, pynxtools-ellips, pynxtools-em, pynxtools-mpes, pynxtools-stm, pynxtools-xps, pynxtools-xrd +pynxtools-apm==0.1.1 # via pynxtools +pynxtools-ellips==0.0.2 # via pynxtools +pynxtools-em==0.1.1 # via pynxtools pynxtools-mpes==0.0.3 # via pynxtools -pynxtools-stm==1.0.1 # via pynxtools -pynxtools-xps==0.0.3 # via pynxtools +pynxtools-stm==1.0.4 # via pynxtools +pynxtools-xps==0.2.2 # via pynxtools +pynxtools-xrd==0.0.1 # via pynxtools pyopenssl==24.1.0 # via certipy pyparsing==3.1.2 # via matplotlib, rdflib pyrsistent==0.20.0 # via jsonschema python-box==6.1.0 # via rosettasciio -python-dateutil==2.9.0.post0 # via arrow, celery, elasticsearch-dsl, hyperspy, jupyterhub, matplotlib, pandas, pybis, rfc3161ng, rosettasciio +python-dateutil==2.9.0.post0 # via arrow, celery, elasticsearch-dsl, hyperspy, ipyparallel, jupyter-client, jupyterhub, matplotlib, pandas, pybis, rfc3161ng, rosettasciio python-dotenv==1.0.1 # via uvicorn -python-json-logger==2.0.2 # via jupyter-telemetry, nomad-lab (pyproject.toml) +python-json-logger==2.0.2 # via jupyter-events, jupyter-telemetry, nomad-lab (pyproject.toml) python-keycloak==4.0.0 # via nomad-lab (pyproject.toml) python-logstash==0.4.6 # via nomad-lab (pyproject.toml) python-magic==0.4.24 # via nomad-lab (pyproject.toml) python-multipart==0.0.9 # via nomad-lab (pyproject.toml) -pytz==2024.1 # via nionswift, pandas, pynxtools, nomad-lab (pyproject.toml) -pytz-deprecation-shim==0.1.0.post0 # via tzlocal +pytz==2024.1 # via nionswift, nomad-lab (pyproject.toml), pandas pywavelets==1.6.0 # via scikit-image -pyxem==0.18.0 # via pynxtools -pyyaml==6.0.1 # via dask, hyperspy, kikuchipy, phonopy, pybtex, pynxtools, pynxtools-mpes, rosettasciio, uvicorn, nomad-lab (pyproject.toml) +pyxem==0.16.0 # via pynxtools-em +pyyaml==6.0.1 # via dask, hyperspy, jupyter-events, kikuchipy, nomad-lab (pyproject.toml), phonopy, pybtex, pynxtools, pynxtools-mpes, rosettasciio, uvicorn pyzeo==0.1.5 # via nomad-lab (pyproject.toml) +pyzmq==26.0.3 # via ipykernel, ipyparallel, jupyter-client, jupyter-console, jupyter-server, qtconsole +qtconsole==5.5.2 # via jupyter +qtpy==2.4.1 # via qtconsole quippy-ase==0.9.14 # via nomad-lab (pyproject.toml) radioactivedecay==0.5.0 # via ifes-apt-tc-data-modeling rdflib==5.0.0 # via nomad-lab (pyproject.toml) rdkit==2023.9.5 # via nomad-lab (pyproject.toml) recommonmark==0.7.1 # via nomad-lab (pyproject.toml) -requests==2.32.2 # via docker, hyperspy, jupyterhub, oauthenticator, optimade, pooch, pybis, pymatgen, python-keycloak, requests-toolbelt, rfc3161ng, sphinx, eelsdbconverter (dependencies/parsers/eelsdb/pyproject.toml), nomad-lab (pyproject.toml) +requests==2.32.2 # via docker, eelsdbconverter (dependencies/parsers/eelsdb/pyproject.toml), hyperspy, jupyterhub, jupyterlab-server, nomad-lab (pyproject.toml), oauthenticator, optimade, pooch, pybis, pymatgen, python-keycloak, requests-toolbelt, rfc3161ng, sphinx requests-toolbelt==1.0.0 # via python-keycloak rfc3161ng==2.1.3 # via nomad-lab (pyproject.toml) rfc3339-validator==0.1.4 # via jsonschema +rfc3986-validator==0.1.1 # via jsonschema rfc3987==1.3.8 # via jsonschema -rosettasciio==0.4 # via hyperspy +rosettasciio==0.4 # via pynxtools-em ruamel-yaml==0.18.6 # via jupyter-telemetry, oauthenticator, pymatgen ruamel-yaml-clib==0.2.8 # via ruamel-yaml runstats==2.0.0 # via nomad-lab (pyproject.toml) scikit-image==0.19.3 # via hyperspy, kikuchipy, pyxem -scikit-learn==1.5.0 # via kikuchipy, matid, pyxem, nomad-lab (pyproject.toml) -scipy==1.13.1 # via ase, diffsims, findiff, griddataformats, hyperspy, kikuchipy, lmfit, matid, mdanalysis, niondata, nionswift, orix, pyfai, pymatgen, pynxtools, pyxem, radioactivedecay, scikit-image, scikit-learn, nomad-lab (pyproject.toml) +scikit-learn==1.5.0 # via kikuchipy, matid, nomad-lab (pyproject.toml), pyxem +scipy==1.13.1 # via ase, diffsims, findiff, griddataformats, hyperspy, kikuchipy, lmfit, matid, mdanalysis, niondata, nionswift, nomad-lab (pyproject.toml), orix, pyfai, pymatgen, pyxem, radioactivedecay, scikit-image, scikit-learn, sparse, xraydb +send2trash==1.8.3 # via jupyter-server sentinels==1.0.0 # via mongomock -setuptools==70.0.0 # via radioactivedecay -shapely==2.0.4 # via pyxem silx==2.1.0 # via pyfai -six==1.16.0 # via asttokens, basicauth, diffpy-structure, elasticsearch-dsl, html5lib, isodate, pybtex, python-dateutil, rdflib, rfc3339-validator, validators +six==1.16.0 # via anytree, asttokens, basicauth, bleach, diffpy-structure, elasticsearch-dsl, html5lib, isodate, pybtex, python-dateutil, rdflib, rfc3339-validator, validators smmap==5.0.1 # via gitdb sniffio==1.3.1 # via anyio, httpx snowballstemmer==2.2.0 # via sphinx soupsieve==2.5 # via beautifulsoup4 +sparse==0.15.4 # via hyperspy spglib==2.4.0 # via asr, matid, phonopy, pymatgen sphinx==7.3.7 # via recommonmark sphinxcontrib-applehelp==1.0.8 # via sphinx @@ -245,47 +293,55 @@ sphinxcontrib-htmlhelp==2.0.5 # via sphinx sphinxcontrib-jsmath==1.0.1 # via sphinx sphinxcontrib-qthelp==1.0.7 # via sphinx sphinxcontrib-serializinghtml==1.1.10 # via sphinx -sqlalchemy==2.0.30 # via alembic, jupyterhub +sqlalchemy==2.0.30 # via alembic, jupyterhub, xraydb stack-data==0.6.3 # via ipython starlette==0.27.0 # via fastapi structlog==24.1.0 # via nomad-lab (pyproject.toml) sympy==1.12 # via findiff, hyperspy, pymatgen, radioactivedecay tables==3.9.2 # via ifes-apt-tc-data-modeling -tabulate==0.8.9 # via pybis, pymatgen, nomad-lab (pyproject.toml) +tabulate==0.8.9 # via nomad-lab (pyproject.toml), pybis, pymatgen tenacity==8.3.0 # via plotly +terminado==0.18.1 # via jupyter-server, jupyter-server-terminals texttable==1.7.0 # via pybis threadpoolctl==3.5.0 # via mdanalysis, scikit-learn -tifffile==2024.5.22 # via h5grove, scikit-image -tomli==2.0.1 # via sphinx -toolz==0.12.1 # via dask, partd +tifffile==2024.5.22 # via h5grove, hyperspy, scikit-image +tinycss2==1.3.0 # via nbconvert +tomli==2.0.1 # via jupyterlab, sphinx +toolz==0.12.1 # via dask, hyperspy, partd toposort==1.10 # via nomad-lab (pyproject.toml) -tornado==6.4 # via jupyterhub -tqdm==4.66.4 # via diffsims, hyperspy, kikuchipy, mdanalysis, orix, pyedr, pymatgen, pyxem -traitlets==5.14.3 # via ipython, jupyter-telemetry, jupyterhub, matplotlib-inline +tornado==6.4 # via ipykernel, ipyparallel, jupyter-client, jupyter-server, jupyterhub, jupyterlab, notebook, terminado +tqdm==4.66.4 # via diffsims, hyperspy, ipyparallel, kikuchipy, mdanalysis, orix, pyedr, pymatgen, pyxem +traitlets==5.14.3 # via comm, ipykernel, ipyparallel, ipython, ipywidgets, jupyter-client, jupyter-console, jupyter-core, jupyter-events, jupyter-server, jupyter-telemetry, jupyterhub, jupyterlab, matplotlib-inline, nbclient, nbconvert, nbformat, qtconsole traits==6.4.3 # via hyperspy, pyxem transforms3d==0.4.1 # via diffsims, pyxem types-python-dateutil==2.9.0.20240316 # via arrow -typing-extensions==4.11.0 # via alembic, anyio, asgiref, fastapi, ipython, jwcrypto, kombu, pydantic, sqlalchemy, starlette, uvicorn +typing-extensions==4.12.0 # via alembic, anyio, asgiref, async-lru, fastapi, ipython, jwcrypto, kombu, pydantic, sqlalchemy, starlette, uvicorn typish==1.9.3 # via nptyping -tzdata==2024.1 # via celery, pytz-deprecation-shim -tzlocal==4.3 # via nionswift, pynxtools +tzdata==2024.1 # via celery +tzlocal==5.2 # via nionswift, pynxtools-em uncertainties==3.1.7 # via lmfit, pymatgen unidecode==1.3.2 # via nomad-lab (pyproject.toml) uri-template==1.3.0 # via jsonschema urllib3==1.26.18 # via docker, elasticsearch, pybis, requests -uvicorn==0.29.0 # via h5grove, nomad-lab (pyproject.toml) +uvicorn[standard]==0.29.0 # via h5grove, nomad-lab (pyproject.toml) uvloop==0.19.0 # via uvicorn validators==0.18.2 # via nomad-lab (pyproject.toml) vine==5.1.0 # via amqp, celery, kombu watchfiles==0.21.0 # via uvicorn wcwidth==0.2.13 # via prettytable, prompt-toolkit webcolors==1.13 # via jsonschema -webencodings==0.5.1 # via html5lib +webencodings==0.5.1 # via bleach, html5lib, tinycss2 +websocket-client==1.8.0 # via jupyter-server websockets==12.0 # via uvicorn werkzeug==3.0.3 # via flask +widgetsnbextension==4.0.10 # via ipywidgets wrapt==1.16.0 # via nomad-lab (pyproject.toml) -xarray==2023.12.0 # via pynxtools, pynxtools-mpes, pynxtools-xps, nomad-lab (pyproject.toml) -zarr==2.17.1 # via pyxem -zipfile37==0.1.3 # via pynxtools +xarray==2023.12.0 # via nomad-lab (pyproject.toml), pynxtools, pynxtools-mpes, pynxtools-xps +xmltodict==0.13.0 # via ifes-apt-tc-data-modeling, pynxtools-em +xraydb==4.5.4 # via pynxtools-em +zarr==2.17.1 # via hyperspy zipp==3.18.2 # via importlib-metadata, importlib-resources zipstream-new==1.1.5 # via nomad-lab (pyproject.toml) + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/scripts/check_python_dependencies.sh b/scripts/check_python_dependencies.sh index 276ed31737058d641120d39e7164d01469dfac69..f6aa37b5c165f29ed71cae32fad05612a442fc6e 100755 --- a/scripts/check_python_dependencies.sh +++ b/scripts/check_python_dependencies.sh @@ -14,6 +14,9 @@ project_dir=$(dirname $(dirname $(realpath $0))) cd $project_dir +# do no support git install for pynxtools +grep pynxtools pyproject.toml | grep "@git+" 1>&2 + # backup cp requirements.txt requirements.txt.tmp cp requirements-dev.txt requirements-dev.txt.tmp diff --git a/scripts/setup_dev_env.sh b/scripts/setup_dev_env.sh index 7a89bd96b7ed8fdbb0135051f18e9620480acb7e..23d14cec4e10e438c1f2436e21c422d4cabe4093 100755 --- a/scripts/setup_dev_env.sh +++ b/scripts/setup_dev_env.sh @@ -17,7 +17,6 @@ rm -rf site # Install nomad pip install --prefer-binary -r requirements-dev.txt -pip uninstall -y pynxtools pip install -e ".[infrastructure,parsing,dev]" # Build documentation diff --git a/tests/data/parsers/nexus/SiO2onSi.ellips.nxs b/tests/data/parsers/nexus/SiO2onSi.ellips.nxs index 31516e6ed681320a5223a7672ed75d116af7dcbe..dcb645cd9392c3ebff92dbeac5c690012c636f2b 100644 Binary files a/tests/data/parsers/nexus/SiO2onSi.ellips.nxs and b/tests/data/parsers/nexus/SiO2onSi.ellips.nxs differ