pydistcheck
v0.8.0


pydistcheck 무엇입니까? pydistcheck 은 Python 패키지에서 실행되는 CLI (Command Line Interface)입니다.
R의 R CMD check 에서 영감을 얻었습니다.
지원되는 형식 :
conda 패키지 ( .conda 및 .tar.bz2 ).tar.bz2 , .tar.gz 또는 .zip 아카이브 pydistcheck 잡을 수있는 문제 유형의 전체 목록은 "참조 확인"을 참조하십시오.
"Python 배포를 테스트하는 방법"을 참조하여 auditwheel , check-wheel-contents 및 twine check 와 같은 pydistcheck 및 유사한 도구가 Python Development Workflows에 어떻게 적용되는지 알아보십시오.
이러한 도구의 가치에 대한 자세한 내용은 Scipy 2022 Talk "CSV가 PYPI에 속하는가? 아마도"(비디오 링크)를 참조하십시오.
pip 로 설치하십시오.
pip install pydistcheck 또는 conda .
conda install -c conda-forge pydistcheck자세한 내용은 "설치"(링크)를 참조하십시오.
좋아하는 패키지로 시도해보십시오 ...
pip download
--no-deps
-d ./downloads
pyarrow
pydistcheck --inspect ./downloads/ * .whl... 포함 된 내용을 보려면.
----- package inspection summary -----
file size
* compressed size: 25.9M
* uncompressed size: 94.0M
* compression space saving: 72.4%
contents
* directories: 0
* files: 809 (30 compiled)
size by extension
* .dylib - 73.2M (77.9%)
* .so - 10.8M (11.4%)
* .h - 4.5M (4.8%)
* .py - 2.4M (2.5%)
* .pyx - 0.8M (0.8%)
* .pxi - 0.7M (0.8%)
* .cc - 0.4M (0.5%)
* .cmake - 0.4M (0.4%)
* .pxd - 0.3M (0.3%)
* .gz - 0.2M (0.2%)
* .hpp - 0.1M (0.1%)
* .txt - 0.1M (0.1%)
* no-extension - 77.4K (0.1%)
* .orc - 48.4K (0.1%)
* .parquet - 14.0K (0.0%)
* .sh - 7.8K (0.0%)
* .md - 3.6K (0.0%)
* .yml - 1.5K (0.0%)
* .ubuntu - 1.3K (0.0%)
* .fedora - 1.0K (0.0%)
* .diff - 1.0K (0.0%)
* .feather - 0.6K (0.0%)
largest files
* (49.1M) pyarrow/libarrow.1700.dylib
* (10.7M) pyarrow/libarrow_flight.1700.dylib
* (3.8M) pyarrow/lib.cpython-311-darwin.so
* (3.8M) pyarrow/libparquet.1700.dylib
* (2.9M) pyarrow/libarrow_substrait.1700.dylib
==================== done running pydistcheck ===============
또는이 repo의 테스트 데이터에 ...
pydistcheck tests/data/problematic-package- *... 확인하는 문제의 유형을 보려면 확인합니다.
------------ check results -----------
1. [files-only-differ-by-case] Found files which differ only by case. Files: problematic-package-0.1.0/problematic_package/Question.py,problematic-package-0.1.0/problematic_package/question.PY,problematic-package-0.1.0/problematic_package/question.py
2. [mixed-file-extensions] Found a mix of file extensions for the same file type: .NDJSON (1), .jsonl (1), .ndjson (1)
3. [mixed-file-extensions] Found a mix of file extensions for the same file type: .yaml (2), .yml (1)
4. [path-contains-non-ascii-characters] Found file path containing non-ASCII characters: 'problematic-package-0.1.0/problematic_package/?veryone-loves-python.py'
5. [path-contains-spaces] Found path with spaces: 'problematic-package-0.1.0/beep boop.ini'
6. [path-contains-spaces] Found path with spaces: 'problematic-package-0.1.0/problematic_package/bad code/'
7. [path-contains-spaces] Found path with spaces: 'problematic-package-0.1.0/problematic_package/bad code/__init__.py'
8. [path-contains-spaces] Found path with spaces: 'problematic-package-0.1.0/problematic_package/bad code/ship-it.py'
9. [unexpected-files] Found unexpected directory 'problematic-package-0.1.0/.git/'.
10. [unexpected-files] Found unexpected file 'problematic-package-0.1.0/.gitignore'.
11. [unexpected-files] Found unexpected file 'problematic-package-0.1.0/.hadolint.yaml'.
12. [unexpected-files] Found unexpected file 'problematic-package-0.1.0/problematic_package/.gitignore'.
errors found while checking: 12
그리고 컴파일 된 개체를 포함하는 내장 분포에서 ...
pydistcheck tests/data/debug-baseballmetrics * .whl ... pydistcheck 디버그 기호의 포함을 감지 할 수 있습니다 (분포 크기를 증가).
checking 'tests/data/debug-baseballmetrics-0.1.0-py3-none-macosx_10_15_x86_64.macosx_11_6_x86_64.macosx_12_5_x86_64.whl'
------------ check results -----------
1. [compiled-objects-have-debug-symbols] Found compiled object containing debug symbols. For details, extract the distribution contents and run 'dsymutil -s "lib/lib_baseballmetrics.dylib"'.
errors found while checking: 1
checking 'tests/data/debug-baseballmetrics-py3-none-manylinux_2_28_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.whl'
------------ check results -----------
1. [compiled-objects-have-debug-symbols] Found compiled object containing debug symbols. For details, extract the distribution contents and run 'objdump --all-headers "lib/lib_baseballmetrics.so"'.
errors found while checking: 1
자세한 내용은 https://pydistcheck.readthedocs.io/en/latest/를 참조하십시오.