Differing behavior between linux and macos
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
提供された test.py スニペットと docformatter -i コマンドを使って、Linux と macOS で問題を再現します。formatter が docstring 内の非 ASCII 文字 ┘ と繰り返しのフォーマットをどのように処理するかを調査します。両方のプラットフォームが一貫して動作し、繰り返し実行しても空行が追加されなくなれば完了です。
索引モデルが issue の本文から書いたものです。
説明
if __name__ == "__main__":
"""Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa┘."""
# This is a comment
docformatter -i test.py on macOS (arm) results in no changes being made. docformatter -i test.py on linux aarch64 results in the following changes:
if __name__ == "__main__":
"""Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa┘."""
# This is a comment
Repeatedly executing docformatter -i on linux adds another line on every call which breaks idempotency.
if __name__ == "__main__":
"""Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaa┘."""
# This is a comment
This might be related to ┘ being in the string.
breaking env on linux:
(base) mambauser@79d93f1c012c:/mnt/abc$ micromamba list -p /home/mambauser/.cache/pre-commit/repotqc_4xjd/conda-default
List of packages in environment: "/home/mambauser/.cache/pre-commit/repotqc_4xjd/conda-default"
Name Version Build Channel
────────────────────────────────────────────────────────────────────
_openmp_mutex 4.5 2_gnu conda-forge
bzip2 1.0.8 h31becfc_5 conda-forge
ca-certificates 2024.6.2 hcefe29a_0 conda-forge
charset-normalizer 3.3.2 pyhd8ed1ab_0 conda-forge
docformatter 1.7.5 pyhd8ed1ab_0 conda-forge
ld_impl_linux-aarch64 2.40 h9fc2d93_7 conda-forge
libexpat 2.6.2 h2f0025b_0 conda-forge
libffi 3.4.2 h3557bc0_5 conda-forge
libgcc-ng 14.1.0 he277a41_0 conda-forge
libgomp 14.1.0 he277a41_0 conda-forge
libnsl 2.0.1 h31becfc_0 conda-forge
libsqlite 3.46.0 hf51ef55_0 conda-forge
libuuid 2.38.1 hb4cce97_0 conda-forge
libxcrypt 4.4.36 h31becfc_1 conda-forge
libzlib 1.3.1 h68df207_1 conda-forge
ncurses 6.5 h0425590_0 conda-forge
openssl 3.3.1 h68df207_1 conda-forge
pip 24.0 pyhd8ed1ab_0 conda-forge
python 3.12.4 h829453d_0_cpython conda-forge
readline 8.2 h8fc344f_1 conda-forge
setuptools 70.1.1 pyhd8ed1ab_0 conda-forge
tk 8.6.13 h194ca79_0 conda-forge
tomli 2.0.1 pyhd8ed1ab_0 conda-forge
tzdata 2024a h0c530f3_0 conda-forge
untokenize 0.1.1 py_0 conda-forge
wheel 0.43.0 pyhd8ed1ab_1 conda-forge
xz 5.2.6 h9cdd2b7_0 conda-forge
working env on macos:
❯ micromamba list -p /Users/pavel/.cache/pre-commit/repox0xmrc5j/conda-default
List of packages in environment: "/Users/pavel/.cache/pre-commit/repox0xmrc5j/conda-default"
Name Version Build Channel
─────────────────────────────────────────────────────────────────────
bzip2 1.0.8 h93a5062_5 conda-forge
ca-certificates 2024.2.2 hf0a4a13_0 conda-forge
charset-normalizer 3.3.2 pyhd8ed1ab_0 conda-forge
docformatter 1.7.5 pyhd8ed1ab_0 conda-forge
libexpat 2.6.2 hebf3989_0 conda-forge
libffi 3.4.2 h3422bc3_5 conda-forge
libsqlite 3.45.2 h091b4b1_0 conda-forge
libzlib 1.2.13 h53f4e23_5 conda-forge
ncurses 6.4.20240210 h078ce10_0 conda-forge
openssl 3.2.1 h0d3ecfb_1 conda-forge
pip 24.0 pyhd8ed1ab_0 conda-forge
python 3.12.2 hdf0ec26_0_cpython conda-forge
readline 8.2 h92ec313_1 conda-forge
setuptools 69.2.0 pyhd8ed1ab_0 conda-forge
tk 8.6.13 h5083fa2_1 conda-forge
tomli 2.0.1 pyhd8ed1ab_0 conda-forge
tzdata 2024a h0c530f3_0 conda-forge
untokenize 0.1.1 py_0 conda-forge
wheel 0.43.0 pyhd8ed1ab_0 conda-forge
xz 5.2.6 h57fd34a_0 conda-forge
- 主要言語
- Python
- スター
- 598
- フォーク
- 97
- 平均マージ
- 1日 8時間
- マージ済み PR(30日)
- 11
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
PyCQA/docformatter のほかの issue
-
fresh
難易度 3/5 1〜2日 初心者へのやさしさ 58/100
PyCQA/docformatter#399 ·
メンテナーはふだん 1 日以内に返信
-
1.7.8 crashes with a tokenize ValueError on a multi-line f-string inside parentheses再び着手できるかも @adityaanikam が 73 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンC: convention P: bug U: high
難易度 3/5 1〜2日 初心者へのやさしさ 74/100
PyCQA/docformatter#367 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
1.7.8 rewrites the contents of a non-docstring triple-quoted string, silently changing its valueオープンC: convention P: bug U: high
難易度 3/5 1〜2日 初心者へのやさしさ 72/100
PyCQA/docformatter#366 ·
メンテナーはふだん 1 日以内に返信
-
C: stakeholder P: enhancement U: low
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
PyCQA/docformatter#346 ·
メンテナーはふだん 1 日以内に返信
-
C: convention P: bug U: high
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
PyCQA/docformatter#345 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
PyCQA/docformatter の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
khuisman/mcp-gee-sweet#1166 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
lugassawan/swe-workbench#823 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
gramaziokohler/compas_timber#870 ·
-
security-scan-failure
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
semantica-agi/semantica#2089 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
autowarefoundation/autoware_carla_scenario#500 ·
メンテナーはふだん 1 日以内に返信