{"library":"pyartifactory","title":"pyartifactory","description":"pyartifactory is a Python library providing typed interactions with the JFrog Artifactory REST API, currently at version 2.11.2. It enables developers to manage Artifactory resources such as users, groups, permissions, repositories, artifacts, and access tokens in their applications. The library maintains an active release cadence with frequent updates to add features and address issues.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install pyartifactory"],"cli":null},"imports":["from pyartifactory import Artifactory","from pyartifactory.models import NewUser"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom pyartifactory import Artifactory\nfrom pyartifactory.models import NewUser\n\nART_URL = os.environ.get('ARTIFACTORY_URL', 'http://localhost:8081/artifactory')\nART_USER = os.environ.get('ARTIFACTORY_USERNAME', 'admin')\nART_PASS = os.environ.get('ARTIFACTORY_PASSWORD', 'password')\n\ndef main():\n    try:\n        # Initialize the Artifactory client using basic authentication\n        # For Artifactory 6.6.0+ and permission management, consider api_version=2\n        art = Artifactory(url=ART_URL, auth=(ART_USER, ART_PASS), api_version=1)\n        print(f\"Successfully connected to Artifactory at {ART_URL}.\")\n\n        # Example: List users\n        users = art.users.list()\n        print(f\"Found {len(users)} users:\")\n        for user in users:\n            print(f\"- {user.name}\")\n\n        # Example: Create a new user (adjust name/email as needed)\n        new_user_data = NewUser(\n            name=\"test_user_ai\",\n            password=\"secure_password\",\n            email=\"test_user_ai@example.com\"\n        )\n        try:\n            created_user = art.users.create(new_user_data)\n            print(f\"User '{created_user.name}' created successfully.\")\n        except Exception as e:\n            print(f\"Could not create user 'test_user_ai' (might already exist): {e}\")\n        \n    except Exception as e:\n        print(f\"An error occurred: {e}\")\n\nif __name__ == \"__main__\":\n    main()","lang":"python","description":"This quickstart demonstrates how to initialize the `Artifactory` client using environment variables for credentials and then perform basic operations like listing users and creating a new user. It highlights the use of basic authentication and the `api_version` parameter for Artifactory 6.6.0+ permission management.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"2.11.2","pypi_latest":"2.11.2","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":4.1,"avg_import_s":1.77,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pyartifactory","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.49,"mem_mb":18.5,"disk_size":"34.3M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pyartifactory","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.6,"import_time_s":1.05,"mem_mb":18.5,"disk_size":"34M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pyartifactory","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.37,"mem_mb":20.1,"disk_size":"37.8M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pyartifactory","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.9,"import_time_s":2.13,"mem_mb":20.1,"disk_size":"37M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pyartifactory","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.16,"mem_mb":19.9,"disk_size":"29.3M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pyartifactory","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.3,"import_time_s":2.24,"mem_mb":19.9,"disk_size":"29M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pyartifactory","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.71,"mem_mb":19,"disk_size":"29.1M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pyartifactory","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.3,"import_time_s":1.84,"mem_mb":19,"disk_size":"29M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pyartifactory","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.44,"mem_mb":18.3,"disk_size":"33.4M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pyartifactory","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.4,"import_time_s":1.32,"mem_mb":18.3,"disk_size":"33M"}]}}