{"id":25155101,"url":"https://github.com/theserverlessway/deployto","last_synced_at":"2026-05-14T21:05:36.150Z","repository":{"id":97566093,"uuid":"124544875","full_name":"theserverlessway/deployto","owner":"theserverlessway","description":"Simple Deployment to various AWS Services","archived":false,"fork":false,"pushed_at":"2018-05-10T09:48:01.000Z","size":28,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-23T16:41:10.942Z","etag":null,"topics":["aws","deployment","lambda"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theserverlessway.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-03-09T13:35:42.000Z","updated_at":"2018-11-28T12:32:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"15688e8d-3593-4364-a67b-d96540f029ca","html_url":"https://github.com/theserverlessway/deployto","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/theserverlessway/deployto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theserverlessway%2Fdeployto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theserverlessway%2Fdeployto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theserverlessway%2Fdeployto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theserverlessway%2Fdeployto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theserverlessway","download_url":"https://codeload.github.com/theserverlessway/deployto/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theserverlessway%2Fdeployto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33043279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["aws","deployment","lambda"],"created_at":"2025-02-09T00:39:56.724Z","updated_at":"2026-05-14T21:05:36.146Z","avatar_url":"https://github.com/theserverlessway.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DeployTo\n\nSimple Deployment Tool for AWS Services that is integrated with CloudFormation.\n\nDeploying to AWS, especially during development, is often a hassle. Having to remember or copy together the names of your resources\nand running various awscli (or other tools) commands is not productive.\n\nDeployTo tries to solve this by doing two things:\n\n1. Integrate with CloudFormation so you tell deployto the name of the resource in your CF template and it will figure out the actual name\n2. Give you output that actually tells you whats happening during longer deployments, e.g. when deploying to ElasticBeanstalk\n\nAt the moment Lambda is supported as a deployment target, but more are to come in the future.\n\n## Install\n\nYou can install DeployTo either through pip:\n\n```\npip install deployto\n```\n\nor through whalebrew:\n\n```\nwhalebrew install theserverlessway/deployto\n```\n\n## Deployment to Lambda\n\nDeployTo requires you to put your deployment config into a config file. You can have several config files in your repo and just hand different ones to DeployTo depending on what you want to deploy\n\nFollowing are all options available for Lambda deployment\n\n```\nstack: teststack # The stack to read CloudFormation resources from\nservice: lambda # The service to deploy to\npaths:  # The paths to include in the ZipFile, more info in the packaging config below\n - 'code:'\ns3: false # If you want to push the zipfile to an S3 Bucket before deploying (will create and remove the bucket automatically)\nfunctions: # Limit which functions to deploy to with CF LogicalIds. By default deploys to all functions in the stack\n  - LambdaFunction\npublish: true # If a new version should be published for each function\n```\n\nIf you name the config file `deployto.yml` it will be picked up automatically, otherwise you have to use the `-c` option:\n\n```\ndeployto\ndeployto -c backend.yaml\n```\n\n## Packaging config\n\nThe `paths` config allows you to set which files or folders should be included where to in the zipfile. With DeployTo you can pick and choose from different paths and combine them together into a zipfile easily.\n\nThis makes it unnecessary for your team to copy together files and dependencies into a separate `build` folder and then zip that up. Simply tell DeployTo where to find which files and folders and it will zip it up in memory and deploy to Lambda.\n\nThe basic format for including files or folders is `FROM_PATH:TO_PATH`. When `FROM_PATH` is a file the `TO_PATH` will be treated as a file as well, unless it is empty. Following are a few examples how to include files and folders into DeployTo.\n\n### Examples\n\nInclude the code folder (and put it into `code` in the zipfile as well)\n```\npaths:\n - code\n```\n\nInclude the code folder but rename it to `other`\n\n```\npaths:\n - code:other\n```\n\nInclude the `code` folders content in the root of the zipfile. As we're using `:` as a separator you have to put the path config between `''` otherwise it will be interpreted as yaml.\n\n```\npaths:\n - 'code:'\n```\n\nInclude only one file from the code folder\n\n```\npaths:\n - 'code/index.py'\n```\n\nInclude only one file from the code folder and rename it to another folder\n\n```\npaths:\n - 'code/index.py:other/events.py'\n```\n\nInclude one file from the code folder put it in the root\n\n```\npaths:\n - 'code/index.py:'\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheserverlessway%2Fdeployto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheserverlessway%2Fdeployto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheserverlessway%2Fdeployto/lists"}