Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: firebase/genkit
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: genkit@1.4.0
Choose a base ref
...
head repository: firebase/genkit
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: genkit@1.5.0
Choose a head ref

Commits on Mar 26, 2025

  1. chore: bump genkitx-chromadb version to genkitx-chromadb@1.4.0

    Automated Version Bump committed Mar 26, 2025
    Copy the full SHA
    45a65f8 View commit details
  2. chore: bump @genkit-ai/dev-local-vectorstore version to @genkit-ai/de…

    …v-local-vectorstore@1.4.0
    Automated Version Bump committed Mar 26, 2025
    Copy the full SHA
    ab33f40 View commit details
  3. chore: bump @genkit-ai/evaluator version to @genkit-ai/evaluator@1.4.0

    Automated Version Bump committed Mar 26, 2025
    Copy the full SHA
    053a70c View commit details
  4. chore: bump @genkit-ai/firebase version to @genkit-ai/firebase@1.4.0

    Automated Version Bump committed Mar 26, 2025
    Copy the full SHA
    77bc032 View commit details
  5. chore: bump @genkit-ai/google-cloud version to @genkit-ai/google-clou…

    …d@1.4.0
    Automated Version Bump committed Mar 26, 2025
    Copy the full SHA
    841bcf9 View commit details
  6. chore: bump @genkit-ai/googleai version to @genkit-ai/googleai@1.4.0

    Automated Version Bump committed Mar 26, 2025
    Copy the full SHA
    8930a28 View commit details
  7. chore: bump genkitx-langchain version to genkitx-langchain@1.4.0

    Automated Version Bump committed Mar 26, 2025
    Copy the full SHA
    becdf99 View commit details
  8. chore: bump @genkit-ai/next version to @genkit-ai/next@1.4.0

    Automated Version Bump committed Mar 26, 2025
    Copy the full SHA
    1761c3d View commit details
  9. chore: bump genkitx-ollama version to genkitx-ollama@1.4.0

    Automated Version Bump committed Mar 26, 2025
    Copy the full SHA
    b11db80 View commit details
  10. chore: bump genkitx-pinecone version to genkitx-pinecone@1.4.0

    Automated Version Bump committed Mar 26, 2025
    Copy the full SHA
    48e0a90 View commit details
  11. chore: bump @genkit-ai/vertexai version to @genkit-ai/vertexai@1.4.0

    Automated Version Bump committed Mar 26, 2025
    Copy the full SHA
    028fe3d View commit details
  12. chore: bump @genkit-ai/checks version to @genkit-ai/checks@1.4.0

    Automated Version Bump committed Mar 26, 2025
    Copy the full SHA
    89d9d9a View commit details
  13. chore: bump genkitx-mcp version to genkitx-mcp@1.4.0

    Automated Version Bump committed Mar 26, 2025
    Copy the full SHA
    afcd10f View commit details
  14. chore: bump @genkit-ai/express version to @genkit-ai/express@1.4.0

    Automated Version Bump committed Mar 26, 2025
    Copy the full SHA
    ce1bf3d View commit details
  15. Copy the full SHA
    a546046 View commit details

Commits on Mar 27, 2025

  1. Copy the full SHA
    b7cf080 View commit details
  2. Copy the full SHA
    c1ff18c View commit details
  3. Copy the full SHA
    8fb4f22 View commit details
  4. Copy the full SHA
    af89c14 View commit details
  5. Copy the full SHA
    9c167cf View commit details
  6. Copy the full SHA
    c406f13 View commit details
  7. Copy the full SHA
    1f38803 View commit details
  8. Copy the full SHA
    1977234 View commit details
  9. Copy the full SHA
    e9b0215 View commit details

Commits on Mar 28, 2025

  1. Copy the full SHA
    198e575 View commit details
  2. Copy the full SHA
    d36c27c View commit details
  3. Copy the full SHA
    9ea1ef4 View commit details
  4. Copy the full SHA
    d77214b View commit details
  5. Copy the full SHA
    e77d7d4 View commit details
  6. chore(py): Add CI to publish pypi packages (#2466)

    Co-authored-by: Abraham Lazaro Martinez <lazaromartinez@google.com>
    AbeJLazaro and Abraham Lazaro Martinez authored Mar 28, 2025
    Copy the full SHA
    435d130 View commit details
  7. Copy the full SHA
    8e13b78 View commit details
  8. Copy the full SHA
    1612f5a View commit details
  9. Copy the full SHA
    694584b View commit details
  10. Copy the full SHA
    f3328a1 View commit details
  11. Copy the full SHA
    cd62ff3 View commit details
  12. Copy the full SHA
    a995b01 View commit details
  13. Copy the full SHA
    996c7dc View commit details
  14. Copy the full SHA
    cee333f View commit details
  15. Copy the full SHA
    eb613a2 View commit details
  16. Copy the full SHA
    783d14b View commit details

Commits on Mar 29, 2025

  1. Copy the full SHA
    e06b062 View commit details
  2. Copy the full SHA
    f64a989 View commit details
  3. Copy the full SHA
    61311f2 View commit details
  4. Copy the full SHA
    4be7620 View commit details
  5. Copy the full SHA
    27f409c View commit details
  6. refactor(py/genkit/core/action): split up large module into smaller p…

    …ieces and clean up internal namespace references (#2543)
    yesudeep authored Mar 29, 2025
    Copy the full SHA
    743aff1 View commit details
  7. Copy the full SHA
    3ef4afe View commit details
  8. docs(py/samples/hello-google-genai): add docs to sample and set docst…

    …ring line length to 120 chars (#2545)
    yesudeep authored Mar 29, 2025
    Copy the full SHA
    2deced2 View commit details
  9. Copy the full SHA
    6f26c69 View commit details
  10. Copy the full SHA
    707c563 View commit details
Showing 453 changed files with 20,894 additions and 5,829 deletions.
2 changes: 2 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -15,9 +15,11 @@ quote_type = single

[*.py]
indent_size = 4
max_line_length = 120
indent_style = space
quote_type = single

[{Makefile,go.mod,go.sum,*.go,.gitmodules}]
indent_size = 4
indent_style = tab
max_line_length = 120
4 changes: 0 additions & 4 deletions .github/workflows/engdoc.yml
Original file line number Diff line number Diff line change
@@ -17,10 +17,6 @@
name: Eng Documentation Checks

on:
push:
paths:
- "py/docs/**"
- ".github/workflows/engdoc.yml"
pull_request:
paths:
- "py/docs/**"
5 changes: 0 additions & 5 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
@@ -17,11 +17,6 @@
name: Go tests and checks

on:
push:
paths:
- "go/**"
- "genkit-tools/**"
- ".github/workflows/go.yml"
pull_request:
paths:
- "go/**"
120 changes: 120 additions & 0 deletions .github/workflows/publish_python.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0

name: Publish Python Package

on:
workflow_dispatch:
inputs:
project_type:
description: Type of project
type: choice
default: package
required: true
options:
- packages
- plugins
project_name:
description: Project name publishing to Pypi
type: choice
default: genkit
required: true
options:
- genkit
- compat-oai
- dev-local-vector-store
- firebase
- flask
- google-cloud
- google-genai
- ollama
- vertex-ai



jobs:
python_build:
name: Python build packages
runs-on: ubuntu-latest
env:
PATH: ${{ github.workspace }}/.cargo/bin:${{ github.workspace }}/.local/bin:/usr/local/bin:/usr/bin:/bin
strategy:
matrix:
python-version:
- "3.12"
fail-fast: false

steps:
- uses: actions/checkout@v4

- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential curl libffi-dev
# Install rust for packages that requires it
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy

- name: Install toml-cli
run: cargo install toml-cli

- name: Install uv and setup Python version
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
python-version: ${{ matrix.python-version }}

- name: Install Python dependencies
run: |
cd py/${{ github.event.inputs.project_type }}/${{ github.event.inputs.project_name }}
uv pip install -e .[dev,test,docs]
uv pip install twine toml
- name: Build package and validate pypi
run: |
cd py
PROJECT_NAME=${{ github.event.inputs.project_name }} PROJECT_TYPE=${{ github.event.inputs.project_type }} ./bin/publish_pypi.sh
- name: Upload build packages
uses: actions/upload-artifact@v4
with:
name: dist
path: py/dist/

pypi_publish:
name: Upload to PyPI
needs: [python_build]
runs-on: ubuntu-latest
environment:
# change to publish or similar in productive CI
name: pypi_github_publishing
permissions:
id-token: write
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: dist
path: py/dist/

- name: Publish distribution to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
verbose: true
packages-dir: py/dist/
8 changes: 3 additions & 5 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
@@ -17,11 +17,6 @@
name: Python Checks

on:
push:
paths:
- "py/**"
- "genkit-tools/**"
- ".github/workflows/python.yml"
pull_request:
paths:
- "py/**"
@@ -36,6 +31,8 @@ jobs:
strategy:
matrix:
python-version:
#- "3.10" # TODO: Add back in when asyncio channel is fixed.
- "3.11"
- "3.12"
- "3.13"
fail-fast: false
@@ -78,6 +75,7 @@ jobs:
run: |
cd py
uv pip install -e .[dev,test,docs]
uv pip install --group dev
- name: Install NPM packages
run: |
18 changes: 1 addition & 17 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -16,23 +16,7 @@

name: Run Tests

on:
push:
paths:
- "**/package.json"
- "js/**"
- "genkit-tools/**"
- "tests/**"
- "samples/**"
- ".github/workflows/tests.yml"
pull_request:
paths:
- "**/package.json"
- "js/**"
- "tests/**"
- "samples/**"
- "genkit-tools/**"
- ".github/workflows/tests.yml"
on: pull_request

env:
GITHUB_PULL_REQUEST_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
23 changes: 15 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
# General build + OS files
node_modules
lib
dist
.vscode
.DS_Store
package-lock.json
!samples/**/package-lock.json
.angular
*.eld
*.tgz
.pnpm-store
.DS_Store
.angular
.next
.pnpm-store
.vscode
dist
lib
node_modules
package-lock.json
# version file (autogenerated by CLI)
genkit-tools/cli/src/utils/version.ts

@@ -47,3 +48,9 @@ next-env.d.ts

!samples/chatbot/server/genkit-ai-vertexai-*.tgz
.idea/

# Build artifacts
.pytest_cache/
.mypy_cache/
.ruff_cache/
.nox/
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[![Run e2e tests](https://github.com/firebase/genkit/actions/workflows/e2e-tests.yml/badge.svg)](https://github.com/firebase/genkit/actions/workflows/e2e-tests.yml)

![Firebase Genkit logo](docs/resources/genkit-logo-dark.png#gh-dark-mode-only 'Firebase Genkit')
![Firebase Genkit logo](docs/resources/genkit-logo.png#gh-light-mode-only 'Firebase Genkit')
![Genkit logo](docs/resources/genkit-logo-dark.png#gh-dark-mode-only 'Genkit')
![Genkit logo](docs/resources/genkit-logo.png#gh-light-mode-only 'Genkit')

Genkit is a framework for building AI-powered applications. It provides open source libraries for Node.js and Go, along with tools to help you debug and iterate quickly.

4 changes: 4 additions & 0 deletions bin/check_license
Original file line number Diff line number Diff line change
@@ -22,6 +22,8 @@ set -euo pipefail

TOP_DIR=$(git rev-parse --show-toplevel)

PY_DIR="${TOP_DIR}/py"

if ! command -v addlicense &>/dev/null; then
if ! command -v go &>/dev/null; then
echo "Please install go"
@@ -60,3 +62,5 @@ $HOME/go/bin/addlicense \
-ignore '.nx/**/*' \
-ignore '.trunk/**/*' \
"$TOP_DIR"

uv run --directory "${PY_DIR}" liccheck
Loading