lamby 1.0.1 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) 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 +58 -0
  6. data/Dockerfile +12 -0
  7. data/Gemfile +2 -0
  8. data/Gemfile.lock +94 -79
  9. data/README.md +9 -3
  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 -4
  20. data/lib/lamby/debug.rb +8 -1
  21. data/lib/lamby/handler.rb +16 -3
  22. data/lib/lamby/logger.rb +13 -9
  23. data/lib/lamby/rack.rb +21 -9
  24. data/lib/lamby/rack_alb.rb +12 -15
  25. data/lib/lamby/rack_http.rb +84 -0
  26. data/lib/lamby/{rack_api.rb → rack_rest.rb} +7 -3
  27. data/lib/lamby/ssm_parameter_store.rb +9 -8
  28. data/lib/lamby/templates.rake +4 -3
  29. data/lib/lamby/templates/{application_load_balancer.rb → alb.rb} +2 -2
  30. data/lib/lamby/templates/{application_load_balancer → alb}/app.rb +0 -0
  31. data/lib/lamby/templates/{application_load_balancer → alb}/build +1 -1
  32. data/lib/lamby/templates/{application_load_balancer → alb}/deploy +1 -1
  33. data/lib/lamby/templates/{application_load_balancer → alb}/template.yaml +1 -1
  34. data/lib/lamby/templates/{api_gateway.rb → http.rb} +3 -3
  35. data/lib/lamby/templates/{api_gateway → http}/app.rb +1 -1
  36. data/lib/lamby/templates/{api_gateway → http}/build +1 -1
  37. data/lib/lamby/templates/{api_gateway → http}/deploy +1 -1
  38. data/lib/lamby/templates/http/template.yaml +48 -0
  39. data/lib/lamby/templates/rest.rb +25 -0
  40. data/lib/lamby/templates/rest/app.rb +10 -0
  41. data/lib/lamby/templates/rest/build +23 -0
  42. data/lib/lamby/templates/rest/deploy +22 -0
  43. data/lib/lamby/templates/{api_gateway → rest}/template.yaml +2 -2
  44. data/lib/lamby/templates/shared.rb +3 -1
  45. data/lib/lamby/version.rb +1 -1
  46. data/vendor/.keep +0 -0
  47. metadata +29 -37
  48. data/.python-version +0 -1
  49. data/.travis.yml +0 -17
  50. data/Brewfile +0 -5
  51. data/Pipfile +0 -13
  52. data/Pipfile.lock +0 -370
@@ -1,4 +1,4 @@
1
- #!/bin/bash
1
+ #!/usr/bin/env bash
2
2
  set -e
3
3
 
4
4
  # Clean any previous bundle/builds.
@@ -1,4 +1,4 @@
1
- #!/bin/bash
1
+ #!/usr/bin/env bash
2
2
  set -e
3
3
 
4
4
  export RAILS_ENV=${RAILS_ENV:="production"}
@@ -70,7 +70,7 @@ Resources:
70
70
  Properties:
71
71
  CodeUri: .
72
72
  Handler: app.handler
73
- Runtime: ruby2.5
73
+ Runtime: ruby2.7
74
74
  MemorySize: 512
75
75
  Timeout: 30
76
76
  Environment:
@@ -1,7 +1,7 @@
1
- $LAMBY_INSTALLER_NAME = 'api_gateway'
1
+ $LAMBY_INSTALLER_NAME = 'http'
2
2
  load 'lamby/templates/shared.rb'
3
3
 
4
- say '==> Running Lamby API Gateway installer...'
4
+ say '==> Running Lamby API Gateway (HTTP API) installer...'
5
5
 
6
6
  say 'Copying files...'
7
7
  copy_file tpl_file('app.rb'), app_file('app.rb')
@@ -10,7 +10,7 @@ gsub_file app_file('template.yaml'), /APPNAMEHERE/, appname
10
10
 
11
11
  say 'Adding to .gitignore...'
12
12
  FileUtils.touch app_file('.gitignore')
13
- append_to_file app_file('.gitignore'), <<-GITIGNORE.strip_heredoc
13
+ append_to_file app_file('.gitignore'), <<~GITIGNORE
14
14
  # Lamby
15
15
  /.aws-sam
16
16
  GITIGNORE
@@ -6,5 +6,5 @@ require_relative 'config/environment'
6
6
  $app = Rack::Builder.new { run Rails.application }.to_app
7
7
 
8
8
  def handler(event:, context:)
9
- Lamby.handler $app, event, context, rack: :api
9
+ Lamby.handler $app, event, context, rack: :http
10
10
  end
@@ -1,4 +1,4 @@
1
- #!/bin/bash
1
+ #!/usr/bin/env bash
2
2
  set -e
3
3
 
4
4
  # Clean any previous bundle/builds.
@@ -1,4 +1,4 @@
1
- #!/bin/bash
1
+ #!/usr/bin/env bash
2
2
  set -e
3
3
 
4
4
  export RAILS_ENV=${RAILS_ENV:="production"}
@@ -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
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.1'
2
+ VERSION = '2.2.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.1
4
+ version: 2.2.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-09-04 00:00:00.000000000 Z
11
+ date: 2020-07-02 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
- }