Skip to content

Commit 62224d3

Browse files
committed
fix(backcompat): remove DeprecationWarning from AsyncPinecone delegates
Drop the `import warnings` + `warnings.warn(...)` block from all 18 backcompat delegate methods on AsyncPinecone. Rewrite each docstring to follow the shim template (no `:meta private:`, no deprecated language, clear new-API guidance). Update unit tests to remove `pytest.warns` wrappers and rename functions to drop `_emits_deprecation_and_*` suffixes. Closes BC-0085.
1 parent 75d09c9 commit 62224d3

2 files changed

Lines changed: 141 additions & 260 deletions

File tree

‎pinecone/async_client/pinecone.py‎

Lines changed: 73 additions & 167 deletions
Original file line numberDiff line numberDiff line change
@@ -445,17 +445,12 @@ async def create_index(
445445
vector_type: VectorType | str = "dense",
446446
tags: dict[str, str] | None = None,
447447
) -> IndexModel:
448-
"""Backwards-compatibility delegate. See :meth:`AsyncPinecone.indexes.create`.
448+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.indexes.create`.
449449
450-
:meta private:
450+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
451+
should use ``await pc.indexes.create(...)`` instead of
452+
``await pc.create_index(...)``.
451453
"""
452-
import warnings
453-
454-
warnings.warn(
455-
"AsyncPinecone.create_index() is deprecated; use pc.indexes.create() instead.",
456-
DeprecationWarning,
457-
stacklevel=2,
458-
)
459454
resolved_dp = deletion_protection if deletion_protection is not None else "disabled"
460455
return await self.indexes.create(
461456
name=name,
@@ -480,20 +475,13 @@ async def create_index_for_model(
480475
schema: dict[str, Any] | None = None,
481476
timeout: int | None = None,
482477
) -> IndexModel:
483-
"""Backwards-compatibility delegate for integrated index creation.
484-
485-
See :meth:`AsyncPinecone.indexes.create` with ``IntegratedSpec``.
478+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.indexes.create`.
486479
487-
:meta private:
480+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
481+
should use ``await pc.indexes.create(...)`` with
482+
``IntegratedSpec(cloud=..., region=..., embed=EmbedConfig(...))`` instead of
483+
``await pc.create_index_for_model(...)``.
488484
"""
489-
import warnings
490-
491-
warnings.warn(
492-
"AsyncPinecone.create_index_for_model() is deprecated;"
493-
" use pc.indexes.create() with IntegratedSpec instead.",
494-
DeprecationWarning,
495-
stacklevel=2,
496-
)
497485
from pinecone.inference.models.index_embed import IndexEmbed as _IndexEmbed
498486
from pinecone.models.indexes.specs import EmbedConfig as _EmbedConfig
499487
from pinecone.models.indexes.specs import IntegratedSpec as _IntegratedSpec
@@ -525,45 +513,30 @@ async def create_index_for_model(
525513
)
526514

527515
async def describe_index(self, name: str) -> IndexModel:
528-
"""Backwards-compatibility delegate. See :meth:`AsyncPinecone.indexes.describe`.
516+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.indexes.describe`.
529517
530-
:meta private:
518+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
519+
should use ``await pc.indexes.describe(...)`` instead of
520+
``await pc.describe_index(...)``.
531521
"""
532-
import warnings
533-
534-
warnings.warn(
535-
"AsyncPinecone.describe_index() is deprecated; use pc.indexes.describe() instead.",
536-
DeprecationWarning,
537-
stacklevel=2,
538-
)
539522
return await self.indexes.describe(name)
540523

541524
async def list_indexes(self) -> IndexList:
542-
"""Backwards-compatibility delegate. See :meth:`AsyncPinecone.indexes.list`.
525+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.indexes.list`.
543526
544-
:meta private:
527+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
528+
should use ``await pc.indexes.list()`` instead of
529+
``await pc.list_indexes()``.
545530
"""
546-
import warnings
547-
548-
warnings.warn(
549-
"AsyncPinecone.list_indexes() is deprecated; use pc.indexes.list() instead.",
550-
DeprecationWarning,
551-
stacklevel=2,
552-
)
553531
return await self.indexes.list()
554532

555533
async def has_index(self, name: str) -> bool:
556-
"""Backwards-compatibility delegate. See :meth:`AsyncPinecone.indexes.exists`.
534+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.indexes.exists`.
557535
558-
:meta private:
536+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
537+
should use ``await pc.indexes.exists(...)`` instead of
538+
``await pc.has_index(...)``.
559539
"""
560-
import warnings
561-
562-
warnings.warn(
563-
"AsyncPinecone.has_index() is deprecated; use pc.indexes.exists() instead.",
564-
DeprecationWarning,
565-
stacklevel=2,
566-
)
567540
return await self.indexes.exists(name)
568541

569542
async def configure_index(
@@ -576,17 +549,12 @@ async def configure_index(
576549
embed: dict[str, Any] | None = None,
577550
read_capacity: dict[str, Any] | None = None,
578551
) -> None:
579-
"""Backwards-compatibility delegate. See :meth:`AsyncPinecone.indexes.configure`.
552+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.indexes.configure`.
580553
581-
:meta private:
554+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
555+
should use ``await pc.indexes.configure(...)`` instead of
556+
``await pc.configure_index(...)``.
582557
"""
583-
import warnings
584-
585-
warnings.warn(
586-
"AsyncPinecone.configure_index() is deprecated; use pc.indexes.configure() instead.",
587-
DeprecationWarning,
588-
stacklevel=2,
589-
)
590558
await self.indexes.configure(
591559
name=name,
592560
replicas=replicas,
@@ -598,74 +566,48 @@ async def configure_index(
598566
)
599567

600568
async def delete_index(self, name: str, timeout: int | None = None) -> None:
601-
"""Backwards-compatibility delegate. See :meth:`AsyncPinecone.indexes.delete`.
569+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.indexes.delete`.
602570
603-
:meta private:
571+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
572+
should use ``await pc.indexes.delete(...)`` instead of
573+
``await pc.delete_index(...)``.
604574
"""
605-
import warnings
606-
607-
warnings.warn(
608-
"AsyncPinecone.delete_index() is deprecated; use pc.indexes.delete() instead.",
609-
DeprecationWarning,
610-
stacklevel=2,
611-
)
612575
await self.indexes.delete(name, timeout=timeout)
613576

614577
async def create_collection(self, name: str, source: str) -> CollectionModel:
615-
"""Backwards-compatibility delegate. See :meth:`AsyncPinecone.collections.create`.
578+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.collections.create`.
616579
617-
:meta private:
580+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
581+
should use ``await pc.collections.create(...)`` instead of
582+
``await pc.create_collection(...)``.
618583
"""
619-
import warnings
620-
621-
warnings.warn(
622-
"AsyncPinecone.create_collection() is deprecated; use pc.collections.create() instead.",
623-
DeprecationWarning,
624-
stacklevel=2,
625-
)
626584
return await self.collections.create(name=name, source=source)
627585

628586
async def list_collections(self) -> CollectionList:
629-
"""Backwards-compatibility delegate. See :meth:`AsyncPinecone.collections.list`.
587+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.collections.list`.
630588
631-
:meta private:
589+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
590+
should use ``await pc.collections.list()`` instead of
591+
``await pc.list_collections()``.
632592
"""
633-
import warnings
634-
635-
warnings.warn(
636-
"AsyncPinecone.list_collections() is deprecated; use pc.collections.list() instead.",
637-
DeprecationWarning,
638-
stacklevel=2,
639-
)
640593
return await self.collections.list()
641594

642595
async def describe_collection(self, name: str) -> CollectionModel:
643-
"""Backwards-compatibility delegate. See :meth:`AsyncPinecone.collections.describe`.
596+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.collections.describe`.
644597
645-
:meta private:
598+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
599+
should use ``await pc.collections.describe(...)`` instead of
600+
``await pc.describe_collection(...)``.
646601
"""
647-
import warnings
648-
649-
warnings.warn(
650-
"AsyncPinecone.describe_collection() is deprecated;"
651-
" use pc.collections.describe() instead.",
652-
DeprecationWarning,
653-
stacklevel=2,
654-
)
655602
return await self.collections.describe(name)
656603

657604
async def delete_collection(self, name: str) -> None:
658-
"""Backwards-compatibility delegate. See :meth:`AsyncPinecone.collections.delete`.
605+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.collections.delete`.
659606
660-
:meta private:
607+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
608+
should use ``await pc.collections.delete(...)`` instead of
609+
``await pc.delete_collection(...)``.
661610
"""
662-
import warnings
663-
664-
warnings.warn(
665-
"AsyncPinecone.delete_collection() is deprecated; use pc.collections.delete() instead.",
666-
DeprecationWarning,
667-
stacklevel=2,
668-
)
669611
await self.collections.delete(name)
670612

671613
async def create_backup(
@@ -675,17 +617,12 @@ async def create_backup(
675617
backup_name: str | None = None,
676618
description: str = "",
677619
) -> BackupModel:
678-
"""Backwards-compatibility delegate. See :meth:`AsyncPinecone.backups.create`.
620+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.backups.create`.
679621
680-
:meta private:
622+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
623+
should use ``await pc.backups.create(...)`` instead of
624+
``await pc.create_backup(...)``.
681625
"""
682-
import warnings
683-
684-
warnings.warn(
685-
"AsyncPinecone.create_backup() is deprecated; use pc.backups.create() instead.",
686-
DeprecationWarning,
687-
stacklevel=2,
688-
)
689626
return await self.backups.create(
690627
index_name=index_name,
691628
name=backup_name,
@@ -699,49 +636,34 @@ async def list_backups(
699636
limit: int | None = 10,
700637
pagination_token: str | None = None,
701638
) -> BackupList:
702-
"""Backwards-compatibility delegate. See :meth:`AsyncPinecone.backups.list`.
639+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.backups.list`.
703640
704-
:meta private:
641+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
642+
should use ``await pc.backups.list(...)`` instead of
643+
``await pc.list_backups(...)``.
705644
"""
706-
import warnings
707-
708-
warnings.warn(
709-
"AsyncPinecone.list_backups() is deprecated; use pc.backups.list() instead.",
710-
DeprecationWarning,
711-
stacklevel=2,
712-
)
713645
return await self.backups.list(
714646
index_name=index_name,
715647
limit=limit if limit is not None else 10,
716648
pagination_token=pagination_token,
717649
)
718650

719651
async def describe_backup(self, *, backup_id: str) -> BackupModel:
720-
"""Backwards-compatibility delegate. See :meth:`AsyncPinecone.backups.describe`.
652+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.backups.describe`.
721653
722-
:meta private:
654+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
655+
should use ``await pc.backups.describe(...)`` instead of
656+
``await pc.describe_backup(...)``.
723657
"""
724-
import warnings
725-
726-
warnings.warn(
727-
"AsyncPinecone.describe_backup() is deprecated; use pc.backups.describe() instead.",
728-
DeprecationWarning,
729-
stacklevel=2,
730-
)
731658
return await self.backups.describe(backup_id=backup_id)
732659

733660
async def delete_backup(self, *, backup_id: str) -> None:
734-
"""Backwards-compatibility delegate. See :meth:`AsyncPinecone.backups.delete`.
661+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.backups.delete`.
735662
736-
:meta private:
663+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
664+
should use ``await pc.backups.delete(...)`` instead of
665+
``await pc.delete_backup(...)``.
737666
"""
738-
import warnings
739-
740-
warnings.warn(
741-
"AsyncPinecone.delete_backup() is deprecated; use pc.backups.delete() instead.",
742-
DeprecationWarning,
743-
stacklevel=2,
744-
)
745667
await self.backups.delete(backup_id=backup_id)
746668

747669
async def list_restore_jobs(
@@ -750,49 +672,33 @@ async def list_restore_jobs(
750672
limit: int | None = 10,
751673
pagination_token: str | None = None,
752674
) -> RestoreJobList:
753-
"""Backwards-compatibility delegate. See :meth:`AsyncPinecone.restore_jobs.list`.
675+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.restore_jobs.list`.
754676
755-
:meta private:
677+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
678+
should use ``await pc.restore_jobs.list(...)`` instead of
679+
``await pc.list_restore_jobs(...)``.
756680
"""
757-
import warnings
758-
759-
warnings.warn(
760-
"AsyncPinecone.list_restore_jobs() is deprecated; use pc.restore_jobs.list() instead.",
761-
DeprecationWarning,
762-
stacklevel=2,
763-
)
764681
return await self.restore_jobs.list(
765682
limit=limit if limit is not None else 10,
766683
pagination_token=pagination_token,
767684
)
768685

769686
async def describe_restore_job(self, *, job_id: str) -> RestoreJobModel:
770-
"""Backwards-compatibility delegate. See :meth:`AsyncPinecone.restore_jobs.describe`.
687+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.restore_jobs.describe`.
771688
772-
:meta private:
689+
Preserved to ease migration from the legacy Pinecone Python SDK. New code
690+
should use ``await pc.restore_jobs.describe(...)`` instead of
691+
``await pc.describe_restore_job(...)``.
773692
"""
774-
import warnings
775-
776-
warnings.warn(
777-
"AsyncPinecone.describe_restore_job() is deprecated;"
778-
" use pc.restore_jobs.describe() instead.",
779-
DeprecationWarning,
780-
stacklevel=2,
781-
)
782693
return await self.restore_jobs.describe(job_id=job_id)
783694

784695
def IndexAsyncio(self, host: str, **kwargs: Any) -> AsyncIndex: # noqa: N802
785-
"""Backwards-compatibility async index factory. See ``AsyncIndex``.
696+
"""Backwards-compatibility shim for :meth:`AsyncPinecone.index`.
786697
787-
:meta private:
698+
Preserved to ease migration from the legacy Pinecone Python SDK. New
699+
code should use ``pc.index(host=...)`` (where ``pc`` is an
700+
:class:`AsyncPinecone` instance) instead of ``pc.IndexAsyncio(...)``.
788701
"""
789-
import warnings
790-
791-
warnings.warn(
792-
"AsyncPinecone.IndexAsyncio() is deprecated; use AsyncIndex directly instead.",
793-
DeprecationWarning,
794-
stacklevel=2,
795-
)
796702
from pinecone.async_client.async_index import AsyncIndex as _AsyncIndex
797703

798704
return _AsyncIndex(

0 commit comments

Comments
 (0)