{"library":"pynliner","title":"Pynliner","description":"Pynliner is a Python library that converts CSS styles in an HTML document to inline styles, primarily designed for crafting HTML emails to ensure consistent rendering across various email clients. It leverages BeautifulSoup for HTML parsing and cssutils for CSS processing. The current stable version is 0.8.0, released in 2019, indicating an infrequent release cadence and a current state of maintenance rather than active development.","language":"python","status":"maintenance","last_verified":"Mon May 18","install":{"commands":["pip install pynliner"],"cli":null},"imports":["from pynliner import Pynliner"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from pynliner import Pynliner\n\nhtml_content = \"\"\"\n<html>\n<head>\n    <style type=\"text/css\">\n        h1 { color: red; }\n        p { font-size: 16px; margin: 0; }\n        .container { background-color: #f0f0f0; padding: 20px; }\n    </style>\n</head>\n<body>\n    <div class=\"container\">\n        <h1>Hello, Pynliner!</h1>\n        <p>This is a paragraph with inlined styles.</p>\n    </div>\n</body>\n</html>\n\"\"\"\n\ninliner = Pynliner()\ninlined_html = inliner.from_string(html_content)\n\n# The inlined_html string now contains the HTML with CSS styles moved inline.\n# print(inlined_html)","lang":"python","description":"Initialize Pynliner and apply CSS styles from an HTML string into inline 'style' attributes. This is the primary method for inlining CSS for email clients.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"0.8.0","pypi_latest":"0.8.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2.1,"avg_import_s":0.74,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pynliner","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.63,"mem_mb":11.9,"disk_size":"22.4M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pynliner","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":0.46,"mem_mb":12,"disk_size":"24M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pynliner","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.16,"mem_mb":13.1,"disk_size":"24.8M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pynliner","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.2,"import_time_s":0.98,"mem_mb":13,"disk_size":"26M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pynliner","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.78,"mem_mb":12.6,"disk_size":"16.6M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pynliner","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.88,"mem_mb":12.6,"disk_size":"18M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pynliner","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.73,"mem_mb":12.6,"disk_size":"16.3M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pynliner","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":0.84,"mem_mb":12.6,"disk_size":"18M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pynliner","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.54,"mem_mb":11.4,"disk_size":"22.2M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pynliner","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.3,"import_time_s":0.43,"mem_mb":11.4,"disk_size":"23M"}]}}