{"library":"plexapi","title":"PlexAPI","description":"PlexAPI is a Python library that provides bindings for the Plex Media Server API. It allows programmatic interaction with your Plex server, enabling tasks such as managing libraries, controlling media playback, retrieving metadata, and more. The library is actively maintained, with frequent releases, typically every few weeks.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install plexapi"],"cli":null},"imports":["from plexapi.server import PlexServer"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom plexapi.server import PlexServer\n\n# Replace with your Plex URL and token, or set as environment variables\n# Example: PLEX_URL='http://your_plex_ip:32400', PLEX_TOKEN='YOUR_PLEX_TOKEN'\nPLEX_URL = os.environ.get('PLEX_URL', 'http://localhost:32400') # Default for local access\nPLEX_TOKEN = os.environ.get('PLEX_TOKEN', 'YOUR_PLEX_TOKEN') # Get from Plex settings > Network > Show Advanced > token\n\ntry:\n    plex = PlexServer(PLEX_URL, PLEX_TOKEN)\n    print(f\"Connected to Plex server: {plex.friendlyName}\")\n\n    # List all libraries\n    print(\"\\nLibraries:\")\n    for section in plex.library.sections():\n        print(f\"- {section.title} ({section.type})\")\n\n    # Example: Find a movie in a 'Movies' library\n    # Adjust 'Movies' to the actual name of your movie library\n    try:\n        movies_library = plex.library.section('Movies')\n        inception_movie = movies_library.get('Inception')\n        print(f\"\\nFound movie: {inception_movie.title} ({inception_movie.year})\")\n    except Exception as e:\n        print(f\"\\nCould not find 'Movies' library or 'Inception': {e}\")\n\nexcept Exception as e:\n    print(f\"Error connecting to Plex or performing operations: {e}\")\n    print(\"Please ensure PLEX_URL and PLEX_TOKEN are correctly configured in environment variables or directly in the script.\")\n","lang":"python","description":"Connects to a Plex Media Server using provided URL and token, then lists available libraries and demonstrates how to find a specific media item.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"4.17.2","pypi_latest":"4.18.1","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2.2,"avg_import_s":0.74,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"plexapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.7,"mem_mb":12.6,"disk_size":"22.8M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"plexapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.2,"import_time_s":0.5,"mem_mb":12.6,"disk_size":"23M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"plexapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.92,"mem_mb":14.2,"disk_size":"25.2M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"plexapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.2,"import_time_s":0.77,"mem_mb":14.2,"disk_size":"26M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"plexapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.81,"mem_mb":14.6,"disk_size":"16.9M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"plexapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.79,"mem_mb":14.6,"disk_size":"17M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"plexapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.85,"mem_mb":15.5,"disk_size":"16.6M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"plexapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":0.78,"mem_mb":15.5,"disk_size":"17M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"plexapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.69,"mem_mb":11.9,"disk_size":"22.0M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"plexapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.7,"import_time_s":0.59,"mem_mb":11.9,"disk_size":"22M"}]}}