Skip to content
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
59 changes: 19 additions & 40 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,34 @@
name: Bug Report
description: Report a bug in the AgentGram Python SDK
title: "[Bug]: "
labels: ["type: bug", "status: needs triage"]
body:
- type: markdown
attributes:
value: |
Thanks for reporting a bug! Please fill out the sections below.

Thanks for reporting a bug! Please fill out the form below.
- type: input
id: version
attributes:
label: SDK Version
description: What version of agentgram are you using?
placeholder: "0.1.0"
validations:
required: true
- type: input
id: python-version
attributes:
label: Python Version
description: What Python version are you using?
placeholder: "3.12"
validations:
required: true
- type: textarea
id: description
attributes:
label: Bug Description
description: A clear description of the bug
validations:
required: true

- type: textarea
id: reproduction
attributes:
Expand All @@ -24,51 +37,17 @@ body:
render: python
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What should happen?
description: What did you expect to happen?
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual Behavior
description: What happens instead?
validations:
required: true

- type: input
id: version
attributes:
label: SDK Version
description: Output of `pip show agentgram`
placeholder: "0.1.0"
validations:
required: true

- type: dropdown
id: python-version
attributes:
label: Python Version
options:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
validations:
required: true

- type: dropdown
id: os
attributes:
label: Operating System
options:
- macOS
- Linux
- Windows
description: What actually happened?
validations:
required: true
8 changes: 4 additions & 4 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Documentation
url: https://docs.agentgram.co
about: Check the documentation before opening an issue
- name: AgentGram Documentation
url: https://agentgram.co/docs
about: Check the documentation first
- name: AgentGram Platform Issues
url: https://github.com/agentgram/agentgram/issues
about: For issues with the AgentGram platform itself
about: For platform issues, use the main repo
13 changes: 4 additions & 9 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
name: Feature Request
description: Suggest a feature for the AgentGram Python SDK
title: "[Feature]: "
description: Suggest a new feature for the Python SDK
labels: ["type: feature", "status: needs triage"]
body:
- type: textarea
Expand All @@ -10,24 +9,20 @@ body:
description: What problem does this solve?
validations:
required: true

- type: textarea
id: solution
attributes:
label: Proposed Solution
description: How should this work? Include code examples if possible.
render: python
description: How should this work?
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: Other approaches you've considered

description: Any alternative approaches you considered?
- type: textarea
id: context
attributes:
label: Additional Context
description: Any other relevant information
description: Any other context or code examples
15 changes: 7 additions & 8 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
## Description

<!-- Brief description of the changes -->
Brief description of the changes.

## Type of Change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation update
- [ ] Refactoring (no behavior change)

## Changes Made

Expand All @@ -20,14 +19,14 @@ Closes #

## Testing

- [ ] Tests pass locally (`pytest tests/ -v`)
- [ ] Lint passes (`ruff check agentgram/ tests/`)
- [ ] Tests pass (`pytest tests/ -v`)
- [ ] Lint passes (`ruff check .`)
- [ ] Format passes (`black --check .`)
- [ ] Type check passes (`mypy agentgram/`)
- [ ] Format check passes (`black --check agentgram/ tests/`)

## Checklist

- [ ] My code follows the project's code style
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] I have made corresponding changes to the documentation
- [ ] I have added tests that prove my fix/feature works
- [ ] New and existing tests pass locally
- [ ] I have updated the documentation accordingly
5 changes: 1 addition & 4 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,13 @@ updates:
directory: /
schedule:
interval: weekly
day: monday
labels:
- dependencies
open-pull-requests-limit: 10
open-pull-requests-limit: 5

- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
day: monday
labels:
- dependencies
- area: infrastructure
7 changes: 6 additions & 1 deletion .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,9 @@
- any-glob-to-any-file:
- ".github/**"
- "pyproject.toml"
- ".gitignore"

"type: documentation":
- changed-files:
- any-glob-to-any-file:
- "*.md"
- "docs/**"
16 changes: 7 additions & 9 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
changelog:
exclude:
labels:
- dependencies
authors:
- dependabot
categories:
- title: Breaking Changes
labels:
- breaking change
- title: New Features
labels:
- "type: feature"
- "type: enhancement"
- type: feature
- type: enhancement
- title: Bug Fixes
labels:
- "type: bug"
- type: bug
- title: Documentation
labels:
- "type: documentation"
- type: documentation
- title: Dependencies
labels:
- dependencies
- title: Other Changes
labels:
- "*"
11 changes: 2 additions & 9 deletions .github/workflows/auto-label.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:

permissions:
pull-requests: write
contents: read

jobs:
label:
Expand All @@ -15,12 +16,4 @@ jobs:
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

size-label:
runs-on: ubuntu-latest
steps:
- uses: pascalgn/size-label-action@v0.5.4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
sizes: >
{"0": "XS", "10": "S", "30": "M", "100": "L", "500": "XL", "1000": "XXL"}
# .github/labeler.yml handles the path-to-label mapping
53 changes: 10 additions & 43 deletions .github/workflows/auto-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,61 +9,28 @@ permissions:

jobs:
release:
name: Create Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Get version from pyproject.toml
- name: Get version
id: version
run: |
VERSION=$(python -c "import tomllib; print(tomllib.load(open('pyproject.toml', 'rb'))['project']['version'])")
echo "version=$VERSION" >> $GITHUB_OUTPUT

VERSION=$(python -c "import tomllib; print(tomllib.load(open('pyproject.toml','rb'))['project']['version'])")
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
- name: Check if tag exists
id: check_tag
run: |
if git rev-parse "v${{ steps.version.outputs.version }}" >/dev/null 2>&1; then
echo "exists=true" >> $GITHUB_OUTPUT
echo "exists=true" >> "$GITHUB_OUTPUT"
else
echo "exists=false" >> $GITHUB_OUTPUT
echo "exists=false" >> "$GITHUB_OUTPUT"
fi

- name: Create tag and release
- name: Create Release
if: steps.check_tag.outputs.exists == 'false'
env:
GH_TOKEN: ${{ github.token }}
run: |
git tag "v${{ steps.version.outputs.version }}"
git push origin "v${{ steps.version.outputs.version }}"
gh release create "v${{ steps.version.outputs.version }}" \
--title "v${{ steps.version.outputs.version }}" \
--generate-notes

publish:
name: Publish to PyPI
runs-on: ubuntu-latest
needs: release
environment: pypi
permissions:
id-token: write
steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
uses: softprops/action-gh-release@v2
with:
python-version: "3.12"

- name: Install build dependencies
run: |
python -m pip install --upgrade pip
pip install build

- name: Build package
run: python -m build

- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
tag_name: v${{ steps.version.outputs.version }}
name: v${{ steps.version.outputs.version }}
generate_release_notes: true
17 changes: 4 additions & 13 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,34 +8,25 @@ on:

jobs:
test:
name: Test (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"

- name: Lint with ruff
run: ruff check agentgram/ tests/

run: ruff check .
- name: Format check with black
run: black --check .
- name: Type check with mypy
run: mypy agentgram/

- name: Format check with black
run: black --check agentgram/ tests/

- name: Run tests
run: pytest tests/ -v --tb=short
run: pytest tests/ -v
25 changes: 25 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Publish to PyPI

on:
release:
types: [published]

permissions:
id-token: write

jobs:
publish:
runs-on: ubuntu-latest
environment: pypi
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install build tools
run: pip install build
- name: Build package
run: python -m build
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1