{
  "name": "opensearch-project/opensearch-php",
  "description": "PHP Client for OpenSearch",
  "keywords": [
    "search",
    "client",
    "opensearch",
    "elasticsearch"
  ],
  "type": "library",
  "license": [
    "Apache-2.0",
    "LGPL-2.1-only"
  ],
  "authors": [
    {
      "name": "Elastic"
    },
    {
      "name": "OpenSearch Contributors"
    }
  ],
  "require": {
    "php": "^8.2",
    "ext-json": ">=1.3.7",
    "ext-curl": "*",
    "ezimuel/ringphp": "^1.4.0",
    "php-http/discovery": "^1.20",
    "psr/http-client": "^1.0.3",
    "psr/http-client-implementation": "*",
    "psr/http-factory": "^1.1.0",
    "psr/http-factory-implementation": "*",
    "psr/http-message": "^2.0",
    "psr/http-message-implementation": "*",
    "psr/log": "^3.0.2",
    "symfony/yaml": "^v6.4.26|^7.3.5|^v8.0.0"
  },
  "require-dev": {
    "ext-zip": "*",
    "aws/aws-sdk-php": "^3.359.8",
    "colinodell/psr-testlogger": "^1.3.1",
    "friendsofphp/php-cs-fixer": "^v3.89.1",
    "guzzlehttp/psr7": "^2.8.0",
    "mockery/mockery": "^1.6.12",
    "phpstan/extension-installer": "^1.4.3",
    "phpstan/phpstan": "^1.12.32",
    "phpstan/phpstan-deprecation-rules": "^1.2.1",
    "phpstan/phpstan-mockery": "^1.1.3",
    "phpstan/phpstan-phpunit": "^1.4.2",
    "phpunit/phpunit": "^10.5.58",
    "react/promise": "^v3.3",
    "symfony/console": "v6.4.31|^7.4.3|^8.0.3",
    "symfony/finder": "^v6.4.31|^7.4.3|^v8.0.3",
    "symfony/http-client": "^6.4.31|^7.4.3|^v8.0.3",
    "symfony/http-client-contracts": "^v3.6.0|^v8.0.3",
    "twig/twig": "^3.0"
  },
  "suggest": {
    "monolog/monolog": "Allows for client-level logging and tracing",
    "aws/aws-sdk-php": "Required (^3.0.0) in order to use the AWS Signing Client Decorator",
    "guzzlehttp/psr7": "Required (^2.7) in order to use the Guzzle HTTP client",
    "symfony/http-client": "Required (^6.4|^7.0|^8.0) in order to use the Symfony HTTP client"
  },
  "autoload": {
    "psr-4": {
      "OpenSearch\\": "src/OpenSearch/"
    }
  },
  "autoload-dev": {
    "psr-4": {
      "OpenSearch\\Tests\\": "tests/",
      "OpenSearch\\Util\\": "util/"
    }
  },
  "config": {
    "sort-packages": true,
    "allow-plugins": {
      "php-http/discovery": true,
      "phpstan/extension-installer": true
    }
  },
  "scripts": {
    "php-cs": [
      "php-cs-fixer fix"
    ],
    "phpstan": [
      "phpstan analyse --no-progress"
    ],
    "unit": [
      "phpunit --exclude-group integration"
    ],
    "integration": [
      "phpunit --group integration"
    ],
    "integration-min": [
      "phpunit --group integration-min"
    ],
    "phpunit": [
      "phpunit"
    ],
    "apigen": [
      "rm -f apigen",
      "curl -L https://github.com/ApiGen/ApiGen/releases/download/v7.0.0-alpha.4/apigen.phar -o apigen",
      "chmod +x apigen",
      "./apigen src --output docs",
      "rm -f apigen"
    ],
    "generate-api": [
      "php bin/console app:generate-endpoints",
      "composer run php-cs",
      "php bin/console app:update-changelog"
    ]
  }
}
