lamby 1.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/cicd.yml +17 -0
  3. data/.gitignore +1 -1
  4. data/.ruby-version +1 -1
  5. data/CHANGELOG.md +51 -0
  6. data/Dockerfile +12 -0
  7. data/Gemfile +2 -0
  8. data/Gemfile.lock +94 -79
  9. data/README.md +10 -4
  10. data/Rakefile +1 -0
  11. data/bin/_setup +6 -0
  12. data/bin/_test +6 -0
  13. data/bin/bootstrap +3 -17
  14. data/bin/setup +3 -3
  15. data/bin/test +6 -3
  16. data/bin/update +2 -2
  17. data/docker-compose.yml +14 -0
  18. data/lamby.gemspec +1 -2
  19. data/lib/lamby.rb +7 -3
  20. data/lib/lamby/handler.rb +16 -3
  21. data/lib/lamby/logger.rb +13 -9
  22. data/lib/lamby/rack.rb +11 -9
  23. data/lib/lamby/rack_alb.rb +11 -14
  24. data/lib/lamby/rack_http.rb +80 -0
  25. data/lib/lamby/{rack_api.rb → rack_rest.rb} +7 -3
  26. data/lib/lamby/ssm_parameter_store.rb +3 -3
  27. data/lib/lamby/templates.rake +4 -3
  28. data/lib/lamby/templates/{application_load_balancer.rb → alb.rb} +1 -1
  29. data/lib/lamby/templates/{application_load_balancer → alb}/app.rb +0 -0
  30. data/lib/lamby/templates/{application_load_balancer → alb}/build +3 -3
  31. data/lib/lamby/templates/{application_load_balancer → alb}/deploy +1 -1
  32. data/lib/lamby/templates/{application_load_balancer → alb}/template.yaml +1 -1
  33. data/lib/lamby/templates/{api_gateway.rb → http.rb} +2 -2
  34. data/lib/lamby/templates/{api_gateway → http}/app.rb +1 -1
  35. data/lib/lamby/templates/{api_gateway → http}/build +3 -3
  36. data/lib/lamby/templates/{api_gateway → http}/deploy +1 -1
  37. data/lib/lamby/templates/http/template.yaml +48 -0
  38. data/lib/lamby/templates/rest.rb +25 -0
  39. data/lib/lamby/templates/rest/app.rb +10 -0
  40. data/lib/lamby/templates/rest/build +23 -0
  41. data/lib/lamby/templates/rest/deploy +22 -0
  42. data/lib/lamby/templates/{api_gateway → rest}/template.yaml +2 -2
  43. data/lib/lamby/templates/shared.rb +3 -1
  44. data/lib/lamby/version.rb +1 -1
  45. data/vendor/.keep +0 -0
  46. metadata +29 -37
  47. data/.python-version +0 -1
  48. data/.travis.yml +0 -17
  49. data/Brewfile +0 -5
  50. data/Pipfile +0 -13
  51. data/Pipfile.lock +0 -370
@@ -0,0 +1,48 @@
1
+ AWSTemplateFormatVersion: '2010-09-09'
2
+ Transform: AWS::Serverless-2016-10-31
3
+ Description: APPNAMEHERE Lambda (HTTP API)
4
+
5
+ Parameters:
6
+
7
+ RailsEnv:
8
+ Type: String
9
+ Default: production
10
+ AllowedValues:
11
+ - staging
12
+ - production
13
+
14
+ Resources:
15
+
16
+ RailsFunction:
17
+ Type: AWS::Serverless::Function
18
+ Properties:
19
+ CodeUri: .
20
+ Handler: app.handler
21
+ Runtime: ruby2.7
22
+ MemorySize: 512
23
+ Timeout: 30
24
+ Environment:
25
+ Variables:
26
+ RAILS_ENV: !Ref RailsEnv
27
+ FunctionName: !Join [ '', [ 'APPNAMEHERE-', !Ref RailsEnv, '-', !Ref 'AWS::Region' ] ]
28
+ Events:
29
+ RailsApiProxy:
30
+ Type: HttpApi
31
+ Properties:
32
+ ApiId: !Ref RailsApi
33
+ AutoPublishAlias: live
34
+
35
+ RailsApi:
36
+ Type: AWS::Serverless::HttpApi
37
+ Properties:
38
+ StageName: !Ref RailsEnv
39
+
40
+ Outputs:
41
+
42
+ RailsApiUrl:
43
+ Description: API Gateway Endpoint
44
+ Value: !Sub "https://${RailsApi}.execute-api.${AWS::Region}.amazonaws.com/${RailsEnv}/"
45
+
46
+ RailsFunctionArn:
47
+ Description: Lambda ARN
48
+ Value: !GetAtt RailsFunction.Arn
@@ -0,0 +1,25 @@
1
+ $LAMBY_INSTALLER_NAME = 'rest'
2
+ load 'lamby/templates/shared.rb'
3
+
4
+ say '==> Running Lamby API Gateway (REST API) installer...'
5
+
6
+ say 'Copying files...'
7
+ copy_file tpl_file('app.rb'), app_file('app.rb')
8
+ copy_file tpl_file('template.yaml'), app_file('template.yaml')
9
+ gsub_file app_file('template.yaml'), /APPNAMEHERE/, appname
10
+
11
+ say 'Adding to .gitignore...'
12
+ FileUtils.touch app_file('.gitignore')
13
+ append_to_file app_file('.gitignore'), <<-GITIGNORE.strip_heredoc
14
+ # Lamby
15
+ /.aws-sam
16
+ GITIGNORE
17
+
18
+ say 'Creating ./bin files for build and deploy...'
19
+ copy_file tpl_file('build'), app_file('bin/build')
20
+ chmod app_file('bin/build'), 0755
21
+ copy_file tpl_file('deploy'), app_file('bin/deploy')
22
+ chmod app_file('bin/deploy'), 0755
23
+ gsub_file app_file('bin/deploy'), /APPNAMEHERE/, appname.downcase
24
+
25
+ say 'Welcome to AWS Lambda and Rails 🎉', :green
@@ -0,0 +1,10 @@
1
+ require_relative 'config/boot'
2
+ require 'lamby'
3
+ require_relative 'config/application'
4
+ require_relative 'config/environment'
5
+
6
+ $app = Rack::Builder.new { run Rails.application }.to_app
7
+
8
+ def handler(event:, context:)
9
+ Lamby.handler $app, event, context, rack: :rest
10
+ end
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ # Clean any previous bundle/builds.
5
+ rm -rf ./.aws-sam/build
6
+
7
+ # Ensure native extensions built for platform.
8
+ sam build --use-container
9
+
10
+ # [HOOK] Environments & Configuration
11
+ # https://lamby.custominktech.com/docs/environment_and_configuration
12
+
13
+ # [HOOK] Asset Hosts & Precompiling
14
+ # https://lamby.custominktech.com/docs/asset_host_and_precompiling
15
+
16
+ # Clean un-needed artifacts.
17
+ pushd ./.aws-sam/build/RailsFunction/
18
+ rm -rf .aws-sam \
19
+ .git \
20
+ log \
21
+ test \
22
+ tmp
23
+ popd
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ export RAILS_ENV=${RAILS_ENV:="production"}
5
+ export AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION:=us-east-1}
6
+ export CLOUDFORMATION_BUCKET=${CLOUDFORMATION_BUCKET:="lamby.cloudformation.$(whoami)"}
7
+
8
+ ./bin/build
9
+
10
+ sam package \
11
+ --region ${AWS_DEFAULT_REGION} \
12
+ --template-file ./.aws-sam/build/template.yaml \
13
+ --output-template-file ./.aws-sam/build/packaged.yaml \
14
+ --s3-bucket $CLOUDFORMATION_BUCKET \
15
+ --s3-prefix "APPNAMEHERE-${RAILS_ENV}"
16
+
17
+ sam deploy \
18
+ --template-file ./.aws-sam/build/packaged.yaml \
19
+ --stack-name "APPNAMEHERE-${RAILS_ENV}-${AWS_DEFAULT_REGION}" \
20
+ --capabilities "CAPABILITY_IAM" \
21
+ --parameter-overrides \
22
+ RailsEnv=${RAILS_ENV}
@@ -1,6 +1,6 @@
1
1
  AWSTemplateFormatVersion: '2010-09-09'
2
2
  Transform: AWS::Serverless-2016-10-31
3
- Description: APPNAMEHERE Lambda (API)
3
+ Description: APPNAMEHERE Lambda (REST API)
4
4
 
5
5
  Parameters:
6
6
 
@@ -51,7 +51,7 @@ Resources:
51
51
  Properties:
52
52
  CodeUri: .
53
53
  Handler: app.handler
54
- Runtime: ruby2.5
54
+ Runtime: ruby2.7
55
55
  MemorySize: 512
56
56
  Timeout: 30
57
57
  Environment:
@@ -11,5 +11,7 @@ def tpl_file(path)
11
11
  end
12
12
 
13
13
  def appname
14
- Rails.application.class.parent.name
14
+ k = Rails.application.class
15
+ p = k.respond_to?(:module_parent) ? k.module_parent : k.parent
16
+ p.name
15
17
  end
@@ -1,3 +1,3 @@
1
1
  module Lamby
2
- VERSION = '1.0.0'
2
+ VERSION = '2.1.0'
3
3
  end
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lamby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Collins
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-07-08 00:00:00.000000000 Z
11
+ date: 2020-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: rails
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: aws-sdk-ssm
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -95,7 +81,7 @@ dependencies:
95
81
  - !ruby/object:Gem::Version
96
82
  version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
- name: mocha
84
+ name: minitest-focus
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - ">="
@@ -109,7 +95,7 @@ dependencies:
109
95
  - !ruby/object:Gem::Version
110
96
  version: '0'
111
97
  - !ruby/object:Gem::Dependency
112
- name: pry
98
+ name: mocha
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
101
  - - ">="
@@ -123,7 +109,7 @@ dependencies:
123
109
  - !ruby/object:Gem::Version
124
110
  version: '0'
125
111
  - !ruby/object:Gem::Dependency
126
- name: sqlite3
112
+ name: pry
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
115
  - - ">="
@@ -143,25 +129,25 @@ executables: []
143
129
  extensions: []
144
130
  extra_rdoc_files: []
145
131
  files:
132
+ - ".github/workflows/cicd.yml"
146
133
  - ".gitignore"
147
- - ".python-version"
148
134
  - ".ruby-version"
149
- - ".travis.yml"
150
- - Brewfile
151
135
  - CHANGELOG.md
152
136
  - CODE_OF_CONDUCT.md
137
+ - Dockerfile
153
138
  - Gemfile
154
139
  - Gemfile.lock
155
140
  - LICENSE.txt
156
- - Pipfile
157
- - Pipfile.lock
158
141
  - README.md
159
142
  - Rakefile
143
+ - bin/_setup
144
+ - bin/_test
160
145
  - bin/bootstrap
161
146
  - bin/console
162
147
  - bin/setup
163
148
  - bin/test
164
149
  - bin/update
150
+ - docker-compose.yml
165
151
  - lamby.gemspec
166
152
  - lib/lamby.rb
167
153
  - lib/lamby/debug.rb
@@ -169,24 +155,31 @@ files:
169
155
  - lib/lamby/logger.rb
170
156
  - lib/lamby/rack.rb
171
157
  - lib/lamby/rack_alb.rb
172
- - lib/lamby/rack_api.rb
158
+ - lib/lamby/rack_http.rb
159
+ - lib/lamby/rack_rest.rb
173
160
  - lib/lamby/railtie.rb
174
161
  - lib/lamby/sam_helpers.rb
175
162
  - lib/lamby/ssm_parameter_store.rb
176
163
  - lib/lamby/tasks.rake
177
164
  - lib/lamby/templates.rake
178
- - lib/lamby/templates/api_gateway.rb
179
- - lib/lamby/templates/api_gateway/app.rb
180
- - lib/lamby/templates/api_gateway/build
181
- - lib/lamby/templates/api_gateway/deploy
182
- - lib/lamby/templates/api_gateway/template.yaml
183
- - lib/lamby/templates/application_load_balancer.rb
184
- - lib/lamby/templates/application_load_balancer/app.rb
185
- - lib/lamby/templates/application_load_balancer/build
186
- - lib/lamby/templates/application_load_balancer/deploy
187
- - lib/lamby/templates/application_load_balancer/template.yaml
165
+ - lib/lamby/templates/alb.rb
166
+ - lib/lamby/templates/alb/app.rb
167
+ - lib/lamby/templates/alb/build
168
+ - lib/lamby/templates/alb/deploy
169
+ - lib/lamby/templates/alb/template.yaml
170
+ - lib/lamby/templates/http.rb
171
+ - lib/lamby/templates/http/app.rb
172
+ - lib/lamby/templates/http/build
173
+ - lib/lamby/templates/http/deploy
174
+ - lib/lamby/templates/http/template.yaml
175
+ - lib/lamby/templates/rest.rb
176
+ - lib/lamby/templates/rest/app.rb
177
+ - lib/lamby/templates/rest/build
178
+ - lib/lamby/templates/rest/deploy
179
+ - lib/lamby/templates/rest/template.yaml
188
180
  - lib/lamby/templates/shared.rb
189
181
  - lib/lamby/version.rb
182
+ - vendor/.keep
190
183
  homepage: https://github.com/customink/lamby
191
184
  licenses:
192
185
  - MIT
@@ -206,8 +199,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
206
199
  - !ruby/object:Gem::Version
207
200
  version: '0'
208
201
  requirements: []
209
- rubyforge_project:
210
- rubygems_version: 2.7.6.2
202
+ rubygems_version: 3.1.2
211
203
  signing_key:
212
204
  specification_version: 4
213
205
  summary: Simple Rails & AWS Lambda Integration using Rack
@@ -1 +0,0 @@
1
- 3.6.7
@@ -1,17 +0,0 @@
1
- ---
2
- if: branch = master OR type = pull_request
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.5.5
7
- install:
8
- - pushd /opt/pyenv/plugins/python-build && git pull origin master && popd
9
- before_script:
10
- - ls -lAGp
11
- - pyenv install --skip-existing $(cat .python-version)
12
- - sudo apt-get install python3-pip python3-dev
13
- - pip3 install pipenv
14
- - sudo gem install bundler -v 1.17.3
15
- - bin/setup
16
- script:
17
- - bin/test
data/Brewfile DELETED
@@ -1,5 +0,0 @@
1
- cask 'docker'
2
- brew 'zlib'
3
- brew 'rbenv'
4
- brew 'pyenv'
5
- brew 'pipenv'
data/Pipfile DELETED
@@ -1,13 +0,0 @@
1
- [[source]]
2
- name = "pypi"
3
- url = "https://pypi.org/simple"
4
- verify_ssl = true
5
-
6
- [dev-packages]
7
-
8
- [packages]
9
- awscli = ">=1.16.166"
10
- aws-sam-cli = ">=0.16.1"
11
-
12
- [requires]
13
- python_version = "3.6.7"
@@ -1,370 +0,0 @@
1
- {
2
- "_meta": {
3
- "hash": {
4
- "sha256": "816a6a878711ca86e9fb35f0e63dbb285cc6a802fb7bfd64492477a7695a6bbd"
5
- },
6
- "pipfile-spec": 6,
7
- "requires": {
8
- "python_version": "3.6.7"
9
- },
10
- "sources": [
11
- {
12
- "name": "pypi",
13
- "url": "https://pypi.org/simple",
14
- "verify_ssl": true
15
- }
16
- ]
17
- },
18
- "default": {
19
- "arrow": {
20
- "hashes": [
21
- "sha256:03404b624e89ac5e4fc19c52045fa0f3203419fd4dd64f6e8958c522580a574a",
22
- "sha256:41be7ea4c53c2cf57bf30f2d614f60c411160133f7a0a8c49111c30fb7e725b5"
23
- ],
24
- "version": "==0.14.2"
25
- },
26
- "aws-lambda-builders": {
27
- "hashes": [
28
- "sha256:427724b039409a05a706a3f8125cb88c3901527b1192f4da2588714103f68b08",
29
- "sha256:9222fc6d6ac481bf5fa1849e2ae2b353eb38d310eea76606824c971b39482705",
30
- "sha256:e7c06c79a9f031a461b00a7241396115cf3e5bed0db0d6c9763cfb2cde7779dd"
31
- ],
32
- "version": "==0.3.0"
33
- },
34
- "aws-sam-cli": {
35
- "hashes": [
36
- "sha256:1da003711aab7fa668f2fbf82d078e407b64533a8d356d4452d2e38bdab3a55e",
37
- "sha256:95be2293373f323975198f7695eb712d687920d1e376918b54df24d9c4ef1580",
38
- "sha256:b487e4e3c6947f4d7a1694a18ff35a080ad540caf118cbdfca86657729e3a9ea"
39
- ],
40
- "index": "pypi",
41
- "version": "==0.17.0"
42
- },
43
- "aws-sam-translator": {
44
- "hashes": [
45
- "sha256:0e1fa094c6791b233f5e73f2f0803ec6e0622f2320ec5a969f0986855221b92b"
46
- ],
47
- "version": "==1.10.0"
48
- },
49
- "awscli": {
50
- "hashes": [
51
- "sha256:0331fe61eb2d64fc8045141baf3e919db7e2d39b188a171c52865df1f13f3312",
52
- "sha256:ccd5b3021ed537a147709ed19807364acdd4ae23a033568966bdf62ecb4da810"
53
- ],
54
- "index": "pypi",
55
- "version": "==1.16.177"
56
- },
57
- "binaryornot": {
58
- "hashes": [
59
- "sha256:359501dfc9d40632edc9fac890e19542db1a287bbcfa58175b66658392018061",
60
- "sha256:b8b71173c917bddcd2c16070412e369c3ed7f0528926f70cac18a6c97fd563e4"
61
- ],
62
- "version": "==0.4.4"
63
- },
64
- "boto3": {
65
- "hashes": [
66
- "sha256:60bbb64ca5ff05ec3aecca582e33b516e774c739fa9e9591c1e3db512e81bc49",
67
- "sha256:e59cf23e82156b8f4d8dcebd8fcae618b30ca10125f9e7222eb181a627913f0d"
68
- ],
69
- "version": "==1.9.167"
70
- },
71
- "botocore": {
72
- "hashes": [
73
- "sha256:bba0548c3638877aebe3356819b5235b9d39cd4d2ebac9946979a93e412bb777",
74
- "sha256:d3424b05a13ac38efe225a2f75a72d3f949513980f737001ae9279edd81b1b31"
75
- ],
76
- "version": "==1.12.167"
77
- },
78
- "certifi": {
79
- "hashes": [
80
- "sha256:59b7658e26ca9c7339e00f8f4636cdfe59d34fa37b9b04f6f9e9926b3cece1a5",
81
- "sha256:b26104d6835d1f5e49452a26eb2ff87fe7090b89dfcaee5ea2212697e1e1d7ae"
82
- ],
83
- "version": "==2019.3.9"
84
- },
85
- "chardet": {
86
- "hashes": [
87
- "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae",
88
- "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"
89
- ],
90
- "version": "==3.0.4"
91
- },
92
- "chevron": {
93
- "hashes": [
94
- "sha256:95b0a055ef0ada5eb061d60be64a7f70670b53372ccd221d1b88adf1c41a9094",
95
- "sha256:f95054a8b303268ebf3efd6bdfc8c1b428d3fc92327913b4e236d062ec61c989"
96
- ],
97
- "version": "==0.13.1"
98
- },
99
- "click": {
100
- "hashes": [
101
- "sha256:29f99fc6125fbc931b758dc053b3114e55c77a6e4c6c3a2674a2dc986016381d",
102
- "sha256:f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"
103
- ],
104
- "version": "==6.7"
105
- },
106
- "colorama": {
107
- "hashes": [
108
- "sha256:463f8483208e921368c9f306094eb6f725c6ca42b0f97e313cb5d5512459feda",
109
- "sha256:48eb22f4f8461b1df5734a074b57042430fb06e1d61bd1e11b078c0fe6d7a1f1"
110
- ],
111
- "version": "==0.3.9"
112
- },
113
- "cookiecutter": {
114
- "hashes": [
115
- "sha256:1316a52e1c1f08db0c9efbf7d876dbc01463a74b155a0d83e722be88beda9a3e",
116
- "sha256:ed8f54a8fc79b6864020d773ce11539b5f08e4617f353de1f22d23226f6a0d36"
117
- ],
118
- "version": "==1.6.0"
119
- },
120
- "dateparser": {
121
- "hashes": [
122
- "sha256:42d51be54e74a8e80a4d76d1fa6e4edd997098fce24ad2d94a2eab5ef247193e",
123
- "sha256:78124c458c461ea7198faa3c038f6381f37588b84bb42740e91a4cbd260b1d09"
124
- ],
125
- "version": "==0.7.1"
126
- },
127
- "docker": {
128
- "hashes": [
129
- "sha256:3db499d4d25847fed86acf8e100c989f7bc0f75a6fff6c52855726ada1d124f6",
130
- "sha256:f61c37d721b489b7d55ef631b241be2d6a5884c3ffe63dc8f7dd9a3c3cd60489"
131
- ],
132
- "version": "==4.0.1"
133
- },
134
- "docutils": {
135
- "hashes": [
136
- "sha256:02aec4bd92ab067f6ff27a38a38a41173bf01bed8f89157768c1573f53e474a6",
137
- "sha256:51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274",
138
- "sha256:7a4bd47eaf6596e1295ecb11361139febe29b084a87bf005bf899f9a42edc3c6"
139
- ],
140
- "version": "==0.14"
141
- },
142
- "flask": {
143
- "hashes": [
144
- "sha256:ad7c6d841e64296b962296c2c2dabc6543752985727af86a975072dea984b6f3",
145
- "sha256:e7d32475d1de5facaa55e3958bc4ec66d3762076b074296aa50ef8fdc5b9df61"
146
- ],
147
- "version": "==1.0.3"
148
- },
149
- "future": {
150
- "hashes": [
151
- "sha256:67045236dcfd6816dc439556d009594abf643e5eb48992e36beac09c2ca659b8"
152
- ],
153
- "version": "==0.17.1"
154
- },
155
- "idna": {
156
- "hashes": [
157
- "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407",
158
- "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c"
159
- ],
160
- "version": "==2.8"
161
- },
162
- "itsdangerous": {
163
- "hashes": [
164
- "sha256:321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19",
165
- "sha256:b12271b2047cb23eeb98c8b5622e2e5c5e9abd9784a153e9d8ef9cb4dd09d749"
166
- ],
167
- "version": "==1.1.0"
168
- },
169
- "jinja2": {
170
- "hashes": [
171
- "sha256:065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013",
172
- "sha256:14dd6caf1527abb21f08f86c784eac40853ba93edb79552aa1e4b8aef1b61c7b"
173
- ],
174
- "version": "==2.10.1"
175
- },
176
- "jinja2-time": {
177
- "hashes": [
178
- "sha256:d14eaa4d315e7688daa4969f616f226614350c48730bfa1692d2caebd8c90d40",
179
- "sha256:d3eab6605e3ec8b7a0863df09cc1d23714908fa61aa6986a845c20ba488b4efa"
180
- ],
181
- "version": "==0.2.0"
182
- },
183
- "jmespath": {
184
- "hashes": [
185
- "sha256:3720a4b1bd659dd2eecad0666459b9788813e032b83e7ba58578e48254e0a0e6",
186
- "sha256:bde2aef6f44302dfb30320115b17d030798de8c4110e28d5cf6cf91a7a31074c"
187
- ],
188
- "version": "==0.9.4"
189
- },
190
- "jsonschema": {
191
- "hashes": [
192
- "sha256:000e68abd33c972a5248544925a0cae7d1125f9bf6c58280d37546b946769a08",
193
- "sha256:6ff5f3180870836cae40f06fa10419f557208175f13ad7bc26caa77beb1f6e02"
194
- ],
195
- "version": "==2.6.0"
196
- },
197
- "markupsafe": {
198
- "hashes": [
199
- "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473",
200
- "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161",
201
- "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235",
202
- "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5",
203
- "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff",
204
- "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b",
205
- "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1",
206
- "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e",
207
- "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183",
208
- "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66",
209
- "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1",
210
- "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1",
211
- "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e",
212
- "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b",
213
- "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905",
214
- "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735",
215
- "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d",
216
- "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e",
217
- "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d",
218
- "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c",
219
- "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21",
220
- "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2",
221
- "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5",
222
- "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b",
223
- "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6",
224
- "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f",
225
- "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f",
226
- "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"
227
- ],
228
- "version": "==1.1.1"
229
- },
230
- "poyo": {
231
- "hashes": [
232
- "sha256:c34a5413191210ed564640510e9c4a4ba3b698746d6b454d46eb5bfb30edcd1d",
233
- "sha256:d1c317054145a6b1ca0608b5e676b943ddc3bfd671f886a2fe09288b98221edb"
234
- ],
235
- "version": "==0.4.2"
236
- },
237
- "pyasn1": {
238
- "hashes": [
239
- "sha256:da2420fe13a9452d8ae97a0e478adde1dee153b11ba832a95b223a2ba01c10f7",
240
- "sha256:da6b43a8c9ae93bc80e2739efb38cc776ba74a886e3e9318d65fe81a8b8a2c6e"
241
- ],
242
- "version": "==0.4.5"
243
- },
244
- "python-dateutil": {
245
- "hashes": [
246
- "sha256:7e6584c74aeed623791615e26efd690f29817a27c73085b78e4bad02493df2fb",
247
- "sha256:c89805f6f4d64db21ed966fda138f8a5ed7a4fdbc1a8ee329ce1b74e3c74da9e"
248
- ],
249
- "markers": "python_version >= '2.7'",
250
- "version": "==2.8.0"
251
- },
252
- "pytz": {
253
- "hashes": [
254
- "sha256:303879e36b721603cc54604edcac9d20401bdbe31e1e4fdee5b9f98d5d31dfda",
255
- "sha256:d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141"
256
- ],
257
- "version": "==2019.1"
258
- },
259
- "pyyaml": {
260
- "hashes": [
261
- "sha256:3d7da3009c0f3e783b2c873687652d83b1bbfd5c88e9813fb7e5b03c0dd3108b",
262
- "sha256:3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf",
263
- "sha256:40c71b8e076d0550b2e6380bada1f1cd1017b882f7e16f09a65be98e017f211a",
264
- "sha256:558dd60b890ba8fd982e05941927a3911dc409a63dcb8b634feaa0cda69330d3",
265
- "sha256:a7c28b45d9f99102fa092bb213aa12e0aaf9a6a1f5e395d36166639c1f96c3a1",
266
- "sha256:aa7dd4a6a427aed7df6fb7f08a580d68d9b118d90310374716ae90b710280af1",
267
- "sha256:bc558586e6045763782014934bfaf39d48b8ae85a2713117d16c39864085c613",
268
- "sha256:d46d7982b62e0729ad0175a9bc7e10a566fc07b224d2c79fafb5e032727eaa04",
269
- "sha256:d5eef459e30b09f5a098b9cea68bebfeb268697f78d647bd255a085371ac7f3f",
270
- "sha256:e01d3203230e1786cd91ccfdc8f8454c8069c91bee3962ad93b87a4b2860f537",
271
- "sha256:e170a9e6fcfd19021dd29845af83bb79236068bf5fd4df3327c1be18182b2531"
272
- ],
273
- "version": "==3.13"
274
- },
275
- "regex": {
276
- "hashes": [
277
- "sha256:1c70ccb8bf4ded0cbe53092e9f56dcc9d6b0efcf6e80b6ef9b0ece8a557d6635",
278
- "sha256:2948310c01535ccb29bb600dd033b07b91f36e471953889b7f3a1e66b39d0c19",
279
- "sha256:2ab13db0411cb308aa590d33c909ea4efeced40188d8a4a7d3d5970657fe73bc",
280
- "sha256:38e6486c7e14683cd1b17a4218760f0ea4c015633cf1b06f7c190fb882a51ba7",
281
- "sha256:80dde4ff10b73b823da451687363cac93dd3549e059d2dc19b72a02d048ba5aa",
282
- "sha256:84daedefaa56320765e9c4d43912226d324ef3cc929f4d75fa95f8c579a08211",
283
- "sha256:b98e5876ca1e63b41c4aa38d7d5cc04a736415d4e240e9ae7ebc4f780083c7d5",
284
- "sha256:ca4f47131af28ef168ff7c80d4b4cad019cb4cabb5fa26143f43aa3dbd60389c",
285
- "sha256:cf7838110d3052d359da527372666429b9485ab739286aa1a11ed482f037a88c",
286
- "sha256:dd4e8924915fa748e128864352875d3d0be5f4597ab1b1d475988b8e3da10dd7",
287
- "sha256:f2c65530255e4010a5029eb11138f5ecd5aa70363f57a3444d83b3253b0891be"
288
- ],
289
- "version": "==2019.6.8"
290
- },
291
- "requests": {
292
- "hashes": [
293
- "sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4",
294
- "sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31"
295
- ],
296
- "version": "==2.22.0"
297
- },
298
- "rsa": {
299
- "hashes": [
300
- "sha256:25df4e10c263fb88b5ace923dd84bf9aa7f5019687b5e55382ffcdb8bede9db5",
301
- "sha256:43f682fea81c452c98d09fc316aae12de6d30c4b5c84226642cf8f8fd1c93abd"
302
- ],
303
- "version": "==3.4.2"
304
- },
305
- "s3transfer": {
306
- "hashes": [
307
- "sha256:6efc926738a3cd576c2a79725fed9afde92378aa5c6a957e3af010cb019fac9d",
308
- "sha256:b780f2411b824cb541dbcd2c713d0cb61c7d1bcadae204cdddda2b35cef493ba"
309
- ],
310
- "version": "==0.2.1"
311
- },
312
- "serverlessrepo": {
313
- "hashes": [
314
- "sha256:533389d41a51450e50cc01405ab766550170149c08e1c85b3a1559b0fab4cb25",
315
- "sha256:d40e83d29175ba3eddaa02f1dac57332d1dec495e012cd2e80366be9ad7c94a5"
316
- ],
317
- "version": "==0.1.8"
318
- },
319
- "six": {
320
- "hashes": [
321
- "sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9",
322
- "sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb"
323
- ],
324
- "version": "==1.11.0"
325
- },
326
- "tzlocal": {
327
- "hashes": [
328
- "sha256:4ebeb848845ac898da6519b9b31879cf13b6626f7184c496037b818e238f2c4e"
329
- ],
330
- "version": "==1.5.1"
331
- },
332
- "urllib3": {
333
- "hashes": [
334
- "sha256:b246607a25ac80bedac05c6f282e3cdaf3afb65420fd024ac94435cabe6e18d1",
335
- "sha256:dbe59173209418ae49d485b87d1681aefa36252ee85884c31346debd19463232"
336
- ],
337
- "markers": "python_version >= '3.4'",
338
- "version": "==1.25.3"
339
- },
340
- "websocket-client": {
341
- "hashes": [
342
- "sha256:1151d5fb3a62dc129164292e1227655e4bbc5dd5340a5165dfae61128ec50aa9",
343
- "sha256:1fd5520878b68b84b5748bb30e592b10d0a91529d5383f74f4964e72b297fd3a"
344
- ],
345
- "version": "==0.56.0"
346
- },
347
- "werkzeug": {
348
- "hashes": [
349
- "sha256:865856ebb55c4dcd0630cdd8f3331a1847a819dda7e8c750d3db6f2aa6c0209c",
350
- "sha256:a0b915f0815982fb2a09161cb8f31708052d0951c3ba433ccc5e1aa276507ca6"
351
- ],
352
- "version": "==0.15.4"
353
- },
354
- "wheel": {
355
- "hashes": [
356
- "sha256:5e79117472686ac0c4aef5bad5172ea73a1c2d1646b808c35926bd26bdfb0c08",
357
- "sha256:62fcfa03d45b5b722539ccbc07b190e4bfff4bb9e3a4d470dd9f6a0981002565"
358
- ],
359
- "version": "==0.33.4"
360
- },
361
- "whichcraft": {
362
- "hashes": [
363
- "sha256:7533870f751901a0ce43c93cc9850186e9eba7fe58c924dfb435968ba9c9fa4e",
364
- "sha256:fecddd531f237ffc5db8b215409afb18fa30300699064cca4817521b4fc81815"
365
- ],
366
- "version": "==0.5.2"
367
- }
368
- },
369
- "develop": {}
370
- }