Skip to content

Commit 10ef0aa

Browse files
authored
Merge pull request nficano#100 from scotwk/feature-specify-requirements-file
Change --use-requirements to --requirements <PATH> (nficano#86)
2 parents 4999de4 + 3d7d855 commit 10ef0aa

File tree

2 files changed

+40
-42
lines changed

2 files changed

+40
-42
lines changed

aws_lambda/aws_lambda.py

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def cleanup_old_versions(
8383

8484

8585
def deploy(
86-
src, use_requirements=False, local_package=None,
86+
src, requirements=None, local_package=None,
8787
config_file='config.yaml', profile_name=None,
8888
):
8989
"""Deploys a new function to AWS Lambda.
@@ -105,7 +105,7 @@ def deploy(
105105
# directory.
106106
path_to_zip_file = build(
107107
src, config_file=config_file,
108-
use_requirements=use_requirements,
108+
requirements=requirements,
109109
local_package=local_package,
110110
)
111111

@@ -117,7 +117,7 @@ def deploy(
117117

118118

119119
def deploy_s3(
120-
src, use_requirements=False, local_package=None,
120+
src, requirements=None, local_package=None,
121121
config_file='config.yaml', profile_name=None,
122122
):
123123
"""Deploys a new function via AWS S3.
@@ -138,7 +138,7 @@ def deploy_s3(
138138
# Zip the contents of this folder into a single file and output to the dist
139139
# directory.
140140
path_to_zip_file = build(
141-
src, config_file=config_file, use_requirements=use_requirements,
141+
src, config_file=config_file, requirements=requirements,
142142
local_package=local_package,
143143
)
144144

@@ -153,7 +153,7 @@ def deploy_s3(
153153

154154

155155
def upload(
156-
src, use_requirements=False, local_package=None,
156+
src, requirements=None, local_package=None,
157157
config_file='config.yaml', profile_name=None,
158158
):
159159
"""Uploads a new function to AWS S3.
@@ -174,7 +174,7 @@ def upload(
174174
# Zip the contents of this folder into a single file and output to the dist
175175
# directory.
176176
path_to_zip_file = build(
177-
src, config_file=config_file, use_requirements=use_requirements,
177+
src, config_file=config_file, requirements=requirements,
178178
local_package=local_package,
179179
)
180180

@@ -261,7 +261,7 @@ def init(src, minimal=False):
261261

262262

263263
def build(
264-
src, use_requirements=False, local_package=None,
264+
src, requirements=None, local_package=None,
265265
config_file='config.yaml', profile_name=None,
266266
):
267267
"""Builds the file bundle.
@@ -291,7 +291,7 @@ def build(
291291
path_to_temp = mkdtemp(prefix='aws-lambda')
292292
pip_install_to_target(
293293
path_to_temp,
294-
use_requirements=use_requirements,
294+
requirements=requirements,
295295
local_package=local_package,
296296
)
297297

@@ -410,30 +410,28 @@ def _filter_blacklist(package):
410410
pip.main(['install', package, '-t', path, '--ignore-installed'])
411411

412412

413-
def pip_install_to_target(path, use_requirements=False, local_package=None):
413+
def pip_install_to_target(path, requirements=None, local_package=None):
414414
"""For a given active virtualenv, gather all installed pip packages then
415415
copy (re-install) them to the path provided.
416416
417417
:param str path:
418418
Path to copy installed pip packages to.
419-
:param bool use_requirements:
420-
If set, only the packages in the requirements.txt file are installed.
421-
The requirements.txt file needs to be in the same directory as the
422-
project which shall be deployed.
423-
Defaults to false and installs all pacakges found via pip freeze if
424-
not set.
419+
:param str requirements:
420+
If set, only the packages in the supplied requirements file are
421+
installed.
422+
If not set then installs all packages found via pip freeze.
425423
:param str local_package:
426424
The path to a local package with should be included in the deploy as
427425
well (and/or is not available on PyPi)
428426
"""
429427
packages = []
430-
if not use_requirements:
428+
if not requirements:
431429
print('Gathering pip packages')
432430
packages.extend(pip.operations.freeze.freeze())
433431
else:
434-
if os.path.exists('requirements.txt'):
432+
if os.path.exists(requirements):
435433
print('Gathering requirement packages')
436-
data = read('requirements.txt')
434+
data = read(requirements)
437435
packages.extend(data.splitlines())
438436

439437
if not packages:

scripts/lambda

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,10 @@ def init(folder, minimal):
4848
help='AWS profile to use.',
4949
)
5050
@click.option(
51-
'--use-requirements',
52-
default=False,
53-
is_flag=True,
54-
help='Install all packages defined in requirements.txt',
51+
'--requirements',
52+
default=None,
53+
type=click.Path(),
54+
help='Install packages from supplied requirements file.',
5555
)
5656
@click.option(
5757
'--local-package',
@@ -60,10 +60,10 @@ def init(folder, minimal):
6060
help='Install local package as well.',
6161
multiple=True,
6262
)
63-
def build(use_requirements, local_package, config_file, profile):
63+
def build(requirements, local_package, config_file, profile):
6464
aws_lambda.build(
6565
CURRENT_DIR,
66-
use_requirements=use_requirements,
66+
requirements=requirements,
6767
local_package=local_package,
6868
config_file=config_file,
6969
profile_name=profile,
@@ -107,10 +107,10 @@ def invoke(event_file, config_file, profile, verbose):
107107
help='AWS profile to use.',
108108
)
109109
@click.option(
110-
'--use-requirements',
111-
default=False,
112-
is_flag=True,
113-
help='Install all packages defined in requirements.txt',
110+
'--requirements',
111+
default=None,
112+
type=click.Path(),
113+
help='Install all packages defined in supplied requirements file',
114114
)
115115
@click.option(
116116
'--local-package',
@@ -119,10 +119,10 @@ def invoke(event_file, config_file, profile, verbose):
119119
help='Install local package as well.',
120120
multiple=True,
121121
)
122-
def deploy(use_requirements, local_package, config_file, profile):
122+
def deploy(requirements, local_package, config_file, profile):
123123
aws_lambda.deploy(
124124
CURRENT_DIR,
125-
use_requirements=use_requirements,
125+
requirements=requirements,
126126
local_package=local_package,
127127
config_file=config_file,
128128
profile_name=profile,
@@ -140,10 +140,10 @@ def deploy(use_requirements, local_package, config_file, profile):
140140
help='AWS profile to use.',
141141
)
142142
@click.option(
143-
'--use-requirements',
144-
default=False,
145-
is_flag=True,
146-
help='Install all packages defined in requirements.txt',
143+
'--requirements',
144+
default=None,
145+
type=click.Path(),
146+
help='Install all packages defined in supplied requirements file',
147147
)
148148
@click.option(
149149
'--local-package',
@@ -152,10 +152,10 @@ def deploy(use_requirements, local_package, config_file, profile):
152152
help='Install local package as well.',
153153
multiple=True,
154154
)
155-
def upload(use_requirements, local_package, config_file, profile):
155+
def upload(requirements, local_package, config_file, profile):
156156
aws_lambda.upload(
157157
CURRENT_DIR,
158-
use_requirements=use_requirements,
158+
requirements=requirements,
159159
local_package=local_package,
160160
config_file=config_file,
161161
profile_name=profile,
@@ -173,10 +173,10 @@ def upload(use_requirements, local_package, config_file, profile):
173173
help='AWS profile to use.',
174174
)
175175
@click.option(
176-
'--use-requirements',
177-
default=False,
178-
is_flag=True,
179-
help='Install all packages defined in requirements.txt',
176+
'--requirements',
177+
default=None,
178+
type=click.Path(),
179+
help='Install all packages defined in supplied requirements file',
180180
)
181181
@click.option(
182182
'--local-package',
@@ -185,10 +185,10 @@ def upload(use_requirements, local_package, config_file, profile):
185185
multiple=True,
186186
help='Install local package as well.',
187187
)
188-
def deploy_s3(use_requirements, local_package, config_file, profile):
188+
def deploy_s3(requirements, local_package, config_file, profile):
189189
aws_lambda.deploy_s3(
190190
CURRENT_DIR,
191-
use_requirements=use_requirements,
191+
requirements=requirements,
192192
local_package=local_package,
193193
config_file=config_file,
194194
profile_name=profile,

0 commit comments

Comments
 (0)