{"library":"manimpango","title":"ManimPango","description":"ManimPango provides Python bindings for the Pango text layout library, specifically designed to integrate with the Manim animation engine for advanced text rendering. It allows Manim users to leverage Pango's rich text features, font handling, and internationalization capabilities. The current version is 0.6.1, and the library is actively maintained with frequent minor releases addressing Python version compatibility, OS-specific build issues, and Pango library updates.","language":"python","status":"active","last_verified":"Fri Apr 17","install":{"commands":["pip install manimpango"],"cli":null},"imports":["from manimpango import FontDescriptor","from manimpango import list_fonts","from manimpango import register_font","from manimpango import PangoUtils"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from manimpango import FontDescriptor, list_fonts, register_font\nimport os\n\nprint(\"Available fonts (first 5):\")\n# In a real scenario, this might return hundreds of fonts.\n# We limit for demonstration.\nfor font_name in list_fonts()[:5]:\n    print(f\"- {font_name}\")\n\n# Create a font descriptor (Pango uses 'family style weight size')\ntry:\n    descriptor = FontDescriptor(\"Arial Bold 16\")\n    print(f\"\\nSuccessfully created FontDescriptor for: {descriptor.family}, style={descriptor.style}, weight={descriptor.weight}, size={descriptor.size}\")\nexcept Exception as e:\n    print(f\"\\nError creating FontDescriptor: {e}\")\n\n# Example of how you would register a font (requires an actual font file path)\n# For a runnable quickstart, we'll just demonstrate the call without a real file.\n# font_file_path = os.environ.get('MANIMPANGO_CUSTOM_FONT_PATH', '/path/to/your/custom_font.ttf')\n# if os.path.exists(font_file_path):\n#     register_font(font_file_path)\n#     print(f\"Registered font from {font_file_path}\")\n# else:\n#     print(f\"(Skipping font registration: custom font file not found at {font_file_path})\")","lang":"python","description":"This quickstart demonstrates how to list available system fonts and create a `FontDescriptor` using ManimPango. While `register_font` is a key feature, it's commented out as it requires a specific font file path which is not universally available for a quickstart example. It requires Python 3.8+.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}