545545}
546546
547547
548+ _REMOVED_TOPLEVEL_FUNCTIONS : tuple [str , ...] = (
549+ "init" ,
550+ "create_index" ,
551+ "delete_index" ,
552+ "list_indexes" ,
553+ "describe_index" ,
554+ "configure_index" ,
555+ "scale_index" ,
556+ "create_collection" ,
557+ "delete_collection" ,
558+ "describe_collection" ,
559+ "list_collections" ,
560+ )
561+
562+ _REMOVED_FUNCTION_EXAMPLES : dict [str , str ] = {
563+ "init" : """
564+ import os
565+ from pinecone import Pinecone, ServerlessSpec
566+
567+ pc = Pinecone(
568+ api_key=os.environ.get("PINECONE_API_KEY")
569+ )
570+
571+ # Now do stuff
572+ if 'my_index' not in pc.list_indexes().names():
573+ pc.create_index(
574+ name='my_index',
575+ dimension=1536,
576+ metric='euclidean',
577+ spec=ServerlessSpec(
578+ cloud='aws',
579+ region='us-west-2'
580+ )
581+ )
582+ """ ,
583+ "list_indexes" : """
584+ from pinecone import Pinecone
585+
586+ pc = Pinecone(api_key='YOUR_API_KEY')
587+
588+ index_name = "quickstart" # or your index name
589+
590+ if index_name not in pc.list_indexes().names():
591+ # do something
592+ """ ,
593+ "describe_index" : """
594+ from pinecone import Pinecone
595+
596+ pc = Pinecone(api_key='YOUR_API_KEY')
597+ pc.describe_index('my_index')
598+ """ ,
599+ "create_index" : """
600+ from pinecone import Pinecone, ServerlessSpec
601+
602+ pc = Pinecone(api_key='YOUR_API_KEY')
603+ pc.create_index(
604+ name='my-index',
605+ dimension=1536,
606+ metric='euclidean',
607+ spec=ServerlessSpec(
608+ cloud='aws',
609+ region='us-west-2'
610+ )
611+ )
612+ """ ,
613+ "delete_index" : """
614+ from pinecone import Pinecone
615+
616+ pc = Pinecone(api_key='YOUR_API_KEY')
617+ pc.delete_index('my_index')
618+ """ ,
619+ "scale_index" : """
620+ from pinecone import Pinecone
621+
622+ pc = Pinecone(api_key='YOUR_API_KEY')
623+ pc.configure_index('my_index', replicas=2)
624+ """ ,
625+ "create_collection" : """
626+ from pinecone import Pinecone
627+
628+ pc = Pinecone(api_key='YOUR_API_KEY')
629+ pc.create_collection(name='my_collection', source='my_index')
630+ """ ,
631+ "list_collections" : """
632+ from pinecone import Pinecone
633+
634+ pc = Pinecone(api_key='YOUR_API_KEY')
635+ pc.list_collections()
636+ """ ,
637+ "delete_collection" : """
638+ from pinecone import Pinecone
639+
640+ pc = Pinecone(api_key='YOUR_API_KEY')
641+ pc.delete_collection('my_collection')
642+ """ ,
643+ "describe_collection" : """
644+ from pinecone import Pinecone
645+
646+ pc = Pinecone(api_key='YOUR_API_KEY')
647+ pc.describe_collection('my_collection')
648+ """ ,
649+ "configure_index" : """
650+ from pinecone import Pinecone
651+
652+ pc = Pinecone(api_key='YOUR_API_KEY')
653+ pc.configure_index('my_index', replicas=2)
654+ """ ,
655+ }
656+
657+
658+ def _removed_function_message (name : str ) -> str :
659+ example = _REMOVED_FUNCTION_EXAMPLES [name ]
660+ if name == "init" :
661+ return (
662+ "init is no longer a top-level attribute of the pinecone package.\n \n "
663+ "Please create an instance of the Pinecone class instead.\n \n "
664+ f"Example:\n { example } \n "
665+ )
666+ if name == "scale_index" :
667+ return (
668+ "scale_index is no longer a top-level attribute of the pinecone package.\n \n "
669+ "Please create a client instance and call the configure_index method instead.\n \n "
670+ f"Example:\n { example } \n "
671+ )
672+ return (
673+ f"{ name } is no longer a top-level attribute of the pinecone package.\n \n "
674+ f"To use { name } , please create a client instance and call the method there instead.\n \n "
675+ f"Example:\n { example } \n "
676+ )
677+
678+
548679def __getattr__ (name : str ) -> Any :
549680 if name == "ValidationError" :
550681 import warnings
@@ -558,6 +689,8 @@ def __getattr__(name: str) -> Any:
558689
559690 globals ()["ValidationError" ] = ValidationError
560691 return ValidationError
692+ if name in _REMOVED_TOPLEVEL_FUNCTIONS :
693+ raise AttributeError (_removed_function_message (name ))
561694 if name in _LAZY_IMPORTS :
562695 module_path , attr = _LAZY_IMPORTS [name ]
563696 import importlib
0 commit comments