mirror of
https://github.com/yaml/pyyaml.git
synced 2025-10-19 11:03:18 +00:00
Canonical source repository for PyYAML
![]() Repeated calls to `resolve` can experience performance degredation, if `add_implicit_resolver` has been called with `first=None` (to add an implicit resolver with an unspecified first character). For example, every time `foo` is encountered, the "wildcard implicit resolvers" (with `first=None`) will be appended to the list of implicit resolvers for strings starting with `f`, which will normally be the resolver for booleans. The list `yaml_implicit_resolvers['f']` will keep getting longer. The same behavior applies for any first-letter matches with existing implicit resolvers. This change avoids unintentionally mutating the lists in the class-level dict `yaml_implicit_resolvers` by looping through a temporary copy. Fixes: #439 |
||
---|---|---|
.github/workflows | ||
examples | ||
lib | ||
lib3 | ||
packaging/build | ||
tests | ||
yaml | ||
.appveyor.yml | ||
.gitignore | ||
announcement.msg | ||
CHANGES | ||
LICENSE | ||
Makefile | ||
MANIFEST.in | ||
pyproject.toml | ||
README | ||
setup.cfg | ||
setup.py | ||
tox.ini |
PyYAML - The next generation YAML parser and emitter for Python. To install, type 'python setup.py install'. By default, the setup.py script checks whether LibYAML is installed and if so, builds and installs LibYAML bindings. To skip the check and force installation of LibYAML bindings, use the option '--with-libyaml': 'python setup.py --with-libyaml install'. To disable the check and skip building and installing LibYAML bindings, use '--without-libyaml': 'python setup.py --without-libyaml install'. When LibYAML bindings are installed, you may use fast LibYAML-based parser and emitter as follows: >>> yaml.load(stream, Loader=yaml.CLoader) >>> yaml.dump(data, Dumper=yaml.CDumper) If you don't trust the input stream, you should use: >>> yaml.safe_load(stream) PyYAML includes a comprehensive test suite. To run the tests, type 'python setup.py test'. For more information, check the PyYAML homepage: 'https://github.com/yaml/pyyaml'. For PyYAML tutorial and reference, see: 'http://pyyaml.org/wiki/PyYAMLDocumentation'. Discuss PyYAML with the maintainers in IRC #pyyaml irc.freenode.net. You may also use the YAML-Core mailing list: 'http://lists.sourceforge.net/lists/listinfo/yaml-core'. Submit bug reports and feature requests to the PyYAML bug tracker: 'https://github.com/yaml/pyyaml/issues'. The PyYAML module was written by Kirill Simonov <xi@resolvent.net>. It is currently maintained by the YAML and Python communities. PyYAML is released under the MIT license. See the file LICENSE for more details.