{"id":13719095,"url":"https://github.com/aws-cloudformation/cloudformation-cli-python-plugin","last_synced_at":"2026-03-10T02:32:11.357Z","repository":{"id":36332287,"uuid":"162644504","full_name":"aws-cloudformation/cloudformation-cli-python-plugin","owner":"aws-cloudformation","description":"The CloudFormation Provider Development Toolkit Python Plugin allows you to autogenerate Python code based on an input schema.","archived":false,"fork":false,"pushed_at":"2024-04-23T21:05:02.000Z","size":362,"stargazers_count":107,"open_issues_count":28,"forks_count":45,"subscribers_count":28,"default_branch":"master","last_synced_at":"2024-05-19T03:43:22.460Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aws-cloudformation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-21T00:13:18.000Z","updated_at":"2024-06-18T18:40:30.807Z","dependencies_parsed_at":"2024-01-06T00:09:01.384Z","dependency_job_id":"07f2a876-07a4-4389-a92e-d7fce0ecfc41","html_url":"https://github.com/aws-cloudformation/cloudformation-cli-python-plugin","commit_stats":null,"previous_names":["aws-cloudformation/aws-cloudformation-rpdk-python-plugin"],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-cloudformation%2Fcloudformation-cli-python-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-cloudformation%2Fcloudformation-cli-python-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-cloudformation%2Fcloudformation-cli-python-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-cloudformation%2Fcloudformation-cli-python-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aws-cloudformation","download_url":"https://codeload.github.com/aws-cloudformation/cloudformation-cli-python-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230520391,"owners_count":18238948,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T01:00:42.397Z","updated_at":"2025-12-13T18:05:12.866Z","avatar_url":"https://github.com/aws-cloudformation.png","language":"Python","funding_links":[],"categories":["Custom Resource Development"],"sub_categories":["Hooks"],"readme":"# AWS CloudFormation Resource Provider Python Plugin\n\nThe CloudFormation CLI (cfn) allows you to author your own resource providers that can be used by CloudFormation.\n\nThis plugin library helps to provide Python runtime bindings for the execution of your providers by CloudFormation.\n\n## AWS CloudFormation Resource Provider Python Plugin\n\nThe CloudFormation Resource Provider Development Kit (RPDK) allows you to author your own resource providers that can be used by CloudFormation.\n\nThis plugin library helps to provide runtime bindings for the execution of your providers by CloudFormation.\n\n[![Build Status](https://travis-ci.com/aws-cloudformation/cloudformation-cli-python-plugin.svg?branch=master)](https://travis-ci.com/aws-cloudformation/cloudformation-cli-python-plugin)\n\n## Community\n\nJoin us on Discord! Connect \u0026 interact with CloudFormation developers \u0026\nexperts, find channels to discuss and get help for our CLIs, cfn-lint, CloudFormation registry, StackSets,\nGuard and more:\n\n[![Join our Discord](https://discordapp.com/api/guilds/981586120448020580/widget.png?style=banner3)](https://discord.gg/9zpd7TTRwq)\n\nInstallation\n------------\n\n```bash\npip install cloudformation-cli-python-plugin\n```\n\nHowto\n-----\n\n```\n$ cfn init\nInitializing new project\nWhat's the name of your resource type?\n(Organization::Service::Resource)\n\u003e\u003e Foo::Bar::Baz\nSelect a language for code generation:\n[1] java\n[2] csharp\n[3] python38\n[4] python39\n[5] python310\n[6] python311\n[7] python312\n(enter an integer):\n\u003e\u003e 4\nUse docker for platform-independent packaging (Y/n)?\nThis is highly recommended unless you are experienced\nwith cross-platform Python packaging.\n\u003e\u003e y\nInitialized a new project in \u003c\u003e\n$ cfn submit --dry-run\n$ cat \u003c\u003cEOT \u003e test.json\n{\n  \"credentials\": {\n    \"accessKeyId\": \"\",\n    \"secretAccessKey\": \"\",\n    \"sessionToken\": \"\"\n  },\n  \"action\": \"CREATE\",\n  \"request\": {\n    \"clientRequestToken\": \"ecba020e-b2e6-4742-a7d0-8a06ae7c4b2b\",\n    \"desiredResourceState\": {\n      \"Title\": \"This_Is_The_Title_For_My_Example\",\n      \"TestCode\": \"NOT_STARTED\"\n    },\n    \"previousResourceState\": null,\n    \"logicalResourceIdentifier\": null\n  },\n  \"callbackContext\": null\n}\nEOT\n$ sam local invoke TestEntrypoint --event test.json\n```\n\nDevelopment\n-----------\n\nFor changes to the plugin, a Python virtual environment is recommended. The development requirements can be sourced from the core repository:\n\n```\npython3 -m venv env\nsource env/bin/activate\npip install -e . -e src/ \\\n  -r https://raw.githubusercontent.com/aws-cloudformation/aws-cloudformation-rpdk/master/requirements.txt\npre-commit install\n```\n\nLinting and running unit tests is done via [pre-commit](https://pre-commit.com/), and so is performed automatically on commit. The continuous integration also runs these checks. Manual options are available so you don't have to commit):\n\n```\n# run all hooks on all files, mirrors what the CI runs\npre-commit run --all-files\n# run unit tests only. can also be used for other hooks, e.g. black, flake8, pylint-local\npre-commit run pytest-local\n```\n\nLicense\n-------\n\nThis library is licensed under the Apache 2.0 License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws-cloudformation%2Fcloudformation-cli-python-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faws-cloudformation%2Fcloudformation-cli-python-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws-cloudformation%2Fcloudformation-cli-python-plugin/lists"}