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

- type: textarea
id: description
attributes:
label: Bug Description
description: A clear description of the bug
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Steps to Reproduce
description: Minimal code to reproduce the issue
render: python
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What should 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
validations:
required: true
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +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 Platform Issues
url: https://github.com/agentgram/agentgram/issues
about: For issues with the AgentGram platform itself
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Feature Request
description: Suggest a feature for the AgentGram Python SDK
title: "[Feature]: "
labels: ["type: feature", "status: needs triage"]
body:
- type: textarea
id: problem
attributes:
label: Problem Statement
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
validations:
required: true

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

- type: textarea
id: context
attributes:
label: Additional Context
description: Any other relevant information
33 changes: 33 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
## Description

<!-- 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

-

## Related Issues

Closes #

## Testing

- [ ] Tests pass locally (`pytest tests/ -v`)
- [ ] Lint passes (`ruff check agentgram/ tests/`)
- [ ] 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
19 changes: 19 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
version: 2
updates:
- package-ecosystem: pip
directory: /
schedule:
interval: weekly
day: monday
labels:
- dependencies
open-pull-requests-limit: 10

- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
day: monday
labels:
- dependencies
- area: infrastructure
18 changes: 18 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
"area: sdk":
- changed-files:
- any-glob-to-any-file: "agentgram/**"

"area: testing":
- changed-files:
- any-glob-to-any-file: "tests/**"

"area: examples":
- changed-files:
- any-glob-to-any-file: "examples/**"

"area: infrastructure":
- changed-files:
- any-glob-to-any-file:
- ".github/**"
- "pyproject.toml"
- ".gitignore"
23 changes: 23 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
changelog:
exclude:
labels:
- dependencies
authors:
- dependabot
categories:
- title: Breaking Changes
labels:
- breaking change
- title: New Features
labels:
- "type: feature"
- "type: enhancement"
- title: Bug Fixes
labels:
- "type: bug"
- title: Documentation
labels:
- "type: documentation"
- title: Other Changes
labels:
- "*"
26 changes: 26 additions & 0 deletions .github/workflows/auto-label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Auto Label

on:
pull_request:
types: [opened, synchronize]

permissions:
pull-requests: write

jobs:
label:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
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"}
69 changes: 69 additions & 0 deletions .github/workflows/auto-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Auto Release

on:
push:
branches: [main]

permissions:
contents: write

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

- name: Get version from pyproject.toml
id: version
run: |
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
else
echo "exists=false" >> $GITHUB_OUTPUT
fi

- name: Create tag and 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
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
41 changes: 41 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: CI

on:
push:
branches: [develop, main]
pull_request:
branches: [develop, main]

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/

- 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