Skip to content

feat!: Add Toolbox LangChain SDK code from 'main' branch of https://github.com/googleapis/genai-toolbox #8

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

Closed
wants to merge 18 commits into from
Closed
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions .ci/integration.cloudbuild.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Copyright 2024 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.

steps:
- id: Install library requirements
name: 'python:${_VERSION}'
args:
- install
- '-r'
- './requirements.txt'
- '--user'
entrypoint: pip
- id: Install test requirements
name: 'python:${_VERSION}'
args:
- install
- '.[test]'
- '--user'
entrypoint: pip
- id: Run integration tests
name: 'python:${_VERSION}'
env:
- TOOLBOX_URL=$_TOOLBOX_URL
- TOOLBOX_VERSION=$_TOOLBOX_VERSION
- GOOGLE_CLOUD_PROJECT=$PROJECT_ID
args:
- '-c'
- >-
python -m pytest ./tests/
entrypoint: /bin/bash
options:
logging: CLOUD_LOGGING_ONLY
substitutions:
_VERSION: '3.13'
_TOOLBOX_VERSION: '0.0.5'
15 changes: 15 additions & 0 deletions .github/auto-label.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Copyright 2024 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
#
# https://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.

enabled: false
70 changes: 70 additions & 0 deletions .github/labels.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Copyright 2024 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.

- name: duplicate
color: ededed
description: ""

- name: 'type: bug'
color: db4437
description: Error or flaw in code with unintended results or allowing sub-optimal
usage patterns.
- name: 'type: cleanup'
color: c5def5
description: An internal cleanup or hygiene concern.
- name: 'type: docs'
color: 0000A0
description: Improvement to the documentation for an API.
- name: 'type: feature request'
color: c5def5
description: ‘Nice-to-have’ improvement, new feature or different behavior or design.
- name: 'type: process'
color: c5def5
description: A process-related concern. May include testing, release, or the like.
- name: 'type: question'
color: c5def5
description: Request for information or clarification.

- name: 'priority: p0'
color: b60205
description: Highest priority. Critical issue. P0 implies highest priority.
- name: 'priority: p1'
color: ffa03e
description: Important issue which blocks shipping the next release. Will be fixed
prior to next release.
- name: 'priority: p2'
color: fef2c0
description: Moderately-important priority. Fix may not be included in next release.
- name: 'priority: p3'
color: ffffc7
description: Desirable enhancement or fix. May not be included in next release.

- name: do not merge
color: d93f0b
description: Indicates a pull request not ready for merge, due to either quality
or timing.

- name: 'autorelease: pending'
color: ededed
description: Release please needs to do its work on this.
- name: 'autorelease: triggered'
color: ededed
description: Release please has triggered a release for this.
- name: 'autorelease: tagged'
color: ededed
description: Release please has completed a release for this.

- name: 'tests: run'
color: 3DED97
description: Label to trigger Github Action tests.
18 changes: 18 additions & 0 deletions .github/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Copyright 2024 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.

handleGHRelease: true
packageName: genai-toolbox-langchain-python
releaseType: simple
versionFile: "cmd/version.txt"
45 changes: 45 additions & 0 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"extends": [
"config:base", // https://docs.renovatebot.com/presets-config/#configbase
":semanticCommits", // https://docs.renovatebot.com/presets-default/#semanticcommits
":ignoreUnstable", // https://docs.renovatebot.com/presets-default/#ignoreunstable
"group:allNonMajor", // https://docs.renovatebot.com/presets-group/#groupallnonmajor
":separateMajorReleases", // https://docs.renovatebot.com/presets-default/#separatemajorreleases
":prConcurrentLimitNone", // View complete backlog as PRs. https://docs.renovatebot.com/presets-default/#prconcurrentlimitnone
":prHourlyLimitNone", // https://docs.renovatebot.com/presets-default/#prhourlylimitnone
":preserveSemverRanges"
],

// Give ecosystem time to catch up.
// npm allows maintainers to unpublish a release up to 3 days later.
// https://docs.renovatebot.com/configuration-options/#minimumreleaseage
"minimumReleaseAge": "3",

// Create PRs, but do not update them without manual action.
// Reduces spurious retesting in repositories that have many PRs at a time.
// https://docs.renovatebot.com/configuration-options/#rebasewhen
"rebaseWhen": "conflicted",

// Organizational processes.
// https://docs.renovatebot.com/configuration-options/#dependencydashboardlabels
"dependencyDashboardLabels": [
"type: process"
],
"packageRules": [
{
"groupName": "GitHub Actions",
"matchManagers": ["github-actions"],
"pinDigests": true
},
// Python Specific
{
"matchPackageNames": ["pytest"],
"matchUpdateTypes": ["minor", "major"]
},
{
"groupName": "python-nonmajor",
"matchLanguages": ["python"],
"matchUpdateTypes": ["minor", "patch"]
}
]
}
21 changes: 12 additions & 9 deletions .github/sync-repo-settings.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.


# Synchronize repository settings from a centralized config
# https://github.com/googleapis/repo-automation-bots/tree/main/packages/sync-repo-settings
# Install: https://github.com/apps/sync-repo-settings
Expand All @@ -23,14 +22,18 @@ squashMergeAllowed: true
mergeCommitAllowed: false
# Enable branch protection
branchProtectionRules:
- pattern: main
isAdminEnforced: true
requiredStatusCheckContexts:
- 'cla/google'
# - Add required status checks like presubmit tests
requiredApprovingReviewCount: 1
requiresCodeOwnerReviews: true
requiresStrictStatusChecks: true
- pattern: main
isAdminEnforced: true
requiredStatusCheckContexts:
- "cla/google"
- "lint"
- "conventionalcommits.org"
- "header-check"
# - Add required status checks like presubmit tests
- "langchain-python-sdk-pr (toolbox-testing-438616)"
requiredApprovingReviewCount: 1
requiresCodeOwnerReviews: true
requiresStrictStatusChecks: true

# Set team access
permissionRules:
Expand Down
Loading