{"library":"pytailwindcss","title":"pytailwindcss","description":"pytailwindcss provides a Python-installable wrapper for the standalone Tailwind CSS CLI, enabling developers to use Tailwind CSS in Python projects without requiring Node.js. It bundles a specific version of the Tailwind CLI executable. The current version is 0.3.0, and releases are tied to updates of the underlying Tailwind CSS CLI or Python API improvements.","language":"python","status":"active","last_verified":"Fri Apr 17","install":{"commands":["pip install pytailwindcss"],"cli":{"name":"tailwindcss","version":""}},"imports":["from pytailwindcss import run_tailwind_cli"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom pathlib import Path\nfrom pytailwindcss import run_tailwind_cli\nimport sys\n\n# Define a temporary directory for the quickstart example\ntemp_dir = Path(\"pytailwindcss_quickstart_temp\")\ntemp_dir.mkdir(exist_ok=True)\n\n# Create dummy files for the quickstart to be runnable\nconfig_path = temp_dir / \"tailwind.config.js\"\ninput_css_path = temp_dir / \"input.css\"\noutput_css_path = temp_dir / \"output.css\"\ntemplates_dir = temp_dir / \"templates\"\ntemplates_dir.mkdir(exist_ok=True)\nhtml_path = templates_dir / \"index.html\"\n\n# Write dummy config\nconfig_path.write_text(\"\"\"\nmodule.exports = {\n  content: ['./templates/*.html'],\n  theme: {\n    extend: {},\n  },\n  plugins: [],\n}\n\"\"\")\n\n# Write dummy input CSS\ninput_css_path.write_text(\"\"\"\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\nh1 { @apply text-blue-600; }\n\"\"\")\n\n# Write dummy HTML\nhtml_path.write_text(\"\"\"\n<!DOCTYPE html>\n<html>\n<head>\n  <link href=\"output.css\" rel=\"stylesheet\">\n</head>\n<body>\n  <h1 class=\"text-xl font-bold\">Hello Tailwind</h1>\n</body>\n</html>\n\"\"\")\n\noriginal_cwd = Path.cwd()\nos.chdir(temp_dir) # Change CWD for the CLI to find files relative to temp_dir\n\nprint(f\"Running Tailwind CSS build in {temp_dir}...\")\ntry:\n    # Example arguments for a basic build\n    # Using relative paths because we changed CWD\n    result = run_tailwind_cli([\n        '-i', 'input.css',\n        '-o', 'output.css',\n        '--minify'\n    ])\n\n    if result.returncode == 0:\n        print(\"Tailwind CSS build successful!\")\n        if output_css_path.exists():\n            print(\"\\nGenerated output.css (first 200 chars):\\n\")\n            print(output_css_path.read_text()[:200])\n        else:\n            print(\"output.css not found, but build reported success.\")\n    else:\n        print(f\"Tailwind CSS build failed with return code {result.returncode}.\")\n        if result.stdout:\n            print(f\"Stdout:\\n{result.stdout.decode(sys.getdefaultencoding())}\")\n        if result.stderr:\n            print(f\"Stderr:\\n{result.stderr.decode(sys.getdefaultencoding())}\")\n\nexcept Exception as e:\n    print(f\"An unexpected error occurred: {e}\")\nfinally:\n    os.chdir(original_cwd) # Restore original CWD\n    # Clean up dummy files\n    print(f\"\\nCleaning up temporary files in {temp_dir}...\")\n    for f in temp_dir.iterdir():\n        if f.is_file():\n            f.unlink()\n        elif f.is_dir():\n            for sub_f in f.iterdir():\n                sub_f.unlink()\n            f.rmdir()\n    temp_dir.rmdir()\n    print(\"Cleanup complete.\")\n","lang":"python","description":"This quickstart demonstrates how to use `run_tailwind_cli` to compile CSS. It creates a temporary directory with a `tailwind.config.js`, `input.css`, and a dummy HTML file, runs the build process, prints a snippet of the output, and then cleans up all temporary files. Ensure you have `tailwind.config.js` and `input.css` in your project for real use.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}