Skip to content

Commit

Permalink
Merge pull request #106 from jedie/dev
Browse files Browse the repository at this point in the history
Use: cli_base.cli_tools.test_utils.logs.AssertLogs
  • Loading branch information
jedie authored Dec 1, 2023
2 parents c827492 + 43d16fd commit 4c790ce
Show file tree
Hide file tree
Showing 12 changed files with 75 additions and 98 deletions.
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -321,23 +321,25 @@ See also git tags: https://github.com/jedie/manageprojects/tags

[comment]: <> (✂✂✂ auto generated history start ✂✂✂)

* [**dev**](https://github.com/jedie/manageprojects/compare/v0.15.4...main)
* 2023-12-01 - Use: cli_base.cli_tools.test_utils.logs.AssertLogs
* [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)
* 2023-11-09 - Bugfix "reverse" if context contains a list
* 2023-11-07 - Update requirements
* [v0.15.2](https://github.com/jedie/manageprojects/compare/v0.15.1...v0.15.2)
* 2023-11-01 - Update requirements

<details><summary>Expand older history entries ...</summary>

* [v0.15.1](https://github.com/jedie/manageprojects/compare/v0.15.0...v0.15.1)
* 2023-10-08 - Update text matrix with Python v3.12
* 2023-10-08 - fix github CI
* 2023-10-08 - Update for CookieCutter v2.4.0 changes
* 2023-10-08 - Autogenerate history via https://github.com/jedie/cli-base-utilities
* 2023-09-24 - apply migrations
* 2023-09-24 - Update requirements

<details><summary>Expand older history entries ...</summary>

* [v0.15.0](https://github.com/jedie/manageprojects/compare/v0.14.1...v0.15.0)
* 2023-08-17 - Deprecate Git
* 2023-08-17 - Deprecate print_version() (moved to cli_base)
Expand Down
47 changes: 11 additions & 36 deletions manageprojects/test_utils/logs.py
Original file line number Diff line number Diff line change
@@ -1,42 +1,17 @@
import logging
from pathlib import Path
from unittest import TestCase
import warnings

from cli_base.cli_tools.test_utils.logs import AssertLogs as OriginalAssertLogs

class AssertLogs:

class AssertLogs(OriginalAssertLogs):
"""
Capture and assert log output from different loggers.
"""

def __init__(
self,
test_case: TestCase,
loggers: tuple[str, ...] = ('manageprojects', 'cookiecutter'),
level=logging.DEBUG,
):
assertLogs = test_case.assertLogs

self.logs = []
for logger in loggers:
self.logs.append(assertLogs(logger, level=level))

self.context_managers = None

def __enter__(self):
self.context_managers = [log.__enter__() for log in self.logs]
return self

def __exit__(self, exc_type, exc_val, exc_tb):
for log in self.logs:
log.__exit__(exc_type, exc_val, exc_tb)

def assert_in(self, *test_parts):
outputs = []
for cm in self.context_managers:
outputs.extend(cm.output)

output = '\n'.join(outputs)
for part in test_parts:
if isinstance(part, Path):
part = str(part)
assert part in output, f'Log part {part!r} not found in:\n{output}'
def __init__(self, *args, **kwargs):
warnings.warn(
'Migrate to: cli_base.cli_tools.test_utils.logs.AssertLogs !',
DeprecationWarning,
stacklevel=2,
)
super().__init__(*args, **kwargs)
2 changes: 1 addition & 1 deletion manageprojects/tests/test_cookiecutter_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
from pathlib import Path

from bx_py_utils.path import assert_is_dir
from cli_base.cli_tools.test_utils.logs import AssertLogs

from manageprojects.cookiecutter_api import get_repo_path
from manageprojects.test_utils.logs import AssertLogs
from manageprojects.tests.base import BaseTestCase


Expand Down
2 changes: 1 addition & 1 deletion manageprojects/tests/test_cookiecutter_templates.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
from bx_py_utils.path import assert_is_dir, assert_is_file
from bx_py_utils.test_utils.datetime import parse_dt
from cli_base.cli_tools.test_utils.git_utils import init_git
from cli_base.cli_tools.test_utils.logs import AssertLogs

from manageprojects.cli.cli_app import clone_project
from manageprojects.cookiecutter_templates import start_managed_project, update_managed_project
from manageprojects.data_classes import CookiecutterResult, GenerateTemplatePatchResult, ManageProjectsMeta
from manageprojects.test_utils.click_cli_utils import invoke_click
from manageprojects.test_utils.logs import AssertLogs
from manageprojects.tests.base import BaseTestCase
from manageprojects.utilities.pyproject_toml import PyProjectToml
from manageprojects.utilities.temp_path import TemporaryDirectory
Expand Down
2 changes: 1 addition & 1 deletion manageprojects/tests/test_format_file.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from pathlib import Path
from unittest import TestCase

from cli_base.cli_tools.test_utils.logs import AssertLogs
from packaging.version import Version

from manageprojects.constants import PY_BIN_PATH
Expand All @@ -15,7 +16,6 @@
get_git_info,
get_pyproject_info,
)
from manageprojects.test_utils.logs import AssertLogs
from manageprojects.test_utils.subprocess import SimpleRunReturnCallback, SubprocessCallMock
from manageprojects.tests.base import GIT_BIN_PARENT, PROJECT_PATH
from manageprojects.utilities.temp_path import TemporaryDirectory
Expand Down
2 changes: 1 addition & 1 deletion manageprojects/tests/test_overwrite.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
from bx_py_utils.path import assert_is_file
from bx_py_utils.test_utils.redirect import RedirectOut
from cli_base.cli_tools.test_utils.git_utils import init_git
from cli_base.cli_tools.test_utils.logs import AssertLogs

from manageprojects.cookiecutter_templates import update_managed_project
from manageprojects.data_classes import ManageProjectsMeta, OverwriteResult
from manageprojects.test_utils.logs import AssertLogs
from manageprojects.tests.base import BaseTestCase
from manageprojects.utilities.pyproject_toml import PyProjectToml
from manageprojects.utilities.temp_path import TemporaryDirectory
Expand Down
2 changes: 1 addition & 1 deletion manageprojects/tests/test_patching.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
from bx_py_utils.path import assert_is_dir
from bx_py_utils.test_utils.snapshot import assert_text_snapshot
from cli_base.cli_tools.test_utils.git_utils import init_git
from cli_base.cli_tools.test_utils.logs import AssertLogs

from manageprojects.data_classes import GenerateTemplatePatchResult
from manageprojects.patching import generate_template_patch, make_git_diff
from manageprojects.test_utils.logs import AssertLogs
from manageprojects.tests.base import BaseTestCase
from manageprojects.utilities.temp_path import TemporaryDirectory

Expand Down
2 changes: 1 addition & 1 deletion manageprojects/tests/test_utilities_publish.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@

from cli_base.cli_tools import subprocess_utils
from cli_base.cli_tools.test_utils.git_utils import init_git
from cli_base.cli_tools.test_utils.logs import AssertLogs
from packaging.version import Version

import manageprojects
from manageprojects.cli.dev import PACKAGE_ROOT
from manageprojects.test_utils.logs import AssertLogs
from manageprojects.test_utils.subprocess import FakeStdout, SubprocessCallMock
from manageprojects.tests.base import GIT_BIN_PARENT
from manageprojects.utilities.publish import (
Expand Down
2 changes: 1 addition & 1 deletion manageprojects/tests/test_utilities_pyproject_toml.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@

from bx_py_utils.path import assert_is_file
from bx_py_utils.test_utils.datetime import parse_dt
from cli_base.cli_tools.test_utils.logs import AssertLogs

import manageprojects
from manageprojects.data_classes import ManageProjectsMeta
from manageprojects.test_utils.logs import AssertLogs
from manageprojects.tests.base import BaseTestCase
from manageprojects.utilities.pyproject_toml import PyProjectToml, find_pyproject_toml
from manageprojects.utilities.temp_path import TemporaryDirectory
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ dependencies = [
"codespell", # https://github.com/codespell-project/codespell
"mypy", # https://github.com/python/mypy

"cli-base-utilities", # https://github.com/jedie/cli-base-utilities
"cli-base-utilities>=0.5.0", # https://github.com/jedie/cli-base-utilities
"click", # https://github.com/pallets/click/
"rich-click", # https://github.com/ewels/rich-click
"rich", # https://github.com/Textualize/rich
Expand Down
84 changes: 42 additions & 42 deletions requirements.dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ build==1.0.3 \
--hash=sha256:538aab1b64f9828977f84bc63ae570b060a8ed1be419e7870b8b4fc5e6ea553b \
--hash=sha256:589bf99a67df7c9cf07ec0ac0e5e2ea5d4b37ac63301c4986d1acb126aa83f8f
# via pip-tools
bx-py-utils==88 \
--hash=sha256:32fbc7e9ff3dfb0a817c80fb1d165ec559643dab59c0be549e646acbf8223b75 \
--hash=sha256:3a6f4eeef6abcac834b2c1ea4c5211130fd930a064aa0baabddd7c2bd00e38ac
bx-py-utils==89 \
--hash=sha256:179649df6b2541d241e23e2cf1ac314586717d8e60f57326fe5c9f110f3d602e \
--hash=sha256:68215036c448fd04baf989cd51a9523a9edb8239a7520c9177fb874d64914878
# via cli-base-utilities
cachetools==5.3.2 \
--hash=sha256:086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2 \
Expand Down Expand Up @@ -216,9 +216,9 @@ charset-normalizer==3.3.2 \
--hash=sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519 \
--hash=sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561
# via requests
cli-base-utilities==0.4.4 \
--hash=sha256:110bef895fb7dfc29662f463ccedc4c985a880afbde2e6dea387d0d2f96f4985 \
--hash=sha256:72d4248776519a21c3448d6e348511ce6fe8c3742c154e158473236c8278fb1c
cli-base-utilities==0.5.0 \
--hash=sha256:366caa000bb0908914bc09e7b9cc2b6921bcf51e0aa2a91ae36cd5e092d774d8 \
--hash=sha256:67eec2c61b00ed9f376ca364e6ef85d65db6c0908cf530d7015483ef2902f27e
# via manageprojects (pyproject.toml)
click==8.1.7 \
--hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \
Expand Down Expand Up @@ -297,30 +297,30 @@ coverage==7.3.2 \
--hash=sha256:fa28e909776dc69efb6ed975a63691bc8172b64ff357e663a1bb06ff3c9b589a \
--hash=sha256:fe494faa90ce6381770746077243231e0b83ff3f17069d748f645617cefe19d4
# via manageprojects (pyproject.toml)
cryptography==41.0.5 \
--hash=sha256:0c327cac00f082013c7c9fb6c46b7cc9fa3c288ca702c74773968173bda421bf \
--hash=sha256:0d2a6a598847c46e3e321a7aef8af1436f11c27f1254933746304ff014664d84 \
--hash=sha256:227ec057cd32a41c6651701abc0328135e472ed450f47c2766f23267b792a88e \
--hash=sha256:22892cc830d8b2c89ea60148227631bb96a7da0c1b722f2aac8824b1b7c0b6b8 \
--hash=sha256:392cb88b597247177172e02da6b7a63deeff1937fa6fec3bbf902ebd75d97ec7 \
--hash=sha256:3be3ca726e1572517d2bef99a818378bbcf7d7799d5372a46c79c29eb8d166c1 \
--hash=sha256:573eb7128cbca75f9157dcde974781209463ce56b5804983e11a1c462f0f4e88 \
--hash=sha256:580afc7b7216deeb87a098ef0674d6ee34ab55993140838b14c9b83312b37b86 \
--hash=sha256:5a70187954ba7292c7876734183e810b728b4f3965fbe571421cb2434d279179 \
--hash=sha256:73801ac9736741f220e20435f84ecec75ed70eda90f781a148f1bad546963d81 \
--hash=sha256:7d208c21e47940369accfc9e85f0de7693d9a5d843c2509b3846b2db170dfd20 \
--hash=sha256:8254962e6ba1f4d2090c44daf50a547cd5f0bf446dc658a8e5f8156cae0d8548 \
--hash=sha256:88417bff20162f635f24f849ab182b092697922088b477a7abd6664ddd82291d \
--hash=sha256:a48e74dad1fb349f3dc1d449ed88e0017d792997a7ad2ec9587ed17405667e6d \
--hash=sha256:b948e09fe5fb18517d99994184854ebd50b57248736fd4c720ad540560174ec5 \
--hash=sha256:c707f7afd813478e2019ae32a7c49cd932dd60ab2d2a93e796f68236b7e1fbf1 \
--hash=sha256:d38e6031e113b7421db1de0c1b1f7739564a88f1684c6b89234fbf6c11b75147 \
--hash=sha256:d3977f0e276f6f5bf245c403156673db103283266601405376f075c849a0b936 \
--hash=sha256:da6a0ff8f1016ccc7477e6339e1d50ce5f59b88905585f77193ebd5068f1e797 \
--hash=sha256:e270c04f4d9b5671ebcc792b3ba5d4488bf7c42c3c241a3748e2599776f29696 \
--hash=sha256:e886098619d3815e0ad5790c973afeee2c0e6e04b4da90b88e6bd06e2a0b1b72 \
--hash=sha256:ec3b055ff8f1dce8e6ef28f626e0972981475173d7973d63f271b29c8a2897da \
--hash=sha256:fba1e91467c65fe64a82c689dc6cf58151158993b13eb7a7f3f4b7f395636723
cryptography==41.0.7 \
--hash=sha256:079b85658ea2f59c4f43b70f8119a52414cdb7be34da5d019a77bf96d473b960 \
--hash=sha256:09616eeaef406f99046553b8a40fbf8b1e70795a91885ba4c96a70793de5504a \
--hash=sha256:13f93ce9bea8016c253b34afc6bd6a75993e5c40672ed5405a9c832f0d4a00bc \
--hash=sha256:37a138589b12069efb424220bf78eac59ca68b95696fc622b6ccc1c0a197204a \
--hash=sha256:3c78451b78313fa81607fa1b3f1ae0a5ddd8014c38a02d9db0616133987b9cdf \
--hash=sha256:43f2552a2378b44869fe8827aa19e69512e3245a219104438692385b0ee119d1 \
--hash=sha256:48a0476626da912a44cc078f9893f292f0b3e4c739caf289268168d8f4702a39 \
--hash=sha256:49f0805fc0b2ac8d4882dd52f4a3b935b210935d500b6b805f321addc8177406 \
--hash=sha256:5429ec739a29df2e29e15d082f1d9ad683701f0ec7709ca479b3ff2708dae65a \
--hash=sha256:5a1b41bc97f1ad230a41657d9155113c7521953869ae57ac39ac7f1bb471469a \
--hash=sha256:68a2dec79deebc5d26d617bfdf6e8aab065a4f34934b22d3b5010df3ba36612c \
--hash=sha256:7a698cb1dac82c35fcf8fe3417a3aaba97de16a01ac914b89a0889d364d2f6be \
--hash=sha256:841df4caa01008bad253bce2a6f7b47f86dc9f08df4b433c404def869f590a15 \
--hash=sha256:90452ba79b8788fa380dfb587cca692976ef4e757b194b093d845e8d99f612f2 \
--hash=sha256:928258ba5d6f8ae644e764d0f996d61a8777559f72dfeb2eea7e2fe0ad6e782d \
--hash=sha256:af03b32695b24d85a75d40e1ba39ffe7db7ffcb099fe507b39fd41a565f1b157 \
--hash=sha256:b640981bf64a3e978a56167594a0e97db71c89a479da8e175d8bb5be5178c003 \
--hash=sha256:c5ca78485a255e03c32b513f8c2bc39fedb7f5c5f8535545bdc223a03b24f248 \
--hash=sha256:c7f3201ec47d5207841402594f1d7950879ef890c0c495052fa62f58283fde1a \
--hash=sha256:d5ec85080cce7b0513cfd233914eb8b7bbd0633f1d1703aa28d1dd5a72f678ec \
--hash=sha256:d6c391c021ab1f7a82da5d8d0b3cee2f4b2c455ec86c8aebbc84837a631ff309 \
--hash=sha256:e3114da6d7f95d2dee7d3f4eec16dacff819740bbab931aff8648cb13c5ff5e7 \
--hash=sha256:f983596065a18a2183e7f79ab3fd4c475205b839e02cbc0efbbf9666c4b3083d
# via secretstorage
darker[color,flynt,isort]==1.7.2 \
--hash=sha256:ec5b7c382d9537611c164f3ecca2e1b8a7923bc5a02bf22f6e7f6c8bcbdf593a \
Expand Down Expand Up @@ -354,9 +354,9 @@ flake8==6.1.0 \
# via
# flake8-bugbear
# manageprojects (pyproject.toml)
flake8-bugbear==23.11.26 \
--hash=sha256:55d00c8a3c48c995c1f0ec0df54f8c9cf530c06035ce53975a03517d2e7f53e5 \
--hash=sha256:8e36119071bab626b6dab834fadd6d03c06090e9b189e67b4905821df8212fee
flake8-bugbear==23.11.28 \
--hash=sha256:0ba6c44eaa0e4782da94c5c2607159a0e73569369246cd179cc143a0e16b78ba \
--hash=sha256:8d0f351d954fd860851710cd8b5b28742b2339c0e58848b103418dd9cddb9aa4
# via manageprojects (pyproject.toml)
flynt==0.77 \
--hash=sha256:2863ac8ec19d6ec8d29e760546e6ced644baf6dff3c7cdc77e03abbd29b80f14 \
Expand All @@ -366,9 +366,9 @@ idna==3.6 \
--hash=sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca \
--hash=sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f
# via requests
importlib-metadata==6.8.0 \
--hash=sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb \
--hash=sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743
importlib-metadata==6.9.0 \
--hash=sha256:1c8dc6839ddc9771412596926f24cb5a553bbd40624ee2c7e55e531542bed3b8 \
--hash=sha256:e8acb523c335a91822674e149b46c0399ec4d328c4d1f6e49c273da5ff0201b9
# via
# keyring
# twine
Expand Down Expand Up @@ -781,9 +781,9 @@ tomlkit==0.12.3 \
# via
# cli-base-utilities
# manageprojects (pyproject.toml)
tox==4.11.3 \
--hash=sha256:5039f68276461fae6a9452a3b2c7295798f00a0e92edcd9a3b78ba1a73577951 \
--hash=sha256:599af5e5bb0cad0148ac1558a0b66f8fff219ef88363483b8d92a81e4246f28f
tox==4.11.4 \
--hash=sha256:2adb83d68f27116812b69aa36676a8d6a52249cb0d173649de0e7d0c2e3e7229 \
--hash=sha256:73a7240778fabf305aeb05ab8ea26e575e042ab5a18d71d0ed13e343a51d6ce1
# via manageprojects (pyproject.toml)
twine==4.0.2 \
--hash=sha256:929bc3c280033347a00f847236564d1c52a3e61b1ac2516c97c48f3ceab756d8 \
Expand All @@ -805,9 +805,9 @@ urllib3==2.1.0 \
# via
# requests
# twine
virtualenv==20.24.7 \
--hash=sha256:69050ffb42419c91f6c1284a7b24e0475d793447e35929b488bf6a0aade39353 \
--hash=sha256:a18b3fd0314ca59a2e9f4b556819ed07183b3e9a3702ecfe213f593d44f7b3fd
virtualenv==20.25.0 \
--hash=sha256:4238949c5ffe6876362d9c0180fc6c3a824a7b12b80604eeb8085f2ed7460de3 \
--hash=sha256:bf51c0d9c7dd63ea8e44086fa1e4fb1093a31e963b86959257378aef020e1f1b
# via tox
wheel==0.42.0 \
--hash=sha256:177f9c9b0d45c47873b619f5b650346d632cdc35fb5e4d25058e09c9e581433d \
Expand Down
18 changes: 9 additions & 9 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@ black==23.11.0 \
--hash=sha256:dbea0bb8575c6b6303cc65017b46351dc5953eea5c0a59d7b7e3a2d2f433a911 \
--hash=sha256:fc7f6a44d52747e65a02558e1d807c82df1d66ffa80a601862040a43ec2e3142
# via darker
bx-py-utils==88 \
--hash=sha256:32fbc7e9ff3dfb0a817c80fb1d165ec559643dab59c0be549e646acbf8223b75 \
--hash=sha256:3a6f4eeef6abcac834b2c1ea4c5211130fd930a064aa0baabddd7c2bd00e38ac
bx-py-utils==89 \
--hash=sha256:179649df6b2541d241e23e2cf1ac314586717d8e60f57326fe5c9f110f3d602e \
--hash=sha256:68215036c448fd04baf989cd51a9523a9edb8239a7520c9177fb874d64914878
# via cli-base-utilities
certifi==2023.11.17 \
--hash=sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1 \
Expand Down Expand Up @@ -152,9 +152,9 @@ charset-normalizer==3.3.2 \
--hash=sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519 \
--hash=sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561
# via requests
cli-base-utilities==0.4.4 \
--hash=sha256:110bef895fb7dfc29662f463ccedc4c985a880afbde2e6dea387d0d2f96f4985 \
--hash=sha256:72d4248776519a21c3448d6e348511ce6fe8c3742c154e158473236c8278fb1c
cli-base-utilities==0.5.0 \
--hash=sha256:366caa000bb0908914bc09e7b9cc2b6921bcf51e0aa2a91ae36cd5e092d774d8 \
--hash=sha256:67eec2c61b00ed9f376ca364e6ef85d65db6c0908cf530d7015483ef2902f27e
# via manageprojects (pyproject.toml)
click==8.1.7 \
--hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \
Expand Down Expand Up @@ -187,9 +187,9 @@ flake8==6.1.0 \
# via
# flake8-bugbear
# manageprojects (pyproject.toml)
flake8-bugbear==23.11.26 \
--hash=sha256:55d00c8a3c48c995c1f0ec0df54f8c9cf530c06035ce53975a03517d2e7f53e5 \
--hash=sha256:8e36119071bab626b6dab834fadd6d03c06090e9b189e67b4905821df8212fee
flake8-bugbear==23.11.28 \
--hash=sha256:0ba6c44eaa0e4782da94c5c2607159a0e73569369246cd179cc143a0e16b78ba \
--hash=sha256:8d0f351d954fd860851710cd8b5b28742b2339c0e58848b103418dd9cddb9aa4
# via manageprojects (pyproject.toml)
flynt==0.77 \
--hash=sha256:2863ac8ec19d6ec8d29e760546e6ced644baf6dff3c7cdc77e03abbd29b80f14 \
Expand Down

0 comments on commit 4c790ce

Please sign in to comment.