Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Zapy REST ClientNew to Visual Studio Code? Get it now.
Zapy REST Client

Zapy REST Client

zapydev

|
520 installs
| (0) | Free
The pythonic REST API Client
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Zapy REST client

Zapy is a REST API client based on Python technologies. It aims to solve the duplication issue on integration testing.


Documentation: https://docs.zapy.dev

Github repo: https://github.com/ZapyLabs/zapy-sdk

FAQ: https://zapy.dev/faq


Main features:

  • You can use python on your requests and import any script or library.
  • Your request files can be imported and executed in python.
  • As it's used with pytest, it's ready for CI/CD and can be combined with Playwright or any other library.
  • It's file based so it's git ready.
  • It uses Jinja2 or Python syntax.
  • Rapid development using low code user interface.
  • Request chaining powered by Jupyter Notebooks.

Usage

  1. Install this VSCode Extension.

  2. Install the python library under a virtual environment.

    pip install zapy-sdk
    
  3. Create a .zapy file, for example my_first_request.zapy.

  4. Start the Zapy server.

  5. Send your request.

installation

Requests

Integrated on VSCode using an extension.

first look

Stores

Stores enable the persistence and inspection of Python data for use in multiple requests, including the creation and management of environment variables.

stores

Hooks

Hooks can be global or request-specific, allowing interception and modification of requests, such as for authentication.

from zapy.requests import hooks, HttpxArguments

@hooks.pre_request
async def on_each_request(httpx_args: HttpxArguments):
    httpx_args['auth'] = ('alice', 'ecila123')
    print(httpx_args)

Chaining

Chaining runs a sequence of requests with one click, using responses from one request in the next. It also offers the ability to use conditionals or to resume from a failed step.

chaining

Integration test

Requests and their tests can be invoked directly on your scripts or tests.

from pathlib import Path
import pytest

from zapy import requests
from zapy.utils import module


@pytest.mark.asyncio
async def test_single():
    request = requests.from_path("request1.zapy")
    response = await request.send()
    response.json()

@pytest.mark.asyncio
async def test_chain(self):
    rel_path = Path('tests/assets')
    chain = await module.load_ipynb(
        rel_path / 'chain_import.ipynb',
        variables={
            'rel_path': rel_path
        },
    )

Privacy

Data for authentication is collected when using the Zapy VSCode Extension. No personal or request data is collected.

License

The Zapy SDK is licensed under the terms of the Business Source License 1.1 (BSL). The Zapy VSCode Extension is under End User Service Agreement.

By installing or running this software you expressly agree with the terms of use.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft