| Metadata-Version: 2.1 | |
| Name: MarkupSafe | |
| Version: 2.1.3 | |
| Summary: Safely add untrusted strings to HTML/XML markup. | |
| Home-page: https://palletsprojects.com/p/markupsafe/ | |
| Maintainer: Pallets | |
| Maintainer-email: [email protected] | |
| License: BSD-3-Clause | |
| Project-URL: Donate, https://palletsprojects.com/donate | |
| Project-URL: Documentation, https://markupsafe.palletsprojects.com/ | |
| Project-URL: Changes, https://markupsafe.palletsprojects.com/changes/ | |
| Project-URL: Source Code, https://github.com/pallets/markupsafe/ | |
| Project-URL: Issue Tracker, https://github.com/pallets/markupsafe/issues/ | |
| Project-URL: Chat, https://discord.gg/pallets | |
| Classifier: Development Status :: 5 - Production/Stable | |
| Classifier: Environment :: Web Environment | |
| Classifier: Intended Audience :: Developers | |
| Classifier: License :: OSI Approved :: BSD License | |
| Classifier: Operating System :: OS Independent | |
| Classifier: Programming Language :: Python | |
| Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content | |
| Classifier: Topic :: Text Processing :: Markup :: HTML | |
| Requires-Python: >=3.7 | |
| Description-Content-Type: text/x-rst | |
| License-File: LICENSE.rst | |
| MarkupSafe | |
| ========== | |
| MarkupSafe implements a text object that escapes characters so it is | |
| safe to use in HTML and XML. Characters that have special meanings are | |
| replaced so that they display as the actual characters. This mitigates | |
| injection attacks, meaning untrusted user input can safely be displayed | |
| on a page. | |
| Installing | |
| ---------- | |
| Install and update using `pip`_: | |
| .. code-block:: text | |
| pip install -U MarkupSafe | |
| .. _pip: https://pip.pypa.io/en/stable/getting-started/ | |
| Examples | |
| -------- | |
| .. code-block:: pycon | |
| >>> from markupsafe import Markup, escape | |
| >>> # escape replaces special characters and wraps in Markup | |
| >>> escape("<script>alert(document.cookie);</script>") | |
| Markup('<script>alert(document.cookie);</script>') | |
| >>> # wrap in Markup to mark text "safe" and prevent escaping | |
| >>> Markup("<strong>Hello</strong>") | |
| Markup('<strong>hello</strong>') | |
| >>> escape(Markup("<strong>Hello</strong>")) | |
| Markup('<strong>hello</strong>') | |
| >>> # Markup is a str subclass | |
| >>> # methods and operators escape their arguments | |
| >>> template = Markup("Hello <em>{name}</em>") | |
| >>> template.format(name='"World"') | |
| Markup('Hello <em>"World"</em>') | |
| Donate | |
| ------ | |
| The Pallets organization develops and supports MarkupSafe and other | |
| popular packages. In order to grow the community of contributors and | |
| users, and allow the maintainers to devote more time to the projects, | |
| `please donate today`_. | |
| .. _please donate today: https://palletsprojects.com/donate | |
| Links | |
| ----- | |
| - Documentation: https://markupsafe.palletsprojects.com/ | |
| - Changes: https://markupsafe.palletsprojects.com/changes/ | |
| - PyPI Releases: https://pypi.org/project/MarkupSafe/ | |
| - Source Code: https://github.com/pallets/markupsafe/ | |
| - Issue Tracker: https://github.com/pallets/markupsafe/issues/ | |
| - Chat: https://discord.gg/pallets | |