cadwyn


Namecadwyn JSON
Version 3.14.0 PyPI version JSON
download
home_pagehttps://github.com/zmievsa/cadwyn
SummaryProduction-ready community-driven modern Stripe-like API versioning in FastAPI
upload_time2024-04-15 04:33:05
maintainerNone
docs_urlNone
authorStanislav Zmiev
requires_python<4.0,>=3.10
licenseMIT
keywords python api json-schema stripe versioning code-generation hints api-versioning pydantic fastapi python310 python311 python312
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Cadwyn

Production-ready community-driven modern [Stripe-like](https://stripe.com/blog/api-versioning) API versioning in FastAPI

---

<p align="center">
<a href="https://github.com/zmievsa/cadwyn/actions/workflows/ci.yaml?branch=main&event=push" target="_blank">
    <img src="https://github.com/zmievsa/cadwyn/actions/workflows/ci.yaml/badge.svg?branch=main&event=push" alt="Test">
</a>
<a href="https://codecov.io/gh/ovsyanka83/cadwyn" target="_blank">
    <img src="https://img.shields.io/codecov/c/github/ovsyanka83/cadwyn?color=%2334D058&logo=codecov" alt="Coverage">
</a>
<a href="https://pypi.org/project/cadwyn/" target="_blank">
    <img alt="PyPI" src="https://img.shields.io/pypi/v/cadwyn?color=%2334D058&logo=pypi&label=PyPI package" alt="Package version">
</a>
<a href="https://pypi.org/project/cadwyn/" target="_blank">
    <img src="https://img.shields.io/pypi/pyversions/cadwyn?color=%2334D058&logo=python" alt="Supported Python versions">
</a>
<a href="https://discord.gg/yRmcWF7rxE" target="_blank">
    <img alt="Discord" src="https://img.shields.io/discord/1183145640407076864?color=%2334D058&logo=discord">
</a>
</p>

## Who is this for?

Cadwyn allows you to support a single version of your code while auto-generating the schemas and routes for older versions. You keep API versioning encapsulated in small and independent "version change" modules while your business logic stays simple and knows nothing about versioning.

Its [approach](https://docs.cadwyn.dev/theory/how_we_got_here/#ii-migration-based-response-building) will be useful if you want to:

1. Support many API versions for a long time
2. Effortlessly backport features and bugfixes to older API versions

Whether you are a newbie in API versioning, a pro looking for a sophisticated tool, an experimenter looking to build a similar framework, or even someone who just wants to learn about all approaches to API versioning -- Cadwyn has the functionality, theory, and documentation to cover all the mentioned use cases.

## Get started

The [documentation](https://docs.cadwyn.dev) has everything you need to succeed.

## Sponsors

These are our gorgeous sponsors. They are using Cadwyn and are sponsoring it through various means. Contact [me](https://github.com/zmievsa) if you would like to become one too!

[![Monite](https://docs.cadwyn.dev/img/sponsor_logos/monite.png)](https://docs.monite.com/)


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/zmievsa/cadwyn",
    "name": "cadwyn",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": "python, api, json-schema, stripe, versioning, code-generation, hints, api-versioning, pydantic, fastapi, python310, python311, python312",
    "author": "Stanislav Zmiev",
    "author_email": "zmievsa@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/3c/6d/e01485de1da6e36abcf6fda10cde3aa233ba812d12d64fe3f9862df7444b/cadwyn-3.14.0.tar.gz",
    "platform": null,
    "description": "# Cadwyn\n\nProduction-ready community-driven modern [Stripe-like](https://stripe.com/blog/api-versioning) API versioning in FastAPI\n\n---\n\n<p align=\"center\">\n<a href=\"https://github.com/zmievsa/cadwyn/actions/workflows/ci.yaml?branch=main&event=push\" target=\"_blank\">\n    <img src=\"https://github.com/zmievsa/cadwyn/actions/workflows/ci.yaml/badge.svg?branch=main&event=push\" alt=\"Test\">\n</a>\n<a href=\"https://codecov.io/gh/ovsyanka83/cadwyn\" target=\"_blank\">\n    <img src=\"https://img.shields.io/codecov/c/github/ovsyanka83/cadwyn?color=%2334D058&logo=codecov\" alt=\"Coverage\">\n</a>\n<a href=\"https://pypi.org/project/cadwyn/\" target=\"_blank\">\n    <img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/cadwyn?color=%2334D058&logo=pypi&label=PyPI package\" alt=\"Package version\">\n</a>\n<a href=\"https://pypi.org/project/cadwyn/\" target=\"_blank\">\n    <img src=\"https://img.shields.io/pypi/pyversions/cadwyn?color=%2334D058&logo=python\" alt=\"Supported Python versions\">\n</a>\n<a href=\"https://discord.gg/yRmcWF7rxE\" target=\"_blank\">\n    <img alt=\"Discord\" src=\"https://img.shields.io/discord/1183145640407076864?color=%2334D058&logo=discord\">\n</a>\n</p>\n\n## Who is this for?\n\nCadwyn allows you to support a single version of your code while auto-generating the schemas and routes for older versions. You keep API versioning encapsulated in small and independent \"version change\" modules while your business logic stays simple and knows nothing about versioning.\n\nIts [approach](https://docs.cadwyn.dev/theory/how_we_got_here/#ii-migration-based-response-building) will be useful if you want to:\n\n1. Support many API versions for a long time\n2. Effortlessly backport features and bugfixes to older API versions\n\nWhether you are a newbie in API versioning, a pro looking for a sophisticated tool, an experimenter looking to build a similar framework, or even someone who just wants to learn about all approaches to API versioning -- Cadwyn has the functionality, theory, and documentation to cover all the mentioned use cases.\n\n## Get started\n\nThe [documentation](https://docs.cadwyn.dev) has everything you need to succeed.\n\n## Sponsors\n\nThese are our gorgeous sponsors. They are using Cadwyn and are sponsoring it through various means. Contact [me](https://github.com/zmievsa) if you would like to become one too!\n\n[![Monite](https://docs.cadwyn.dev/img/sponsor_logos/monite.png)](https://docs.monite.com/)\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Production-ready community-driven modern Stripe-like API versioning in FastAPI",
    "version": "3.14.0",
    "project_urls": {
        "Documentation": "https://docs.cadwyn.dev",
        "Homepage": "https://github.com/zmievsa/cadwyn",
        "Repository": "https://github.com/zmievsa/cadwyn"
    },
    "split_keywords": [
        "python",
        " api",
        " json-schema",
        " stripe",
        " versioning",
        " code-generation",
        " hints",
        " api-versioning",
        " pydantic",
        " fastapi",
        " python310",
        " python311",
        " python312"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "83afb6b69cfa7fc7bd7ade9393a5124ea895591e57d9c74f1fb2924c1d0eeb07",
                "md5": "e2fd41c741e7725029197a93d102282a",
                "sha256": "ab3cdf42e032013107af157596f0d8446e8bdfdac3ed0cfdf3b84921b9eef453"
            },
            "downloads": -1,
            "filename": "cadwyn-3.14.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e2fd41c741e7725029197a93d102282a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 61120,
            "upload_time": "2024-04-15T04:33:02",
            "upload_time_iso_8601": "2024-04-15T04:33:02.959351Z",
            "url": "https://files.pythonhosted.org/packages/83/af/b6b69cfa7fc7bd7ade9393a5124ea895591e57d9c74f1fb2924c1d0eeb07/cadwyn-3.14.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3c6de01485de1da6e36abcf6fda10cde3aa233ba812d12d64fe3f9862df7444b",
                "md5": "2a338aa3567618ef98c99331967d23c8",
                "sha256": "f27371e3819a7b5b2b435a1e3f4eb2a939f241719f09ea0c772d8114a16eaa68"
            },
            "downloads": -1,
            "filename": "cadwyn-3.14.0.tar.gz",
            "has_sig": false,
            "md5_digest": "2a338aa3567618ef98c99331967d23c8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 51465,
            "upload_time": "2024-04-15T04:33:05",
            "upload_time_iso_8601": "2024-04-15T04:33:05.444392Z",
            "url": "https://files.pythonhosted.org/packages/3c/6d/e01485de1da6e36abcf6fda10cde3aa233ba812d12d64fe3f9862df7444b/cadwyn-3.14.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-15 04:33:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "zmievsa",
    "github_project": "cadwyn",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "cadwyn"
}
        
Elapsed time: 0.22551s