diff --git a/Makefile b/Makefile index bbefd00..a3741a3 100644 --- a/Makefile +++ b/Makefile @@ -163,7 +163,7 @@ ifeq ($(strip $(PIPENV)),) else ifeq ($(shell which $(PIPENV)),) $(error Can't find $(PIPENV); see https://pipenv.readthedocs.io/ to install) else - $(PIPENV) install --dev + $(PIPENV) install endif diff --git a/Pipfile b/Pipfile index 9ba7f5f..9f532dd 100644 --- a/Pipfile +++ b/Pipfile @@ -1,18 +1,22 @@ +# This project uses pipenv only to manage the development environment. +# Actual package dependencies are tracked in setup.py. + [[source]] url = "https://pypi.org/simple" verify_ssl = true name = "pypi" [packages] - -[dev-packages] -# boto3 included in Lambda Execution Environment -# https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html +# Packages required for custom builds and testing awscli = "*" boto3 = "*" botocore = "*" cfn-lint = "*" + +[dev-packages] +# Additional packages required for maintaining/releasing this project python-gitlab = "*" +twine = "*" [requires] python_version = "3.6" diff --git a/Pipfile.lock b/Pipfile.lock index 46a5a98..9a418a2 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "25e120a140a1aad23cfecce3497f83c5ca50a0ba2f4dd74dd944739d4b98d551" + "sha256": "13bf102567e9154013ff7100553d170785f76782cdb31fb494477cf94db4e8de" }, "pipfile-spec": 6, "requires": { @@ -15,37 +15,36 @@ } ] }, - "default": {}, - "develop": { + "default": { "aws-sam-translator": { "hashes": [ - "sha256:973f397554d89dbd4119cf18efec3bb42b9ba4889af4a9928c0992c7772642b4" + "sha256:bdf9ba476a9a7726fe93746670ccae257955352d98b231f32e9529f01db7ef3b" ], - "version": "==1.7.0" + "version": "==1.8.0" }, "awscli": { "hashes": [ - "sha256:6547d3292d87b4b911efc6b09332f8fda88f0679e5285c2b3e4aca3b6549c8a5", - "sha256:d748382b7ef93f107f3e77d798f6d0ffb59efc2b04148b970c07e04b196e7f9c" + "sha256:678d178e05440b4912d218d81feb2106b59050d7435f4f424c45afb9906113da", + "sha256:915c4449c82eab400247ca737c47a90e315bc3d87614d5dbdde157ebb1520b0c" ], "index": "pypi", - "version": "==1.16.39" + "version": "==1.16.47" }, "boto3": { "hashes": [ - "sha256:137d8bf453c7daa794aa8fe094e0365287260062db88b0edc53eb061c1a2f655", - "sha256:aff5297d37130097e04c33dd65d885906e4012dfa2863b228b21335857d7b4e8" + "sha256:4c45dc363daba811baeb7b6307ddf5c60beb9a43e1d0707d0786cd9acb20b563", + "sha256:767bc7273d4a3580d87b605bfe240745dcbdd7828e1dc85fa69ae692f56cfd00" ], "index": "pypi", - "version": "==1.9.29" + "version": "==1.9.37" }, "botocore": { "hashes": [ - "sha256:494b351c6d1b55f6f334bd86b1a3bd2e7a10d935ae6e6eaac0a72a46b524a17d", - "sha256:a255db27a0b550736f684e767e263dd0bfe09e9f4a71720e6dcb78a0c5223ad0" + "sha256:a256dbe50b05111a53640ac5defd71aa589d1fab27bd7df7310d7f0da72447a7", + "sha256:eed1b39027ee882ebd0df10dcb7307db20fc4b468debae513dc183743e850d17" ], "index": "pypi", - "version": "==1.12.29" + "version": "==1.12.37" }, "certifi": { "hashes": [ @@ -56,10 +55,11 @@ }, "cfn-lint": { "hashes": [ - "sha256:ae2785d2b768208af175098f39c47233f80220cb96d3aaef2c78616b06d08443" + "sha256:0495ccc153094561c2a3cfeec97dd3c2a51c19083237251187c96aad670b5f0d", + "sha256:ee8bc280641eac0beda6124da610c4c842c714feadcdec112e262693fb01d330" ], "index": "pypi", - "version": "==0.8.1" + "version": "==0.8.3" }, "chardet": { "hashes": [ @@ -127,18 +127,11 @@ }, "python-dateutil": { "hashes": [ - "sha256:1adb80e7a782c12e52ef9a8182bebeb73f1d7e24e374397af06fb4956c8dc5c0", - "sha256:e27001de32f627c22380a688bcc43ce83504a7bc5da472209b4c70f02829f0b8" + "sha256:063df5763652e21de43de7d9e00ccf239f953a832941e37be541614732cdfc93", + "sha256:88f9287c0174266bb0d8cedd395cfba9c58e87e5ad86b2ce58859bc11be3cf02" ], "markers": "python_version >= '2.7'", - "version": "==2.7.3" - }, - "python-gitlab": { - "hashes": [ - "sha256:20ceb9232f9a412ce6554056a6b5039013d0755261d57b5c8ada7035773de795" - ], - "index": "pypi", - "version": "==1.6.0" + "version": "==2.7.5" }, "pyyaml": { "hashes": [ @@ -186,11 +179,128 @@ }, "urllib3": { "hashes": [ - "sha256:41c3db2fc01e5b907288010dec72f9d0a74e37d6994e6eb56849f59fea2265ae", - "sha256:8819bba37a02d143296a4d032373c4dd4aca11f6d4c9973335ca75f9c8475f59" + "sha256:61bf29cada3fc2fbefad4fdf059ea4bd1b4a86d2b6d15e1c7c0b582b9752fe39", + "sha256:de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22" + ], + "markers": "python_version >= '3.4'", + "version": "==1.24.1" + } + }, + "develop": { + "bleach": { + "hashes": [ + "sha256:48d39675b80a75f6d1c3bdbffec791cf0bbbab665cf01e20da701c77de278718", + "sha256:73d26f018af5d5adcdabf5c1c974add4361a9c76af215fe32fdec8a6fc5fb9b9" + ], + "version": "==3.0.2" + }, + "certifi": { + "hashes": [ + "sha256:339dc09518b07e2fa7eda5450740925974815557727d6bd35d319c1524a04a4c", + "sha256:6d58c986d22b038c8c0df30d639f23a3e6d172a05c3583e766f4c0b785c0986a" + ], + "version": "==2018.10.15" + }, + "chardet": { + "hashes": [ + "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", + "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" + ], + "version": "==3.0.4" + }, + "docutils": { + "hashes": [ + "sha256:02aec4bd92ab067f6ff27a38a38a41173bf01bed8f89157768c1573f53e474a6", + "sha256:51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274", + "sha256:7a4bd47eaf6596e1295ecb11361139febe29b084a87bf005bf899f9a42edc3c6" + ], + "version": "==0.14" + }, + "idna": { + "hashes": [ + "sha256:156a6814fb5ac1fc6850fb002e0852d56c0c8d2531923a51032d1b70760e186e", + "sha256:684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16" + ], + "version": "==2.7" + }, + "pkginfo": { + "hashes": [ + "sha256:5878d542a4b3f237e359926384f1dde4e099c9f5525d236b1840cf704fa8d474", + "sha256:a39076cb3eb34c333a0dd390b568e9e1e881c7bf2cc0aee12120636816f55aee" + ], + "version": "==1.4.2" + }, + "pygments": { + "hashes": [ + "sha256:78f3f434bcc5d6ee09020f92ba487f95ba50f1e3ef83ae96b9d5ffa1bab25c5d", + "sha256:dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc" + ], + "version": "==2.2.0" + }, + "python-gitlab": { + "hashes": [ + "sha256:20ceb9232f9a412ce6554056a6b5039013d0755261d57b5c8ada7035773de795" + ], + "index": "pypi", + "version": "==1.6.0" + }, + "readme-renderer": { + "hashes": [ + "sha256:bb16f55b259f27f75f640acf5e00cf897845a8b3e4731b5c1a436e4b8529202f", + "sha256:c8532b79afc0375a85f10433eca157d6b50f7d6990f337fa498c96cd4bfc203d" + ], + "version": "==24.0" + }, + "requests": { + "hashes": [ + "sha256:99dcfdaaeb17caf6e526f32b6a7b780461512ab3f1d992187801694cba42770c", + "sha256:a84b8c9ab6239b578f22d1c21d51b696dcfe004032bb80ea832398d6909d7279" + ], + "version": "==2.20.0" + }, + "requests-toolbelt": { + "hashes": [ + "sha256:42c9c170abc2cacb78b8ab23ac957945c7716249206f90874651971a4acff237", + "sha256:f6a531936c6fa4c6cfce1b9c10d5c4f498d16528d2a54a22ca00011205a187b5" + ], + "version": "==0.8.0" + }, + "six": { + "hashes": [ + "sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9", + "sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb" + ], + "version": "==1.11.0" + }, + "tqdm": { + "hashes": [ + "sha256:3c4d4a5a41ef162dd61f1edb86b0e1c7859054ab656b2e7c7b77e7fbf6d9f392", + "sha256:5b4d5549984503050883bc126280b386f5f4ca87e6c023c5d015655ad75bdebb" + ], + "version": "==4.28.1" + }, + "twine": { + "hashes": [ + "sha256:7d89bc6acafb31d124e6e5b295ef26ac77030bf098960c2a4c4e058335827c5c", + "sha256:fad6f1251195f7ddd1460cb76d6ea106c93adb4e56c41e0da79658e56e547d2c" + ], + "index": "pypi", + "version": "==1.12.1" + }, + "urllib3": { + "hashes": [ + "sha256:61bf29cada3fc2fbefad4fdf059ea4bd1b4a86d2b6d15e1c7c0b582b9752fe39", + "sha256:de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22" ], "markers": "python_version >= '3.4'", - "version": "==1.24" + "version": "==1.24.1" + }, + "webencodings": { + "hashes": [ + "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", + "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923" + ], + "version": "==0.5.1" } } } diff --git a/README.md b/README.md index 54416ab..57c6cfa 100644 --- a/README.md +++ b/README.md @@ -377,13 +377,14 @@ Development requires GNU Make (standard on most Linux-like systems) and [pipenv] tracked in `setup.py`.) To set up your development environment, clone the repository and then run `make init`. -(This just runs `pipenv install --dev`.) +(This just runs `pipenv install`. If you are a package maintainer who will release +to PyPI, use `pipenv install --dev` instead.) To see a list of available make targets, run `make help`. -To package and upload your own version of the Lambda zip package and the templates, -run `make S3_BUCKET=your_bucket_name upload`. If you just want to build locally -without uploading to S3, run `make S3_BUCKET=your_bucket_name all`. You can also +To package and upload your own version of the Lambda zip package and the CloudFormation +templates, run `make S3_BUCKET=your_bucket_name upload`. If you just want to build +locally without uploading to S3, run `make S3_BUCKET=your_bucket_name all`. You can also include `S3_PREFIX=your/s3/prefix` or `S3_PREFIX=` in either of these commands, if desired.