schemathesis


Nameschemathesis JSON
Version 3.27.0 PyPI version JSON
download
home_pageNone
SummaryProperty-based testing framework for Open API and GraphQL based apps
upload_time2024-04-14 13:40:55
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords graphql hypothesis openapi pytest testing
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
    <em>Schemathesis: catch crashes, validate specs, and save time</em>
</p>

<p align="center">
    <a href="https://github.com/schemathesis/schemathesis/actions" target="_blank">
        <img src="https://github.com/schemathesis/schemathesis/actions/workflows/build.yml/badge.svg" alt="Build">
    </a>
    <a href="https://codecov.io/gh/schemathesis/schemathesis/branch/master" target="_blank">
        <img src="https://codecov.io/gh/schemathesis/schemathesis/branch/master/graph/badge.svg" alt="Coverage">
    </a>
    <a href="https://pypi.org/project/schemathesis/" target="_blank">
        <img src="https://img.shields.io/pypi/v/schemathesis.svg" alt="Version">
    </a>
    <a href="https://pypi.org/project/schemathesis/" target="_blank">
        <img src="https://img.shields.io/pypi/pyversions/schemathesis.svg" alt="Python versions">
    </a>
    <a href="https://discord.gg/R9ASRAmHnA" target="_blank">
        <img src="https://img.shields.io/discord/938139740912369755" alt="Discord">
    </a>
    <a href="https://opensource.org/licenses/MIT" target="_blank">
        <img src="https://img.shields.io/pypi/l/schemathesis.svg" alt="License">
    </a>
</p>

---

**Documentation**: <a href="https://schemathesis.readthedocs.io/en/stable/" target="_blank">https://schemathesis.readthedocs.io/en/stable/ </a>

**Chat**: <a href="https://discord.gg/R9ASRAmHnA" target="_blank">https://discord.gg/R9ASRAmHnA </a>

---

## Why Schemathesis?

Schemathesis is a tool that automates your API testing to catch crashes and spec violations. Built on top of the widely-used <a href="https://hypothesis.works/" target="_blank">Hypothesis</a> framework for property-based testing, it offers the following advantages:

๐Ÿ•’ **Time-Saving**

Automatically generates test cases, freeing you from manual test writing.

๐Ÿ” **Comprehensive**

Utilizes fuzzing techniques to probe both common and edge-case scenarios, including those you might overlook.

๐Ÿ› ๏ธ **Flexible**

Supports OpenAPI, GraphQL, and can work even with partially complete schemas. Only the parts describing data generation or responses are required.

๐ŸŽ›๏ธ **Customizable**

Customize the framework by writing Python extensions to modify almost any aspect of the testing process.

๐Ÿ”„ **Reproducible**

Generates code samples to help you quickly replicate and investigate any failing test cases.

## Quick Demo

<p align="center">
  <img src="https://raw.githubusercontent.com/schemathesis/schemathesis/master/img/demo.gif" alt="Schemathesis Demo"/>
</p>

With a summary right in your PRs:

![image](https://raw.githubusercontent.com/schemathesis/schemathesis/master/img/service_github_report.png)

## Getting Started

Choose from multiple ways to start testing your API with Schemathesis.

> ๐Ÿ’ก Your API schema can be either a URL or a local path to a JSON/YAML file.

### ๐Ÿ’ป Command-Line Interface

Quick and easy for those who prefer the command line.

**Python**

1. Install via pip: `python -m pip install schemathesis`
2. Run tests

```bash
st run --checks all https://example.schemathesis.io/openapi.json
```

**Docker**

1. Pull Docker image: `docker pull schemathesis/schemathesis:stable`
2. Run tests

```bash
docker run schemathesis/schemathesis:stable
   run --checks all https://example.schemathesis.io/openapi.json
```

### ๐Ÿ Python Library

For more control and customization, integrate Schemathesis into your Python codebase.

1. Install via pip: `python -m pip install schemathesis`
2. Add to your tests:

```python
import schemathesis

schema = schemathesis.from_uri("https://example.schemathesis.io/openapi.json")


@schema.parametrize()
def test_api(case):
    case.call_and_validate()
```

> ๐Ÿ’ก See a complete working example project in the [/example](https://github.com/schemathesis/schemathesis/tree/master/example) directory.

### :octocat: GitHub Integration

**GitHub Actions**

Run Schemathesis tests as a part of your CI/CD pipeline.

Add this YAML configuration to your GitHub Actions:

```yaml
api-tests:
  runs-on: ubuntu-22.04
  steps:
    - uses: schemathesis/action@v1
      with:
        schema: "https://example.schemathesis.io/openapi.json"
        # OPTIONAL. Add Schemathesis.io token for pull request reports
        token: ${{ secrets.SCHEMATHESIS_TOKEN }}
```

For more details, check out our [GitHub Action](https://github.com/schemathesis/action) repository.

> ๐Ÿ’ก See our [GitHub Tutorial](https://docs.schemathesis.io/tutorials/github) for a step-by-step guidance.

**GitHub App**

Receive automatic comments in your pull requests and updates on GitHub checks status. Requires usage of our SaaS platform.

1. Install the [GitHub app](https://github.com/apps/schemathesis).
2. Enable in your repository settings.

### Software as a Service

Schemathesis CLI integrates with Schemathesis.io to enhance bug detection by optimizing test case generation for efficiency and realism. It leverages various techniques to infer appropriate data generation strategies, provide support for uncommon media types, and adjust schemas for faster data generation. The integration also detects the web server being used to generate more targeted test data. 

Schemathesis.io offers a user-friendly UI that simplifies viewing and analyzing test results. If you prefer an all-in-one solution with quick setup, we have a [free tier](https://schemathesis.io/#pricing) available.

## How it works

Hereโ€™s a simplified overview of how Schemathesis operates:

1. **Test Generation**: Using the API schema to create a test generator that you can fine-tune to your testing requirements.
2. **Execution and Adaptation**: Sending tests to the API and adapting through statistical models and heuristics to optimize subsequent cases based on responses.
3. **Analysis and Minimization**: Checking responses to identify issues. Minimizing means simplifying failing test cases for easier debugging.
4. **Stateful Testing**: Running multistep tests to assess API operations in both isolated and integrated scenarios.
5. **Reporting**: Generating detailed reports with insights and cURL commands for easy issue reproduction.

### Research Findings on Open-Source API Testing Tools

Our study, presented at the **44th International Conference on Software Engineering**, highlighted Schemathesis's performance:

- **Defect Detection**: identified a total of **755 bugs** in **16 services**, finding between **1.4ร— to 4.5ร— more defects** than the second-best tool in each case.

- **High Reliability**: consistently operates seamlessly on any project, ensuring unwavering stability and reliability.

Explore the full paper at https://ieeexplore.ieee.org/document/9793781 or pre-print at https://arxiv.org/abs/2112.10328

## Testimonials

"_The world needs modern, spec-based API tests, so we can deliver APIs as-designed. Schemathesis is the right tool for that job._"

<div>Emmanuel Paraskakis - <strong>Level 250</strong></div>

---

"_Schemathesis is the only sane way to thoroughly test an API._"

<div>Zdenek Nemec - <strong>superface.ai</strong></div>

---

"_The tool is absolutely amazing as it can do the negative scenario testing instead of me and much faster! Before I was doing the same tests in Postman client. But it's much slower and brings maintenance burden._"

<div>Ludฤ›k Novรฝ - <strong>JetBrains</strong></div>

---

"_Schemathesis is the best tool for fuzz testing of REST API on the market. We are at Red Hat use it for examining our applications in functional and integrations testing levels._"

<div>Dmitry Misharov - <strong>RedHat</strong></div>

---

"_There are different levels of usability and documentation quality among these tools which have been reported, where Schemathesis clearly stands out among the most user-friendly and industry-strength tools._"

<div>Testing RESTful APIs: A Survey - <strong>a research paper by Golmohammadi, at al</strong></div>

---

## Contributing

We welcome contributions in code and are especially interested in learning about your use cases.
Understanding how you use Schemathesis helps us extend its capabilities to better meet your needs.

Feel free to discuss ideas and questions through [GitHub issues](https://github.com/schemathesis/schemathesis/issues) or on our [Discord channel](https://discord.gg/R9ASRAmHnA).
For more details on how to contribute, see our [contributing guidelines](https://github.com/schemathesis/schemathesis/blob/master/CONTRIBUTING.rst).

## Let's make it better together ๐Ÿค

Your feedback is essential for improving Schemathesis.
By sharing your thoughts, you help us develop features that meet your needs and expedite bug fixes.

1. **Why Give Feedback**: Your input directly influences future updates, making the tool more effective for you.
2. **How to Provide Feedback**: Use [this form](https://forms.gle/kJ4hSxc1Yp6Ga96t5) to share your experience.
3. **Data Privacy**: We value your privacy. All data is kept confidential and may be used in anonymized form to improve our test suite and documentation.

Thank you for contributing to making Schemathesis better! ๐Ÿ‘

## Commercial support

If you're a large enterprise or startup seeking specialized assistance, we offer commercial support to help you integrate Schemathesis effectively into your workflows.
This includes:

- Quicker response time for your queries.
- Direct consultation to work closely with your API specification, optimizing the Schemathesis setup for your specific needs.

To discuss a custom support arrangement that best suits your organization, please contact our support team at <a href="mailto:support@schemathesis.io">support@schemathesis.io</a>.

## Additional content

### Papers

- [Deriving Semantics-Aware Fuzzers from Web API Schemas](https://ieeexplore.ieee.org/document/9793781) by **@Zac-HD** and **@Stranger6667**
  - **Description**: Explores the automation of API testing through semantics-aware fuzzing. Presented at ICSE 2022.
  - **Date**: 20 Dec 2021

### Articles

- [Auto-Generating & Validating OpenAPI Docs in Rust: A Streamlined Approach with Utoipa and Schemathesis](https://identeco.de/en/blog/generating_and_validating_openapi_docs_in_rust/) by **identeco**
  - **Description**: Demonstrates OpenAPI doc generation with Utoipa and validating it with Schemathesis.
  - **Date**: 01 Jun 2023
- [Testing APIFlask with schemathesis](http://blog.pamelafox.org/2023/02/testing-apiflask-with-schemathesis.html) by **@pamelafox**
  - **Description**: Explains how to test APIFlask applications using Schemathesis.
  - **Date**: 27 Feb 2023
- [Using Hypothesis and Schemathesis to Test FastAPI](https://testdriven.io/blog/fastapi-hypothesis/) by **@amalshaji**
  - **Description**: Discusses property-based testing in FastAPI with Hypothesis and Schemathesis.
  - **Date**: 06 Sep 2022
- [How to use Schemathesis to test Flask API in GitHub Actions](https://notes.lina-is-here.com/2022/08/04/schemathesis-docker-compose.html) by **@lina-is-here**
  - **Description**: Guides you through setting up Schemathesis with Flask API in GitHub Actions.
  - **Date**: 04 Aug 2022
- [Using API schemas for property-based testing](https://habr.com/ru/company/oleg-bunin/blog/576496/) (RUS) about Schemathesis by **@Stranger6667**
  - **Description**: Covers the usage of Schemathesis for property-based API testing.
  - **Date**: 07 Sep 2021
- [Schemathesis: property-based testing for API schemas](https://dygalo.dev/blog/schemathesis-property-based-testing-for-api-schemas/) by **@Stranger6667**
  - **Description**: Introduces property-based testing for OpenAPI schemas using Schemathesis.
  - **Date**: 26 Nov 2019

### Videos

- [API Fuzzing: What it is and why you should use it](https://youtu.be/wX3GMJY9B6A) by **Josรฉ Haro Peralta**
  - **Description**: A comprehensive overview and demo of Schemathesis.
  - **Date**: 14 Feb 2023
- [Schemathesis tutorial](https://appdev.consulting.redhat.com/tracks/contract-first/automated-testing-with-schemathesis.html) with an accompanying [video](https://www.youtube.com/watch?v=4r7OC-lBKMg) by **Red Hat**
  - **Description**: Provides a hands-on tutorial for API testing with Schemathesis.
  - **Date**: 09 Feb 2023
- [Effective API schemas testing](https://youtu.be/VVLZ25JgjD4) from DevConf.cz by **@Stranger6667**
  - **Description**: Talks about using Schemathesis for property-based API schema testing.
  - **Date**: 24 Mar 2021
- [API-schema-based testing with schemathesis](https://www.youtube.com/watch?v=9FHRwrv-xuQ) from EuroPython 2020 by **@hultner**
  - **Description**: Introduces property-based API testing with Schemathesis.
  - **Date**: 23 Jul 2020

## License

This project is licensed under the terms of the [MIT license](https://opensource.org/licenses/MIT).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "schemathesis",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "Dmitry Dygalo <dmitry@dygalo.dev>",
    "keywords": "graphql, hypothesis, openapi, pytest, testing",
    "author": null,
    "author_email": "Dmitry Dygalo <dmitry@dygalo.dev>",
    "download_url": "https://files.pythonhosted.org/packages/42/d5/f354c179c681175e280da9551289ecf7e6221edaf61f20ac3ee85d4243c5/schemathesis-3.27.0.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n    <em>Schemathesis: catch crashes, validate specs, and save time</em>\n</p>\n\n<p align=\"center\">\n    <a href=\"https://github.com/schemathesis/schemathesis/actions\" target=\"_blank\">\n        <img src=\"https://github.com/schemathesis/schemathesis/actions/workflows/build.yml/badge.svg\" alt=\"Build\">\n    </a>\n    <a href=\"https://codecov.io/gh/schemathesis/schemathesis/branch/master\" target=\"_blank\">\n        <img src=\"https://codecov.io/gh/schemathesis/schemathesis/branch/master/graph/badge.svg\" alt=\"Coverage\">\n    </a>\n    <a href=\"https://pypi.org/project/schemathesis/\" target=\"_blank\">\n        <img src=\"https://img.shields.io/pypi/v/schemathesis.svg\" alt=\"Version\">\n    </a>\n    <a href=\"https://pypi.org/project/schemathesis/\" target=\"_blank\">\n        <img src=\"https://img.shields.io/pypi/pyversions/schemathesis.svg\" alt=\"Python versions\">\n    </a>\n    <a href=\"https://discord.gg/R9ASRAmHnA\" target=\"_blank\">\n        <img src=\"https://img.shields.io/discord/938139740912369755\" alt=\"Discord\">\n    </a>\n    <a href=\"https://opensource.org/licenses/MIT\" target=\"_blank\">\n        <img src=\"https://img.shields.io/pypi/l/schemathesis.svg\" alt=\"License\">\n    </a>\n</p>\n\n---\n\n**Documentation**: <a href=\"https://schemathesis.readthedocs.io/en/stable/\" target=\"_blank\">https://schemathesis.readthedocs.io/en/stable/ </a>\n\n**Chat**: <a href=\"https://discord.gg/R9ASRAmHnA\" target=\"_blank\">https://discord.gg/R9ASRAmHnA </a>\n\n---\n\n## Why Schemathesis?\n\nSchemathesis is a tool that automates your API testing to catch crashes and spec violations. Built on top of the widely-used <a href=\"https://hypothesis.works/\" target=\"_blank\">Hypothesis</a> framework for property-based testing, it offers the following advantages:\n\n\ud83d\udd52 **Time-Saving**\n\nAutomatically generates test cases, freeing you from manual test writing.\n\n\ud83d\udd0d **Comprehensive**\n\nUtilizes fuzzing techniques to probe both common and edge-case scenarios, including those you might overlook.\n\n\ud83d\udee0\ufe0f **Flexible**\n\nSupports OpenAPI, GraphQL, and can work even with partially complete schemas. Only the parts describing data generation or responses are required.\n\n\ud83c\udf9b\ufe0f **Customizable**\n\nCustomize the framework by writing Python extensions to modify almost any aspect of the testing process.\n\n\ud83d\udd04 **Reproducible**\n\nGenerates code samples to help you quickly replicate and investigate any failing test cases.\n\n## Quick Demo\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/schemathesis/schemathesis/master/img/demo.gif\" alt=\"Schemathesis Demo\"/>\n</p>\n\nWith a summary right in your PRs:\n\n![image](https://raw.githubusercontent.com/schemathesis/schemathesis/master/img/service_github_report.png)\n\n## Getting Started\n\nChoose from multiple ways to start testing your API with Schemathesis.\n\n> \ud83d\udca1 Your API schema can be either a URL or a local path to a JSON/YAML file.\n\n### \ud83d\udcbb Command-Line Interface\n\nQuick and easy for those who prefer the command line.\n\n**Python**\n\n1. Install via pip: `python -m pip install schemathesis`\n2. Run tests\n\n```bash\nst run --checks all https://example.schemathesis.io/openapi.json\n```\n\n**Docker**\n\n1. Pull Docker image: `docker pull schemathesis/schemathesis:stable`\n2. Run tests\n\n```bash\ndocker run schemathesis/schemathesis:stable\n   run --checks all https://example.schemathesis.io/openapi.json\n```\n\n### \ud83d\udc0d Python Library\n\nFor more control and customization, integrate Schemathesis into your Python codebase.\n\n1. Install via pip: `python -m pip install schemathesis`\n2. Add to your tests:\n\n```python\nimport schemathesis\n\nschema = schemathesis.from_uri(\"https://example.schemathesis.io/openapi.json\")\n\n\n@schema.parametrize()\ndef test_api(case):\n    case.call_and_validate()\n```\n\n> \ud83d\udca1 See a complete working example project in the [/example](https://github.com/schemathesis/schemathesis/tree/master/example) directory.\n\n### :octocat: GitHub Integration\n\n**GitHub Actions**\n\nRun Schemathesis tests as a part of your CI/CD pipeline.\n\nAdd this YAML configuration to your GitHub Actions:\n\n```yaml\napi-tests:\n  runs-on: ubuntu-22.04\n  steps:\n    - uses: schemathesis/action@v1\n      with:\n        schema: \"https://example.schemathesis.io/openapi.json\"\n        # OPTIONAL. Add Schemathesis.io token for pull request reports\n        token: ${{ secrets.SCHEMATHESIS_TOKEN }}\n```\n\nFor more details, check out our [GitHub Action](https://github.com/schemathesis/action) repository.\n\n> \ud83d\udca1 See our [GitHub Tutorial](https://docs.schemathesis.io/tutorials/github) for a step-by-step guidance.\n\n**GitHub App**\n\nReceive automatic comments in your pull requests and updates on GitHub checks status. Requires usage of our SaaS platform.\n\n1. Install the [GitHub app](https://github.com/apps/schemathesis).\n2. Enable in your repository settings.\n\n### Software as a Service\n\nSchemathesis CLI integrates with Schemathesis.io to enhance bug detection by optimizing test case generation for efficiency and realism. It leverages various techniques to infer appropriate data generation strategies, provide support for uncommon media types, and adjust schemas for faster data generation. The integration also detects the web server being used to generate more targeted test data. \n\nSchemathesis.io offers a user-friendly UI that simplifies viewing and analyzing test results. If you prefer an all-in-one solution with quick setup, we have a [free tier](https://schemathesis.io/#pricing) available.\n\n## How it works\n\nHere\u2019s a simplified overview of how Schemathesis operates:\n\n1. **Test Generation**: Using the API schema to create a test generator that you can fine-tune to your testing requirements.\n2. **Execution and Adaptation**: Sending tests to the API and adapting through statistical models and heuristics to optimize subsequent cases based on responses.\n3. **Analysis and Minimization**: Checking responses to identify issues. Minimizing means simplifying failing test cases for easier debugging.\n4. **Stateful Testing**: Running multistep tests to assess API operations in both isolated and integrated scenarios.\n5. **Reporting**: Generating detailed reports with insights and cURL commands for easy issue reproduction.\n\n### Research Findings on Open-Source API Testing Tools\n\nOur study, presented at the **44th International Conference on Software Engineering**, highlighted Schemathesis's performance:\n\n- **Defect Detection**: identified a total of **755 bugs** in **16 services**, finding between **1.4\u00d7 to 4.5\u00d7 more defects** than the second-best tool in each case.\n\n- **High Reliability**: consistently operates seamlessly on any project, ensuring unwavering stability and reliability.\n\nExplore the full paper at https://ieeexplore.ieee.org/document/9793781 or pre-print at https://arxiv.org/abs/2112.10328\n\n## Testimonials\n\n\"_The world needs modern, spec-based API tests, so we can deliver APIs as-designed. Schemathesis is the right tool for that job._\"\n\n<div>Emmanuel Paraskakis - <strong>Level 250</strong></div>\n\n---\n\n\"_Schemathesis is the only sane way to thoroughly test an API._\"\n\n<div>Zdenek Nemec - <strong>superface.ai</strong></div>\n\n---\n\n\"_The tool is absolutely amazing as it can do the negative scenario testing instead of me and much faster! Before I was doing the same tests in Postman client. But it's much slower and brings maintenance burden._\"\n\n<div>Lud\u011bk Nov\u00fd - <strong>JetBrains</strong></div>\n\n---\n\n\"_Schemathesis is the best tool for fuzz testing of REST API on the market. We are at Red Hat use it for examining our applications in functional and integrations testing levels._\"\n\n<div>Dmitry Misharov - <strong>RedHat</strong></div>\n\n---\n\n\"_There are different levels of usability and documentation quality among these tools which have been reported, where Schemathesis clearly stands out among the most user-friendly and industry-strength tools._\"\n\n<div>Testing RESTful APIs: A Survey - <strong>a research paper by Golmohammadi, at al</strong></div>\n\n---\n\n## Contributing\n\nWe welcome contributions in code and are especially interested in learning about your use cases.\nUnderstanding how you use Schemathesis helps us extend its capabilities to better meet your needs.\n\nFeel free to discuss ideas and questions through [GitHub issues](https://github.com/schemathesis/schemathesis/issues) or on our [Discord channel](https://discord.gg/R9ASRAmHnA).\nFor more details on how to contribute, see our [contributing guidelines](https://github.com/schemathesis/schemathesis/blob/master/CONTRIBUTING.rst).\n\n## Let's make it better together \ud83e\udd1d\n\nYour feedback is essential for improving Schemathesis.\nBy sharing your thoughts, you help us develop features that meet your needs and expedite bug fixes.\n\n1. **Why Give Feedback**: Your input directly influences future updates, making the tool more effective for you.\n2. **How to Provide Feedback**: Use [this form](https://forms.gle/kJ4hSxc1Yp6Ga96t5) to share your experience.\n3. **Data Privacy**: We value your privacy. All data is kept confidential and may be used in anonymized form to improve our test suite and documentation.\n\nThank you for contributing to making Schemathesis better! \ud83d\udc4d\n\n## Commercial support\n\nIf you're a large enterprise or startup seeking specialized assistance, we offer commercial support to help you integrate Schemathesis effectively into your workflows.\nThis includes:\n\n- Quicker response time for your queries.\n- Direct consultation to work closely with your API specification, optimizing the Schemathesis setup for your specific needs.\n\nTo discuss a custom support arrangement that best suits your organization, please contact our support team at <a href=\"mailto:support@schemathesis.io\">support@schemathesis.io</a>.\n\n## Additional content\n\n### Papers\n\n- [Deriving Semantics-Aware Fuzzers from Web API Schemas](https://ieeexplore.ieee.org/document/9793781) by **@Zac-HD** and **@Stranger6667**\n  - **Description**: Explores the automation of API testing through semantics-aware fuzzing. Presented at ICSE 2022.\n  - **Date**: 20 Dec 2021\n\n### Articles\n\n- [Auto-Generating & Validating OpenAPI Docs in Rust: A Streamlined Approach with Utoipa and Schemathesis](https://identeco.de/en/blog/generating_and_validating_openapi_docs_in_rust/) by **identeco**\n  - **Description**: Demonstrates OpenAPI doc generation with Utoipa and validating it with Schemathesis.\n  - **Date**: 01 Jun 2023\n- [Testing APIFlask with schemathesis](http://blog.pamelafox.org/2023/02/testing-apiflask-with-schemathesis.html) by **@pamelafox**\n  - **Description**: Explains how to test APIFlask applications using Schemathesis.\n  - **Date**: 27 Feb 2023\n- [Using Hypothesis and Schemathesis to Test FastAPI](https://testdriven.io/blog/fastapi-hypothesis/) by **@amalshaji**\n  - **Description**: Discusses property-based testing in FastAPI with Hypothesis and Schemathesis.\n  - **Date**: 06 Sep 2022\n- [How to use Schemathesis to test Flask API in GitHub Actions](https://notes.lina-is-here.com/2022/08/04/schemathesis-docker-compose.html) by **@lina-is-here**\n  - **Description**: Guides you through setting up Schemathesis with Flask API in GitHub Actions.\n  - **Date**: 04 Aug 2022\n- [Using API schemas for property-based testing](https://habr.com/ru/company/oleg-bunin/blog/576496/) (RUS) about Schemathesis by **@Stranger6667**\n  - **Description**: Covers the usage of Schemathesis for property-based API testing.\n  - **Date**: 07 Sep 2021\n- [Schemathesis: property-based testing for API schemas](https://dygalo.dev/blog/schemathesis-property-based-testing-for-api-schemas/) by **@Stranger6667**\n  - **Description**: Introduces property-based testing for OpenAPI schemas using Schemathesis.\n  - **Date**: 26 Nov 2019\n\n### Videos\n\n- [API Fuzzing: What it is and why you should use it](https://youtu.be/wX3GMJY9B6A) by **Jos\u00e9 Haro Peralta**\n  - **Description**: A comprehensive overview and demo of Schemathesis.\n  - **Date**: 14 Feb 2023\n- [Schemathesis tutorial](https://appdev.consulting.redhat.com/tracks/contract-first/automated-testing-with-schemathesis.html) with an accompanying [video](https://www.youtube.com/watch?v=4r7OC-lBKMg) by **Red Hat**\n  - **Description**: Provides a hands-on tutorial for API testing with Schemathesis.\n  - **Date**: 09 Feb 2023\n- [Effective API schemas testing](https://youtu.be/VVLZ25JgjD4) from DevConf.cz by **@Stranger6667**\n  - **Description**: Talks about using Schemathesis for property-based API schema testing.\n  - **Date**: 24 Mar 2021\n- [API-schema-based testing with schemathesis](https://www.youtube.com/watch?v=9FHRwrv-xuQ) from EuroPython 2020 by **@hultner**\n  - **Description**: Introduces property-based API testing with Schemathesis.\n  - **Date**: 23 Jul 2020\n\n## License\n\nThis project is licensed under the terms of the [MIT license](https://opensource.org/licenses/MIT).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Property-based testing framework for Open API and GraphQL based apps",
    "version": "3.27.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/schemathesis/schemathesis",
        "Changelog": "https://schemathesis.readthedocs.io/en/stable/changelog.html",
        "Documentation": "https://schemathesis.readthedocs.io/en/stable/",
        "Funding": "https://github.com/sponsors/Stranger6667",
        "Source Code": "https://github.com/schemathesis/schemathesis"
    },
    "split_keywords": [
        "graphql",
        " hypothesis",
        " openapi",
        " pytest",
        " testing"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5c70a97f8840e1ea3a7f25cd3f4eefeef9ee64021f58f357c2561cfff059c390",
                "md5": "bdce53b74afeb5249df8e2be61f637cf",
                "sha256": "d17dfbf0f1e085b14199e831fdc5d524ded7f461e0bdc9b18446e9ad29ff6495"
            },
            "downloads": -1,
            "filename": "schemathesis-3.27.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bdce53b74afeb5249df8e2be61f637cf",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 271287,
            "upload_time": "2024-04-14T13:40:51",
            "upload_time_iso_8601": "2024-04-14T13:40:51.735022Z",
            "url": "https://files.pythonhosted.org/packages/5c/70/a97f8840e1ea3a7f25cd3f4eefeef9ee64021f58f357c2561cfff059c390/schemathesis-3.27.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "42d5f354c179c681175e280da9551289ecf7e6221edaf61f20ac3ee85d4243c5",
                "md5": "722992f00b77e20c476097d7afdda943",
                "sha256": "15ce5e2bf8a9c3cce425022db30fd506f241272fd99daec45ba4f491e5a8ea3e"
            },
            "downloads": -1,
            "filename": "schemathesis-3.27.0.tar.gz",
            "has_sig": false,
            "md5_digest": "722992f00b77e20c476097d7afdda943",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 857554,
            "upload_time": "2024-04-14T13:40:55",
            "upload_time_iso_8601": "2024-04-14T13:40:55.736316Z",
            "url": "https://files.pythonhosted.org/packages/42/d5/f354c179c681175e280da9551289ecf7e6221edaf61f20ac3ee85d4243c5/schemathesis-3.27.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-14 13:40:55",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "schemathesis",
    "github_project": "schemathesis",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "schemathesis"
}
        
Elapsed time: 0.24015s