From a38f9a0c2738faee7510a5c0693dc243e44a09ac Mon Sep 17 00:00:00 2001 From: JensDiemer Date: Fri, 29 Dec 2023 22:00:39 +0100 Subject: [PATCH] Still support Python v3.9 --- .github/workflows/tests.yml | 2 +- .gitignore | 1 + README.md | 8 +- cli.py | 2 +- dev-cli.py | 2 +- manageprojects/__init__.py | 2 +- manageprojects/cli/cli_app.py | 3 + manageprojects/cli/dev.py | 3 +- manageprojects/cookiecutter_templates.py | 2 + manageprojects/tests/test_format_file.py | 14 +-- pyproject.toml | 3 +- requirements.dev.txt | 118 +++++++++++------------ 12 files changed, 85 insertions(+), 75 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 85facf0..c987b67 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.12", "3.11", "3.10"] + python-version: ["3.12", "3.11", "3.10", "3.9"] steps: - name: Checkout run: | diff --git a/.gitignore b/.gitignore index 3a7d905..8210acd 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ *.egg-info __pycache__ /dist/ +/build/ /coverage.* *.orig diff --git a/README.md b/README.md index fec69d9..4a29f74 100644 --- a/README.md +++ b/README.md @@ -332,6 +332,8 @@ See also git tags: https://github.com/jedie/manageprojects/tags [comment]: <> (✂✂✂ auto generated history start ✂✂✂) +* [v0.17.1](https://github.com/jedie/manageprojects/compare/v0.17.0...v0.17.1) + * 2023-12-29 - Still support Python v3.9 * [v0.17.0](https://github.com/jedie/manageprojects/compare/v0.16.2...v0.17.0) * 2023-12-21 - Bugfix: Don't loose the "[manageprojects]" content on overwrite-update * 2023-12-21 - typing: Optional -> None @@ -346,13 +348,13 @@ See also git tags: https://github.com/jedie/manageprojects/tags * 2023-12-16 - Update requirements * [v0.16.1](https://github.com/jedie/manageprojects/compare/v0.16.0...v0.16.1) * 2023-12-05 - Fix "format file" and very verbose error output + +
Expand older history entries ... + * [v0.16.0](https://github.com/jedie/manageprojects/compare/v0.15.4...v0.16.0) * 2023-12-02 - Use code style tooling from cli-base-utilities * 2023-12-01 - Apply https://github.com/jedie/cookiecutter_templates updates * 2023-12-01 - Use: cli_base.cli_tools.test_utils.logs.AssertLogs - -
Expand older history entries ... - * [v0.15.4](https://github.com/jedie/manageprojects/compare/v0.15.3...v0.15.4) * 2023-11-27 - Use "flake8-bugbear", too. * [v0.15.3](https://github.com/jedie/manageprojects/compare/v0.15.2...v0.15.3) diff --git a/cli.py b/cli.py index 175bb51..258e249 100755 --- a/cli.py +++ b/cli.py @@ -33,7 +33,7 @@ def print_no_pip_error(): sys.exit(-1) -assert sys.version_info >= (3, 10), f'Python version {sys.version_info} is too old!' +assert sys.version_info >= (3, 9), f'Python version {sys.version_info} is too old!' if sys.platform == 'win32': # wtf diff --git a/dev-cli.py b/dev-cli.py index 6f46420..ae7d6bf 100755 --- a/dev-cli.py +++ b/dev-cli.py @@ -33,7 +33,7 @@ def print_no_pip_error(): sys.exit(-1) -assert sys.version_info >= (3, 10), f'Python version {sys.version_info} is too old!' +assert sys.version_info >= (3, 9), f'Python version {sys.version_info} is too old!' if sys.platform == 'win32': # wtf diff --git a/manageprojects/__init__.py b/manageprojects/__init__.py index 6a1c5da..42ed462 100644 --- a/manageprojects/__init__.py +++ b/manageprojects/__init__.py @@ -3,5 +3,5 @@ Manage Python / Django projects """ -__version__ = '0.17.0' +__version__ = '0.17.1' __author__ = 'Jens Diemer ' diff --git a/manageprojects/cli/cli_app.py b/manageprojects/cli/cli_app.py index 972487e..30a1689 100644 --- a/manageprojects/cli/cli_app.py +++ b/manageprojects/cli/cli_app.py @@ -1,6 +1,9 @@ """ CLI for usage """ + +from __future__ import annotations + import logging import shutil import subprocess diff --git a/manageprojects/cli/dev.py b/manageprojects/cli/dev.py index 489e7e5..d591c1b 100644 --- a/manageprojects/cli/dev.py +++ b/manageprojects/cli/dev.py @@ -27,7 +27,8 @@ PACKAGE_ROOT = BASE_PATH.parent -assert_is_file(PACKAGE_ROOT / 'pyproject.toml') +assert_is_file(PACKAGE_ROOT / 'pyproject.toml') # Exists only in cloned git repo + OPTION_ARGS_DEFAULT_TRUE = dict(is_flag=True, show_default=True, default=True) OPTION_ARGS_DEFAULT_FALSE = dict(is_flag=True, show_default=True, default=False) diff --git a/manageprojects/cookiecutter_templates.py b/manageprojects/cookiecutter_templates.py index 302c0bc..42297ec 100644 --- a/manageprojects/cookiecutter_templates.py +++ b/manageprojects/cookiecutter_templates.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import logging import subprocess import sys diff --git a/manageprojects/tests/test_format_file.py b/manageprojects/tests/test_format_file.py index dfc0005..d2a2a2f 100644 --- a/manageprojects/tests/test_format_file.py +++ b/manageprojects/tests/test_format_file.py @@ -113,8 +113,8 @@ def test_get_pyproject_info(self): get_pyproject_info(file_path=Path(__file__), default_min_py_version='3.7'), PyProjectInfo( pyproject_toml_path=PACKAGE_ROOT / 'pyproject.toml', - py_min_ver=Version('3.10'), - raw_py_ver_req='>=3.10', + py_min_ver=Version('3.9'), + raw_py_ver_req='>=3.9', ), ) @@ -133,8 +133,8 @@ def test_get_config(self): git_info=GitInfo(cwd=PACKAGE_ROOT, main_branch_name='main'), pyproject_info=PyProjectInfo( pyproject_toml_path=PACKAGE_ROOT / 'pyproject.toml', - py_min_ver=Version('3.10'), - raw_py_ver_req='>=3.10', + py_min_ver=Version('3.9'), + raw_py_ver_req='>=3.9', ), max_line_length=119, ), @@ -174,7 +174,7 @@ def test_format_one_file(self): [ '.../pyupgrade', '--exit-zero-even-if-changed', - '--py310-plus', + '--py39-plus', 'manageprojects/tests/test_format_file.py', ], [ @@ -202,7 +202,7 @@ def test_format_one_file(self): '--line-length', '119', '--target-version', - 'py310', + 'py39', 'manageprojects/tests/test_format_file.py', ], ['.../flake8', '--max-line-length', '119', 'manageprojects/tests/test_format_file.py'], @@ -239,7 +239,7 @@ def test_format_one_file(self): [ '.../pyupgrade', '--exit-zero-even-if-changed', - '--py310-plus', + '--py39-plus', 'manageprojects/tests/test_format_file.py', ], ['.../autoflake', '--in-place', 'manageprojects/tests/test_format_file.py'], diff --git a/pyproject.toml b/pyproject.toml index 5650511..02a5508 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ readme = "README.md" authors = [ {name = 'Jens Diemer', email = 'mamageprojects@jensdiemer.de'} ] -requires-python = ">=3.10" +requires-python = ">=3.9" dependencies = [ "cookiecutter>=2.4.0", # https://github.com/cookiecutter/cookiecutter "tomlkit", @@ -169,6 +169,7 @@ applied_migrations = [ "385f654", # 2023-10-08T21:09:24+02:00 "d1ed4b1", # 2023-12-01T21:41:29+01:00 "c538ae7", # 2023-12-21T20:21:58+01:00 + "7271d4c", # 2023-12-29T21:57:47+01:00 ] [manageprojects.cookiecutter_context.cookiecutter] diff --git a/requirements.dev.txt b/requirements.dev.txt index 0279029..e00e611 100644 --- a/requirements.dev.txt +++ b/requirements.dev.txt @@ -339,59 +339,59 @@ cookiecutter==2.5.0 \ --hash=sha256:8aa2f12ed11bc05628651e9dc4353a10571dd9908aaaaeec959a2b9ea465a5d2 \ --hash=sha256:e61e9034748e3f41b8bd2c11f00d030784b48711c4d5c42363c50989a65331ec # via manageprojects (pyproject.toml) -coverage==7.3.4 \ - --hash=sha256:020d56d2da5bc22a0e00a5b0d54597ee91ad72446fa4cf1b97c35022f6b6dbf0 \ - --hash=sha256:11ab62d0ce5d9324915726f611f511a761efcca970bd49d876cf831b4de65be5 \ - --hash=sha256:183c16173a70caf92e2dfcfe7c7a576de6fa9edc4119b8e13f91db7ca33a7923 \ - --hash=sha256:27ee94f088397d1feea3cb524e4313ff0410ead7d968029ecc4bc5a7e1d34fbf \ - --hash=sha256:3024ec1b3a221bd10b5d87337d0373c2bcaf7afd86d42081afe39b3e1820323b \ - --hash=sha256:309ed6a559bc942b7cc721f2976326efbfe81fc2b8f601c722bff927328507dc \ - --hash=sha256:33e63c578f4acce1b6cd292a66bc30164495010f1091d4b7529d014845cd9bee \ - --hash=sha256:36797b3625d1da885b369bdaaa3b0d9fb8865caed3c2b8230afaa6005434aa2f \ - --hash=sha256:36d75ef2acab74dc948d0b537ef021306796da551e8ac8b467810911000af66a \ - --hash=sha256:38d0b307c4d99a7aca4e00cad4311b7c51b7ac38fb7dea2abe0d182dd4008e05 \ - --hash=sha256:3d892a19ae24b9801771a5a989fb3e850bd1ad2e2b6e83e949c65e8f37bc67a1 \ - --hash=sha256:3f477fb8a56e0c603587b8278d9dbd32e54bcc2922d62405f65574bd76eba78a \ - --hash=sha256:47ee56c2cd445ea35a8cc3ad5c8134cb9bece3a5cb50bb8265514208d0a65928 \ - --hash=sha256:4a4184dcbe4f98d86470273e758f1d24191ca095412e4335ff27b417291f5964 \ - --hash=sha256:5214362abf26e254d749fc0c18af4c57b532a4bfde1a057565616dd3b8d7cc94 \ - --hash=sha256:607b6c6b35aa49defaebf4526729bd5238bc36fe3ef1a417d9839e1d96ee1e4c \ - --hash=sha256:610afaf929dc0e09a5eef6981edb6a57a46b7eceff151947b836d869d6d567c1 \ - --hash=sha256:6879fe41c60080aa4bb59703a526c54e0412b77e649a0d06a61782ecf0853ee1 \ - --hash=sha256:74397a1263275bea9d736572d4cf338efaade2de9ff759f9c26bcdceb383bb49 \ - --hash=sha256:758ebaf74578b73f727acc4e8ab4b16ab6f22a5ffd7dd254e5946aba42a4ce76 \ - --hash=sha256:782693b817218169bfeb9b9ba7f4a9f242764e180ac9589b45112571f32a0ba6 \ - --hash=sha256:7c4277ddaad9293454da19121c59f2d850f16bcb27f71f89a5c4836906eb35ef \ - --hash=sha256:85072e99474d894e5df582faec04abe137b28972d5e466999bc64fc37f564a03 \ - --hash=sha256:8a9c5bc5db3eb4cd55ecb8397d8e9b70247904f8eca718cc53c12dcc98e59fc8 \ - --hash=sha256:8ce03e25e18dd9bf44723e83bc202114817f3367789052dc9e5b5c79f40cf59d \ - --hash=sha256:93698ac0995516ccdca55342599a1463ed2e2d8942316da31686d4d614597ef9 \ - --hash=sha256:997aa14b3e014339d8101b9886063c5d06238848905d9ad6c6eabe533440a9a7 \ - --hash=sha256:9ac17b94ab4ca66cf803f2b22d47e392f0977f9da838bf71d1f0db6c32893cb9 \ - --hash=sha256:a02ac7c51819702b384fea5ee033a7c202f732a2a2f1fe6c41e3d4019828c8d3 \ - --hash=sha256:a1c3e9d2bbd6f3f79cfecd6f20854f4dc0c6e0ec317df2b265266d0dc06535f1 \ - --hash=sha256:a877810ef918d0d345b783fc569608804f3ed2507bf32f14f652e4eaf5d8f8d0 \ - --hash=sha256:a8e258dcc335055ab59fe79f1dec217d9fb0cdace103d6b5c6df6b75915e7959 \ - --hash=sha256:aefbb29dc56317a4fcb2f3857d5bce9b881038ed7e5aa5d3bcab25bd23f57328 \ - --hash=sha256:aff2bd3d585969cc4486bfc69655e862028b689404563e6b549e6a8244f226df \ - --hash=sha256:b1e0f25ae99cf247abfb3f0fac7ae25739e4cd96bf1afa3537827c576b4847e5 \ - --hash=sha256:b710869a15b8caf02e31d16487a931dbe78335462a122c8603bb9bd401ff6fb2 \ - --hash=sha256:bfed0ec4b419fbc807dec417c401499ea869436910e1ca524cfb4f81cf3f60e7 \ - --hash=sha256:c15fdfb141fcf6a900e68bfa35689e1256a670db32b96e7a931cab4a0e1600e5 \ - --hash=sha256:c6a23ae9348a7a92e7f750f9b7e828448e428e99c24616dec93a0720342f241d \ - --hash=sha256:c75738ce13d257efbb6633a049fb2ed8e87e2e6c2e906c52d1093a4d08d67c6b \ - --hash=sha256:d1d0ce6c6947a3a4aa5479bebceff2c807b9f3b529b637e2b33dea4468d75fc7 \ - --hash=sha256:d5b14abde6f8d969e6b9dd8c7a013d9a2b52af1235fe7bebef25ad5c8f47fa18 \ - --hash=sha256:d6ed790728fb71e6b8247bd28e77e99d0c276dff952389b5388169b8ca7b1c28 \ - --hash=sha256:e0d84099ea7cba9ff467f9c6f747e3fc3906e2aadac1ce7b41add72e8d0a3712 \ - --hash=sha256:e4353923f38d752ecfbd3f1f20bf7a3546993ae5ecd7c07fd2f25d40b4e54571 \ - --hash=sha256:e91029d7f151d8bf5ab7d8bfe2c3dbefd239759d642b211a677bc0709c9fdb96 \ - --hash=sha256:ea473c37872f0159294f7073f3fa72f68b03a129799f3533b2bb44d5e9fa4f82 \ - --hash=sha256:f154bd866318185ef5865ace5be3ac047b6d1cc0aeecf53bf83fe846f4384d5d \ - --hash=sha256:f97ff5a9fc2ca47f3383482858dd2cb8ddbf7514427eecf5aa5f7992d0571429 \ - --hash=sha256:f99b7d3f7a7adfa3d11e3a48d1a91bb65739555dd6a0d3fa68aa5852d962e5b1 \ - --hash=sha256:fb220b3596358a86361139edce40d97da7458412d412e1e10c8e1970ee8c09ab \ - --hash=sha256:fd2f8a641f8f193968afdc8fd1697e602e199931012b574194052d132a79be13 +coverage==7.4.0 \ + --hash=sha256:04387a4a6ecb330c1878907ce0dc04078ea72a869263e53c72a1ba5bbdf380ca \ + --hash=sha256:0676cd0ba581e514b7f726495ea75aba3eb20899d824636c6f59b0ed2f88c471 \ + --hash=sha256:0e8d06778e8fbffccfe96331a3946237f87b1e1d359d7fbe8b06b96c95a5407a \ + --hash=sha256:0eb3c2f32dabe3a4aaf6441dde94f35687224dfd7eb2a7f47f3fd9428e421058 \ + --hash=sha256:109f5985182b6b81fe33323ab4707011875198c41964f014579cf82cebf2bb85 \ + --hash=sha256:13eaf476ec3e883fe3e5fe3707caeb88268a06284484a3daf8250259ef1ba143 \ + --hash=sha256:164fdcc3246c69a6526a59b744b62e303039a81e42cfbbdc171c91a8cc2f9446 \ + --hash=sha256:26776ff6c711d9d835557ee453082025d871e30b3fd6c27fcef14733f67f0590 \ + --hash=sha256:26f66da8695719ccf90e794ed567a1549bb2644a706b41e9f6eae6816b398c4a \ + --hash=sha256:29f3abe810930311c0b5d1a7140f6395369c3db1be68345638c33eec07535105 \ + --hash=sha256:316543f71025a6565677d84bc4df2114e9b6a615aa39fb165d697dba06a54af9 \ + --hash=sha256:36b0ea8ab20d6a7564e89cb6135920bc9188fb5f1f7152e94e8300b7b189441a \ + --hash=sha256:3cc9d4bc55de8003663ec94c2f215d12d42ceea128da8f0f4036235a119c88ac \ + --hash=sha256:485e9f897cf4856a65a57c7f6ea3dc0d4e6c076c87311d4bc003f82cfe199d25 \ + --hash=sha256:5040148f4ec43644702e7b16ca864c5314ccb8ee0751ef617d49aa0e2d6bf4f2 \ + --hash=sha256:51456e6fa099a8d9d91497202d9563a320513fcf59f33991b0661a4a6f2ad450 \ + --hash=sha256:53d7d9158ee03956e0eadac38dfa1ec8068431ef8058fe6447043db1fb40d932 \ + --hash=sha256:5a10a4920def78bbfff4eff8a05c51be03e42f1c3735be42d851f199144897ba \ + --hash=sha256:5b14b4f8760006bfdb6e08667af7bc2d8d9bfdb648351915315ea17645347137 \ + --hash=sha256:5b2ccb7548a0b65974860a78c9ffe1173cfb5877460e5a229238d985565574ae \ + --hash=sha256:697d1317e5290a313ef0d369650cfee1a114abb6021fa239ca12b4849ebbd614 \ + --hash=sha256:6ae8c9d301207e6856865867d762a4b6fd379c714fcc0607a84b92ee63feff70 \ + --hash=sha256:707c0f58cb1712b8809ece32b68996ee1e609f71bd14615bd8f87a1293cb610e \ + --hash=sha256:74775198b702868ec2d058cb92720a3c5a9177296f75bd97317c787daf711505 \ + --hash=sha256:756ded44f47f330666843b5781be126ab57bb57c22adbb07d83f6b519783b870 \ + --hash=sha256:76f03940f9973bfaee8cfba70ac991825611b9aac047e5c80d499a44079ec0bc \ + --hash=sha256:79287fd95585ed36e83182794a57a46aeae0b64ca53929d1176db56aacc83451 \ + --hash=sha256:799c8f873794a08cdf216aa5d0531c6a3747793b70c53f70e98259720a6fe2d7 \ + --hash=sha256:7d360587e64d006402b7116623cebf9d48893329ef035278969fa3bbf75b697e \ + --hash=sha256:80b5ee39b7f0131ebec7968baa9b2309eddb35b8403d1869e08f024efd883566 \ + --hash=sha256:815ac2d0f3398a14286dc2cea223a6f338109f9ecf39a71160cd1628786bc6f5 \ + --hash=sha256:83c2dda2666fe32332f8e87481eed056c8b4d163fe18ecc690b02802d36a4d26 \ + --hash=sha256:846f52f46e212affb5bcf131c952fb4075b55aae6b61adc9856222df89cbe3e2 \ + --hash=sha256:936d38794044b26c99d3dd004d8af0035ac535b92090f7f2bb5aa9c8e2f5cd42 \ + --hash=sha256:9864463c1c2f9cb3b5db2cf1ff475eed2f0b4285c2aaf4d357b69959941aa555 \ + --hash=sha256:995ea5c48c4ebfd898eacb098164b3cc826ba273b3049e4a889658548e321b43 \ + --hash=sha256:a1526d265743fb49363974b7aa8d5899ff64ee07df47dd8d3e37dcc0818f09ed \ + --hash=sha256:a56de34db7b7ff77056a37aedded01b2b98b508227d2d0979d373a9b5d353daa \ + --hash=sha256:a7c97726520f784239f6c62506bc70e48d01ae71e9da128259d61ca5e9788516 \ + --hash=sha256:b8e99f06160602bc64da35158bb76c73522a4010f0649be44a4e167ff8555952 \ + --hash=sha256:bb1de682da0b824411e00a0d4da5a784ec6496b6850fdf8c865c1d68c0e318dd \ + --hash=sha256:bf477c355274a72435ceb140dc42de0dc1e1e0bf6e97195be30487d8eaaf1a09 \ + --hash=sha256:bf635a52fc1ea401baf88843ae8708591aa4adff875e5c23220de43b1ccf575c \ + --hash=sha256:bfd5db349d15c08311702611f3dccbef4b4e2ec148fcc636cf8739519b4a5c0f \ + --hash=sha256:c530833afc4707fe48524a44844493f36d8727f04dcce91fb978c414a8556cc6 \ + --hash=sha256:cc6d65b21c219ec2072c1293c505cf36e4e913a3f936d80028993dd73c7906b1 \ + --hash=sha256:cd3c1e4cb2ff0083758f09be0f77402e1bdf704adb7f89108007300a6da587d0 \ + --hash=sha256:cfd2a8b6b0d8e66e944d47cdec2f47c48fef2ba2f2dff5a9a75757f64172857e \ + --hash=sha256:d0ca5c71a5a1765a0f8f88022c52b6b8be740e512980362f7fdbb03725a0d6b9 \ + --hash=sha256:e7defbb9737274023e2d7af02cac77043c86ce88a907c58f42b580a97d5bcca9 \ + --hash=sha256:e9d1bf53c4c8de58d22e0e956a79a5b37f754ed1ffdbf1a260d9dcfa2d8a325e \ + --hash=sha256:ea81d8f9691bb53f4fb4db603203029643caffc82bf998ab5b59ca05560f4c06 # via manageprojects (pyproject.toml) cryptography==41.0.7 \ --hash=sha256:079b85658ea2f59c4f43b70f8119a52414cdb7be34da5d019a77bf96d473b960 \ @@ -549,9 +549,9 @@ idna==3.6 \ # via # requests # yarl -importlib-metadata==7.0.0 \ - --hash=sha256:7fc841f8b8332803464e5dc1c63a2e59121f46ca186c0e2e182e80bf8c1319f7 \ - --hash=sha256:d97503976bb81f40a193d41ee6570868479c69d5068651eb039c40d850c59d67 +importlib-metadata==7.0.1 \ + --hash=sha256:4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e \ + --hash=sha256:f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc # via # keyring # twine @@ -1190,9 +1190,9 @@ pip==23.3.2 \ --hash=sha256:5052d7889c1f9d05224cd41741acb7c5d6fa735ab34e339624a614eaaa7e7d76 \ --hash=sha256:7fd9972f96db22c8077a1ee2691b172c8089b17a5652a44494a9ecb0d78f9149 # via pip-tools -setuptools==69.0.2 \ - --hash=sha256:1e8fdff6797d3865f37397be788a4e3cba233608e9b509382a2777d25ebde7f2 \ - --hash=sha256:735896e78a4742605974de002ac60562d286fa8051a7e2299445e8e8fbb01aa6 +setuptools==69.0.3 \ + --hash=sha256:385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05 \ + --hash=sha256:be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78 # via # nodeenv # pip-tools