pinecone.config.pinecone_config

 1from typing import Optional, Dict
 2import logging
 3import json
 4import os
 5from .config import ConfigBuilder, Config
 6
 7logger = logging.getLogger(__name__)
 8
 9DEFAULT_CONTROLLER_HOST = "https://api.pinecone.io"
10
11
12class PineconeConfig:
13    @staticmethod
14    def build(
15        api_key: Optional[str] = None,
16        host: Optional[str] = None,
17        additional_headers: Optional[Dict[str, str]] = {},
18        **kwargs,
19    ) -> Config:
20        host = host or kwargs.get("host") or os.getenv("PINECONE_CONTROLLER_HOST") or DEFAULT_CONTROLLER_HOST
21        headers_json = os.getenv("PINECONE_ADDITIONAL_HEADERS")
22        if headers_json:
23            try:
24                headers = json.loads(headers_json)
25                additional_headers = additional_headers or headers
26            except Exception as e:
27                logger.warn(f"Ignoring PINECONE_ADDITIONAL_HEADERS: {e}")
28
29        return ConfigBuilder.build(
30            api_key=api_key,
31            host=host,
32            additional_headers=additional_headers,
33            **kwargs,
34        )
logger = <Logger pinecone.config.pinecone_config (WARNING)>
DEFAULT_CONTROLLER_HOST = 'https://api.pinecone.io'
class PineconeConfig:
13class PineconeConfig:
14    @staticmethod
15    def build(
16        api_key: Optional[str] = None,
17        host: Optional[str] = None,
18        additional_headers: Optional[Dict[str, str]] = {},
19        **kwargs,
20    ) -> Config:
21        host = host or kwargs.get("host") or os.getenv("PINECONE_CONTROLLER_HOST") or DEFAULT_CONTROLLER_HOST
22        headers_json = os.getenv("PINECONE_ADDITIONAL_HEADERS")
23        if headers_json:
24            try:
25                headers = json.loads(headers_json)
26                additional_headers = additional_headers or headers
27            except Exception as e:
28                logger.warn(f"Ignoring PINECONE_ADDITIONAL_HEADERS: {e}")
29
30        return ConfigBuilder.build(
31            api_key=api_key,
32            host=host,
33            additional_headers=additional_headers,
34            **kwargs,
35        )
@staticmethod
def build( api_key: Optional[str] = None, host: Optional[str] = None, additional_headers: Optional[Dict[str, str]] = {}, **kwargs) -> pinecone.config.config.Config:
14    @staticmethod
15    def build(
16        api_key: Optional[str] = None,
17        host: Optional[str] = None,
18        additional_headers: Optional[Dict[str, str]] = {},
19        **kwargs,
20    ) -> Config:
21        host = host or kwargs.get("host") or os.getenv("PINECONE_CONTROLLER_HOST") or DEFAULT_CONTROLLER_HOST
22        headers_json = os.getenv("PINECONE_ADDITIONAL_HEADERS")
23        if headers_json:
24            try:
25                headers = json.loads(headers_json)
26                additional_headers = additional_headers or headers
27            except Exception as e:
28                logger.warn(f"Ignoring PINECONE_ADDITIONAL_HEADERS: {e}")
29
30        return ConfigBuilder.build(
31            api_key=api_key,
32            host=host,
33            additional_headers=additional_headers,
34            **kwargs,
35        )