Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
ed23344
chore: rename package to fastmcp-extensions
devin-ai-integration[bot] Jan 17, 2026
7611255
feat: implement fastmcp-extensions library with consolidated utilities
devin-ai-integration[bot] Jan 17, 2026
0cd2508
refactor: remove domain parameter from decorators
devin-ai-integration[bot] Jan 17, 2026
6409226
fix: update tests to use auto-inferred domain pattern
devin-ai-integration[bot] Jan 17, 2026
f50bc6e
refactor: move testing and measurement utilities to utils submodule
devin-ai-integration[bot] Jan 17, 2026
db4b784
refactor: convert testing module to package for -m syntax support
devin-ai-integration[bot] Jan 17, 2026
094784a
ci: add TK-TODO check workflow
devin-ai-integration[bot] Jan 17, 2026
1fa6843
feat: add --http --app support for unified CLI syntax
devin-ai-integration[bot] Jan 17, 2026
7ece65f
fix: ignore uvicorn transitive dependency in deptry
devin-ai-integration[bot] Jan 17, 2026
225e033
refactor: rename testing module to test_tool for cleaner CLI invocation
devin-ai-integration[bot] Jan 17, 2026
be4d794
refactor: simplify test_tool to standalone file and rename measuremen…
devin-ai-integration[bot] Jan 17, 2026
cbd40d6
refactor: move generic HTTP helpers to _http.py
devin-ai-integration[bot] Jan 17, 2026
7deddee
refactor: rename domain to mcp_module, fix stale docstrings, remove -…
devin-ai-integration[bot] Jan 17, 2026
f7f9c5e
fix: update tests to use mcp_module, add CLI support to describe_serv…
devin-ai-integration[bot] Jan 17, 2026
a0e61de
chore: remove stale poe tasks referencing deleted bin scripts
devin-ai-integration[bot] Jan 17, 2026
809ef7c
chore: fix stale awesome-python-template references
devin-ai-integration[bot] Jan 17, 2026
90fc67a
chore: remove redundant NOTE comment from prerelease-command.yml
devin-ai-integration[bot] Jan 17, 2026
9cd1163
chore: remove TestPyPI references, publish to real PyPI
devin-ai-integration[bot] Jan 17, 2026
c09b9bb
Apply suggestion from @aaronsteers
aaronsteers Jan 17, 2026
e1097d8
Merge branch 'devin/1768613848-initial-library-implementation' of htt…
devin-ai-integration[bot] Jan 17, 2026
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
8 changes: 2 additions & 6 deletions .github/workflows/prerelease-command.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@
#
# Requirements:
# - PyPI Trusted Publisher configured for publish.yml (see publish.yml header for setup)
#
# TODO: When ready to publish to real PyPI, update the install commands in the success comment
# to remove the --index-url flags.

name: On-Demand Prerelease

Expand Down Expand Up @@ -102,9 +99,8 @@ jobs:
>
> Install and test with any of the following:
> ```bash
> uv tool install awesome-python-template==${{ steps.version.outputs.version }} --index-url https://test.pypi.org/simple/
> uv add awesome-python-template==${{ steps.version.outputs.version }} --index-url https://test.pypi.org/simple/
> uvx --index-url https://test.pypi.org/simple/ --from=awesome-python-template==${{ steps.version.outputs.version }} awesome-python-cli ...
> uv tool install fastmcp-extensions==${{ steps.version.outputs.version }} --index-url https://test.pypi.org/simple/
> uv add fastmcp-extensions==${{ steps.version.outputs.version }} --index-url https://test.pypi.org/simple/
> ```

- name: Append failure comment
Expand Down
11 changes: 1 addition & 10 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@
#
# Authentication: This workflow expects GitHub OIDC for passwordless PyPI publishing.
# For more info: https://docs.pypi.org/trusted-publishers/
#
# TODO: This template repo publishes to TestPyPI.
# When ready to publish to real PyPI, update the following in the publish_to_pypi job:
# 1. Change environment.url from test.pypi.org to pypi.org
# 2. Remove repository-url from the pypa/gh-action-pypi-publish step

name: Publish Package

Expand Down Expand Up @@ -185,8 +180,7 @@ jobs:
contents: write
environment:
name: PyPI
# TODO: Update and uncomment:
# url: https://pypi.org/p/{my-package-name}/
url: https://pypi.org/p/fastmcp-extensions/
env:
VERSION: ${{ needs.build.outputs.VERSION || needs.download_release_assets.outputs.VERSION }}
IS_PRERELEASE: ${{ needs.build.outputs.IS_PRERELEASE || 'false' }}
Expand All @@ -203,6 +197,3 @@ jobs:
- name: Publish to PyPI
# Uses GitHub OIDC for passwordless authentication (see header comment)
uses: pypa/gh-action-pypi-publish@v1.13.0
with:
# TODO: Delete this override to enable "real" publish:
repository-url: https://test.pypi.org/legacy/
2 changes: 1 addition & 1 deletion .github/workflows/pytest-fast.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
run: >
uv run pytest
--exitfirst
--cov=awesome_python_template
--cov=fastmcp_extensions
--cov-report=xml
--cov-report=term

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pytest-matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
timeout-minutes: 30
run: >
uv run pytest
--cov=awesome_python_template
--cov=fastmcp_extensions
--cov-report=xml
--cov-report=term

Expand Down
45 changes: 45 additions & 0 deletions .github/workflows/tk-todo-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: TK-TODO Check # IGNORE:TK - this workflow checks for TK-TODO markers

on:
push:
branches:
- main
pull_request: {}

permissions:
contents: read

jobs:
tk-todo-check: # IGNORE:TK
name: Check for TK-TODO markers # IGNORE:TK
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6

- name: Check for TK-TODO markers # IGNORE:TK
run: |
# Find all TK-TODO markers (case-insensitive) that don't have IGNORE:TK on the same line # IGNORE:TK
# Exit with error if any are found

echo "Checking for TK-TODO markers..." # IGNORE:TK

# Use git ls-files to only check tracked files (excludes gitignored files like sdks/)
# grep -i for case-insensitive matching
# grep -v for excluding lines with IGNORE:TK
# grep -n for line numbers

FOUND_TODOS=$(git ls-files | xargs grep -i -n "TK-TODO" 2>/dev/null | grep -i -v "IGNORE:TK" || true) # IGNORE:TK

if [ -n "$FOUND_TODOS" ]; then
echo ""
echo "ERROR: Found TK-TODO markers that must be resolved before merge:" # IGNORE:TK
echo ""
echo "$FOUND_TODOS"
echo ""
echo "To suppress a TK-TODO, add 'IGNORE:TK' (case-insensitive) on the same line." # IGNORE:TK
echo ""
exit 1
else
echo "No unresolved TK-TODO markers found." # IGNORE:TK
fi
Loading