Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Broken type matching #234

Open
ndaelman-hu opened this issue Jun 24, 2024 · 6 comments
Open

Broken type matching #234

ndaelman-hu opened this issue Jun 24, 2024 · 6 comments
Labels
bug Something isn't working. It also represents a quick fix in response to a bug.

Comments

@ndaelman-hu
Copy link
Contributor

ndaelman-hu commented Jun 24, 2024

The application of stricter type tests is raising pytest errors in the following parsers (corrected):

  • Yambo (GW)
  • abinit (GW)
  • FHI-aims (GW)
  • Gaussian (is being patched)
  • TBStudio

@ladinesa @JosePizarro3 and Pavle : This may also interest you.

@ndaelman-hu ndaelman-hu added the bug Something isn't working. It also represents a quick fix in response to a bug. label Jun 24, 2024
@ondracka
Copy link
Collaborator

Can you please attach some example log?

@ndaelman-hu
Copy link
Contributor Author

Can you please attach some example log?

Sure, it's the part failing atm, actually, but here goes (errors only):

============================= test session starts ==============================
platform linux -- Python 3.9.19, pytest-3.10.0, py-1.11.0, pluggy-1.5.0 -- /opt/hostedtoolcache/Python/3.9.19/x64/bin/python
cachedir: .pytest_cache
rootdir: /home/runner/work/electronic-parsers/electronic-parsers, inifile:
plugins: cov-2.7.1, timeout-1.4.2, anyio-4.4.0

=================================== FAILURES ===================================
___________________________________ test_gw ____________________________________

self = TextParser(A1.abo) --> 1 parsed quantities (model), quantity = params
value = ['plane-waves for SigmaX                  1759', 'plane-waves for SigmaC and W             259', 'plane-waves for wave...             512', 'independent spin polarizations             1', 'spinorial components                       1', ...]
units = [None, None, None, None, None, None, ...]

    def _add_value(self, quantity: Quantity, value: List[str], units):
        """
        Converts the list of parsed blocks into data and apply the corresponding units.
        """
        try:
>           value_processed = [quantity.to_data(val) for val in value]

/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:401: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

.0 = <list_iterator object at 0x7fd5b177a970>

>   value_processed = [quantity.to_data(val) for val in value]

/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:401: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = params, val_raw = 'plane-waves for SigmaX                  1759'

    def to_data(self, val_raw: str):
        """
        Converts the parsed block into data.
        """
    
        def convert(val):
            if isinstance(val, str):
                if self.dtype is None:
                    if val.isdecimal():
                        return int(val)
                    else:
                        try:
                            return float(val)
                        except Exception:
                            pass
                else:
                    try:
                        return self.dtype(val)
                    except Exception:
                        pass
    
                return val
    
            elif isinstance(val, (list, np.ndarray)):
                try:
                    dtype = float if self.dtype is None else self.dtype
                    val_test = np.array(val, dtype=dtype)
                    if self.dtype is None:
                        if np.all(np.mod(val_test, 1) == 0):
                            val_test = np.array(val_test, dtype=int)
                            dtype = int
                    return val_test
    
                except Exception:
                    self.dtype = None
                    return [convert(v) for v in val]
    
            elif isinstance(val, dict):
                return {k: convert(v) for k, v in val.items()}
    
            else:
                return val
    
        if not val_raw:
            return
    
        if self.comment is not None:
            if val_raw.strip()[0] == self.comment:
                return
    
        data: Any = val_raw
    
        if self.str_operation is not None:
>           data = self.str_operation(val_raw)

/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:226: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

val_in = 'plane-waves for SigmaX                  1759'

    def params_to_pairs(val_in):
        key = '_'.join(val_in.split()[:-1]).replace('-', '_')
>       value = np.int(val_in.split()[-1])

electronicparsers/abinit/parser.py:982: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

attr = 'int'

    def __getattr__(attr):
        # Warn for expired attributes, and return a dummy function
        # that always raises an exception.
        import warnings
        import math
        try:
            msg = __expired_functions__[attr]
        except KeyError:
            pass
        else:
            warnings.warn(msg, DeprecationWarning, stacklevel=2)
    
            def _expired(*args, **kwds):
                raise RuntimeError(msg)
    
            return _expired
    
        # Emit warnings for deprecated attributes
        try:
            val, msg = __deprecated_attrs__[attr]
        except KeyError:
            pass
        else:
            warnings.warn(msg, DeprecationWarning, stacklevel=2)
            return val
    
        if attr in __future_scalars__:
            # And future warnings for those that will change, but also give
            # the AttributeError
            warnings.warn(
                f"In the future `np.{attr}` will be defined as the "
                "corresponding NumPy scalar.", FutureWarning, stacklevel=2)
    
        if attr in __former_attrs__:
>           raise AttributeError(__former_attrs__[attr])
E           AttributeError: module 'numpy' has no attribute 'int'.
E           `np.int` was a deprecated alias for the builtin `int`. To avoid this error in existing code, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
E           The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
E               https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations

/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/numpy/__init__.py:324: AttributeError

During handling of the above exception, another exception occurred:

parser = <electronicparsers.abinit.parser.AbinitParser object at 0x7fd5b125f460>

    def test_gw(parser):
        archive = EntryArchive()
        parser._calculation_type = 'gw'
>       parser.parse('tests/data/abinit/ZrO2_GW/A1.abo', archive, None)

tests/test_abinitparser.py:123: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
electronicparsers/abinit/parser.py:1836: in parse
    self.dataset = self.out_parser.get('dataset', [])
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/file_parser.py:160: in get
    val = self.results.get(key)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/file_parser.py:75: in results
    self.parse(self._key, **self._kwargs)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:560: in parse
    self._parse_quantity(quantity)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:496: in _parse_quantity
    value.append(sub_parser.parse())
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:560: in parse
    self._parse_quantity(quantity)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:496: in _parse_quantity
    value.append(sub_parser.parse())
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:551: in parse
    self._parse_quantities(quantities_findall)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:475: in _parse_quantities
    self._add_value(quantity, values, units)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:416: in _add_value
    self.logger.warning(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/logging/__init__.py:2082: in warning
    root.warning(msg, *args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <RootLogger root (DEBUG)>, msg = 'Error setting value', args = ()
kwargs = {'data': {'quantity': 'params'}}

    def warning(self, msg, *args, **kwargs):
        """
        Log 'msg % args' with severity 'WARNING'.
    
        To pass exception information, use the keyword argument exc_info with
        a true value, e.g.
    
        logger.warning("Houston, we have a %s", "bit of a problem", exc_info=1)
        """
        if self.isEnabledFor(WARNING):
>           self._log(WARNING, msg, args, **kwargs)
E           TypeError: _log() got an unexpected keyword argument 'data'

/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/logging/__init__.py:1458: TypeError
___________________________________ test_gw ____________________________________

parser = <electronicparsers.fhiaims.parser.FHIAimsParser object at 0x7fd5b177c400>

    def test_gw(parser):
        """Tests for GW calculations in an atom, He"""
        archive = EntryArchive()
        parser._calculation_type = 'gw'
>       parser.parse('tests/data/fhiaims/He_gw/He_scGW_ontop_PBE.out', archive, None)

tests/test_fhiaimsparser.py:337: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
electronicparsers/fhiaims/parser.py:2557: in parse
    self.parse_gw()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <electronicparsers.fhiaims.parser.FHIAimsParser object at 0x7fd5b177c400>

    def parse_gw(self):
        sec_run = self.archive.run[-1]
    
        # GW method
        sec_method = Method()
        sec_run.method.append(sec_method)
        # GW
        sec_gw = GW()
        sec_method.gw = sec_gw
        sec_gw.type = self._gw_flag_map.get(self.out_parser.get('gw_flag'), None)
        sec_gw.n_states = self.out_parser.get('n_states_gw')
        # KMesh
        if self.out_parser.get('k_grid') is not None:
            sec_k_mesh = KMesh()
            sec_method.k_mesh = sec_k_mesh
            sec_k_mesh.grid = self.out_parser.get('k_grid')
            # QMesh copied from KMesh
            sec_gw.m_add_sub_section(GW.q_mesh, sec_k_mesh)
        # Analytical continuation
        sec_gw.analytical_continuation = self.gw_analytical_continuation[
            self.out_parser.get('anacon_type', 1)
        ]
        # FrequencyMesh
        frequency_data = self.out_parser.get('frequency_data', [])
        if len(frequency_data) > 0:
>           freq_points = np.array(frequency_data)[:, 1] * ureg.hartree
E           ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 2 dimensions. The detected shape was (20, 2) + inhomogeneous part.

electronicparsers/fhiaims/parser.py:1426: ValueError
_________________________________ test_gw_eigs _________________________________

parser = <electronicparsers.fhiaims.parser.FHIAimsParser object at 0x7fd5b177c400>

    def test_gw_eigs(parser):
        """Tests for GW calculations in a molecule, CHN"""
        archive = EntryArchive()
>       parser.parse('tests/data/fhiaims/CHN_gw/output.out', archive, None)

tests/test_fhiaimsparser.py:375: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
electronicparsers/fhiaims/parser.py:2557: in parse
    self.parse_gw()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <electronicparsers.fhiaims.parser.FHIAimsParser object at 0x7fd5b177c400>

    def parse_gw(self):
        sec_run = self.archive.run[-1]
    
        # GW method
        sec_method = Method()
        sec_run.method.append(sec_method)
        # GW
        sec_gw = GW()
        sec_method.gw = sec_gw
        sec_gw.type = self._gw_flag_map.get(self.out_parser.get('gw_flag'), None)
        sec_gw.n_states = self.out_parser.get('n_states_gw')
        # KMesh
        if self.out_parser.get('k_grid') is not None:
            sec_k_mesh = KMesh()
            sec_method.k_mesh = sec_k_mesh
            sec_k_mesh.grid = self.out_parser.get('k_grid')
            # QMesh copied from KMesh
            sec_gw.m_add_sub_section(GW.q_mesh, sec_k_mesh)
        # Analytical continuation
        sec_gw.analytical_continuation = self.gw_analytical_continuation[
            self.out_parser.get('anacon_type', 1)
        ]
        # FrequencyMesh
        frequency_data = self.out_parser.get('frequency_data', [])
        if len(frequency_data) > 0:
>           freq_points = np.array(frequency_data)[:, 1] * ureg.hartree
E           ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 2 dimensions. The detected shape was (200, 2) + inhomogeneous part.

electronicparsers/fhiaims/parser.py:1426: ValueError
______________________________ test_scf_multirun _______________________________

parser = <electronicparsers.gaussian.parser.GaussianParser object at 0x7fd5ad496400>

    def test_scf_multirun(parser):
        archive = EntryArchive()
>       parser.parse('tests/data/gaussian/Al_multistep/m61b5.out', archive, None)

tests/test_gaussianparser.py:88: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
electronicparsers/gaussian/parser.py:1537: in parse
    runs = self.out_parser.get('run', [])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = GaussianOutParser(m61b5.out) --> 2 parsed quantities (program, x_gaussian_memory)
key = 'run', default = [], unit = None, kwargs = {}

    def get(
        self,
        key: str,
        default: Any = None,
        unit: Union[pint.Unit, pint.Quantity] = None,
        **kwargs,
    ):
        """
        Returns the parsed result for quantity with name key. If quantity is not in
        results default will be returned. A pint unit can be provided which is attached
        to the returned value.
        """
        if self.mainfile is None:
            return default
    
        self._key = key
        self._kwargs = kwargs
>       val = self.results.get(key)
E       AttributeError: 'NoneType' object has no attribute 'get'

/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/file_parser.py:160: AttributeError
__________________________________ test_freq ___________________________________

parser = <electronicparsers.gaussian.parser.GaussianParser object at 0x7fd5ad496400>

    def test_freq(parser):
        archive = EntryArchive()
>       parser.parse('tests/data/gaussian/CHO_freq/prono.out', archive, None)

tests/test_gaussianparser.py:137: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
electronicparsers/gaussian/parser.py:1537: in parse
    runs = self.out_parser.get('run', [])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = GaussianOutParser(prono.out) --> 3 parsed quantities (program, x_gaussian_memory, x_gaussian_number_of_processors)
key = 'run', default = [], unit = None, kwargs = {}

    def get(
        self,
        key: str,
        default: Any = None,
        unit: Union[pint.Unit, pint.Quantity] = None,
        **kwargs,
    ):
        """
        Returns the parsed result for quantity with name key. If quantity is not in
        results default will be returned. A pint unit can be provided which is attached
        to the returned value.
        """
        if self.mainfile is None:
            return default
    
        self._key = key
        self._kwargs = kwargs
>       val = self.results.get(key)
E       AttributeError: 'NoneType' object has no attribute 'get'

/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/file_parser.py:160: AttributeError
_________________________________ test_parser __________________________________

parser = <electronicparsers.tbstudio.parser.TBStudioParser object at 0x7fd5ad56c970>

    def test_parser(parser):
        archive = EntryArchive()
        parser.parse('tests/data/tbstudio/graphenePz.tbm', archive, None)
    
        sec_run = archive.run[-1]
        sec_program = sec_run.program
        assert sec_program.name == 'TBStudio'
        assert sec_program.version == '2.0'
    
        assert len(sec_run.system) == 1
        sec_system = sec_run.system[-1]
        assert sec_system.atoms.labels == ['C', 'C']
    
        a = [1.23435, 2.14452, 0.0]
        b = [1.23435, -2.14452, 0.0]
        c = [0.0, 0.0, 20.0]
        positions = [[0.00414, -0.004863, 10.0], [1.238611, -0.72006, 10.0]]
>       assert sec_system.atoms.lattice_vectors.to('angstrom').magnitude == approx(
            np.array([a, b, c])
        )

tests/test_tbstudioparser.py:52: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/_pytest/python_api.py:137: in __eq__
    return ApproxBase.__eq__(self, actual)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/_pytest/python_api.py:70: in __eq__
    return all(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/_pytest/python_api.py:70: in <genexpr>
    return all(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/_pytest/python_api.py:151: in _yield_comparisons
    yield np.asscalar(actual[i]), np.asscalar(self.expected[i])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

attr = 'asscalar'

    def __getattr__(attr):
        # Warn for expired attributes, and return a dummy function
        # that always raises an exception.
        import warnings
        import math
        try:
            msg = __expired_functions__[attr]
        except KeyError:
            pass
        else:
            warnings.warn(msg, DeprecationWarning, stacklevel=2)
    
            def _expired(*args, **kwds):
                raise RuntimeError(msg)
    
            return _expired
    
        # Emit warnings for deprecated attributes
        try:
            val, msg = __deprecated_attrs__[attr]
        except KeyError:
            pass
        else:
            warnings.warn(msg, DeprecationWarning, stacklevel=2)
            return val
    
        if attr in __future_scalars__:
            # And future warnings for those that will change, but also give
            # the AttributeError
            warnings.warn(
                f"In the future `np.{attr}` will be defined as the "
                "corresponding NumPy scalar.", FutureWarning, stacklevel=2)
    
        if attr in __former_attrs__:
            raise AttributeError(__former_attrs__[attr])
    
        if attr == 'testing':
            import numpy.testing as testing
            return testing
        elif attr == 'Tester':
            "Removed in NumPy 1.25.0"
            raise RuntimeError("Tester was removed in NumPy 1.25.")
    
>       raise AttributeError("module {!r} has no attribute "
                             "{!r}".format(__name__, attr))
E       AttributeError: module 'numpy' has no attribute 'asscalar'

/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/numpy/__init__.py:333: AttributeError
------------------------------ Captured log call -------------------------------
parser.py                  409 WARNING  TBStudio Workflow was not found.
======= 6 failed, 186 passed, 1 skipped, 248 warnings in 254.39 seconds ========

@ondracka
Copy link
Collaborator

I don't see any OpenMX error there, or am I missing something?

@ndaelman-hu
Copy link
Contributor Author

I don't see any OpenMX error there, or am I missing something?

My apologies, it'll have been a warning then. There were so many, manually processing the output is a bit overwhelming. I'll update the list.

@ondracka
Copy link
Collaborator

No problem, just send me the log (and steps to reproduce if possible) and I'll take a look at the OpenMX issues...

@ndaelman-hu
Copy link
Contributor Author

No problem, just send me the log (and steps to reproduce if possible) and I'll take a look at the OpenMX issues...

tests/test_openmxparser.py::test_HfO2
  /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:432: DeprecationWarning: Flags not at the start of the expression b'\\s+([A-Z]{1}[a-z]{2}' (truncated) but at position 162
    re_findall_b = re.compile(re_findall.encode())
  /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:432: DeprecationWarning: Flags not at the start of the expression b'\\s+([A-Z]{1}[a-z]{2}' (truncated) but at position 274
    re_findall_b = re.compile(re_findall.encode())
  /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:432: DeprecationWarning: Flags not at the start of the expression b'\\s+([A-Z]{1}[a-z]{2}' (truncated) but at position 326
    re_findall_b = re.compile(re_findall.encode())
  /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:432: DeprecationWarning: Flags not at the start of the expression b'\\s+([A-Z]{1}[a-z]{2}' (truncated) but at position 368
    re_findall_b = re.compile(re_findall.encode())
  /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:432: DeprecationWarning: Flags not at the start of the expression b'\\s+([A-Z]{1}[a-z]{2}' (truncated) but at position 417
    re_findall_b = re.compile(re_findall.encode())
  /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:432: DeprecationWarning: Flags not at the start of the expression b'\\s+([A-Z]{1}[a-z]{2}' (truncated) but at position 475
    re_findall_b = re.compile(re_findall.encode())
  /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:432: DeprecationWarning: Flags not at the start of the expression b'\\s+Elapsed.Time.\\s+(' (truncated) but at position 28
    re_findall_b = re.compile(re_findall.encode())
  /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:432: DeprecationWarning: Flags not at the start of the expression b'\\s+Elapsed.Time.\\s+(' (truncated) but at position 84
    re_findall_b = re.compile(re_findall.encode())
  /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:432: DeprecationWarning: Flags not at the start of the expression b'(?i)scf.Hubbard.U\\s+' (truncated) but at position 56
    re_findall_b = re.compile(re_findall.encode())

tests/test_openmxparser.py::test_AlN
  /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:432: DeprecationWarning: Flags not at the start of the expression b'\\s+Elapsed.Time.\\s+(' (truncated) but at position 28
    re_findall_b = re.compile(re_findall.encode())

tests/test_openmxparser.py::test_C2N2
  /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:432: DeprecationWarning: Flags not at the start of the expression b'\\s+Elapsed.Time.\\s+(' (truncated) but at position 28
    re_findall_b = re.compile(re_findall.encode())
  /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:432: DeprecationWarning: Flags not at the start of the expression b'\\s+Elapsed.Time.\\s+(' (truncated) but at position 57
    re_findall_b = re.compile(re_findall.encode())
  /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:432: DeprecationWarning: Flags not at the start of the expression b'(?i)scf.Hubbard.U\\s+' (truncated) but at position 29
    re_findall_b = re.compile(re_findall.encode())

tests/test_openmxparser.py::test_CrO2
  /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:432: DeprecationWarning: Flags not at the start of the expression b'\\s+Elapsed.Time.\\s+(' (truncated) but at position 75
    re_findall_b = re.compile(re_findall.encode())
  /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:432: DeprecationWarning: Flags not at the start of the expression b'MD\\.maxIter\\s+(\\d+)|' (truncated) but at position 47
    re_findall_b = re.compile(re_findall.encode())

tests/test_openmxparser.py::test_graphite
  /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/nomad/parsing/file_parser/text_parser.py:432: DeprecationWarning: Flags not at the start of the expression b'\\s+Elapsed.Time.\\s+(' (truncated) but at position 28
    re_findall_b = re.compile(re_findall.encode())

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working. It also represents a quick fix in response to a bug.
Projects
None yet
Development

No branches or pull requests

2 participants