From 4a9f3659165735376cb5dffe39dbe6084dd3b73e Mon Sep 17 00:00:00 2001 From: Jeremiah Lowin <153965+jlowin@users.noreply.github.com> Date: Mon, 2 Dec 2024 19:55:28 -0500 Subject: [PATCH] Update dependencies --- .github/workflows/run-tests.yml | 2 +- README.md | 13 +++++-------- pyproject.toml | 8 +++----- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index fe4c67fdb..8f83af7ae 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -46,7 +46,7 @@ jobs: 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 diff --git a/README.md b/README.md index 760de3f83..8e25a9ea8 100644 --- a/README.md +++ b/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. diff --git a/pyproject.toml b/pyproject.toml index 4ceca0072..8c3c4152d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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"