Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
1 change: 1 addition & 0 deletions .genignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pyproject.toml
8 changes: 2 additions & 6 deletions .github/workflows/generate-command.yml
Original file line number Diff line number Diff line change
Expand Up @@ -161,22 +161,18 @@ jobs:
exit 1
fi

- name: Generate SDK with Speakeasy
- name: Generate SDK
env:
SPEAKEASY_API_KEY: ${{ secrets.SPEAKEASY_API_KEY }}
VERSION: ${{ steps.resolve-version.outputs.version }}
run: |
echo "Generating with version: $VERSION"
uvx --from=poethepoet poe generate-code

- name: Post-generation patching
run: python3 scripts/post_generate.py
uv run poe generate-full

- name: Verify generated code
run: |
if [ -f "pyproject.toml" ]; then
echo "pyproject.toml found (v2 generator confirmed)"
uv sync --no-install-project 2>/dev/null || true
uv run python -c "import airbyte_api; print(f'SDK import OK: {airbyte_api.__name__}')" || echo "::warning::SDK import check failed"
else
echo "::warning::No pyproject.toml found. Generation may not have produced v2 output."
Comment thread
aaronsteers marked this conversation as resolved.
Outdated
Expand Down
11 changes: 5 additions & 6 deletions .github/workflows/pre-release-command.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,16 +113,15 @@ jobs:
uses: astral-sh/setup-uv@v5

# ── Set version and build ───────────────────────────────────────
- name: Set pre-release version in pyproject.toml
- name: Set pre-release version
run: |
VERSION="${{ inputs.version }}"
# Use sed to update version in pyproject.toml
sed -i "s/^version = \".*\"/version = \"${VERSION}\"/" pyproject.toml
echo "Updated pyproject.toml version to: $VERSION"
grep 'version' pyproject.toml | head -1
sed -i "s/^__version__: str = \".*\"/__version__: str = \"${VERSION}\"/" src/airbyte_api/_version.py
echo "Updated _version.py to: $VERSION"
grep '__version__' src/airbyte_api/_version.py

- name: Build package
run: uv build
run: uv run poe build

- name: Publish to PyPI
run: uv publish
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
uses: astral-sh/setup-uv@v5

- name: Build package
run: uv build
run: uv run poe build

- name: Publish to PyPI
run: uv publish
Expand Down
15 changes: 7 additions & 8 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,24 +22,23 @@ Do not guess or iterate blindly. Download the artifact first.
- `.github/speakeasy/dummy-compose.yml` — Speakeasy CLI version pin
- `.speakeasy/workflow.yaml` — Speakeasy workflow configuration
- `gen.yaml` — Speakeasy generator configuration
- `pyproject.toml` — Human-managed (excluded from Speakeasy via `.genignore`)
- `CONTRIBUTING.md`, `AGENTS.md`, `README.md` — Documentation

## Files You Must NOT Edit By Hand

- `src/airbyte_api/` — Generated by Speakeasy
- `pyproject.toml` — Generated by Speakeasy (version managed by release drafter)
- `py.typed` — Generated by Speakeasy

## Build Commands

```bash
uvx --from=poethepoet poe generate-code # Generate SDK from spec
uvx --from=poethepoet poe post-generate # Run post-generation patches
uvx --from=poethepoet poe generate-full # Full pipeline
uvx --from=poethepoet poe lint # Lint checks
uvx --from=poethepoet poe fix # Auto-fix lint/format
uvx --from=poethepoet poe test # Run tests
uvx --from=poethepoet poe typecheck # Type checking
uv run poe generate-full # Full pipeline (generate + readme + patches)
uv run poe build # Build the Python package
uv run poe lint # Lint checks
uv run poe fix # Auto-fix lint/format
uv run poe test # Run tests
uv run poe typecheck # Type checking
```

## Regenerating the SDK
Expand Down
13 changes: 6 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,13 +124,12 @@ The Speakeasy CLI version is pinned in [`.github/speakeasy/dummy-compose.yml`](h
Build tasks are defined in [`poe_tasks.toml`](https://github.com/airbytehq/airbyte-api-python-sdk/blob/main/poe_tasks.toml) and run via [poethepoet](https://poethepoet.natn.io/):

```bash
uvx --from=poethepoet poe generate-code # Generate SDK from spec
uvx --from=poethepoet poe post-generate # Run post-generation patches
uvx --from=poethepoet poe generate-full # Full pipeline (generate + patches)
uvx --from=poethepoet poe lint # Run linting checks
uvx --from=poethepoet poe fix # Auto-fix lint/formatting
uvx --from=poethepoet poe test # Run tests
uvx --from=poethepoet poe typecheck # Run type checking
uv run poe generate-full # Full pipeline (generate + readme + patches)
uv run poe build # Build the Python package
uv run poe lint # Run linting checks
uv run poe fix # Auto-fix lint/formatting
uv run poe test # Run tests
uv run poe typecheck # Run type checking
```

## How to Report Issues
Expand Down
Loading
Loading