Skip to content

RC: 2025-04 #494

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 52 commits into from
May 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
1ec5a03
Add sleep to test
jhamon Mar 7, 2025
7eb6192
Regenerate code for 2025-04
jhamon Mar 3, 2025
231f8c4
Regen
jhamon Mar 7, 2025
87020c9
Regen
jhamon Mar 14, 2025
a49102f
Regenerate code for 2025-04 (#466)
jhamon Mar 14, 2025
c0d7aef
[KE] Add assistant description (#469)
avi1mizrahi Mar 25, 2025
47f5f30
Remove urllib3 info from useragent string
jhamon Apr 23, 2025
d43373f
Remove urllib3 info from useragent string (#476)
jhamon Apr 25, 2025
aaa7104
Refactor PluginAware to do lazy loading
jhamon Apr 11, 2025
b3bc5a4
Fix unit test
jhamon Apr 11, 2025
7b9b383
Add unit tests for PluginAware
jhamon Apr 14, 2025
79c73a8
Add assistant plugin to dev deps
jhamon Apr 14, 2025
7933e80
Refactoring
jhamon Apr 8, 2025
2c6e1ce
Refactoring
jhamon Apr 8, 2025
a08ae73
WIP
jhamon Apr 9, 2025
67323cb
WIP
jhamon Apr 9, 2025
b7bdd4f
WIP
jhamon Apr 17, 2025
0584c63
Add missing exports
jhamon Apr 23, 2025
cd15bf9
Fix unit tests
jhamon Apr 25, 2025
7fed334
Update lockfile
jhamon Apr 25, 2025
85d4842
Add integration tests for reorg methods
jhamon May 2, 2025
85c4839
Fix mypy errors
jhamon May 6, 2025
93d1610
Fix test failures, lint errors
jhamon May 6, 2025
8937278
Fix grpc unit tests
jhamon May 6, 2025
b5b3b85
Fix lint errors
jhamon May 6, 2025
163cde7
Fix mypy errors and warnings
jhamon May 7, 2025
7e94a40
Fix inference
jhamon May 7, 2025
2d65da7
Fix data tests
jhamon May 8, 2025
f2a3e82
Fix mypy errors
jhamon May 8, 2025
497b0f9
Add missing exports
jhamon May 8, 2025
7a37ef5
Fix async tests
jhamon May 8, 2025
e919d41
Speed up client initialization with lazy loading (#473)
jhamon May 12, 2025
1bb8551
Add development repl script
jhamon May 14, 2025
5c0e37c
Implement backup & restore (#479)
jhamon May 14, 2025
6efd333
Fix backup integration tests (#483)
jhamon May 14, 2025
f5c19e9
Add BYOC support to `create_index`, `describe_index`, `list_indexes` …
jhamon May 15, 2025
71fa605
Add `py.typed` to indicate type information is present (#485)
jhamon May 15, 2025
b77ecd1
Cleanup test resources (#486)
jhamon May 15, 2025
6b0aeaf
Try running tests on preprod (#487)
jhamon May 15, 2025
75d4bd3
Use `@require_kwargs` decorator on new methods (#480)
jhamon May 15, 2025
4582a48
Use lazy loading in error decorator, debugging config (#481)
jhamon May 15, 2025
c617bb2
Make resource classes extend `PluginAware` so they can be extended in…
jhamon May 15, 2025
6a12a63
Test assistant plugin installation (#489)
jhamon May 15, 2025
c1688f6
Expose new `pc.inference.list_models()` and `pc.inference.get_model()…
jhamon May 16, 2025
80d9c95
Add retry config for urllib3 requests (#491)
jhamon May 16, 2025
24296eb
Disable client-side validation of responses (#490)
jhamon May 16, 2025
d342f7a
Format printed representationi of backup
jhamon May 16, 2025
dd4306e
Add retry configuration for asyncio (#492)
jhamon May 16, 2025
b389c0c
Skip tests when only docs changes present
jhamon May 16, 2025
a28e13d
Cancel CI jobs in progress on subsequent pushes
jhamon May 16, 2025
0a07f51
Update the `upgrading.md` doc with v7 release notes (#493)
jhamon May 16, 2025
0234950
Merge branch 'main' into release-candidate/2025-04
jhamon May 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .github/actions/cleanup-all/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ inputs:
description: 'Delete all indexes and collections'
required: false
default: 'false'
PINECONE_ADDITIONAL_HEADERS:
description: 'Additional headers to send with the request'
required: false
default: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'

runs:
using: 'composite'
Expand All @@ -25,3 +29,4 @@ runs:
env:
PINECONE_API_KEY: ${{ inputs.PINECONE_API_KEY }}
DELETE_ALL: ${{ inputs.DELETE_ALL }}
PINECONE_ADDITIONAL_HEADERS: ${{ inputs.PINECONE_ADDITIONAL_HEADERS }}
7 changes: 6 additions & 1 deletion .github/actions/create-index-legacy/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ inputs:
PINECONE_API_KEY:
description: 'The Pinecone API key'
required: true
PINECONE_ADDITIONAL_HEADERS:
description: 'Additional headers to send with the request'
required: false
default: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'

runs:
using: 'composite'
Expand All @@ -36,14 +40,15 @@ runs:
shell: bash
run: |
pip install pinecone-client==${{ inputs.pinecone_client_version }}

- name: Create index
id: create-index
shell: bash
run: ./python3 scripts/create-index-legacy.py
env:
PINECONE_API_KEY: ${{ inputs.PINECONE_API_KEY }}
PINECONE_ENVIRONMENT: ${{ inputs.PINECONE_ENVIRONMENT }}
PINECONE_ADDITIONAL_HEADERS: ${{ inputs.PINECONE_ADDITIONAL_HEADERS }}
INDEX_NAME: ${{ inputs.index_name }}
DIMENSION: ${{ inputs.dimension }}
METRIC: ${{ inputs.metric }
6 changes: 6 additions & 0 deletions .github/actions/create-index/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ inputs:
PINECONE_API_KEY:
description: 'The Pinecone API key'
required: true
PINECONE_ADDITIONAL_HEADERS:
description: 'Additional headers to send with the request'
required: false
default: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'


outputs:
index_name:
Expand All @@ -48,6 +53,7 @@ runs:
run: poetry run python3 scripts/create.py
env:
PINECONE_API_KEY: ${{ inputs.PINECONE_API_KEY }}
PINECONE_ADDITIONAL_HEADERS: ${{ inputs.PINECONE_ADDITIONAL_HEADERS }}
NAME_PREFIX: ${{ inputs.name_prefix }}
REGION: ${{ inputs.region }}
CLOUD: ${{ inputs.cloud }}
Expand Down
7 changes: 6 additions & 1 deletion .github/actions/delete-index/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ inputs:
PINECONE_API_KEY:
description: 'The Pinecone API key'
required: true
PINECONE_ADDITIONAL_HEADERS:
description: 'Additional headers to send with the request'
required: false
default: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'


runs:
Expand All @@ -26,4 +30,5 @@ runs:
run: poetry run python3 scripts/delete.py
env:
PINECONE_API_KEY: ${{ inputs.PINECONE_API_KEY }}
INDEX_NAME: ${{ inputs.index_name }}
PINECONE_ADDITIONAL_HEADERS: ${{ inputs.PINECONE_ADDITIONAL_HEADERS }}
INDEX_NAME: ${{ inputs.index_name }}
5 changes: 5 additions & 0 deletions .github/actions/test-data-asyncio/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ inputs:
PINECONE_API_KEY:
description: 'The Pinecone API key'
required: true
PINECONE_ADDITIONAL_HEADERS:
description: 'Additional headers to send with the request'
required: false
default: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'
python_version:
description: 'The version of Python to use'
required: false
Expand All @@ -41,6 +45,7 @@ runs:
run: poetry run pytest tests/integration/data_asyncio --retries 5 --retry-delay 35 -s -vv --log-cli-level=DEBUG
env:
PINECONE_API_KEY: ${{ inputs.PINECONE_API_KEY }}
PINECONE_ADDITIONAL_HEADERS: ${{ inputs.PINECONE_ADDITIONAL_HEADERS }}
USE_GRPC: ${{ inputs.use_grpc }}
SPEC: ${{ inputs.spec }}
FRESHNESS_TIMEOUT_SECONDS: ${{ inputs.freshness_timeout_seconds }}
5 changes: 5 additions & 0 deletions .github/actions/test-data-plane/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ inputs:
PINECONE_API_KEY:
description: 'The Pinecone API key'
required: true
PINECONE_ADDITIONAL_HEADERS:
description: 'Additional headers to send with the request'
required: false
default: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'
python_version:
description: 'The version of Python to use'
required: false
Expand Down Expand Up @@ -55,6 +59,7 @@ runs:
run: poetry run pytest tests/integration/data --retries 5 --retry-delay 35 -s -vv --log-cli-level=DEBUG
env:
PINECONE_API_KEY: ${{ inputs.PINECONE_API_KEY }}
PINECONE_ADDITIONAL_HEADERS: ${{ inputs.PINECONE_ADDITIONAL_HEADERS }}
USE_GRPC: ${{ inputs.use_grpc }}
METRIC: ${{ inputs.metric }}
SPEC: ${{ inputs.spec }}
Expand Down
5 changes: 5 additions & 0 deletions .github/actions/test-dependency-asyncio-rest/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ inputs:
PINECONE_API_KEY:
description: 'The Pinecone API key'
required: true
PINECONE_ADDITIONAL_HEADERS:
description: 'Additional headers to send with the request'
required: false
default: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'
index_name:
description: 'The name of the index'
required: true
Expand Down Expand Up @@ -43,4 +47,5 @@ runs:
command: poetry run pytest tests/dependency/asyncio-rest -s -v
env:
PINECONE_API_KEY: '${{ inputs.PINECONE_API_KEY }}'
PINECONE_ADDITIONAL_HEADERS: '${{ inputs.PINECONE_ADDITIONAL_HEADERS }}'
INDEX_NAME: '${{ inputs.index_name }}'
5 changes: 5 additions & 0 deletions .github/actions/test-dependency-grpc/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ inputs:
PINECONE_API_KEY:
description: 'The Pinecone API key'
required: true
PINECONE_ADDITIONAL_HEADERS:
description: 'Additional headers to send with the request'
required: false
default: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'
index_name:
description: 'The name of the index'
required: true
Expand Down Expand Up @@ -63,4 +67,5 @@ runs:
command: poetry run pytest tests/dependency/grpc -s -v
env:
PINECONE_API_KEY: ${{ inputs.PINECONE_API_KEY }}
PINECONE_ADDITIONAL_HEADERS: ${{ inputs.PINECONE_ADDITIONAL_HEADERS }}
INDEX_NAME: ${{ inputs.index_name }}
5 changes: 5 additions & 0 deletions .github/actions/test-dependency-rest/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ inputs:
PINECONE_API_KEY:
description: 'The Pinecone API key'
required: true
PINECONE_ADDITIONAL_HEADERS:
description: 'Additional headers to send with the request'
required: false
default: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'
index_name:
description: 'The name of the index'
required: true
Expand Down Expand Up @@ -42,4 +46,5 @@ runs:
command: poetry run pytest tests/dependency/rest -s -v
env:
PINECONE_API_KEY: '${{ inputs.PINECONE_API_KEY }}'
PINECONE_ADDITIONAL_HEADERS: '${{ inputs.PINECONE_ADDITIONAL_HEADERS }}'
INDEX_NAME: '${{ inputs.index_name }}'
32 changes: 31 additions & 1 deletion .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,42 @@
name: Pull Request

on:
pull_request: {}
pull_request:
paths-ignore:
- 'docs/**'
- '*.md'
- '*.rst'
- '*.txt'
- '*.html'
- '*.css'
- '*.js'
- '*.png'
- '*.jpg'
- '*.jpeg'
- '*.gif'
- '*.svg'
push:
branches:
- main
paths-ignore:
- 'docs/**'
- '*.md'
- '*.rst'
- '*.txt'
- '*.html'
- '*.css'
- '*.js'
- '*.png'
- '*.jpg'
- '*.jpeg'
- '*.gif'
- '*.svg'
workflow_dispatch: {}

concurrency:
group: 'ci-${{ github.workflow }}-${{ github.ref }}'
cancel-in-progress: true

jobs:
linting:
uses: './.github/workflows/lint.yaml'
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/testing-dependency-asyncio.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,5 @@ jobs:
python_version: '${{ matrix.python_version }}'
index_name: '${{ inputs.index_name }}'
PINECONE_API_KEY: '${{ secrets.PINECONE_API_KEY }}'
PINECONE_ADDITIONAL_HEADERS: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'
aiohttp_version: '${{ matrix.aiohttp_version }}'
3 changes: 3 additions & 0 deletions .github/workflows/testing-dependency-grpc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ jobs:
python_version: '${{ matrix.python_version }}'
index_name: '${{ inputs.index_name }}'
PINECONE_API_KEY: '${{ secrets.PINECONE_API_KEY }}'
PINECONE_ADDITIONAL_HEADERS: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'
grpcio_version: '${{ matrix.grpcio_version }}'
lz4_version: '${{ matrix.lz4_version }}'
protobuf_version: '${{ matrix.protobuf_version }}'
Expand Down Expand Up @@ -86,6 +87,7 @@ jobs:
python_version: '${{ matrix.python_version }}'
index_name: '${{ inputs.index_name }}'
PINECONE_API_KEY: '${{ secrets.PINECONE_API_KEY }}'
PINECONE_ADDITIONAL_HEADERS: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'
grpcio_version: '${{ matrix.grpcio_version }}'
lz4_version: '${{ matrix.lz4_version }}'
protobuf_version: '${{ matrix.protobuf_version }}'
Expand Down Expand Up @@ -118,6 +120,7 @@ jobs:
python_version: '${{ matrix.python_version }}'
index_name: '${{ inputs.index_name }}'
PINECONE_API_KEY: '${{ secrets.PINECONE_API_KEY }}'
PINECONE_ADDITIONAL_HEADERS: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'
grpcio_version: '${{ matrix.grpcio_version }}'
lz4_version: '${{ matrix.lz4_version }}'
protobuf_version: '${{ matrix.protobuf_version }}'
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/testing-dependency-rest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ jobs:
python_version: '${{ matrix.python_version }}'
index_name: '${{ inputs.index_name }}'
PINECONE_API_KEY: '${{ secrets.PINECONE_API_KEY }}'
PINECONE_ADDITIONAL_HEADERS: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'
urllib3_version: '${{ matrix.urllib3_version }}'


Expand All @@ -53,6 +54,7 @@ jobs:
python_version: '${{ matrix.python_version }}'
index_name: '${{ inputs.index_name }}'
PINECONE_API_KEY: '${{ secrets.PINECONE_API_KEY }}'
PINECONE_ADDITIONAL_HEADERS: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'
urllib3_version: '${{ matrix.urllib3_version }}'

dependency-matrix-rest-313:
Expand All @@ -75,4 +77,5 @@ jobs:
python_version: '${{ matrix.python_version }}'
index_name: '${{ inputs.index_name }}'
PINECONE_API_KEY: '${{ secrets.PINECONE_API_KEY }}'
PINECONE_ADDITIONAL_HEADERS: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'
urllib3_version: '${{ matrix.urllib3_version }}'
2 changes: 2 additions & 0 deletions .github/workflows/testing-dependency.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ jobs:
name_prefix: depstest-${{ github.run_number }}
dimension: 2
PINECONE_API_KEY: ${{ secrets.PINECONE_API_KEY }}
PINECONE_ADDITIONAL_HEADERS: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'

dependency-test-rest:
uses: './.github/workflows/testing-dependency-rest.yaml'
Expand Down Expand Up @@ -55,3 +56,4 @@ jobs:
with:
index_name: '${{ needs.deps-test-setup.outputs.index_name }}'
PINECONE_API_KEY: '${{ secrets.PINECONE_API_KEY }}'
PINECONE_ADDITIONAL_HEADERS: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'
4 changes: 3 additions & 1 deletion .github/workflows/testing-integration-asyncio.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ jobs:
run: poetry run pytest tests/integration/data_asyncio --retries 5 --retry-delay 35 -s -vv --log-cli-level=DEBUG
env:
PINECONE_API_KEY: ${{ secrets.PINECONE_API_KEY }}
PINECONE_ADDITIONAL_HEADERS: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'

db-control-asyncio:
name: db_control asyncio
Expand All @@ -51,6 +52,7 @@ jobs:
include_asyncio: true
include_dev: true
- name: 'db_control asyncio'
run: poetry run pytest tests/integration/control_asyncio --retries 5 --retry-delay 35 -s -vv --log-cli-level=DEBUG
run: poetry run pytest tests/integration/control_asyncio/*.py --retries 5 --retry-delay 35 -s -vv --log-cli-level=DEBUG
env:
PINECONE_API_KEY: '${{ secrets.PINECONE_API_KEY }}'
PINECONE_ADDITIONAL_HEADERS: '{"sdk-test-suite": "pinecone-python-client", "x-environment": "preprod-aws-0"}'
Loading
Loading