{"library":"pickley","title":"Pickley","description":"Pickley is a Python library and CLI tool designed to automate the installation and management of standalone Python command-line interfaces (CLIs). It functions similarly to pipx, but with the key difference that installed CLIs automatically self-upgrade upon use. Pickley is portable and aims for zero-configuration, installing CLIs within the same directory it resides, supporting any PyPI package with console_scripts entry points. The current version is 4.6.1, and it maintains a regular release cadence with frequent updates as seen in its GitHub release history.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install pickley"],"cli":{"name":"pickley","version":"4.6.1"}},"imports":["import pickley"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\n\n# Ensure ~/.local/bin is in PATH for pickley to be found\n# This is a common setup for CLI tools\n# For a true quickstart, users would typically install via the bash commands above\n# and then use `pickley` directly in their shell.\n# This Python quickstart demonstrates programmatic interaction if needed.\n\n# Example of using pickley programmatically (less common for its primary use-case)\n# For CLI, you'd run commands like 'pickley install tox'\n\n# This is a placeholder as direct programmatic API isn't extensively documented\n# on PyPI/GitHub for installing other CLIs. The core functionality is via shell.\n# For the purpose of this registry, showing CLI usage is more accurate.\n# We simulate the shell interaction for clarity.\n\n# Assuming pickley is installed and in PATH\n# The actual Python API would be more involved than a simple 'import pickley'\n# and would likely involve calling internal functions or a main entry point.\n# For a quickstart focusing on its primary use:\n\nprint(\"To install a CLI like 'tox':\")\nprint(\"$\" + \" pickley install tox\")\nprint(\"To run an installed CLI:\")\nprint(\"$\" + \" tox --version\")\nprint(\"To install a specific version:\")\nprint(\"$\" + \" pickley install 'hatch<2'\")","lang":"python","description":"Pickley is primarily used as a command-line interface. After installation, you can use the `pickley` command to install and manage other Python CLIs. The example demonstrates how to install a tool like 'tox' and 'hatch' and then run it, reflecting its main utility. While it can be imported, its core functionality is exposed via the shell commands.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"4.5.9","pypi_latest":"4.6.1","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":1.9,"avg_import_s":0.25,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pickley","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.25,"mem_mb":8.6,"disk_size":"19.8M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pickley","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.16,"mem_mb":8.6,"disk_size":"20M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pickley","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.33,"mem_mb":9.8,"disk_size":"22.1M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pickley","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.9,"import_time_s":0.32,"mem_mb":9.8,"disk_size":"23M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pickley","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.27,"mem_mb":9.6,"disk_size":"13.8M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pickley","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":0.29,"mem_mb":9.6,"disk_size":"14M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pickley","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.26,"mem_mb":9.8,"disk_size":"13.6M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pickley","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.7,"import_time_s":0.26,"mem_mb":9.8,"disk_size":"14M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pickley","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.21,"mem_mb":8.6,"disk_size":"19.2M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pickley","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.17,"mem_mb":8.6,"disk_size":"20M"}]}}