Skip to content

chore: separate sdk from server repo #12

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 3 commits into from
Feb 5, 2025
Merged
Show file tree
Hide file tree
Changes from all 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
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2024 Google LLC
# 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.
Expand All @@ -18,14 +18,14 @@ steps:
args:
- install
- '-r'
- 'sdks/langchain/requirements.txt'
- './requirements.txt'
- '--user'
entrypoint: pip
- id: Install test requirements
name: 'python:${_VERSION}'
args:
- install
- 'sdks/langchain[test]'
- '.[test]'
- '--user'
entrypoint: pip
- id: Run integration tests
Expand All @@ -37,7 +37,7 @@ steps:
args:
- '-c'
- >-
python -m pytest sdks/langchain/tests/
python -m pytest ./tests/
entrypoint: /bin/bash
options:
logging: CLOUD_LOGGING_ONLY
Expand Down
6 changes: 6 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# This file controls who is tagged for review for any given pull request.
#
# For syntax help see:
# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax

* @googleapis/senseai-eco
43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
name: Bug report
about: Create a report to help us improve

---

Thanks for stopping by to let us know something could be better!

**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.

Please run down the following list and make sure you've tried the usual "quick fixes":

- Search the issues already opened: https://github.com/googleapis/genai-toolbox-langchain-python/issues
- Search StackOverflow: https://stackoverflow.com/questions/tagged/google-cloud-platform+python

If you are still having issues, please be sure to include as much information as possible:

#### Environment details

- OS type and version:
- Python version: `python --version`
- pip version: `pip --version`
- `toolbox-langchain-sdk` version: `pip show toolbox-langchain-sdk`

#### Steps to reproduce

1. ?
2. ?

#### Code example

```python
# example
```

#### Stack trace
```
# example
```

Making sure to follow these steps will guarantee the quickest resolution possible.

Thanks!
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: Feature request
about: Suggest an idea for this library

---

Thanks for stopping by to let us know something could be better!

**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
7 changes: 7 additions & 0 deletions .github/ISSUE_TEMPLATE/support_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
name: Support request
about: If you have a support contract with Google, please create an issue in the Google Cloud Support console.

---

**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.
7 changes: 7 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Communicate test infrastructure changes, i.e. API enablement, secrets
- [ ] Appropriate docs were updated (if necessary)

🛠️ Fixes #<issue_number_goes_here>
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 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
#
# 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
31 changes: 31 additions & 0 deletions .github/header-checker-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# 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.


# Presubmit test that ensures that source files contain valid license headers
# https://github.com/googleapis/repo-automation-bots/tree/main/packages/header-checker-lint
# Install: https://github.com/apps/license-header-lint-gcf

allowedCopyrightHolders:
- "Google LLC"
allowedLicenses:
- "Apache-2.0"
sourceFileExtensions:
- "yaml"
- "yml"
- "sh"
- "proto"
- "Dockerfile"
- "py"
- "text"
70 changes: 70 additions & 0 deletions .github/labels.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# 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.

- 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.
17 changes: 17 additions & 0 deletions .github/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# 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.

handleGHRelease: true
packageName: genai-toolbox-langchain-python
releaseType: python
15 changes: 15 additions & 0 deletions .github/release-trigger.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# 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.

enabled: true
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"]
}
]
}
41 changes: 41 additions & 0 deletions .github/sync-repo-settings.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# 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.

# 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

# Disable merge commits
rebaseMergeAllowed: true
squashMergeAllowed: true
mergeCommitAllowed: false
# Enable branch protection
branchProtectionRules:
- pattern: main
isAdminEnforced: true
requiredStatusCheckContexts:
- "cla/google"
- "lint"
- "conventionalcommits.org"
- "header-check"
# - Add required status checks like presubmit tests
- "langchain-python-sdk-pr-py313 (toolbox-testing-438616)"
requiredApprovingReviewCount: 1
requiresCodeOwnerReviews: true
requiresStrictStatusChecks: true

# Set team access
permissionRules:
- team: senseai-eco
permission: admin
Loading