diff --git a/download_openapi_specs.py b/download_openapi_specs.py new file mode 100644 index 0000000..f9df92a --- /dev/null +++ b/download_openapi_specs.py @@ -0,0 +1,34 @@ +import requests +import yaml + +URLS_AND_PATHS = [ + ( + "https://docs.pinecone.io/reference/upsert?json=on", + "vector_openapi.yml", + ), + ( + "https://docs.pinecone.io/reference/list_collections?json=on", + "index_openapi.yml", + ), +] + + +def download_openapi_spec(url: str): + sess = requests.Session() + response = sess.get(url) + if response.status_code == 200: + data = response.json() + else: + raise Exception(f"Failed to download OpenAPI specs from {url}") + return data["oasDefinition"] + + +def write_openapi_spec(spec: dict, path: str): + with open(path, "w") as f: + f.write(yaml.dump(spec)) + + +if __name__ == "__main__": + for url, path in URLS_AND_PATHS: + spec = download_openapi_spec(url) + write_openapi_spec(spec, path) diff --git a/index_openapi.yml b/index_openapi.yml new file mode 100644 index 0000000..b3535fd --- /dev/null +++ b/index_openapi.yml @@ -0,0 +1,1034 @@ +_id: 6385160b2d80c50016823ac4 +components: + schemas: + ApproximatedConfig: + properties: + hybrid: + default: false + type: boolean + k_bits: + default: 512 + type: integer + type: object + DeleteRequest: + description: The request for the `Delete` operation. + properties: + deleteAll: + default: 'false' + description: This indicates that all vectors in the index namespace should + be deleted. + example: false + type: boolean + filter: + description: 'If specified, the metadata filter here will be used to select + the vectors to delete. This is mutually exclusive + + with specifying ids to delete in the ids param or using delete_all=True. + + See https://www.pinecone.io/docs/metadata-filtering/.' + type: object + ids: + description: Vectors to delete. + example: + - id-0 + - id-1 + items: + type: string + maxLength: 1000 + minLength: 1 + type: array + namespace: + description: The namespace to delete vectors from, if applicable. + example: example-namespace + type: string + type: object + DeleteResponse: + description: The response for the `Delete` operation. + type: object + DescribeIndexStatsRequest: + description: The request for the `DescribeIndexStats` operation. + properties: + filter: + description: 'If this parameter is present, the operation only returns statistics + + for vectors that satisfy the filter. + + See https://www.pinecone.io/docs/metadata-filtering/.' + type: object + type: object + DescribeIndexStatsResponse: + description: The response for the `DescribeIndexStats` operation. + example: + dimension: 1024 + index_fullness: 0.4 + namespaces: + ? '' + : vectorCount: 50000 + example-namespace-2: + vectorCount: 30000 + properties: + dimension: + description: The dimension of the indexed vectors. + example: 1024 + format: int64 + type: integer + indexFullness: + description: The fullness of the index, regardless of whether a metadata + filter expression was passed. The granularity of this metric is 10%. + example: 0.4 + format: float + type: number + namespaces: + additionalProperties: + $ref: '#/components/schemas/NamespaceSummary' + description: 'A mapping for each namespace in the index from the namespace + name to a + + summary of its contents. If a metadata filter expression is present, the + + summary will reflect only vectors matching that expression.' + type: object + totalVectorCount: + example: 80000 + format: int64 + title: The total number of vectors in the index, regardless of whether a + metadata filter expression was passed + type: integer + type: object + FetchResponse: + description: The response for the `Fetch` operation. + properties: + namespace: + description: The namespace of the vectors. + example: example-namespace + type: string + vectors: + additionalProperties: + $ref: '#/components/schemas/Vector' + title: The fetched vectors, in the form of a map between the fetched ids + and the fetched vectors + type: object + type: object + HnswConfig: + properties: + M: + default: 12 + type: integer + ef: + default: 250 + type: integer + ef_construction: + default: 500 + type: integer + max_elements: + default: 50000000 + type: integer + type: object + NamespaceSummary: + description: A summary of the contents of a namespace. + properties: + vectorCount: + description: 'The number of vectors stored in this namespace. Note that + updates to this field may lag behind updates to the + + underlying index and corresponding query results, etc.' + example: 50000 + format: int64 + type: integer + type: object + QueryRequest: + description: The request for the `Query` operation. + properties: + filter: + description: The filter to apply. You can use vector metadata to limit your + search. See https://www.pinecone.io/docs/metadata-filtering/. + example: + genre: + $in: + - comedy + - documentary + - drama + year: + $eq: 2019 + type: object + id: + description: The unique ID of the vector to be used as a query vector. Each + `query()` request can contain only one of the parameters `queries`, `vector`, + or `id`. + example: example-vector-1 + maxLength: 512 + type: string + includeMetadata: + default: 'false' + description: Indicates whether metadata is included in the response as well + as the ids. + example: true + type: boolean + includeValues: + default: 'false' + description: Indicates whether vector values are included in the response. + example: true + type: boolean + namespace: + description: The namespace to query. + example: example-namespace + type: string + queries: + deprecated: true + description: DEPRECATED. The query vectors. Each `query()` request can contain + only one of the parameters `queries`, `vector`, or `id`. + items: + $ref: '#/components/schemas/QueryVector' + maxLength: 10 + minLength: 1 + type: array + sparseVector: + $ref: '#/components/schemas/SparseValues' + topK: + description: The number of results to return for each query. + example: 10 + format: int64 + maximum: 10000 + minimum: 1 + required: + - top_k + type: integer + vector: + description: The query vector. This should be the same length as the dimension + of the index being queried. Each `query()` request can contain only one + of the parameters `id` or `vector`. + example: + - 0.1 + - 0.2 + - 0.3 + - 0.4 + - 0.5 + - 0.6 + - 0.7 + - 0.8 + items: + format: float + type: number + maxLength: 20000 + minLength: 1 + type: array + required: + - topK + type: object + QueryResponse: + description: The response for the `Query` operation. These are the matches found + for a particular query vector. The matches are ordered from most similar to + least similar. + properties: + matches: + description: The matches for the vectors. + items: + $ref: '#/components/schemas/ScoredVector' + type: array + namespace: + description: The namespace for the vectors. + type: string + type: object + QueryVector: + deprecated: true + description: A single query vector within a `QueryRequest`. + properties: + filter: + description: An override for the metadata filter to apply. This replaces + the request-level filter. + example: + genre: + $in: + - comedy + - documentary + - drama + year: + $eq: 2019 + type: object + namespace: + description: An override the namespace to search. + example: example-namespace + type: string + sparseValues: + $ref: '#/components/schemas/SparseValues' + topK: + description: An override for the number of results to return for this query + vector. + example: 10 + format: int64 + maximum: 10000 + minimum: 1 + type: integer + values: + description: The query vector values. This should be the same length as + the dimension of the index being queried. + example: + - 0.1 + - 0.2 + - 0.3 + - 0.4 + - 0.5 + - 0.6 + - 0.7 + - 0.8 + items: + format: float + type: number + maxLength: 20000 + minLength: 1 + required: + - values + type: array + required: + - values + type: object + ScoredVector: + properties: + id: + description: This is the vector's unique id. + example: example-vector-1 + maxLength: 512 + minLength: 1 + required: + - id + type: string + metadata: + description: This is the metadata, if it is requested. + example: + genre: documentary + year: 2019 + type: object + score: + description: This is a measure of similarity between this vector and the + query vector. The higher the score, the more they are similar. + example: 0.08 + format: float + type: number + sparseValues: + $ref: '#/components/schemas/SparseValues' + values: + description: This is the vector data, if it is requested. + example: + - 0.1 + - 0.2 + - 0.3 + - 0.4 + - 0.5 + - 0.6 + - 0.7 + - 0.8 + items: + format: float + type: number + type: array + required: + - id + type: object + SingleQueryResults: + properties: + matches: + description: The matches for the vectors. + items: + $ref: '#/components/schemas/ScoredVector' + type: array + namespace: + description: The namespace for the vectors. + example: example-namespace + type: string + title: The query results for a single `QueryVector` + type: object + SparseValues: + description: Vector sparse data. Represented as a list of indices and a list + of corresponded values, which must be the same length. + properties: + indices: + description: The indices of the sparse data. + example: + - 1 + - 312 + - 822 + - 14 + - 980 + items: + format: int64 + type: integer + maxLength: 1000 + minLength: 1 + required: + - indices + type: array + values: + description: The corresponding values of the sparse data, which must be + the same length as the indices. + example: + - 0.1 + - 0.2 + - 0.3 + - 0.4 + - 0.5 + items: + format: float + type: number + maxLength: 1000 + minLength: 1 + required: + - values + type: array + required: + - indices + - values + type: object + UpdateRequest: + description: The request for the `Upsert` operation. + properties: + id: + description: Vector's unique id. + example: example-vector-1 + maxLength: 512 + minLength: 1 + required: + - id + type: string + namespace: + description: The namespace containing the vector to update. + example: example-namespace + type: string + setMetadata: + description: Metadata to *set* for the vector. + example: + genre: documentary + year: 2019 + type: object + sparseValues: + $ref: '#/components/schemas/SparseValues' + values: + description: Vector data. + example: + - 0.1 + - 0.2 + - 0.3 + - 0.4 + - 0.5 + - 0.6 + - 0.7 + - 0.8 + items: + format: float + type: number + maxLength: 20000 + minLength: 1 + type: array + required: + - id + type: object + UpdateResponse: + description: The response for the `Update` operation. + type: object + UpsertRequest: + description: The request for the `Upsert` operation. + properties: + namespace: + description: This is the namespace name where you upsert vectors. + example: example-namespace + type: string + vectors: + description: An array containing the vectors to upsert. Recommended batch + limit is 100 vectors. + items: + $ref: '#/components/schemas/Vector' + maxLength: 1000 + minLength: 1 + required: + - vectors + type: array + required: + - vectors + type: object + UpsertResponse: + description: The response for the `Upsert` operation. + properties: + upsertedCount: + description: The number of vectors upserted. + example: 10 + format: int64 + type: integer + type: object + Vector: + properties: + id: + description: This is the vector's unique id. + example: example-vector-1 + maxLength: 512 + minLength: 1 + required: + - id + type: string + metadata: + description: This is the metadata included in the request. + example: + genre: documentary + year: 2019 + type: object + sparseValues: + $ref: '#/components/schemas/SparseValues' + values: + description: This is the vector data included in the request. + example: + - 0.1 + - 0.2 + - 0.3 + - 0.4 + - 0.5 + - 0.6 + - 0.7 + - 0.8 + items: + format: float + type: number + maxLength: 20000 + minLength: 1 + required: + - values + type: array + required: + - id + - values + type: object + collectionMeta: + properties: + name: + example: example-collection + type: string + size: + description: The size of the collection in bytes. + example: 1 + type: integer + status: + description: The status of the collection. + example: created + type: string + type: object + createCollectionRequest: + properties: + name: + description: The name of the collection to be created. + example: example-collection + type: string + source: + description: The name of the source index to be used as the source for the + collection. + example: example-source-index + type: string + required: + - name + - source + type: object + createRequest: + properties: + dimension: + description: The dimensions of the vectors to be inserted in the index + example: 1024 + type: integer + index_config: + deprecated: true + oneOf: + - $ref: '#/components/schemas/ApproximatedConfig' + index_type: + default: approximated + deprecated: true + description: The type of vector index. Pinecone supports 'approximated'. + type: string + metadata_config: + description: "Configuration for the behavior of Pinecone's internal metadata\ + \ index. By default, all metadata is indexed; when `metadata_config` is\ + \ present, only specified metadata fields are indexed. To specify metadata\ + \ fields to index, provide a JSON object of the following form: \n ```\ + \ \n {\"indexed\": [\"example_metadata_field\"]} \n ``` " + nullable: true + type: object + metric: + default: cosine + description: The distance metric to be used for similarity search. You can + use 'euclidean', 'cosine', or 'dotproduct'. + type: string + name: + description: The name of the index to be created. The maximum length is + 45 characters. + example: example-index + type: string + pod_type: + default: p1.x1 + description: The type of pod to use. One of `s1`, `p1`, or `p2` appended + with `.` and one of `x1`, `x2`, `x4`, or `x8`. + type: string + pods: + default: 1 + description: The number of pods for the index to use,including replicas. + type: integer + replicas: + default: 1 + description: The number of replicas. Replicas duplicate your index. They + provide higher availability and throughput. + type: integer + source_collection: + description: The name of the collection to create an index from + type: string + required: + - name + - dimension + type: object + indexMeta: + properties: + database: + properties: + dimension: + type: string + index_config: + oneOf: + - $ref: '#/components/schemas/ApproximatedConfig' + index_type: + deprecated: true + type: string + metadata_config: + type: object + metric: + type: string + name: + type: string + pod_type: + type: string + pods: + type: integer + replicas: + type: integer + shards: + type: integer + status: + properties: + ready: + type: boolean + state: + enum: + - Initializing + - ScalingUp + - ScalingDown + - Terminating + - Ready + type: string + type: object + type: object + type: object + patchRequest: + properties: + pod_type: + description: The new pod type for the index. One of `s1`, `p1`, or `p2` + appended with `.` and one of `x1`, `x2`, `x4`, or `x8`. + example: s1.x2 + type: string + replicas: + description: The desired number of replicas for the index. + example: 3 + type: integer + type: object + protobufAny: + properties: + typeUrl: + type: string + value: + format: byte + type: string + type: object + protobufNullValue: + default: NULL_VALUE + description: "`NullValue` is a singleton enumeration to represent the null value\ + \ for the\n`Value` type union.\n\n The JSON representation for `NullValue`\ + \ is JSON `null`.\n\n - NULL_VALUE: Null value." + enum: + - NULL_VALUE + type: string + rpcStatus: + properties: + code: + format: int32 + type: integer + details: + items: + $ref: '#/components/schemas/protobufAny' + type: array + message: + type: string + type: object + securitySchemes: + ApiKeyAuth: + description: An API Key is required to call Pinecone APIs. Get yours at https://www.pinecone.io/start/ + in: header + name: Api-Key + type: apiKey +externalDocs: + description: More Pinecone.io API docs + url: https://www.pinecone.io/docs +info: + contact: + email: support@pinecone.io + name: Pinecone.io Ops + url: https://pinecone.io + title: Pinecone API + version: version not set +openapi: 3.0.3 +paths: + /collections: + get: + description: This operation returns a list of your Pinecone collections. + operationId: list_collections + responses: + '200': + content: + application/json; charset=utf-8: + schema: + items: + type: string + type: array + description: This operation returns a list of all the collections in your + current project. + summary: list_collections + tags: + - Index Operations + x-readme: + code-samples: + - code: "import pinecone \n\npinecone.init(api_key='YOUR_API_KEY', environment='us-east1-gcp')\ + \ \n\nactive_collections = pinecone.list_collections()" + language: python + - code: "const client = new PineconeClient(); \n\nawait client.init{( \n \ + \ apiKey: 'YOUR_API_KEY', \n environment: 'us_east1-gcp', \n\n}); \n\n\ + const list = await client.listCollections().data;" + language: node + post: + description: This operation creates a Pinecone collection. + operationId: create_collection + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/createCollectionRequest' + responses: + '201': + content: + text/plain: + schema: + type: string + description: The collection has been successfully created. + '400': + description: Bad request. Request exceeds quota or collection name is invalid. + '409': + description: A collection with the name provided already exists. + '500': + description: Internal error. Can be caused by invalid parameters. + summary: create_collection + tags: + - Index Operations + x-readme: + code-samples: + - code: "import pinecone \n\npinecone.init(api_key='YOUR_API_KEY', environment='us-east1-gcp')\ + \ \n\npinecone.create_collection('example-collection', 'example-index')" + language: python + - code: "const client = new PineconeClient(); \n\nawait client.init{( \n \ + \ apiKey: 'YOUR_API_KEY', \n environment: 'us_east1-gcp', \n\n}); \n\n\ + await client.createCollection('example-collection');" + language: node + servers: + - url: https://controller.{environment}.pinecone.io + variables: + environment: + default: us-east1-gcp + description: The cloud region for your project. See the Pinecone console + > API keys. + /collections/{collectionName}: + delete: + description: This operation deletes an existing collection. + operationId: delete_collection + parameters: + - description: The name of the collection + in: path + name: collectionName + required: true + schema: + type: string + responses: + '202': + content: + text/plain: + schema: + type: string + description: The index has been successfully deleted. + '404': + description: Collection not found. + '500': + description: Internal error. Can be caused by invalid parameters. + summary: delete_collection + tags: + - Index Operations + x-readme: + code-samples: + - code: "import pinecone \n\npinecone.init(api_key='YOUR_API_KEY', environment='us-east1-gcp')\ + \ \n\npinecone.delete_collection('example-collection')" + language: python + - code: "const client = new PineconeClient(); \n\nawait client.init{( \n \ + \ apiKey: 'YOUR_API_KEY', \n environment: 'us_east1-gcp', \n\n}); \n\n\ + await client.deleteCollection('example-collection');" + language: node + get: + description: Get a description of a collection. + operationId: describe_collection + parameters: + - description: The name of the collection + in: path + name: collectionName + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/collectionMeta' + type: object + description: Configuration information and deployment status of the index + '404': + description: Index not found. + '500': + description: Internal error. Can be caused by invalid parameters. + summary: describe_collection + tags: + - Index Operations + x-readme: + code-samples: + - code: "import pinecone \n\npinecone.init(api_key='YOUR_API_KEY', environment='us-east1-gcp')\ + \ \n\ncollection_description = pinecone.describe_collection('example-collection')" + language: python + - code: "const client = new PineconeClient(); \n\nawait client.init{( \n \ + \ apiKey: 'YOUR_API_KEY', \n environment: 'us_east1-gcp', \n\n}); \n\n\ + const description = await client.describeCollection('example-collection').data;" + language: node + servers: + - url: https://controller.{environment}.pinecone.io + variables: + environment: + default: us-east1-gcp + description: The cloud region for your project. See the Pinecone console + > API keys. + /databases: + get: + description: This operation returns a list of your Pinecone indexes. + operationId: list_indexes + responses: + '200': + content: + application/json; charset=utf-8: + schema: + items: + type: string + type: array + description: This operation returns a list of all the indexes that you have + previously created, and which are associated with the given API key + summary: list_indexes + tags: + - Index Operations + x-readme: + code-samples: + - code: "import pinecone \n\npinecone.init(api_key='YOUR_API_KEY', environment='us-east1-gcp')\ + \ \n\nactive_indexes = pinecone.list_indexes()" + language: python + - code: "const client = new PineconeClient(); \n\nawait client.init{( \n \ + \ apiKey: 'YOUR_API_KEY', \n environment: 'us_east1-gcp', \n}); \n\n\ + const list = await client.listIndexes().data;" + language: node + post: + description: This operation creates a Pinecone index. You can use it to specify + the measure of similarity, the dimension of vectors to be stored in the index, + the numbers of replicas to use, and more. + operationId: create_index + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/createRequest' + responses: + '201': + content: + text/plain: + schema: + type: string + description: The index has been successfully created + '400': + description: Bad request. Encountered when request exceeds quota or an invalid + index name. + '409': + description: Index of given name already exists. + '500': + description: Internal error. Can be caused by invalid parameters. + summary: create_index + tags: + - Index Operations + x-readme: + code-samples: + - code: "import pinecone \n\npinecone.init(api_key='YOUR_API_KEY', environment='us-east1-gcp')\ + \ \n\n## The following example creates an index without a metadata\n##\ + \ configuration. By default, Pinecone indexes all metadata.\n\npinecone.create_index('example-index',\ + \ dimension=1024)\n\n## The following example creates an index that only\ + \ indexes\n## the 'color' metadata field. Queries against this index\n\ + ## cannot filter based on any other metadata field.\n\nmetadata_config\ + \ = {\n 'indexed': ['color']\n}\n\npinecone.create_index('example-index-2',\ + \ dimension=1024,\n metadata_config=metadata_config)" + language: python + - code: "const client = new PineconeClient(); \n\nawait client.init{( \n \ + \ apiKey: 'YOUR_API_KEY', \n environment: 'us_east1-gcp', \n\n}); \n\n\ + const list = await client.createIndex('example-index', 3, 'cosine');" + language: node + servers: + - url: https://controller.{environment}.pinecone.io + variables: + environment: + default: us-east1-gcp + description: The cloud region for your project. See the Pinecone console + > API keys. + /databases/{indexName}: + delete: + description: This operation deletes an existing index. + operationId: delete_index + parameters: + - description: The name of the index + in: path + name: indexName + required: true + schema: + type: string + responses: + '202': + content: + text/plain: + schema: + type: string + description: The index has been successfully deleted. + '404': + description: Index not found. + '500': + description: Internal error. Can be caused by invalid parameters. + summary: delete_index + tags: + - Index Operations + x-readme: + code-samples: + - code: "import pinecone\n\npinecone.init(api_key='YOUR_API_KEY', environment='us-east1-gcp')\ + \ \n\npinecone.delete_index('example-index')" + language: python + - code: "const client = new PineconeClient(); \n\nawait client.init{( \n \ + \ apiKey: 'YOUR_API_KEY', \n environment: 'us_east1-gcp', \n\n}); \n\n\ + await client.deleteIndex('example-index');" + language: node + get: + description: Get a description of an index. + operationId: describe_index + parameters: + - description: The name of the index + in: path + name: indexName + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/indexMeta' + type: object + description: Configuration information and deployment status of the index + '404': + description: Index not found + '500': + description: Internal error. Can be caused by invalid parameters. + summary: describe_index + tags: + - Index Operations + x-readme: + code-samples: + - code: "import pinecone \n\npinecone.init(api_key='YOUR_API_KEY', environment='us-east1-gcp')\ + \ \n\nindex_description = pinecone.describe_index('example-index')" + language: python + - code: "const client = new PineconeClient(); \n\nawait client.init{( \n \ + \ apiKey: 'YOUR_API_KEY', \n environment: 'us_east1-gcp', \n}); \n\n\ + const indexDescription = await client.describeIndex('example-index');" + language: node + patch: + description: This operation specifies the pod type and number of replicas for + an index. + operationId: configure_index + parameters: + - description: The name of the index + in: path + name: indexName + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/patchRequest' + description: The desired pod type and replica configuration for the index. + responses: + '202': + content: + text/plain: + schema: + type: string + description: The index has been successfully updated + '400': + description: Bad request,not enough quota. + '404': + description: Index not found. + '500': + description: Internal error. Can be caused by invalid parameters. + summary: configure_index + tags: + - Index Operations + x-readme: + code-samples: + - code: "import pinecone \n\npinecone.init(api_key='YOUR_API_KEY', environment='us-east1-gcp')\ + \ \n\nnew_number_of_replicas = 4\npinecone.configure_index('example-index',\ + \ replicas=new_number_of_replicas)" + language: python + - code: "const client = new PineconeClient(); \n\nawait client.init{( \n \ + \ apiKey: 'YOUR_API_KEY', \n environment: 'us_east1-gcp', \n\n}); \n\n\ + const patchRequest = {\n replicas: 2,\n pod_type: 'p2.x1'\n}\n\n\ + client.configureIndex(indexName, patchRequest)" + language: node + servers: + - url: https://controller.{environment}.pinecone.io + variables: + environment: + default: us-east1-gcp + description: The cloud region for your project. See the Pinecone console + > API keys. +security: +- ApiKeyAuth: [] +servers: +- url: https://controller.{environment}.pinecone.io + variables: + environment: + default: us-east1-gcp + description: The cloud region for your project. See the Pinecone console > API + keys. +tags: +- name: Vector Operations +- name: Index Operations +x-readme: + explorer-enabled: true + proxy-enabled: false + samples-enabled: true + samples-languages: + - curl + - python + - http + - node diff --git a/openapi.yml b/openapi.yml deleted file mode 100644 index b08b277..0000000 --- a/openapi.yml +++ /dev/null @@ -1,955 +0,0 @@ -openapi: 3.0.2 -info: - title: Pinecone API - description: Pinecone is a vector database. This is an unofficial, community-managed OpenAPI spec that (should) accurately model the Pinecone API. This project was developed independent of and is unaffiliated with Pinecone Systems. Users should switch to the official API spec, if and when Pinecone releases it. - contact: - name: Andy Boothe - url: https://github.com/sigpwned/pinecone-openapi-spec - version: "20230406.1" -servers: - - url: https://controller.{environment}.pinecone.io - variables: - environment: - default: us-east1-gcp - description: The regional deployment to use. Must match API key. - enum: - - us-west1-gcp - - us-west4-gcp - - us-central1-gcp - - us-east1-gcp - - us-east4-gcp - - eu-west1-gcp - - us-east1-aws -externalDocs: - url: https://docs.pinecone.io/ - description: The official Pinecone API documentation -tags: - - name: Index Operations - description: Endpoints for manipulating indexes - - name: Vector Operations - description: Endpoints for manipulating vectors -paths: - /collections: - get: - tags: - - Index Operations - summary: List collections - description: This operation returns a list of your Pinecone collections. - operationId: list_collections - responses: - 200: - description: This operation returns a list of all the collections in your current project. - content: - application/json: - schema: - $ref: '#/components/schemas/CollectionsList' - post: - tags: - - Index Operations - summary: Create collection - description: This operation creates a Pinecone collection. - operationId: create_collection - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CollectionDefinition' - responses: - 201: - description: The collection has been successfully created. - 400: - $ref: '#/components/responses/BadRequest' - 409: - description: A collection with the name provided already exists. - content: - text/plain: - schema: - $ref: '#/components/schemas/ErrorMessage' - 500: - $ref: '#/components/responses/InternalError' - - /collections/{collectionName}: - parameters: - - name: collectionName - required: true - in: path - schema: - $ref: '#/components/schemas/CollectionName' - get: - tags: - - Index Operations - summary: Describe collection - description: Get a description of a collection. - operationId: describe_collection - responses: - 200: - description: This operation returns a list of all the collections in your current project. - content: - application/json: - schema: - $ref: '#/components/schemas/Collection' - 404: - $ref: '#/components/responses/CollectionNotFound' - 500: - $ref: '#/components/responses/InternalError' - delete: - tags: - - Index Operations - summary: Delete Collection - description: This operation deletes an existing collection. - operationId: delete_collection - responses: - 202: - description: The collection has been successfully deleted. - 404: - $ref: '#/components/responses/CollectionNotFound' - 500: - $ref: '#/components/responses/InternalError' - - /databases: - get: - tags: - - Index Operations - summary: List indexes - description: This operation returns a list of your Pinecone indexes. - operationId: list_indexes - responses: - 200: - description: This operation returns a list of all the indexes that you have previously created, and which are associated with the given API key - content: - application/json: - schema: - $ref: '#/components/schemas/IndexesList' - post: - tags: - - Index Operations - summary: Create index - description: This operation creates a Pinecone index. You can use it to specify the measure of similarity, the dimension of vectors to be stored in the index, the numbers of replicas to use, and more. - operationId: create_index - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/IndexDefinition' - responses: - 201: - description: The collection has been successfully created. - 400: - $ref: '#/components/responses/BadRequest' - 409: - description: Index of given name already exists. - content: - text/plain: - schema: - $ref: '#/components/schemas/ErrorMessage' - 500: - $ref: '#/components/responses/InternalError' - - /databases/{indexName}: - parameters: - - name: indexName - required: true - in: path - schema: - $ref: '#/components/schemas/IndexName' - get: - tags: - - Index Operations - summary: Describe index - description: Get a description of an index. - operationId: describe_index - responses: - 200: - description: This operation returns a list of all the collections in your current project. - content: - application/json: - schema: - $ref: '#/components/schemas/Index' - 404: - $ref: '#/components/responses/IndexNotFound' - 500: - $ref: '#/components/responses/InternalError' - delete: - tags: - - Index Operations - summary: Delete Index - description: This operation deletes an existing index. - operationId: delete_index - responses: - 202: - description: The index has been successfully deleted. - 404: - $ref: '#/components/responses/IndexNotFound' - 500: - $ref: '#/components/responses/InternalError' - patch: - tags: - - Index Operations - summary: Configure index - description: This operation specifies the pod type and number of replicas for an index. - operationId: configure_index - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/IndexConfiguration' - responses: - 201: - description: The index has been successfully updated. - 400: - $ref: '#/components/responses/BadRequest' - 404: - $ref: '#/components/responses/IndexNotFound' - 500: - $ref: '#/components/responses/InternalError' - - /describe_index_stats: - servers: - - url: https://{index_name}-{project_id}.svc.{environment}.pincone.io - variables: - index_name: - default: example - description: The name of the index being manipulated - project_id: - default: abcd1234 - description: The project being manipulated - environment: - description: The cloud environment - default: us-east1-gcp - enum: - - us-west1-gcp - - us-west4-gcp - - us-central1-gcp - - us-east1-gcp - - us-east4-gcp - - eu-west1-gcp - - us-east1-aws - post: - tags: - - Vector Operations - summary: Describe Index Stats - description: The `DescribeIndexStats` operation returns statistics about the index's contents, including the vector count per namespace and the number of dimensions. - operationId: DescribeIndexStats - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/DescribeIndexStatsRequest' - responses: - 200: - description: A successful response - content: - application/json: - schema: - $ref: '#/components/schemas/DescribeIndexStatsResponse' - - /query: - servers: - - url: https://{index_name}-{project_id}.svc.{environment}.pincone.io - variables: - index_name: - default: example - description: The name of the index being manipulated - project_id: - default: abcd1234 - description: The project being manipulated - environment: - description: The cloud environment - default: us-east1-gcp - enum: - - us-west1-gcp - - us-west4-gcp - - us-central1-gcp - - us-east1-gcp - - us-east4-gcp - - eu-west1-gcp - - us-east1-aws - post: - tags: - - Vector Operations - summary: Query - description: The `Query` operation searches a namespace, using a query vector. It retrieves the ids of the most similar items in a namespace, along with their similarity scores. - operationId: Query - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/QueryRequest' - responses: - 200: - description: A successful response - content: - application/json: - schema: - $ref: '#/components/schemas/QueryResponse' - - /vectors/delete: - servers: - - url: https://{index_name}-{project_id}.svc.{environment}.pincone.io - variables: - index_name: - default: example - description: The name of the index being manipulated - project_id: - default: abcd1234 - description: The project being manipulated - environment: - description: The cloud environment - default: us-east1-gcp - enum: - - us-west1-gcp - - us-west4-gcp - - us-central1-gcp - - us-east1-gcp - - us-east4-gcp - - eu-west1-gcp - - us-east1-aws - post: - tags: - - Vector Operations - summary: Delete - description: The `Delete` operation deletes vectors, by id, from a single namespace. You can delete items by their id, from a single namespace. - operationId: Delete - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteRequest' - responses: - 200: - description: A successful response - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteResponse' - - /vectors/fetch: - servers: - - url: https://{index_name}-{project_id}.svc.{environment}.pincone.io - variables: - index_name: - default: example - description: The name of the index being manipulated - project_id: - default: abcd1234 - description: The project being manipulated - environment: - description: The cloud environment - default: us-east1-gcp - enum: - - us-west1-gcp - - us-west4-gcp - - us-central1-gcp - - us-east1-gcp - - us-east4-gcp - - eu-west1-gcp - - us-east1-aws - post: - tags: - - Vector Operations - summary: Fetch - description: The `Fetch` operation looks up and returns vectors, by ID, from a single namespace. The returned vectors include the vector data and/or metadata. - operationId: Fetch - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/FetchRequest' - responses: - 200: - description: A successful response - content: - application/json: - schema: - $ref: '#/components/schemas/FetchResponse' - - /vectors/update: - servers: - - url: https://{index_name}-{project_id}.svc.{environment}.pincone.io - variables: - index_name: - default: example - description: The name of the index being manipulated - project_id: - default: abcd1234 - description: The project being manipulated - environment: - description: The cloud environment - default: us-east1-gcp - enum: - - us-west1-gcp - - us-west4-gcp - - us-central1-gcp - - us-east1-gcp - - us-east4-gcp - - eu-west1-gcp - - us-east1-aws - post: - tags: - - Vector Operations - summary: Fetch - description: The `Update` operation updates vector in a namespace. If a value is included, it will overwrite the previous value. If a set_metadata is included, the values of the fields specified in it will be added or overwrite the previous value. - operationId: Update - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateRequest' - responses: - 200: - description: A successful response - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateResponse' - - /vectors/upsert: - servers: - - url: https://{index_name}-{project_id}.svc.{environment}.pincone.io - variables: - index_name: - default: example - description: The name of the index being manipulated - project_id: - default: abcd1234 - description: The project being manipulated - environment: - description: The cloud environment - default: us-east1-gcp - enum: - - us-west1-gcp - - us-west4-gcp - - us-central1-gcp - - us-east1-gcp - - us-east4-gcp - - eu-west1-gcp - - us-east1-aws - post: - tags: - - Vector Operations - summary: Upsert - description: The Upsert operation writes vectors into a namespace. If a new value is upserted for an existing vector id, it will overwrite the previous value. - operationId: Upsert - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpsertRequest' - responses: - 200: - description: A successful response - content: - application/json: - schema: - $ref: '#/components/schemas/UpsertResponse' - -components: - responses: - BadRequest: - description: Quota exceeded, or invalid parameters. - content: - text/plain: - schema: - $ref: '#/components/schemas/ErrorMessage' - IndexNotFound: - description: Index not found. - content: - text/plain: - schema: - $ref: '#/components/schemas/ErrorMessage' - CollectionNotFound: - description: Collection not found. - content: - text/plain: - schema: - $ref: '#/components/schemas/ErrorMessage' - InternalError: - description: Internal error. Can be caused by invalid parameters. - content: - text/plain: - schema: - $ref: '#/components/schemas/ErrorMessage' - - securitySchemes: - ApiKey: - type: apiKey - in: header - name: Api-Key - - schemas: - Environment: - type: string - enum: - - us-west1-gcp - - us-west4-gcp - - us-central1-gcp - - us-east1-gcp - - us-east4-gcp - - eu-west1-gcp - - us-east1-aws - - CollectionName: - description: The unique name of a collection. - type: string - format: CollectionName - nullable: false - example: "example" - - CollectionState: - description: The current status of a collection. - type: string - format: CollectionState - nullable: false - example: "Ready" - - CollectionDefinition: - type: object - required: - - name - - source - properties: - name: - $ref: '#/components/schemas/CollectionName' - source: - $ref: '#/components/schemas/IndexName' - - Collection: - type: object - required: - - name - - size - - status - properties: - name: - $ref: '#/components/schemas/CollectionName' - size: - type: integer - format: int64 - example: 3590359 - status: - $ref: '#/components/schemas/CollectionState' - - CollectionsList: - type: array - items: - $ref: '#/components/schemas/CollectionName' - - VectorDimensionality: - type: integer - format: int32 - description: The number of dimensions in the vector representation - minimum: 1 - maximum: 20000 - - PodType: - type: string - description: The pod type - enum: - - s1.x1 - - s1.x2 - - s1.x4 - - s1.x8 - - p1.x1 - - p1.x2 - - p1.x4 - - p1.x8 - - p2.x1 - - p2.x2 - - p2.x4 - - p2.x8 - - IndexState: - description: The current status of a index. - type: string - format: IndexState - nullable: false - example: "Ready" - enum: - - Initializing - - ScalingUp - - ScalingDown - - Terminating - - Ready - - IndexMetric: - type: string - description: The vector similarity metric of the index - enum: - - euclidean - - cosine - - dotproduct - - IndexName: - description: The unique name of an index. - type: string - format: IndexName - nullable: false - minLength: 1 - maxLength: 45 - example: "example" - - IndexesList: - type: array - items: - $ref: '#/components/schemas/IndexName' - - IndexMetadataConfig: - type: object - description: Configuration for the behavior of Pinecone's internal metadata index. By default, all metadata is indexed; when metadata_config is present, only specified metadata fields are indexed. - properties: - indexed: - type: array - minLength: 0 - items: - type: string - example: - - "hello" - - IndexDefinition: - type: object - required: - - name - - dimension - properties: - name: - $ref: '#/components/schemas/IndexName' - dimension: - $ref: '#/components/schemas/VectorDimensionality' - metric: - $ref: '#/components/schemas/IndexMetric' - pods: - type: integer - format: int32 - description: The number of pods for the index to use,including replicas. - minimum: 1 - default: 1 - replicas: - type: integer - format: int32 - description: The number of replicas. Replicas duplicate your index. They provide higher availability and throughput. - minimum: 1 - default: 1 - pod_type: - $ref: '#/components/schemas/PodType' - metadata_config: - $ref: '#/components/schemas/IndexMetadataConfig' - source_collection: - $ref: '#/components/schemas/CollectionName' - - IndexConfiguration: - type: object - properties: - replicas: - description: The desired number of replicas for the index. - type: integer - format: int32 - minimum: 1 - default: 1 - pod_type: - $ref: '#/components/schemas/PodType' - - IndexDatabase: - type: object - properties: - name: - $ref: '#/components/schemas/IndexName' - metric: - $ref: '#/components/schemas/IndexMetric' - dimension: - $ref: '#/components/schemas/VectorDimensionality' - replicas: - type: integer - format: int32 - minimum: 1 - shards: - type: integer - format: int32 - minimum: 1 - pods: - type: integer - format: int32 - minimum: 1 - pod_type: - $ref: '#/components/schemas/PodType' - - IndexStatus: - type: object - properties: - host: - type: string - format: Hostname - port: - type: integer - format: int32 - state: - $ref: '#/components/schemas/IndexState' - ready: - type: boolean - - Index: - type: object - properties: - database: - $ref: '#/components/schemas/IndexDatabase' - status: - $ref: '#/components/schemas/IndexStatus' - - NamespaceName: - type: string - format: NamespaceName - description: An index namespace name - example: "namespace-0" - - VectorId: - type: string - format: VectorId - description: The unique ID of a vector - example: "vector-0" - - VectorFilter: - type: object - description: If this parameter is present, the operation only affects vectors that satisfy the filter. See https://www.pinecone.io/docs/metadata-filtering/. - additionalProperties: true - example: - hello: - - "alpha" - - "bravo" - - VectorMetadata: - type: object - additionalProperties: true - example: - hello: "alpha" - - VectorData: - type: array - description: Vector dense data. This should be the same length as the dimension of the index being queried. - items: - type: number - format: float - example: - - 1.0 - - 2.0 - - 3.0 - - SparseVectorData: - type: object - description: Vector sparse data. Represented as a list of indices and a list of corresponded values, which must be the same length. - required: - - indices - - values - properties: - indices: - description: The indices of the sparse data. - type: array - items: - type: integer - format: int64 - example: - - 1 - values: - description: The corresponding values of the sparse data, which must be the same length as the indices. - type: array - items: - type: number - format: float - example: - - 2 - - DescribeIndexStatsRequest: - type: object - properties: - filter: - $ref: '#/components/schemas/VectorFilter' - - IndexNamespaceStats: - type: object - properties: - vectorCount: - type: integer - format: int64 - - DescribeIndexStatsResponse: - type: object - properties: - namespaces: - type: object - additionalProperties: - $ref: '#/components/schemas/IndexNamespaceStats' - dimension: - $ref: '#/components/schemas/VectorDimensionality' - indexFullness: - type: number - format: float - description: The fullness of the index, regardless of whether a metadata filter expression was passed. The granularity of this metric is 10%. - totalVectorCount: - type: integer - format: int64 - - QueryRequest: - type: object - required: - - topK - properties: - namespace: - $ref: '#/components/schemas/NamespaceName' - topK: - type: integer - format: int64 - default: 100 - minimum: 0 - maximum: 10000 - description: The number of results to return for each query. - filter: - $ref: '#/components/schemas/VectorFilter' - includeValues: - type: boolean - default: false - includeMetadata: - type: boolean - default: false - vector: - $ref: '#/components/schemas/VectorData' - sparseVector: - $ref: '#/components/schemas/SparseVectorData' - id: - $ref: '#/components/schemas/VectorId' - - QueryMatch: - type: object - required: - - id - properties: - id: - $ref: '#/components/schemas/VectorId' - score: - type: number - format: float - values: - $ref: '#/components/schemas/VectorData' - sparseValues: - $ref: '#/components/schemas/SparseVectorData' - metadata: - $ref: '#/components/schemas/VectorMetadata' - - QueryResponse: - type: object - properties: - matches: - type: array - items: - $ref: '#/components/schemas/QueryMatch' - namespace: - $ref: '#/components/schemas/NamespaceName' - - DeleteRequest: - type: object - properties: - ids: - type: array - maxLength: 1000 - items: - $ref: '#/components/schemas/VectorId' - deleteAll: - type: boolean - default: false - namespace: - $ref: '#/components/schemas/NamespaceName' - filter: - $ref: '#/components/schemas/VectorFilter' - - DeleteResponse: - type: object - properties: {} - - FetchRequest: - type: object - required: - - ids - properties: - ids: - type: array - maxLength: 1000 - items: - $ref: '#/components/schemas/VectorId' - namespace: - $ref: '#/components/schemas/NamespaceName' - - FetchResponse: - type: object - properties: - vectors: - type: object - additionalProperties: - $ref: '#/components/schemas/VectorData' - namespace: - $ref: '#/components/schemas/NamespaceName' - - UpdateRequest: - type: object - required: - - id - properties: - id: - type: string - format: VectorId - description: The vector's unique ID - values: - $ref: '#/components/schemas/VectorData' - sparseValues: - $ref: '#/components/schemas/SparseVectorData' - setMetadata: - $ref: '#/components/schemas/VectorMetadata' - namespace: - $ref: '#/components/schemas/NamespaceName' - - UpdateResponse: - type: object - properties: {} - - UpsertVector: - type: object - properties: - id: - $ref: '#/components/schemas/VectorId' - values: - $ref: '#/components/schemas/VectorData' - sparseValues: - $ref: '#/components/schemas/SparseVectorData' - metadata: - $ref: '#/components/schemas/VectorMetadata' - - UpsertRequest: - type: object - required: - - vectors - properties: - vectors: - type: array - maxLength: 100 - items: - $ref: '#/components/schemas/UpsertVector' - namespace: - $ref: '#/components/schemas/NamespaceName' - - UpsertResponse: - type: object - properties: - upsertedCount: - type: integer - format: int64 - - ErrorMessage: - type: string - -security: - - ApiKey: [] diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 0000000..eba3b56 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,204 @@ +# This file is automatically @generated by Poetry and should not be changed by hand. + +[[package]] +name = "certifi" +version = "2022.12.7" +description = "Python package for providing Mozilla's CA Bundle." +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"}, + {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.1.0" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +category = "main" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"}, + {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"}, +] + +[[package]] +name = "idna" +version = "3.4" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, +] + +[[package]] +name = "pyyaml" +version = "6.0" +description = "YAML parser and emitter for Python" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, + {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"}, + {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"}, + {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"}, + {file = "PyYAML-6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358"}, + {file = "PyYAML-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1"}, + {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d"}, + {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f"}, + {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782"}, + {file = "PyYAML-6.0-cp311-cp311-win32.whl", hash = "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7"}, + {file = "PyYAML-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf"}, + {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"}, + {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"}, + {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"}, + {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"}, + {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"}, + {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"}, + {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"}, + {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"}, + {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"}, + {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"}, + {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"}, + {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"}, + {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"}, + {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, +] + +[[package]] +name = "requests" +version = "2.28.2" +description = "Python HTTP for Humans." +category = "main" +optional = false +python-versions = ">=3.7, <4" +files = [ + {file = "requests-2.28.2-py3-none-any.whl", hash = "sha256:64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa"}, + {file = "requests-2.28.2.tar.gz", hash = "sha256:98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<1.27" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "urllib3" +version = "1.26.15" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +files = [ + {file = "urllib3-1.26.15-py2.py3-none-any.whl", hash = "sha256:aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42"}, + {file = "urllib3-1.26.15.tar.gz", hash = "sha256:8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] +secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] + +[metadata] +lock-version = "2.0" +python-versions = "^3.10" +content-hash = "caf2b06d1ceed8d896ec9551792ad97357f4909090d19e56391d0e7f613694aa" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..0be1a1d --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,17 @@ +[tool.poetry] +name = "pinecone-openapi-spec" +version = "0.1.0" +description = "" +authors = ["Nikhil Shinday "] +readme = "README.md" +packages = [{include = "pinecone_openapi_spec"}] + +[tool.poetry.dependencies] +python = "^3.10" +requests = "^2.28.2" +pyyaml = "^6.0" + + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" diff --git a/vector_openapi.yml b/vector_openapi.yml new file mode 100644 index 0000000..3302231 --- /dev/null +++ b/vector_openapi.yml @@ -0,0 +1,966 @@ +_id: 6310ed1732307d1081c78a96 +components: + schemas: + ApproximatedConfig: + properties: + hybrid: + default: false + type: boolean + k_bits: + default: 512 + type: integer + type: object + DeleteRequest: + description: The request for the `Delete` operation. + properties: + deleteAll: + default: 'false' + description: This indicates that all vectors in the index namespace should + be deleted. + example: false + type: boolean + filter: + description: 'If specified, the metadata filter here will be used to select + the vectors to delete. This is mutually exclusive + + with specifying ids to delete in the ids param or using delete_all=True. + + See https://www.pinecone.io/docs/metadata-filtering/.' + type: object + ids: + description: Vectors to delete. + example: + - id-0 + - id-1 + items: + type: string + maxLength: 1000 + minLength: 1 + type: array + namespace: + description: The namespace to delete vectors from, if applicable. + example: example-namespace + type: string + type: object + DeleteResponse: + description: The response for the `Delete` operation. + type: object + DescribeIndexStatsRequest: + description: The request for the `DescribeIndexStats` operation. + properties: + filter: + description: 'If this parameter is present, the operation only returns statistics + + for vectors that satisfy the filter. + + See https://www.pinecone.io/docs/metadata-filtering/.' + type: object + type: object + DescribeIndexStatsResponse: + description: The response for the `DescribeIndexStats` operation. + example: + dimension: 1024 + index_fullness: 0.4 + namespaces: + ? '' + : vectorCount: 50000 + example-namespace-2: + vectorCount: 30000 + properties: + dimension: + description: The dimension of the indexed vectors. + example: 1024 + format: int64 + type: integer + indexFullness: + description: The fullness of the index, regardless of whether a metadata + filter expression was passed. The granularity of this metric is 10%. + example: 0.4 + format: float + type: number + namespaces: + additionalProperties: + $ref: '#/components/schemas/NamespaceSummary' + description: 'A mapping for each namespace in the index from the namespace + name to a + + summary of its contents. If a metadata filter expression is present, the + + summary will reflect only vectors matching that expression.' + type: object + totalVectorCount: + example: 80000 + format: int64 + title: The total number of vectors in the index, regardless of whether a + metadata filter expression was passed + type: integer + type: object + FetchResponse: + description: The response for the `Fetch` operation. + properties: + namespace: + description: The namespace of the vectors. + example: example-namespace + type: string + vectors: + additionalProperties: + $ref: '#/components/schemas/Vector' + title: The fetched vectors, in the form of a map between the fetched ids + and the fetched vectors + type: object + type: object + HnswConfig: + properties: + M: + default: 12 + type: integer + ef: + default: 250 + type: integer + ef_construction: + default: 500 + type: integer + max_elements: + default: 50000000 + type: integer + type: object + NamespaceSummary: + description: A summary of the contents of a namespace. + properties: + vectorCount: + description: 'The number of vectors stored in this namespace. Note that + updates to this field may lag behind updates to the + + underlying index and corresponding query results, etc.' + example: 50000 + format: int64 + type: integer + type: object + QueryRequest: + description: The request for the `Query` operation. + properties: + filter: + description: The filter to apply. You can use vector metadata to limit your + search. See https://www.pinecone.io/docs/metadata-filtering/. + example: + genre: + $in: + - comedy + - documentary + - drama + year: + $eq: 2019 + type: object + id: + description: The unique ID of the vector to be used as a query vector. Each + `query()` request can contain only one of the parameters `queries`, `vector`, + or `id`. + example: example-vector-1 + maxLength: 512 + type: string + includeMetadata: + default: 'false' + description: Indicates whether metadata is included in the response as well + as the ids. + example: true + type: boolean + includeValues: + default: 'false' + description: Indicates whether vector values are included in the response. + example: true + type: boolean + namespace: + description: The namespace to query. + example: example-namespace + type: string + queries: + deprecated: true + description: DEPRECATED. The query vectors. Each `query()` request can contain + only one of the parameters `queries`, `vector`, or `id`. + items: + $ref: '#/components/schemas/QueryVector' + maxLength: 10 + minLength: 1 + type: array + sparseVector: + $ref: '#/components/schemas/SparseValues' + topK: + description: The number of results to return for each query. + example: 10 + format: int64 + maximum: 10000 + minimum: 1 + required: + - top_k + type: integer + vector: + description: The query vector. This should be the same length as the dimension + of the index being queried. Each `query()` request can contain only one + of the parameters `id` or `vector`. + example: + - 0.1 + - 0.2 + - 0.3 + - 0.4 + - 0.5 + - 0.6 + - 0.7 + - 0.8 + items: + format: float + type: number + maxLength: 20000 + minLength: 1 + type: array + required: + - topK + type: object + QueryResponse: + description: The response for the `Query` operation. These are the matches found + for a particular query vector. The matches are ordered from most similar to + least similar. + properties: + matches: + description: The matches for the vectors. + items: + $ref: '#/components/schemas/ScoredVector' + type: array + namespace: + description: The namespace for the vectors. + type: string + type: object + QueryVector: + deprecated: true + description: A single query vector within a `QueryRequest`. + properties: + filter: + description: An override for the metadata filter to apply. This replaces + the request-level filter. + example: + genre: + $in: + - comedy + - documentary + - drama + year: + $eq: 2019 + type: object + namespace: + description: An override the namespace to search. + example: example-namespace + type: string + sparseValues: + $ref: '#/components/schemas/SparseValues' + topK: + description: An override for the number of results to return for this query + vector. + example: 10 + format: int64 + maximum: 10000 + minimum: 1 + type: integer + values: + description: The query vector values. This should be the same length as + the dimension of the index being queried. + example: + - 0.1 + - 0.2 + - 0.3 + - 0.4 + - 0.5 + - 0.6 + - 0.7 + - 0.8 + items: + format: float + type: number + maxLength: 20000 + minLength: 1 + required: + - values + type: array + required: + - values + type: object + ScoredVector: + properties: + id: + description: This is the vector's unique id. + example: example-vector-1 + maxLength: 512 + minLength: 1 + required: + - id + type: string + metadata: + description: This is the metadata, if it is requested. + example: + genre: documentary + year: 2019 + type: object + score: + description: This is a measure of similarity between this vector and the + query vector. The higher the score, the more they are similar. + example: 0.08 + format: float + type: number + sparseValues: + $ref: '#/components/schemas/SparseValues' + values: + description: This is the vector data, if it is requested. + example: + - 0.1 + - 0.2 + - 0.3 + - 0.4 + - 0.5 + - 0.6 + - 0.7 + - 0.8 + items: + format: float + type: number + type: array + required: + - id + type: object + SingleQueryResults: + properties: + matches: + description: The matches for the vectors. + items: + $ref: '#/components/schemas/ScoredVector' + type: array + namespace: + description: The namespace for the vectors. + example: example-namespace + type: string + title: The query results for a single `QueryVector` + type: object + SparseValues: + description: Vector sparse data. Represented as a list of indices and a list + of corresponded values, which must be the same length. + properties: + indices: + description: The indices of the sparse data. + example: + - 1 + - 312 + - 822 + - 14 + - 980 + items: + format: int64 + type: integer + maxLength: 1000 + minLength: 1 + required: + - indices + type: array + values: + description: The corresponding values of the sparse data, which must be + the same length as the indices. + example: + - 0.1 + - 0.2 + - 0.3 + - 0.4 + - 0.5 + items: + format: float + type: number + maxLength: 1000 + minLength: 1 + required: + - values + type: array + required: + - indices + - values + type: object + UpdateRequest: + description: The request for the `Upsert` operation. + properties: + id: + description: Vector's unique id. + example: example-vector-1 + maxLength: 512 + minLength: 1 + required: + - id + type: string + namespace: + description: The namespace containing the vector to update. + example: example-namespace + type: string + setMetadata: + description: Metadata to *set* for the vector. + example: + genre: documentary + year: 2019 + type: object + sparseValues: + $ref: '#/components/schemas/SparseValues' + values: + description: Vector data. + example: + - 0.1 + - 0.2 + - 0.3 + - 0.4 + - 0.5 + - 0.6 + - 0.7 + - 0.8 + items: + format: float + type: number + maxLength: 20000 + minLength: 1 + type: array + required: + - id + type: object + UpdateResponse: + description: The response for the `Update` operation. + type: object + UpsertRequest: + description: The request for the `Upsert` operation. + properties: + namespace: + description: This is the namespace name where you upsert vectors. + example: example-namespace + type: string + vectors: + description: An array containing the vectors to upsert. Recommended batch + limit is 100 vectors. + items: + $ref: '#/components/schemas/Vector' + maxLength: 1000 + minLength: 1 + required: + - vectors + type: array + required: + - vectors + type: object + UpsertResponse: + description: The response for the `Upsert` operation. + properties: + upsertedCount: + description: The number of vectors upserted. + example: 10 + format: int64 + type: integer + type: object + Vector: + properties: + id: + description: This is the vector's unique id. + example: example-vector-1 + maxLength: 512 + minLength: 1 + required: + - id + type: string + metadata: + description: This is the metadata included in the request. + example: + genre: documentary + year: 2019 + type: object + sparseValues: + $ref: '#/components/schemas/SparseValues' + values: + description: This is the vector data included in the request. + example: + - 0.1 + - 0.2 + - 0.3 + - 0.4 + - 0.5 + - 0.6 + - 0.7 + - 0.8 + items: + format: float + type: number + maxLength: 20000 + minLength: 1 + required: + - values + type: array + required: + - id + - values + type: object + collectionMeta: + properties: + name: + example: example-collection + type: string + size: + description: The size of the collection in bytes. + example: 1 + type: integer + status: + description: The status of the collection. + example: created + type: string + type: object + createCollectionRequest: + properties: + name: + description: The name of the collection to be created. + example: example-collection + type: string + source: + description: The name of the source index to be used as the source for the + collection. + example: example-source-index + type: string + required: + - name + - source + type: object + createRequest: + properties: + dimension: + description: The dimensions of the vectors to be inserted in the index + example: 1024 + type: integer + index_config: + deprecated: true + oneOf: + - $ref: '#/components/schemas/ApproximatedConfig' + index_type: + default: approximated + deprecated: true + description: The type of vector index. Pinecone supports 'approximated'. + type: string + metadata_config: + description: "Configuration for the behavior of Pinecone's internal metadata\ + \ index. By default, all metadata is indexed; when `metadata_config` is\ + \ present, only specified metadata fields are indexed. To specify metadata\ + \ fields to index, provide a JSON object of the following form: \n ```\ + \ \n {\"indexed\": [\"example_metadata_field\"]} \n ``` " + nullable: true + type: object + metric: + default: cosine + description: The distance metric to be used for similarity search. You can + use 'euclidean', 'cosine', or 'dotproduct'. + type: string + name: + description: The name of the index to be created. The maximum length is + 45 characters. + example: example-index + type: string + pod_type: + default: p1.x1 + description: The type of pod to use. One of `s1`, `p1`, or `p2` appended + with `.` and one of `x1`, `x2`, `x4`, or `x8`. + type: string + pods: + default: 1 + description: The number of pods for the index to use,including replicas. + type: integer + replicas: + default: 1 + description: The number of replicas. Replicas duplicate your index. They + provide higher availability and throughput. + type: integer + source_collection: + description: The name of the collection to create an index from + type: string + required: + - name + - dimension + type: object + indexMeta: + properties: + database: + properties: + dimension: + type: string + index_config: + oneOf: + - $ref: '#/components/schemas/ApproximatedConfig' + index_type: + deprecated: true + type: string + metadata_config: + type: object + metric: + type: string + name: + type: string + pod_type: + type: string + pods: + type: integer + replicas: + type: integer + shards: + type: integer + status: + properties: + ready: + type: boolean + state: + enum: + - Initializing + - ScalingUp + - ScalingDown + - Terminating + - Ready + type: string + type: object + type: object + type: object + patchRequest: + properties: + pod_type: + description: The new pod type for the index. One of `s1`, `p1`, or `p2` + appended with `.` and one of `x1`, `x2`, `x4`, or `x8`. + example: s1.x2 + type: string + replicas: + description: The desired number of replicas for the index. + example: 3 + type: integer + type: object + protobufAny: + properties: + typeUrl: + type: string + value: + format: byte + type: string + type: object + protobufNullValue: + default: NULL_VALUE + description: "`NullValue` is a singleton enumeration to represent the null value\ + \ for the\n`Value` type union.\n\n The JSON representation for `NullValue`\ + \ is JSON `null`.\n\n - NULL_VALUE: Null value." + enum: + - NULL_VALUE + type: string + rpcStatus: + properties: + code: + format: int32 + type: integer + details: + items: + $ref: '#/components/schemas/protobufAny' + type: array + message: + type: string + type: object + securitySchemes: + ApiKeyAuth: + description: An API Key is required to call Pinecone APIs. Get yours at https://www.pinecone.io/start/ + in: header + name: Api-Key + type: apiKey +externalDocs: + description: More Pinecone.io API docs + url: https://www.pinecone.io/docs +info: + contact: + email: support@pinecone.io + name: Pinecone.io Ops + url: https://pinecone.io + title: Pinecone API + version: version not set +openapi: 3.0.3 +paths: + /describe_index_stats: + post: + description: The `DescribeIndexStats` operation returns statistics about the + index's contents, including the vector count per namespace and the number + of dimensions. + operationId: describe_index_stats + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DescribeIndexStatsRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DescribeIndexStatsResponse' + description: A successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/rpcStatus' + description: An unexpected error response. + summary: DescribeIndexStats + tags: + - Vector Operations + x-readme: + code-samples: + - code: "import pinecone \n\n pinecone.init(api_key='YOUR_API_KEY', environment='us-east1-gcp')\ + \ \n index = pinecone.Index('example-index') \n\n index_stats_response\ + \ = index.describe_index_stats()" + language: python + - code: "const index = client.index('example-index');\n const describeIndexStatsQuery\ + \ = {\n filter: {}\n }\n\nindex.describeIndexStats(describeIndexStatsQuery)" + language: node + /query: + post: + description: 'The `Query` operation searches a namespace, using a query vector. + + It retrieves the ids of the most similar items in a namespace, along with + their similarity scores.' + operationId: query + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/QueryRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/QueryResponse' + description: A successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/rpcStatus' + description: An unexpected error response. + summary: Query + tags: + - Vector Operations + x-readme: + code-samples: + - code: "import pinecone \n\n pinecone.init(api_key='YOUR_API_KEY', environment='us-east1-gcp')\ + \ \n index = pinecone.Index('example-index') \n\n query_response = index.query(\n\ + \ namespace='example-namespace',\n top_k=10,\n include_values=True,\n\ + \ include_metadata=True,\n vector=[0.1, 0.2, 0.3, 0.4],\n sparseVector={\n\ + \ 'indices': [10, 45, 16],\n 'values': [0.5, 0.5, 0.2]\n\ + \ },\n filter={\n 'genre': {'$in': ['comedy', 'documentary',\ + \ 'drama']}\n }\n)" + language: python + - code: "const client = new pineconeclient(); \n\nawait client.init{( \n \ + \ apikey: 'YOUR_API_KEY', \n environment: 'us_east1-gcp', \n}); \n\n\ + const index = client.index('example-index');\n\nconst queryRequest = {\n\ + \ topK: 10,\n vector: [0.1,0.2,0.3],\n namespace: 'example-namespace'\n\ + }\n\n//Query the index and store the response.\nconst queryResponse =\ + \ await index.query(queryRequest);" + language: node + /vectors/delete: + post: + description: 'The `Delete` operation deletes vectors, by id, from a single namespace. + + You can delete items by their id, from a single namespace.' + operationId: delete + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: A successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/rpcStatus' + description: An unexpected error response. + summary: Delete + tags: + - Vector Operations + x-readme: + code-samples: + - code: "import pinecone \n\n pinecone.init(api_key='YOUR_API_KEY', environment='us-east1-gcp')\ + \ \n index = pinecone.Index('example-index') \n\n delete_response = index.delete(ids=['vec1',\ + \ 'vec2'], namespace='example-namespace')" + language: python + - code: 'const index = client.index(''example-index''); + + + await index.delete1([''vec1'',''vec2''], ''example-namespace'');' + language: node + /vectors/fetch: + get: + description: 'The `Fetch` operation looks up and returns vectors, by ID, from + a single namespace. + + The returned vectors include the vector data and/or metadata.' + operationId: fetch + parameters: + - description: The vector IDs to fetch. Does not accept values containing spaces. + explode: true + in: query + name: ids + required: true + schema: + items: + type: string + type: array + - in: query + name: namespace + required: false + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FetchResponse' + description: A successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/rpcStatus' + description: An unexpected error response. + summary: Fetch + tags: + - Vector Operations + x-readme: + code-samples: + - code: "import pinecone \n\n pinecone.init(api_key='YOUR_API_KEY', environment='us-east1-gcp')\ + \ \n index = pinecone.Index('example-index') \n\n fetch_response = index.fetch(ids=['vec1',\ + \ 'vec2'], namespace='example-namespace')" + language: python + - code: "const client = new pineconeclient(); \n\nawait client.init{( \n \ + \ apikey: 'YOUR_API_KEY', \n environment: 'us_east1-gcp', \n}); \n\n\ + const index = client.index('example-index');\n\n//Fetch vectors by ID\ + \ and save response.\nconst fetchResponse = await index.fetch(['vec1',\ + \ 'vec2'], 'example-namespace');\n//Get vectors from fetch response.\n\ + const fetchResponseVectors = fetchResponse.data" + language: node + /vectors/update: + post: + description: 'The `Update` operation updates vector in a namespace. + + If a value is included, it will overwrite the previous value. + + If a set_metadata is included, the values of the fields specified in it will + be added or overwrite the previous value.' + operationId: update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateResponse' + description: A successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/rpcStatus' + description: An unexpected error response. + summary: Update + tags: + - Vector Operations + x-readme: + code-samples: + - code: "import pinecone \n\n pinecone.init(api_key='YOUR_API_KEY', environment='us-east1-gcp')\ + \ \n index = pinecone.Index('example-index') \n\n update_response = index.update(\n\ + \ id='vec1',\n values=[0.1, 0.2, 0.3, 0.4],\n set_metadata={'genre':\ + \ 'drama'},\n namespace='example-namespace'\n)" + language: python + - code: "const client = new pineconeclient(); \n\nawait client.init{( \n \ + \ apikey: 'YOUR_API_KEY', \n environment: 'us_east1-gcp', \n}); \n\n\ + const index = client.index('example-index');\n\nconst updateRequest =\ + \ {\n id:'vec1',\n values: [0.1,0.2,0.3,0.4],\n set_metadata={'genre':\ + \ 'drama'},\n namespace: 'example-namespace'\n};\n\nawait index.update(updateRequest);" + language: node + /vectors/upsert: + post: + description: 'The `Upsert` operation writes vectors into a namespace. + + If a new value is upserted for an existing vector id, it will overwrite the + previous value.' + operationId: upsert + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpsertRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UpsertResponse' + description: A successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/rpcStatus' + description: An unexpected error response. + summary: Upsert + tags: + - Vector Operations + x-readme: + code-samples: + - code: "import pinecone \n\npinecone.init(api_key='YOUR_API_KEY', environment='us-east1-gcp')\ + \ \nindex = pinecone.Index('example-index') \n\nupsert_response = index.upsert(\n\ + \ vectors=[\n {\n 'id':'vec1', \n 'values':[0.1,\ + \ 0.2, 0.3, 0.4], \n 'metadata':{'genre': 'drama'},\n \ + \ 'sparse_values':\n {'indices': [10, 45, 16],\n \ + \ 'values': [0.5, 0.5, 0.2]}},\n {'id':'vec2', \n 'values':[0.2,\ + \ 0.3, 0.4, 0.5], \n 'metadata':{'genre': 'action'},\n \ + \ 'sparse_values':\n {'indices': [15, 40, 11],\n \ + \ 'values': [0.4, 0.5, 0.2]}}\n ],\n namespace='example-namespace'\n\ + )" + language: python + - code: "const client = new pineconeclient(); \n\nawait client.init{( \n \ + \ apikey: 'your_api_key', \n environment: 'us_east1-gcp', \n}); \n\n\ + const index = client.index('example-index');\n\nconst vector1 = {\n id:\ + \ 'vec1',\n values: [0.1,0.2,0.3,0.4],\n metadata: {'genre': 'drama'}\n\ + \nconst vector2 = {\n id: 'vec2',\n values: [0.2,0.3,0.4,0.5],\n metadata:\ + \ {'genre': 'action'}\n}\n\nconst upsertrequest = {\n vectors: [vector1,\ + \ vector2]\n};\n\nawait index.upsert(upsertrequest);" + language: node +security: +- ApiKeyAuth: [] +servers: +- url: '{index_name-project_id.svc.environment.pinecone.io}' + variables: + index_name-project_id.svc.environment.pinecone.io: + default: index_name-project_id.svc.environment.pinecone.io + description: URL for the target Pinecone index. See app.pinecone.io > Indexes + > Index Name. +tags: +- name: Vector Operations +- name: Index Operations +x-readme: + explorer-enabled: false + proxy-enabled: false + samples-enabled: true + samples-languages: + - curl + - python + - http + - node