{"library":"rust-just","title":"Just (Python Wrapper)","description":"rust-just is a Python wrapper for the `just` command runner, a powerful and simpler alternative to Make for project-specific task automation. It allows Python applications to programmatically invoke `just` recipes defined in a `Justfile`. The current version, 1.49.0, aligns with the version of the underlying `just` command-line tool, which maintains an active development cycle with frequent updates.","language":"python","status":"active","last_verified":"Fri May 15","install":{"commands":["pip install rust-just"],"cli":{"name":"just","version":"just 1.51.0"}},"imports":["from just import Just"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nimport subprocess\n\n# Create a dummy Justfile for demonstration\njustfile_content = \"\"\"\nhello:\n  echo 'Hello from Just!'\n\ngreet NAME=\\\"World\\\":\n  echo \"Hello, {{NAME}}!\"\n\nfail:\n  exit 1\n\"\"\"\n\nwith open('Justfile', 'w') as f:\n    f.write(justfile_content)\n\ntry:\n    from just import Just\n    just_runner = Just()\n\n    print(\"Running 'hello' recipe:\")\n    result_hello = just_runner.run(recipe='hello')\n    print(f\"Output: {result_hello.stdout.strip()}\\n\")\n\n    print(\"Running 'greet' recipe with argument:\")\n    result_greet = just_runner.run(recipe='greet', args=['NAME=Pythonista'])\n    print(f\"Output: {result_greet.stdout.strip()}\\n\")\n\n    print(\"Attempting to run a non-existent recipe (expected error):\")\n    try:\n        just_runner.run(recipe='non_existent')\n    except subprocess.CalledProcessError as e:\n        print(f\"Caught expected error: {e.stderr.strip().splitlines()[0]} [...]\")\n\n    print(\"Attempting to run 'fail' recipe (expected error):\")\n    try:\n        just_runner.run(recipe='fail')\n    except subprocess.CalledProcessError as e:\n        print(f\"Caught expected error with return code {e.returncode}\\n\")\n\nfinally:\n    # Clean up the dummy Justfile\n    if os.path.exists('Justfile'):\n        os.remove('Justfile')\n","lang":"python","description":"This quickstart demonstrates how to use the `rust-just` wrapper to execute recipes defined in a `Justfile`. It shows how to run a simple recipe, a recipe with arguments, and handles expected errors when recipes fail or don't exist. It also sets up a temporary `Justfile` for a runnable example.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-15","installed_version":"1.51.0","pypi_latest":"1.51.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":1.7,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"rust-just","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"18.0M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"rust-just","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.7,"import_time_s":null,"mem_mb":null,"disk_size":"19M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"rust-just","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"19.8M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"rust-just","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.7,"import_time_s":null,"mem_mb":null,"disk_size":"20M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"rust-just","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"11.7M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"rust-just","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.5,"import_time_s":null,"mem_mb":null,"disk_size":"12M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"rust-just","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"11.5M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"rust-just","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.6,"import_time_s":null,"mem_mb":null,"disk_size":"12M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"rust-just","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"17.5M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"rust-just","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.9,"import_time_s":null,"mem_mb":null,"disk_size":"18M"}]}}