From 602a507b894a3647c8ecc110b76cfb12e02ca34f Mon Sep 17 00:00:00 2001 From: Derek Graeber Date: Thu, 16 Jan 2025 20:19:36 +0000 Subject: [PATCH 1/4] feat: adding support for lib isolation --- CHANGELOG.md | 1 + docs/requirements-docs.in | 3 +- docs/requirements-docs.txt | 25 +++------- requirements-dev.in | 4 +- requirements-dev.txt | 98 +++++++++++++++----------------------- requirements.txt | 36 +++++++------- seedfarmer/__init__.py | 2 +- setup.py | 2 +- 8 files changed, 70 insertions(+), 101 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6200a923..538acc63 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a Ch ## Unreleased ### New +- adding support for isolation of codeseeder and seedfarmer installations from module libraries ### Changes diff --git a/docs/requirements-docs.in b/docs/requirements-docs.in index 2ce2f3c3..e4df73e5 100644 --- a/docs/requirements-docs.in +++ b/docs/requirements-docs.in @@ -13,5 +13,6 @@ docutils~=0.16 PyYAML==6.0.2 urllib3~=1.26.19 wheel==0.44.0 -typing-extensions==4.12.2 +typing-extensions>=4.11 certifi~=2024.8.30 +jinja2>=3.1.5 diff --git a/docs/requirements-docs.txt b/docs/requirements-docs.txt index 686ddb4f..86a8bf5f 100644 --- a/docs/requirements-docs.txt +++ b/docs/requirements-docs.txt @@ -1,12 +1,12 @@ # -# This file is autogenerated by pip-compile with Python 3.9 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # -# pip-compile requirements-docs.in +# pip-compile docs/requirements-docs.in # alabaster==0.7.13 # via sphinx -astroid==2.15.5 +astroid==3.3.8 # via sphinx-autoapi babel==2.12.1 # via sphinx @@ -29,15 +29,12 @@ idna==3.7 # via requests imagesize==1.4.1 # via sphinx -importlib-metadata==7.1.0 - # via sphinx -jinja2==3.1.4 +jinja2==3.1.5 # via + # -r docs/requirements-docs.in # myst-parser # sphinx # sphinx-autoapi -lazy-object-proxy==1.10.0 - # via astroid markdown-it-py==3.0.0 # via # mdit-py-plugins @@ -50,7 +47,7 @@ mdurl==0.1.2 # via markdown-it-py myst-parser==3.0.1 # via -r docs/requirements-docs.in -packaging==23.1 +packaging==24.2 # via sphinx pygments==2.15.1 # via sphinx @@ -104,19 +101,11 @@ sphinxcontrib-serializinghtml==2.0.0 # via # -r docs/requirements-docs.in # sphinx -stdlib-list==0.10.0 - # via sphinx-autoapi typing-extensions==4.12.2 - # via - # -r docs/requirements-docs.in - # astroid + # via -r docs/requirements-docs.in urllib3==1.26.19 # via # -r docs/requirements-docs.in # requests wheel==0.44.0 # via -r docs/requirements-docs.in -wrapt==1.15.0 - # via astroid -zipp==3.19.1 - # via importlib-metadata diff --git a/requirements-dev.in b/requirements-dev.in index 69b9b181..f4ee7232 100644 --- a/requirements-dev.in +++ b/requirements-dev.in @@ -1,6 +1,6 @@ -c requirements.txt -awscli~=1.34.29 +awscli>=1.35 certifi~=2024.8.30 check-manifest~=0.48 mypy~=1.11 @@ -20,4 +20,4 @@ wheel~=0.44.0 boto3-stubs[codebuild,iam,s3,secretsmanager,ssm,sts]~=1.35.34 moto[s3,sts,iam,codebuild,secretsmanager,ssm]~=5.0.16 requests~=2.32.3 -werkzeug~=3.0.4 +werkzeug>=3.0.6 diff --git a/requirements-dev.txt b/requirements-dev.txt index 698c4175..8d2e893a 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,22 +1,20 @@ # -# This file is autogenerated by pip-compile with Python 3.9 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # pip-compile requirements-dev.in # -awscli==1.34.29 +awscli==1.37.0 # via -r requirements-dev.in -backports-tarfile==1.2.0 - # via jaraco-context -boto3==1.35.29 +boto3==1.36.0 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # moto boto3-stubs[codebuild,iam,s3,secretsmanager,ssm,sts]==1.35.34 # via -r requirements-dev.in -botocore==1.35.29 +botocore==1.36.0 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # awscli # boto3 # moto @@ -30,20 +28,20 @@ build==1.2.1 # pyroma certifi==2024.8.30 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # -r requirements-dev.in # requests cffi==1.16.0 # via cryptography -charset-normalizer==3.3.2 +charset-normalizer==3.4.1 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # requests check-manifest==0.49 # via -r requirements-dev.in -click==8.1.7 +click==8.1.8 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # pip-tools colorama==0.4.6 # via awscli @@ -58,17 +56,12 @@ docutils==0.16 # awscli # pyroma # readme-renderer -exceptiongroup==1.2.2 - # via pytest idna==3.10 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # requests importlib-metadata==8.0.0 - # via - # build - # keyring - # twine + # via twine iniconfig==2.0.0 # via pytest jaraco-classes==3.4.0 @@ -81,29 +74,29 @@ jeepney==0.8.0 # via # keyring # secretstorage -jinja2==3.1.4 +jinja2==3.1.5 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # moto jmespath==1.0.1 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # boto3 # botocore keyring==25.2.1 # via twine markdown-it-py==3.0.0 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # rich -markupsafe==2.1.5 +markupsafe==3.0.2 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # jinja2 # werkzeug mdurl==0.1.2 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # markdown-it-py more-itertools==10.3.0 # via @@ -127,13 +120,13 @@ mypy-boto3-sts==1.35.0 # via boto3-stubs mypy-extensions==1.0.0 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # mypy nh3==0.2.18 # via readme-renderer -packaging==24.1 +packaging==24.2 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # build # pyroma # pytest @@ -151,9 +144,9 @@ pycparser==2.22 # via cffi pydot==3.0.2 # via -r requirements-dev.in -pygments==2.18.0 +pygments==2.19.1 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # pyroma # readme-renderer # rich @@ -179,12 +172,12 @@ pytest-ordering==0.6 # via -r requirements-dev.in python-dateutil==2.9.0.post0 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # botocore # moto pyyaml==6.0.2 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # awscli # moto # responses @@ -192,7 +185,7 @@ readme-renderer==43.0 # via twine requests==2.32.3 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # -r requirements-dev.in # moto # pyroma @@ -205,33 +198,25 @@ responses==0.25.3 # via moto rfc3986==2.0.0 # via twine -rich==13.8.1 +rich==13.9.4 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # twine rsa==4.7.2 # via awscli ruff==0.6.9 # via -r requirements-dev.in -s3transfer==0.10.2 +s3transfer==0.11.0 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # awscli # boto3 secretstorage==3.3.3 # via keyring -six==1.16.0 +six==1.17.0 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # python-dateutil -tomli==2.0.1 - # via - # build - # check-manifest - # coverage - # mypy - # pip-tools - # pytest trove-classifiers==2024.7.2 # via pyroma twine==5.1.1 @@ -250,23 +235,16 @@ types-urllib3==1.26.25.14 # via types-requests typing-extensions==4.12.2 # via - # -c requirements.txt - # boto3-stubs + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # mypy - # mypy-boto3-codebuild - # mypy-boto3-iam - # mypy-boto3-s3 - # mypy-boto3-secretsmanager - # mypy-boto3-ssm - # mypy-boto3-sts -urllib3==1.26.19 +urllib3==1.26.20 # via - # -c requirements.txt + # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # botocore # requests # responses # twine -werkzeug==3.0.4 +werkzeug==3.1.3 # via # -r requirements-dev.in # moto diff --git a/requirements.txt b/requirements.txt index 7b431340..02fe7d5c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.9 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # pip-compile @@ -8,13 +8,13 @@ annotated-types==0.7.0 # via pydantic arrow==1.3.0 # via cookiecutter -aws-codeseeder==1.1.0 +aws-codeseeder==1.2.0 # via seed-farmer (setup.py) binaryornot==0.4.4 # via cookiecutter -boto3==1.35.72 +boto3==1.36.0 # via aws-codeseeder -botocore==1.35.72 +botocore==1.36.0 # via # boto3 # s3transfer @@ -27,9 +27,9 @@ cfn-flip==1.3.0 # via aws-codeseeder chardet==5.2.0 # via binaryornot -charset-normalizer==3.4.0 +charset-normalizer==3.4.1 # via requests -click==8.1.7 +click==8.1.8 # via # aws-codeseeder # cfn-flip @@ -42,11 +42,11 @@ executor==23.2 # via seed-farmer (setup.py) fasteners==0.19 # via executor -gitdb==4.0.11 +gitdb==4.0.12 # via gitpython gitignore-parser==0.1.11 # via seed-farmer (setup.py) -gitpython==3.1.43 +gitpython==3.1.44 # via seed-farmer (setup.py) humanfriendly==10.0 # via @@ -55,7 +55,7 @@ humanfriendly==10.0 # property-manager idna==3.10 # via requests -jinja2==3.1.4 +jinja2==3.1.5 # via cookiecutter jmespath==1.0.1 # via @@ -63,7 +63,7 @@ jmespath==1.0.1 # botocore markdown-it-py==3.0.0 # via rich -markupsafe~=2.1.5 +markupsafe==3.0.2 # via jinja2 mdurl==0.1.2 # via markdown-it-py @@ -73,11 +73,11 @@ packaging==24.2 # via seed-farmer (setup.py) property-manager==3.0 # via executor -pydantic==2.10.2 +pydantic==2.10.5 # via seed-farmer (setup.py) -pydantic-core~=2.27.1 +pydantic-core==2.27.2 # via pydantic -pygments==2.18.0 +pygments==2.19.1 # via rich pyhumps==3.8.0 # via seed-farmer (setup.py) @@ -103,25 +103,25 @@ rich==13.9.4 # via # cookiecutter # seed-farmer (setup.py) -s3transfer==0.10.4 +s3transfer==0.11.0 # via boto3 -six==1.16.0 +six==1.17.0 # via # cfn-flip # executor # python-dateutil -smmap==5.0.1 +smmap==5.0.2 # via gitdb text-unidecode==1.3 # via python-slugify -types-python-dateutil==2.9.0.20241003 +types-python-dateutil==2.9.0.20241206 # via arrow typing-extensions==4.12.2 # via # pydantic # pydantic-core # seed-farmer (setup.py) -urllib3==1.26.19 +urllib3==1.26.20 # via # botocore # requests diff --git a/seedfarmer/__init__.py b/seedfarmer/__init__.py index dceda04f..3595209d 100644 --- a/seedfarmer/__init__.py +++ b/seedfarmer/__init__.py @@ -112,7 +112,7 @@ def configure(configuration: CodeSeederConfig) -> None: ), 'timeout 15 sh -c "until docker info; do echo .; sleep 1; done"', ] - configuration.python_modules = [f"seed-farmer=={__version__}"] + configuration.pythonpipx_modules = [f"seed-farmer=={__version__}"] @property def PROJECT(self) -> str: diff --git a/setup.py b/setup.py index 3ac60841..245c5f65 100644 --- a/setup.py +++ b/setup.py @@ -45,7 +45,7 @@ keywords=["aws", "cdk"], python_requires=">=3.8,<3.13", install_requires=[ - "aws-codeseeder~=1.1.0", + "aws-codeseeder~=1.2.0", "cookiecutter>=2.1,<2.7", "pyhumps>=3.5,<3.9", "pydantic>=2.8.2,<2.11.0", From 9b565d54f2a4ffbeef129976fc65fa79e39cbce8 Mon Sep 17 00:00:00 2001 From: Derek Graeber Date: Thu, 16 Jan 2025 20:30:12 +0000 Subject: [PATCH 2/4] altering deps libs --- requirements.txt | 6 ++++-- setup.py | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 02fe7d5c..a1b70324 100644 --- a/requirements.txt +++ b/requirements.txt @@ -63,8 +63,10 @@ jmespath==1.0.1 # botocore markdown-it-py==3.0.0 # via rich -markupsafe==3.0.2 - # via jinja2 +markupsafe==2.1.3 + # via + # jinja2 + # seed-farmer (setup.py) mdurl==0.1.2 # via markdown-it-py mypy-extensions==1.0.0 diff --git a/setup.py b/setup.py index 245c5f65..0c152f08 100644 --- a/setup.py +++ b/setup.py @@ -60,6 +60,7 @@ "urllib3~=1.26.17", "certifi>=2024.7.4,<2024.9.0", "packaging>=23.2,<25.0", + "markupsafe~=2.1.3" ], entry_points={"console_scripts": ["seedfarmer = seedfarmer.__main__:main"]}, classifiers=[ From 3e447dbb6d4024b4ed8292a287d523acde1746a2 Mon Sep 17 00:00:00 2001 From: Derek Graeber Date: Thu, 16 Jan 2025 20:53:29 +0000 Subject: [PATCH 3/4] deprecating 3.8 support --- .github/workflows/main.yml | 2 +- CHANGELOG.md | 1 + requirements.txt | 6 ++---- setup.py | 4 +--- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fded0710..7f2bdef2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11","3.12"] + python-version: ["3.9", "3.10", "3.11","3.12"] defaults: run: working-directory: . diff --git a/CHANGELOG.md b/CHANGELOG.md index 538acc63..c438655b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a Ch - adding support for isolation of codeseeder and seedfarmer installations from module libraries ### Changes +- removing support for python 3.8 due to deprecated libraries and inability to accommodate 3.8 through 3.12 ### Fixes diff --git a/requirements.txt b/requirements.txt index a1b70324..02fe7d5c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -63,10 +63,8 @@ jmespath==1.0.1 # botocore markdown-it-py==3.0.0 # via rich -markupsafe==2.1.3 - # via - # jinja2 - # seed-farmer (setup.py) +markupsafe==3.0.2 + # via jinja2 mdurl==0.1.2 # via markdown-it-py mypy-extensions==1.0.0 diff --git a/setup.py b/setup.py index 0c152f08..27615c1b 100644 --- a/setup.py +++ b/setup.py @@ -43,7 +43,7 @@ license=about["__license__"], packages=find_packages(include=["seed-farmer", "seedfarmer", "seedfarmer.*", "seed-farmer.*"]), keywords=["aws", "cdk"], - python_requires=">=3.8,<3.13", + python_requires=">=3.9,<3.13", install_requires=[ "aws-codeseeder~=1.2.0", "cookiecutter>=2.1,<2.7", @@ -60,7 +60,6 @@ "urllib3~=1.26.17", "certifi>=2024.7.4,<2024.9.0", "packaging>=23.2,<25.0", - "markupsafe~=2.1.3" ], entry_points={"console_scripts": ["seedfarmer = seedfarmer.__main__:main"]}, classifiers=[ @@ -69,7 +68,6 @@ "Intended Audience :: Information Technology", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", From 1cc6d7e3cd55152aa19570864eaabc979eb382b3 Mon Sep 17 00:00:00 2001 From: Derek Graeber Date: Thu, 16 Jan 2025 21:13:36 +0000 Subject: [PATCH 4/4] removing comments that refer to developers paths --- requirements-dev.txt | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 8d2e893a..3e6b3a4c 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -8,13 +8,11 @@ awscli==1.37.0 # via -r requirements-dev.in boto3==1.36.0 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # moto boto3-stubs[codebuild,iam,s3,secretsmanager,ssm,sts]==1.35.34 # via -r requirements-dev.in botocore==1.36.0 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # awscli # boto3 # moto @@ -28,20 +26,17 @@ build==1.2.1 # pyroma certifi==2024.8.30 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # -r requirements-dev.in # requests cffi==1.16.0 # via cryptography charset-normalizer==3.4.1 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # requests check-manifest==0.49 # via -r requirements-dev.in click==8.1.8 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # pip-tools colorama==0.4.6 # via awscli @@ -58,7 +53,6 @@ docutils==0.16 # readme-renderer idna==3.10 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # requests importlib-metadata==8.0.0 # via twine @@ -76,27 +70,22 @@ jeepney==0.8.0 # secretstorage jinja2==3.1.5 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # moto jmespath==1.0.1 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # boto3 # botocore keyring==25.2.1 # via twine markdown-it-py==3.0.0 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # rich markupsafe==3.0.2 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # jinja2 # werkzeug mdurl==0.1.2 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # markdown-it-py more-itertools==10.3.0 # via @@ -120,13 +109,11 @@ mypy-boto3-sts==1.35.0 # via boto3-stubs mypy-extensions==1.0.0 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # mypy nh3==0.2.18 # via readme-renderer packaging==24.2 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # build # pyroma # pytest @@ -146,7 +133,6 @@ pydot==3.0.2 # via -r requirements-dev.in pygments==2.19.1 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # pyroma # readme-renderer # rich @@ -172,12 +158,12 @@ pytest-ordering==0.6 # via -r requirements-dev.in python-dateutil==2.9.0.post0 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt + # botocore # moto pyyaml==6.0.2 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt + # awscli # moto # responses @@ -185,7 +171,7 @@ readme-renderer==43.0 # via twine requests==2.32.3 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt + # -r requirements-dev.in # moto # pyroma @@ -200,7 +186,6 @@ rfc3986==2.0.0 # via twine rich==13.9.4 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # twine rsa==4.7.2 # via awscli @@ -208,14 +193,12 @@ ruff==0.6.9 # via -r requirements-dev.in s3transfer==0.11.0 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # awscli # boto3 secretstorage==3.3.3 # via keyring six==1.17.0 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # python-dateutil trove-classifiers==2024.7.2 # via pyroma @@ -235,11 +218,9 @@ types-urllib3==1.26.25.14 # via types-requests typing-extensions==4.12.2 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # mypy urllib3==1.26.20 # via - # -c /workplace/dgraeber/seed-group/seed-farmer/requirements.txt # botocore # requests # responses