mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-21 21:14:17 +02:00
commit
15640d33de
3 changed files with 20 additions and 18 deletions
17
.github/workflows/run-tests.yml
vendored
17
.github/workflows/run-tests.yml
vendored
|
|
@ -12,12 +12,14 @@ on:
|
|||
- "tests/**"
|
||||
- "uv.lock"
|
||||
- "pyproject.toml"
|
||||
- ".github/workflows/**"
|
||||
pull_request:
|
||||
paths:
|
||||
- "src/**"
|
||||
- "tests/**"
|
||||
- "uv.lock"
|
||||
- "pyproject.toml"
|
||||
- ".github/workflows/**"
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
|
|
@ -26,8 +28,13 @@ permissions:
|
|||
|
||||
jobs:
|
||||
run_tests:
|
||||
name: Run tests
|
||||
runs-on: ubuntu-latest
|
||||
name: "Run tests: Python ${{ matrix.python-version }} on ${{ matrix.os }}"
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
||||
python-version: ["3.10"]
|
||||
fail-fast: false
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
|
@ -35,11 +42,11 @@ jobs:
|
|||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v4
|
||||
|
||||
- name: Set up Python
|
||||
run: uv python install 3.11
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
run: uv python install ${{ matrix.python-version }}
|
||||
|
||||
- name: Install FastMCP
|
||||
run: uv sync --extra dev
|
||||
run: uv sync --extra tests
|
||||
|
||||
- name: Run tests
|
||||
run: uv run pytest -vv
|
||||
|
|
|
|||
13
README.md
13
README.md
|
|
@ -464,23 +464,20 @@ FastMCP requires Python 3.10+ and [uv](https://docs.astral.sh/uv/).
|
|||
|
||||
### Installation
|
||||
|
||||
Create a fork of this repository, then clone it:
|
||||
For development, we recommend installing FastMCP with development dependencies, which includes various utilities the maintainers find useful.
|
||||
|
||||
```bash
|
||||
git clone https://github.com/YouFancyUserYou/fastmcp.git
|
||||
git clone https://github.com/jlowin/fastmcp.git
|
||||
cd fastmcp
|
||||
uv sync --frozen --extra dev
|
||||
```
|
||||
|
||||
Next, create a virtual environment and install FastMCP:
|
||||
For running tests only (e.g., in CI), you only need the testing dependencies:
|
||||
|
||||
```bash
|
||||
uv venv
|
||||
source .venv/bin/activate
|
||||
uv sync --frozen --all-extras --dev
|
||||
uv sync --frozen --extra tests
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Testing
|
||||
|
||||
Please make sure to test any new functionality. Your tests should be simple and atomic and anticipate change rather than cement complex patterns.
|
||||
|
|
|
|||
|
|
@ -23,16 +23,14 @@ requires = ["hatchling>=1.21.0", "hatch-vcs>=0.4.0"]
|
|||
build-backend = "hatchling.build"
|
||||
|
||||
[project.optional-dependencies]
|
||||
dev = [
|
||||
"copychat>=0.5.2",
|
||||
"ipython>=8.12.3",
|
||||
"pdbpp>=0.10.3",
|
||||
tests = [
|
||||
"pre-commit",
|
||||
"pytest-xdist>=3.6.1",
|
||||
"pytest>=8.3.3",
|
||||
"pytest-asyncio>=0.23.5",
|
||||
"pytest-xdist>=3.6.1",
|
||||
"ruff",
|
||||
]
|
||||
dev = ["fastmcp[tests]", "copychat>=0.5.2", "ipython>=8.12.3", "pdbpp>=0.10.3"]
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
asyncio_mode = "auto"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue