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

Import Hashable from collections.abc #181

Closed
wants to merge 2 commits into from
Closed

Import Hashable from collections.abc #181

wants to merge 2 commits into from

Commits on Jun 27, 2018

  1. Import Hashable from collections.abc

    In Python 3.7, importing ABCs directly from the 'collections' module shows a
    warning (and in Python 3.8 it will stop working) - see
    python/cpython@c66f9f8
    
    Since this is only done in lib3/ which is Python 3 only, we can unconditionally
    import it from collections.abc instead.
    
    This fixes the following DeprecationWarning:
    
    .../site-packages/yaml/__init__.py:75: in load
        return loader.get_single_data()
    .../site-packages/yaml/constructor.py:37: in get_single_data
        return self.construct_document(node)
    .../site-packages/yaml/constructor.py:46: in construct_document
        for dummy in generator:
    .../site-packages/yaml/constructor.py:398: in construct_yaml_map
        value = self.construct_mapping(node)
    .../site-packages/yaml/constructor.py:204: in construct_mapping
        return super().construct_mapping(node, deep=deep)
    .../site-packages/yaml/constructor.py:126: in construct_mapping
        if not isinstance(key, collections.Hashable):
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
    name = 'Hashable'
    
        def __getattr__(name):
            # For backwards compatibility, continue to make the collections ABCs
            # through Python 3.6 available through the collections module.
            # Note, no new collections ABCs were added in Python 3.7
            if name in _collections_abc.__all__:
                obj = getattr(_collections_abc, name)
                import warnings
                warnings.warn("Using or importing the ABCs from 'collections' instead "
                              "of from 'collections.abc' is deprecated, "
                              "and in 3.8 it will stop working",
    >                         DeprecationWarning, stacklevel=2)
    E           DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
    The-Compiler committed Jun 27, 2018
    Copy the full SHA
    7eaa434 View commit details
    Browse the repository at this point in the history
  2. Update changelog

    The-Compiler committed Jun 27, 2018
    Copy the full SHA
    38bbdbb View commit details
    Browse the repository at this point in the history