123456789101112131415161718192021222324252627282930313233 |
- # This is a stub package designed to roughly emulate the _yaml
- # extension module, which previously existed as a standalone module
- # and has been moved into the `yaml` package namespace.
- # It does not perfectly mimic its old counterpart, but should get
- # close enough for anyone who's relying on it even when they shouldn't.
- import yaml
- # in some circumstances, the yaml module we imoprted may be from a different version, so we need
- # to tread carefully when poking at it here (it may not have the attributes we expect)
- if not getattr(yaml, '__with_libyaml__', False):
- from sys import version_info
- exc = ModuleNotFoundError if version_info >= (3, 6) else ImportError
- raise exc("No module named '_yaml'")
- else:
- from yaml._yaml import *
- import warnings
- warnings.warn(
- 'The _yaml extension module is now located at yaml._yaml'
- ' and its location is subject to change. To use the'
- ' LibYAML-based parser and emitter, import from `yaml`:'
- ' `from yaml import CLoader as Loader, CDumper as Dumper`.',
- DeprecationWarning
- )
- del warnings
- # Don't `del yaml` here because yaml is actually an existing
- # namespace member of _yaml.
- __name__ = '_yaml'
- # If the module is top-level (i.e. not a part of any specific package)
- # then the attribute should be set to ''.
- # https://docs.python.org/3.8/library/types.html
- __package__ = ''
|