1c44ef7f9Sopenharmony_ciMetadata-Version: 2.2 2c44ef7f9Sopenharmony_ciName: MarkupSafe 3c44ef7f9Sopenharmony_ciVersion: 2.1.5 4c44ef7f9Sopenharmony_ciSummary: Safely add untrusted strings to HTML/XML markup. 5c44ef7f9Sopenharmony_ciHome-page: https://palletsprojects.com/p/markupsafe/ 6c44ef7f9Sopenharmony_ciAuthor: Armin Ronacher 7c44ef7f9Sopenharmony_ciAuthor-email: armin.ronacher@active-4.com 8c44ef7f9Sopenharmony_ciMaintainer: Pallets 9c44ef7f9Sopenharmony_ciMaintainer-email: contact@palletsprojects.com 10c44ef7f9Sopenharmony_ciLicense: BSD-3-Clause 11c44ef7f9Sopenharmony_ciProject-URL: Donate, https://palletsprojects.com/donate 12c44ef7f9Sopenharmony_ciProject-URL: Documentation, https://markupsafe.palletsprojects.com/ 13c44ef7f9Sopenharmony_ciProject-URL: Changes, https://markupsafe.palletsprojects.com/changes/ 14c44ef7f9Sopenharmony_ciProject-URL: Source Code, https://github.com/pallets/markupsafe/ 15c44ef7f9Sopenharmony_ciProject-URL: Issue Tracker, https://github.com/pallets/markupsafe/issues/ 16c44ef7f9Sopenharmony_ciProject-URL: Twitter, https://twitter.com/PalletsTeam 17c44ef7f9Sopenharmony_ciProject-URL: Chat, https://discord.gg/pallets 18c44ef7f9Sopenharmony_ciDescription: MarkupSafe 19c44ef7f9Sopenharmony_ci ========== 20c44ef7f9Sopenharmony_ci 21c44ef7f9Sopenharmony_ci MarkupSafe implements a text object that escapes characters so it is 22c44ef7f9Sopenharmony_ci safe to use in HTML and XML. Characters that have special meanings are 23c44ef7f9Sopenharmony_ci replaced so that they display as the actual characters. This mitigates 24c44ef7f9Sopenharmony_ci injection attacks, meaning untrusted user input can safely be displayed 25c44ef7f9Sopenharmony_ci on a page. 26c44ef7f9Sopenharmony_ci 27c44ef7f9Sopenharmony_ci 28c44ef7f9Sopenharmony_ci Installing 29c44ef7f9Sopenharmony_ci ---------- 30c44ef7f9Sopenharmony_ci 31c44ef7f9Sopenharmony_ci Install and update using `pip`_: 32c44ef7f9Sopenharmony_ci 33c44ef7f9Sopenharmony_ci .. code-block:: text 34c44ef7f9Sopenharmony_ci 35c44ef7f9Sopenharmony_ci pip install -U MarkupSafe 36c44ef7f9Sopenharmony_ci 37c44ef7f9Sopenharmony_ci .. _pip: https://pip.pypa.io/en/stable/quickstart/ 38c44ef7f9Sopenharmony_ci 39c44ef7f9Sopenharmony_ci 40c44ef7f9Sopenharmony_ci Examples 41c44ef7f9Sopenharmony_ci -------- 42c44ef7f9Sopenharmony_ci 43c44ef7f9Sopenharmony_ci .. code-block:: pycon 44c44ef7f9Sopenharmony_ci 45c44ef7f9Sopenharmony_ci >>> from markupsafe import Markup, escape 46c44ef7f9Sopenharmony_ci 47c44ef7f9Sopenharmony_ci >>> # escape replaces special characters and wraps in Markup 48c44ef7f9Sopenharmony_ci >>> escape("<script>alert(document.cookie);</script>") 49c44ef7f9Sopenharmony_ci Markup('<script>alert(document.cookie);</script>') 50c44ef7f9Sopenharmony_ci 51c44ef7f9Sopenharmony_ci >>> # wrap in Markup to mark text "safe" and prevent escaping 52c44ef7f9Sopenharmony_ci >>> Markup("<strong>Hello</strong>") 53c44ef7f9Sopenharmony_ci Markup('<strong>hello</strong>') 54c44ef7f9Sopenharmony_ci 55c44ef7f9Sopenharmony_ci >>> escape(Markup("<strong>Hello</strong>")) 56c44ef7f9Sopenharmony_ci Markup('<strong>hello</strong>') 57c44ef7f9Sopenharmony_ci 58c44ef7f9Sopenharmony_ci >>> # Markup is a str subclass 59c44ef7f9Sopenharmony_ci >>> # methods and operators escape their arguments 60c44ef7f9Sopenharmony_ci >>> template = Markup("Hello <em>{name}</em>") 61c44ef7f9Sopenharmony_ci >>> template.format(name='"World"') 62c44ef7f9Sopenharmony_ci Markup('Hello <em>"World"</em>') 63c44ef7f9Sopenharmony_ci 64c44ef7f9Sopenharmony_ci 65c44ef7f9Sopenharmony_ci Donate 66c44ef7f9Sopenharmony_ci ------ 67c44ef7f9Sopenharmony_ci 68c44ef7f9Sopenharmony_ci The Pallets organization develops and supports MarkupSafe and other 69c44ef7f9Sopenharmony_ci popular packages. In order to grow the community of contributors and 70c44ef7f9Sopenharmony_ci users, and allow the maintainers to devote more time to the projects, 71c44ef7f9Sopenharmony_ci `please donate today`_. 72c44ef7f9Sopenharmony_ci 73c44ef7f9Sopenharmony_ci .. _please donate today: https://palletsprojects.com/donate 74c44ef7f9Sopenharmony_ci 75c44ef7f9Sopenharmony_ci 76c44ef7f9Sopenharmony_ci Links 77c44ef7f9Sopenharmony_ci ----- 78c44ef7f9Sopenharmony_ci 79c44ef7f9Sopenharmony_ci - Documentation: https://markupsafe.palletsprojects.com/ 80c44ef7f9Sopenharmony_ci - Changes: https://markupsafe.palletsprojects.com/changes/ 81c44ef7f9Sopenharmony_ci - PyPI Releases: https://pypi.org/project/MarkupSafe/ 82c44ef7f9Sopenharmony_ci - Source Code: https://github.com/pallets/markupsafe/ 83c44ef7f9Sopenharmony_ci - Issue Tracker: https://github.com/pallets/markupsafe/issues/ 84c44ef7f9Sopenharmony_ci - Website: https://palletsprojects.com/p/markupsafe/ 85c44ef7f9Sopenharmony_ci - Twitter: https://twitter.com/PalletsTeam 86c44ef7f9Sopenharmony_ci - Chat: https://discord.gg/pallets 87c44ef7f9Sopenharmony_ci 88c44ef7f9Sopenharmony_ciPlatform: UNKNOWN 89c44ef7f9Sopenharmony_ciClassifier: Development Status :: 5 - Production/Stable 90c44ef7f9Sopenharmony_ciClassifier: Environment :: Web Environment 91c44ef7f9Sopenharmony_ciClassifier: Intended Audience :: Developers 92c44ef7f9Sopenharmony_ciClassifier: License :: OSI Approved :: BSD License 93c44ef7f9Sopenharmony_ciClassifier: Operating System :: OS Independent 94c44ef7f9Sopenharmony_ciClassifier: Programming Language :: Python 95c44ef7f9Sopenharmony_ciClassifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content 96c44ef7f9Sopenharmony_ciClassifier: Topic :: Text Processing :: Markup :: HTML 97c44ef7f9Sopenharmony_ciRequires-Python: >=3.6 98c44ef7f9Sopenharmony_ciDescription-Content-Type: text/x-rst 99