Skip to main content
Pinecone Local is an in-memory Pinecone Database emulator available as a Docker image. This page shows you how to build a CI/CD workflow with Pinecone Local and GitHub Actions to test your integration without connecting to your Pinecone account, affecting production data, or incurring any usage or storage fees.
Pinecone Local is not suitable for production. See Limitations for details.

Limitations

Pinecone Local has the following limitations:
  • Pinecone Local uses the 2025-01 API version, which is not the latest stable version.
  • Pinecone Local is available in Docker only.
  • Pinecone Local is an in-memory emulator and is not suitable for production. Records loaded into Pinecone Local do not persist after it is stopped.
  • Pinecone Local does not authenticate client requests. API keys are ignored.
  • Max number of records per index: 100,000.
Pinecone Local does not currently support the following features:

1. Write your tests

Running code against Pinecone Local is just like running code against your Pinecone account, with the following differences:
Be sure to review the limitations of Pinecone Local before using it for development or testing.
Example The following example assumes that you have started Pinecone Local without indexes. It initializes a client, creates an index for dense vectors and an index for sparse vectors, upserts records into each, checks their record counts, and queries them.

2. Set up GitHub Actions

Set up a GitHub Actions workflow to do the following:
  1. Pull the Pinecone Local Docker image.
  2. Start a Pinecone Local instance for each test run.
  3. Execute tests against the local instance.
  4. Tear down the instance after tests complete.
Here’s a sample GitHub Actions workflow that you can extend for your own needs:

3. Run your tests

GitHub Actions will automaticaly run your tests against Pinecone Local when the events you specified in your workflow occur. For a list of the events that can trigger a workflow and more details about using GitHub Actions for CI/CD, see the GitHub Actions documentation.