Upload folder using huggingface_hub
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- .gitattributes +212 -0
- .venv/.gitignore +2 -0
- .venv/bin/Activate.ps1 +248 -0
- .venv/bin/activate +76 -0
- .venv/bin/activate.csh +27 -0
- .venv/bin/activate.fish +69 -0
- .venv/bin/dotenv +7 -0
- .venv/bin/f2py +7 -0
- .venv/bin/fastapi +7 -0
- .venv/bin/find_similar_images.py +82 -0
- .venv/bin/hf +7 -0
- .venv/bin/huggingface-cli +7 -0
- .venv/bin/isympy +7 -0
- .venv/bin/normalizer +7 -0
- .venv/bin/numpy-config +7 -0
- .venv/bin/pip +7 -0
- .venv/bin/pip3 +7 -0
- .venv/bin/pip3.14 +7 -0
- .venv/bin/python +3 -0
- .venv/bin/python3 +3 -0
- .venv/bin/python3.14 +3 -0
- .venv/bin/tiny-agents +7 -0
- .venv/bin/torchfrtrace +7 -0
- .venv/bin/torchrun +7 -0
- .venv/bin/tqdm +7 -0
- .venv/bin/transformers +7 -0
- .venv/bin/transformers-cli +7 -0
- .venv/bin/uvicorn +7 -0
- .venv/bin/watchfiles +7 -0
- .venv/bin/websockets +7 -0
- .venv/bin/𝜋thon +3 -0
- .venv/images/imagehash.png +3 -0
- .venv/lib/python3.14/site-packages/ImageHash-4.3.2.dist-info/INSTALLER +1 -0
- .venv/lib/python3.14/site-packages/ImageHash-4.3.2.dist-info/LICENSE +10 -0
- .venv/lib/python3.14/site-packages/ImageHash-4.3.2.dist-info/METADATA +221 -0
- .venv/lib/python3.14/site-packages/ImageHash-4.3.2.dist-info/RECORD +13 -0
- .venv/lib/python3.14/site-packages/ImageHash-4.3.2.dist-info/REQUESTED +0 -0
- .venv/lib/python3.14/site-packages/ImageHash-4.3.2.dist-info/WHEEL +6 -0
- .venv/lib/python3.14/site-packages/ImageHash-4.3.2.dist-info/top_level.txt +1 -0
- .venv/lib/python3.14/site-packages/PIL/.dylibs/libXau.6.dylib +0 -0
- .venv/lib/python3.14/site-packages/PIL/.dylibs/libavif.16.3.0.dylib +3 -0
- .venv/lib/python3.14/site-packages/PIL/.dylibs/libbrotlicommon.1.2.0.dylib +3 -0
- .venv/lib/python3.14/site-packages/PIL/.dylibs/libbrotlidec.1.2.0.dylib +3 -0
- .venv/lib/python3.14/site-packages/PIL/.dylibs/libfreetype.6.dylib +3 -0
- .venv/lib/python3.14/site-packages/PIL/.dylibs/libharfbuzz.0.dylib +3 -0
- .venv/lib/python3.14/site-packages/PIL/.dylibs/libjpeg.62.4.0.dylib +3 -0
- .venv/lib/python3.14/site-packages/PIL/.dylibs/liblcms2.2.dylib +3 -0
- .venv/lib/python3.14/site-packages/PIL/.dylibs/liblzma.5.dylib +3 -0
- .venv/lib/python3.14/site-packages/PIL/.dylibs/libopenjp2.2.5.4.dylib +3 -0
- .venv/lib/python3.14/site-packages/PIL/.dylibs/libpng16.16.dylib +3 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,215 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
.venv/bin/python filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
.venv/bin/python3 filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
.venv/bin/python3.14 filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
.venv/bin/𝜋thon filter=lfs diff=lfs merge=lfs -text
|
| 40 |
+
.venv/images/imagehash.png filter=lfs diff=lfs merge=lfs -text
|
| 41 |
+
.venv/lib/python3.14/site-packages/PIL/.dylibs/libavif.16.3.0.dylib filter=lfs diff=lfs merge=lfs -text
|
| 42 |
+
.venv/lib/python3.14/site-packages/PIL/.dylibs/libbrotlicommon.1.2.0.dylib filter=lfs diff=lfs merge=lfs -text
|
| 43 |
+
.venv/lib/python3.14/site-packages/PIL/.dylibs/libbrotlidec.1.2.0.dylib filter=lfs diff=lfs merge=lfs -text
|
| 44 |
+
.venv/lib/python3.14/site-packages/PIL/.dylibs/libfreetype.6.dylib filter=lfs diff=lfs merge=lfs -text
|
| 45 |
+
.venv/lib/python3.14/site-packages/PIL/.dylibs/libharfbuzz.0.dylib filter=lfs diff=lfs merge=lfs -text
|
| 46 |
+
.venv/lib/python3.14/site-packages/PIL/.dylibs/libjpeg.62.4.0.dylib filter=lfs diff=lfs merge=lfs -text
|
| 47 |
+
.venv/lib/python3.14/site-packages/PIL/.dylibs/liblcms2.2.dylib filter=lfs diff=lfs merge=lfs -text
|
| 48 |
+
.venv/lib/python3.14/site-packages/PIL/.dylibs/liblzma.5.dylib filter=lfs diff=lfs merge=lfs -text
|
| 49 |
+
.venv/lib/python3.14/site-packages/PIL/.dylibs/libopenjp2.2.5.4.dylib filter=lfs diff=lfs merge=lfs -text
|
| 50 |
+
.venv/lib/python3.14/site-packages/PIL/.dylibs/libpng16.16.dylib filter=lfs diff=lfs merge=lfs -text
|
| 51 |
+
.venv/lib/python3.14/site-packages/PIL/.dylibs/libtiff.6.dylib filter=lfs diff=lfs merge=lfs -text
|
| 52 |
+
.venv/lib/python3.14/site-packages/PIL/.dylibs/libwebp.7.dylib filter=lfs diff=lfs merge=lfs -text
|
| 53 |
+
.venv/lib/python3.14/site-packages/PIL/.dylibs/libwebpmux.3.dylib filter=lfs diff=lfs merge=lfs -text
|
| 54 |
+
.venv/lib/python3.14/site-packages/PIL/.dylibs/libxcb.1.1.0.dylib filter=lfs diff=lfs merge=lfs -text
|
| 55 |
+
.venv/lib/python3.14/site-packages/PIL/.dylibs/libz.1.3.1.zlib-ng.dylib filter=lfs diff=lfs merge=lfs -text
|
| 56 |
+
.venv/lib/python3.14/site-packages/PIL/_imaging.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 57 |
+
.venv/lib/python3.14/site-packages/PIL/_imagingft.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 58 |
+
.venv/lib/python3.14/site-packages/charset_normalizer/md__mypyc.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 59 |
+
.venv/lib/python3.14/site-packages/functorch/_C.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 60 |
+
.venv/lib/python3.14/site-packages/hf_xet/hf_xet.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 61 |
+
.venv/lib/python3.14/site-packages/httptools/parser/parser.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 62 |
+
.venv/lib/python3.14/site-packages/httptools/parser/url_parser.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 63 |
+
.venv/lib/python3.14/site-packages/networkx/drawing/tests/baseline/test_display_complex.png filter=lfs diff=lfs merge=lfs -text
|
| 64 |
+
.venv/lib/python3.14/site-packages/numpy/_core/_multiarray_tests.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 65 |
+
.venv/lib/python3.14/site-packages/numpy/_core/_multiarray_umath.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 66 |
+
.venv/lib/python3.14/site-packages/numpy/_core/_simd.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 67 |
+
.venv/lib/python3.14/site-packages/numpy/fft/_pocketfft_umath.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 68 |
+
.venv/lib/python3.14/site-packages/numpy/linalg/_umath_linalg.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 69 |
+
.venv/lib/python3.14/site-packages/numpy/random/_bounded_integers.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 70 |
+
.venv/lib/python3.14/site-packages/numpy/random/_common.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 71 |
+
.venv/lib/python3.14/site-packages/numpy/random/_generator.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 72 |
+
.venv/lib/python3.14/site-packages/numpy/random/_mt19937.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 73 |
+
.venv/lib/python3.14/site-packages/numpy/random/_pcg64.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 74 |
+
.venv/lib/python3.14/site-packages/numpy/random/_philox.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 75 |
+
.venv/lib/python3.14/site-packages/numpy/random/bit_generator.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 76 |
+
.venv/lib/python3.14/site-packages/numpy/random/mtrand.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 77 |
+
.venv/lib/python3.14/site-packages/pip/_vendor/distlib/t64-arm.exe filter=lfs diff=lfs merge=lfs -text
|
| 78 |
+
.venv/lib/python3.14/site-packages/pip/_vendor/distlib/t64.exe filter=lfs diff=lfs merge=lfs -text
|
| 79 |
+
.venv/lib/python3.14/site-packages/pip/_vendor/distlib/w64-arm.exe filter=lfs diff=lfs merge=lfs -text
|
| 80 |
+
.venv/lib/python3.14/site-packages/pip/_vendor/distlib/w64.exe filter=lfs diff=lfs merge=lfs -text
|
| 81 |
+
.venv/lib/python3.14/site-packages/pydantic_core/_pydantic_core.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 82 |
+
.venv/lib/python3.14/site-packages/pywt/_extensions/_cwt.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 83 |
+
.venv/lib/python3.14/site-packages/pywt/_extensions/_dwt.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 84 |
+
.venv/lib/python3.14/site-packages/pywt/_extensions/_pywt.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 85 |
+
.venv/lib/python3.14/site-packages/pywt/_extensions/_swt.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 86 |
+
.venv/lib/python3.14/site-packages/regex/_regex.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 87 |
+
.venv/lib/python3.14/site-packages/safetensors/_safetensors_rust.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 88 |
+
.venv/lib/python3.14/site-packages/scipy/.dylibs/libgcc_s.1.1.dylib filter=lfs diff=lfs merge=lfs -text
|
| 89 |
+
.venv/lib/python3.14/site-packages/scipy/.dylibs/libgfortran.5.dylib filter=lfs diff=lfs merge=lfs -text
|
| 90 |
+
.venv/lib/python3.14/site-packages/scipy/.dylibs/libquadmath.0.dylib filter=lfs diff=lfs merge=lfs -text
|
| 91 |
+
.venv/lib/python3.14/site-packages/scipy/_cyutility.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 92 |
+
.venv/lib/python3.14/site-packages/scipy/_lib/_ccallback_c.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 93 |
+
.venv/lib/python3.14/site-packages/scipy/_lib/_uarray/_uarray.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 94 |
+
.venv/lib/python3.14/site-packages/scipy/cluster/_hierarchy.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 95 |
+
.venv/lib/python3.14/site-packages/scipy/cluster/_optimal_leaf_ordering.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 96 |
+
.venv/lib/python3.14/site-packages/scipy/cluster/_vq.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 97 |
+
.venv/lib/python3.14/site-packages/scipy/fft/_pocketfft/pypocketfft.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 98 |
+
.venv/lib/python3.14/site-packages/scipy/fftpack/convolve.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 99 |
+
.venv/lib/python3.14/site-packages/scipy/integrate/_dop.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 100 |
+
.venv/lib/python3.14/site-packages/scipy/integrate/_lsoda.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 101 |
+
.venv/lib/python3.14/site-packages/scipy/integrate/_odepack.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 102 |
+
.venv/lib/python3.14/site-packages/scipy/integrate/_quadpack.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 103 |
+
.venv/lib/python3.14/site-packages/scipy/integrate/_test_odeint_banded.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 104 |
+
.venv/lib/python3.14/site-packages/scipy/integrate/_vode.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 105 |
+
.venv/lib/python3.14/site-packages/scipy/interpolate/_dfitpack.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 106 |
+
.venv/lib/python3.14/site-packages/scipy/interpolate/_fitpack.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 107 |
+
.venv/lib/python3.14/site-packages/scipy/interpolate/_interpnd.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 108 |
+
.venv/lib/python3.14/site-packages/scipy/interpolate/_ppoly.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 109 |
+
.venv/lib/python3.14/site-packages/scipy/interpolate/_rbfinterp_pythran.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 110 |
+
.venv/lib/python3.14/site-packages/scipy/interpolate/_rgi_cython.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 111 |
+
.venv/lib/python3.14/site-packages/scipy/io/_fast_matrix_market/_fmm_core.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 112 |
+
.venv/lib/python3.14/site-packages/scipy/io/matlab/_mio5_utils.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 113 |
+
.venv/lib/python3.14/site-packages/scipy/io/matlab/_streams.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 114 |
+
.venv/lib/python3.14/site-packages/scipy/linalg/_cythonized_array_utils.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 115 |
+
.venv/lib/python3.14/site-packages/scipy/linalg/_decomp_interpolative.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 116 |
+
.venv/lib/python3.14/site-packages/scipy/linalg/_decomp_lu_cython.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 117 |
+
.venv/lib/python3.14/site-packages/scipy/linalg/_decomp_update.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 118 |
+
.venv/lib/python3.14/site-packages/scipy/linalg/_fblas.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 119 |
+
.venv/lib/python3.14/site-packages/scipy/linalg/_flapack.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 120 |
+
.venv/lib/python3.14/site-packages/scipy/linalg/_linalg_pythran.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 121 |
+
.venv/lib/python3.14/site-packages/scipy/linalg/_matfuncs_expm.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 122 |
+
.venv/lib/python3.14/site-packages/scipy/linalg/_matfuncs_sqrtm_triu.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 123 |
+
.venv/lib/python3.14/site-packages/scipy/linalg/_solve_toeplitz.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 124 |
+
.venv/lib/python3.14/site-packages/scipy/linalg/cython_blas.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 125 |
+
.venv/lib/python3.14/site-packages/scipy/linalg/cython_lapack.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 126 |
+
.venv/lib/python3.14/site-packages/scipy/ndimage/_nd_image.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 127 |
+
.venv/lib/python3.14/site-packages/scipy/ndimage/_ni_label.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 128 |
+
.venv/lib/python3.14/site-packages/scipy/odr/__odrpack.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 129 |
+
.venv/lib/python3.14/site-packages/scipy/optimize/_bglu_dense.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 130 |
+
.venv/lib/python3.14/site-packages/scipy/optimize/_highspy/_core.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 131 |
+
.venv/lib/python3.14/site-packages/scipy/optimize/_highspy/_highs_options.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 132 |
+
.venv/lib/python3.14/site-packages/scipy/optimize/_minpack.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 133 |
+
.venv/lib/python3.14/site-packages/scipy/optimize/_moduleTNC.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 134 |
+
.venv/lib/python3.14/site-packages/scipy/optimize/_pava_pybind.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 135 |
+
.venv/lib/python3.14/site-packages/scipy/optimize/_trlib/_trlib.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 136 |
+
.venv/lib/python3.14/site-packages/scipy/optimize/cython_optimize/_zeros.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 137 |
+
.venv/lib/python3.14/site-packages/scipy/signal/_peak_finding_utils.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 138 |
+
.venv/lib/python3.14/site-packages/scipy/signal/_sigtools.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 139 |
+
.venv/lib/python3.14/site-packages/scipy/signal/_sosfilt.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 140 |
+
.venv/lib/python3.14/site-packages/scipy/signal/_upfirdn_apply.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 141 |
+
.venv/lib/python3.14/site-packages/scipy/sparse/_csparsetools.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 142 |
+
.venv/lib/python3.14/site-packages/scipy/sparse/_sparsetools.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 143 |
+
.venv/lib/python3.14/site-packages/scipy/sparse/csgraph/_flow.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 144 |
+
.venv/lib/python3.14/site-packages/scipy/sparse/csgraph/_matching.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 145 |
+
.venv/lib/python3.14/site-packages/scipy/sparse/csgraph/_min_spanning_tree.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 146 |
+
.venv/lib/python3.14/site-packages/scipy/sparse/csgraph/_reordering.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 147 |
+
.venv/lib/python3.14/site-packages/scipy/sparse/csgraph/_shortest_path.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 148 |
+
.venv/lib/python3.14/site-packages/scipy/sparse/csgraph/_tools.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 149 |
+
.venv/lib/python3.14/site-packages/scipy/sparse/csgraph/_traversal.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 150 |
+
.venv/lib/python3.14/site-packages/scipy/sparse/linalg/_dsolve/_superlu.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 151 |
+
.venv/lib/python3.14/site-packages/scipy/sparse/linalg/_eigen/arpack/_arpack.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 152 |
+
.venv/lib/python3.14/site-packages/scipy/sparse/linalg/_propack/_cpropack.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 153 |
+
.venv/lib/python3.14/site-packages/scipy/sparse/linalg/_propack/_dpropack.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 154 |
+
.venv/lib/python3.14/site-packages/scipy/sparse/linalg/_propack/_spropack.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 155 |
+
.venv/lib/python3.14/site-packages/scipy/sparse/linalg/_propack/_zpropack.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 156 |
+
.venv/lib/python3.14/site-packages/scipy/spatial/_ckdtree.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 157 |
+
.venv/lib/python3.14/site-packages/scipy/spatial/_distance_pybind.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 158 |
+
.venv/lib/python3.14/site-packages/scipy/spatial/_distance_wrap.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 159 |
+
.venv/lib/python3.14/site-packages/scipy/spatial/_hausdorff.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 160 |
+
.venv/lib/python3.14/site-packages/scipy/spatial/_qhull.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 161 |
+
.venv/lib/python3.14/site-packages/scipy/spatial/transform/_rigid_transform.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 162 |
+
.venv/lib/python3.14/site-packages/scipy/spatial/transform/_rotation.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 163 |
+
.venv/lib/python3.14/site-packages/scipy/special/_ellip_harm_2.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 164 |
+
.venv/lib/python3.14/site-packages/scipy/special/_gufuncs.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 165 |
+
.venv/lib/python3.14/site-packages/scipy/special/_specfun.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 166 |
+
.venv/lib/python3.14/site-packages/scipy/special/_special_ufuncs.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 167 |
+
.venv/lib/python3.14/site-packages/scipy/special/_test_internal.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 168 |
+
.venv/lib/python3.14/site-packages/scipy/special/_ufuncs.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 169 |
+
.venv/lib/python3.14/site-packages/scipy/special/_ufuncs_cxx.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 170 |
+
.venv/lib/python3.14/site-packages/scipy/special/cython_special.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 171 |
+
.venv/lib/python3.14/site-packages/scipy/stats/_ansari_swilk_statistics.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 172 |
+
.venv/lib/python3.14/site-packages/scipy/stats/_biasedurn.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 173 |
+
.venv/lib/python3.14/site-packages/scipy/stats/_qmc_cy.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 174 |
+
.venv/lib/python3.14/site-packages/scipy/stats/_qmvnt_cy.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 175 |
+
.venv/lib/python3.14/site-packages/scipy/stats/_rcont/rcont.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 176 |
+
.venv/lib/python3.14/site-packages/scipy/stats/_sobol.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 177 |
+
.venv/lib/python3.14/site-packages/scipy/stats/_stats.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 178 |
+
.venv/lib/python3.14/site-packages/scipy/stats/_stats_pythran.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 179 |
+
.venv/lib/python3.14/site-packages/scipy/stats/_unuran/unuran_wrapper.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 180 |
+
.venv/lib/python3.14/site-packages/sklearn/.dylibs/libomp.dylib filter=lfs diff=lfs merge=lfs -text
|
| 181 |
+
.venv/lib/python3.14/site-packages/sklearn/_cyutility.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 182 |
+
.venv/lib/python3.14/site-packages/sklearn/_isotonic.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 183 |
+
.venv/lib/python3.14/site-packages/sklearn/_loss/_loss.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 184 |
+
.venv/lib/python3.14/site-packages/sklearn/cluster/_hdbscan/_linkage.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 185 |
+
.venv/lib/python3.14/site-packages/sklearn/cluster/_hdbscan/_reachability.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 186 |
+
.venv/lib/python3.14/site-packages/sklearn/cluster/_hdbscan/_tree.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 187 |
+
.venv/lib/python3.14/site-packages/sklearn/cluster/_hierarchical_fast.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 188 |
+
.venv/lib/python3.14/site-packages/sklearn/cluster/_k_means_common.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 189 |
+
.venv/lib/python3.14/site-packages/sklearn/cluster/_k_means_elkan.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 190 |
+
.venv/lib/python3.14/site-packages/sklearn/cluster/_k_means_lloyd.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 191 |
+
.venv/lib/python3.14/site-packages/sklearn/cluster/_k_means_minibatch.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 192 |
+
.venv/lib/python3.14/site-packages/sklearn/datasets/_svmlight_format_fast.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 193 |
+
.venv/lib/python3.14/site-packages/sklearn/datasets/images/china.jpg filter=lfs diff=lfs merge=lfs -text
|
| 194 |
+
.venv/lib/python3.14/site-packages/sklearn/datasets/images/flower.jpg filter=lfs diff=lfs merge=lfs -text
|
| 195 |
+
.venv/lib/python3.14/site-packages/sklearn/decomposition/_online_lda_fast.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 196 |
+
.venv/lib/python3.14/site-packages/sklearn/ensemble/_gradient_boosting.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 197 |
+
.venv/lib/python3.14/site-packages/sklearn/ensemble/_hist_gradient_boosting/_gradient_boosting.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 198 |
+
.venv/lib/python3.14/site-packages/sklearn/ensemble/_hist_gradient_boosting/_predictor.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 199 |
+
.venv/lib/python3.14/site-packages/sklearn/ensemble/_hist_gradient_boosting/histogram.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 200 |
+
.venv/lib/python3.14/site-packages/sklearn/ensemble/_hist_gradient_boosting/splitting.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 201 |
+
.venv/lib/python3.14/site-packages/sklearn/feature_extraction/_hashing_fast.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 202 |
+
.venv/lib/python3.14/site-packages/sklearn/linear_model/_cd_fast.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 203 |
+
.venv/lib/python3.14/site-packages/sklearn/linear_model/_sag_fast.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 204 |
+
.venv/lib/python3.14/site-packages/sklearn/linear_model/_sgd_fast.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 205 |
+
.venv/lib/python3.14/site-packages/sklearn/manifold/_barnes_hut_tsne.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 206 |
+
.venv/lib/python3.14/site-packages/sklearn/metrics/_dist_metrics.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 207 |
+
.venv/lib/python3.14/site-packages/sklearn/metrics/_pairwise_distances_reduction/_argkmin.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 208 |
+
.venv/lib/python3.14/site-packages/sklearn/metrics/_pairwise_distances_reduction/_argkmin_classmode.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 209 |
+
.venv/lib/python3.14/site-packages/sklearn/metrics/_pairwise_distances_reduction/_base.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 210 |
+
.venv/lib/python3.14/site-packages/sklearn/metrics/_pairwise_distances_reduction/_datasets_pair.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 211 |
+
.venv/lib/python3.14/site-packages/sklearn/metrics/_pairwise_distances_reduction/_middle_term_computer.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 212 |
+
.venv/lib/python3.14/site-packages/sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 213 |
+
.venv/lib/python3.14/site-packages/sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors_classmode.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 214 |
+
.venv/lib/python3.14/site-packages/sklearn/metrics/_pairwise_fast.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 215 |
+
.venv/lib/python3.14/site-packages/sklearn/neighbors/_ball_tree.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 216 |
+
.venv/lib/python3.14/site-packages/sklearn/neighbors/_kd_tree.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 217 |
+
.venv/lib/python3.14/site-packages/sklearn/neighbors/_quad_tree.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 218 |
+
.venv/lib/python3.14/site-packages/sklearn/preprocessing/_csr_polynomial_expansion.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 219 |
+
.venv/lib/python3.14/site-packages/sklearn/preprocessing/_target_encoder_fast.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 220 |
+
.venv/lib/python3.14/site-packages/sklearn/svm/_liblinear.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 221 |
+
.venv/lib/python3.14/site-packages/sklearn/svm/_libsvm.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 222 |
+
.venv/lib/python3.14/site-packages/sklearn/svm/_libsvm_sparse.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 223 |
+
.venv/lib/python3.14/site-packages/sklearn/tree/_criterion.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 224 |
+
.venv/lib/python3.14/site-packages/sklearn/tree/_partitioner.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 225 |
+
.venv/lib/python3.14/site-packages/sklearn/tree/_splitter.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 226 |
+
.venv/lib/python3.14/site-packages/sklearn/tree/_tree.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 227 |
+
.venv/lib/python3.14/site-packages/sklearn/tree/_utils.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 228 |
+
.venv/lib/python3.14/site-packages/sklearn/utils/_cython_blas.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 229 |
+
.venv/lib/python3.14/site-packages/sklearn/utils/_fast_dict.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 230 |
+
.venv/lib/python3.14/site-packages/sklearn/utils/_openmp_helpers.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 231 |
+
.venv/lib/python3.14/site-packages/sklearn/utils/_random.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 232 |
+
.venv/lib/python3.14/site-packages/sklearn/utils/_seq_dataset.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 233 |
+
.venv/lib/python3.14/site-packages/sklearn/utils/_typedefs.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 234 |
+
.venv/lib/python3.14/site-packages/sklearn/utils/_vector_sentinel.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 235 |
+
.venv/lib/python3.14/site-packages/sklearn/utils/arrayfuncs.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 236 |
+
.venv/lib/python3.14/site-packages/sklearn/utils/murmurhash.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 237 |
+
.venv/lib/python3.14/site-packages/sklearn/utils/sparsefuncs_fast.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 238 |
+
.venv/lib/python3.14/site-packages/tokenizers/tokenizers.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 239 |
+
.venv/lib/python3.14/site-packages/torch/bin/protoc filter=lfs diff=lfs merge=lfs -text
|
| 240 |
+
.venv/lib/python3.14/site-packages/torch/bin/protoc-3.13.0.0 filter=lfs diff=lfs merge=lfs -text
|
| 241 |
+
.venv/lib/python3.14/site-packages/torch/lib/libc10.dylib filter=lfs diff=lfs merge=lfs -text
|
| 242 |
+
.venv/lib/python3.14/site-packages/torch/lib/libomp.dylib filter=lfs diff=lfs merge=lfs -text
|
| 243 |
+
.venv/lib/python3.14/site-packages/torch/lib/libtorch_cpu.dylib filter=lfs diff=lfs merge=lfs -text
|
| 244 |
+
.venv/lib/python3.14/site-packages/torch/lib/libtorch_python.dylib filter=lfs diff=lfs merge=lfs -text
|
| 245 |
+
.venv/lib/python3.14/site-packages/uvloop/loop.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 246 |
+
.venv/lib/python3.14/site-packages/watchfiles/_rust_notify.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
| 247 |
+
.venv/lib/python3.14/site-packages/yaml/_yaml.cpython-314-darwin.so filter=lfs diff=lfs merge=lfs -text
|
.venv/.gitignore
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Created by venv; see https://docs.python.org/3/library/venv.html
|
| 2 |
+
*
|
.venv/bin/Activate.ps1
ADDED
|
@@ -0,0 +1,248 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<#
|
| 2 |
+
.Synopsis
|
| 3 |
+
Activate a Python virtual environment for the current PowerShell session.
|
| 4 |
+
|
| 5 |
+
.Description
|
| 6 |
+
Pushes the python executable for a virtual environment to the front of the
|
| 7 |
+
$Env:PATH environment variable and sets the prompt to signify that you are
|
| 8 |
+
in a Python virtual environment. Makes use of the command line switches as
|
| 9 |
+
well as the `pyvenv.cfg` file values present in the virtual environment.
|
| 10 |
+
|
| 11 |
+
.Parameter VenvDir
|
| 12 |
+
Path to the directory that contains the virtual environment to activate. The
|
| 13 |
+
default value for this is the parent of the directory that the Activate.ps1
|
| 14 |
+
script is located within.
|
| 15 |
+
|
| 16 |
+
.Parameter Prompt
|
| 17 |
+
The prompt prefix to display when this virtual environment is activated. By
|
| 18 |
+
default, this prompt is the name of the virtual environment folder (VenvDir)
|
| 19 |
+
surrounded by parentheses and followed by a single space (ie. '(.venv) ').
|
| 20 |
+
|
| 21 |
+
.Example
|
| 22 |
+
Activate.ps1
|
| 23 |
+
Activates the Python virtual environment that contains the Activate.ps1 script.
|
| 24 |
+
|
| 25 |
+
.Example
|
| 26 |
+
Activate.ps1 -Verbose
|
| 27 |
+
Activates the Python virtual environment that contains the Activate.ps1 script,
|
| 28 |
+
and shows extra information about the activation as it executes.
|
| 29 |
+
|
| 30 |
+
.Example
|
| 31 |
+
Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv
|
| 32 |
+
Activates the Python virtual environment located in the specified location.
|
| 33 |
+
|
| 34 |
+
.Example
|
| 35 |
+
Activate.ps1 -Prompt "MyPython"
|
| 36 |
+
Activates the Python virtual environment that contains the Activate.ps1 script,
|
| 37 |
+
and prefixes the current prompt with the specified string (surrounded in
|
| 38 |
+
parentheses) while the virtual environment is active.
|
| 39 |
+
|
| 40 |
+
.Notes
|
| 41 |
+
On Windows, it may be required to enable this Activate.ps1 script by setting the
|
| 42 |
+
execution policy for the user. You can do this by issuing the following PowerShell
|
| 43 |
+
command:
|
| 44 |
+
|
| 45 |
+
PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
| 46 |
+
|
| 47 |
+
For more information on Execution Policies:
|
| 48 |
+
https://go.microsoft.com/fwlink/?LinkID=135170
|
| 49 |
+
|
| 50 |
+
#>
|
| 51 |
+
Param(
|
| 52 |
+
[Parameter(Mandatory = $false)]
|
| 53 |
+
[String]
|
| 54 |
+
$VenvDir,
|
| 55 |
+
[Parameter(Mandatory = $false)]
|
| 56 |
+
[String]
|
| 57 |
+
$Prompt
|
| 58 |
+
)
|
| 59 |
+
|
| 60 |
+
<# Function declarations --------------------------------------------------- #>
|
| 61 |
+
|
| 62 |
+
<#
|
| 63 |
+
.Synopsis
|
| 64 |
+
Remove all shell session elements added by the Activate script, including the
|
| 65 |
+
addition of the virtual environment's Python executable from the beginning of
|
| 66 |
+
the PATH variable.
|
| 67 |
+
|
| 68 |
+
.Parameter NonDestructive
|
| 69 |
+
If present, do not remove this function from the global namespace for the
|
| 70 |
+
session.
|
| 71 |
+
|
| 72 |
+
#>
|
| 73 |
+
function global:deactivate ([switch]$NonDestructive) {
|
| 74 |
+
# Revert to original values
|
| 75 |
+
|
| 76 |
+
# The prior prompt:
|
| 77 |
+
if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) {
|
| 78 |
+
Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt
|
| 79 |
+
Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT
|
| 80 |
+
}
|
| 81 |
+
|
| 82 |
+
# The prior PYTHONHOME:
|
| 83 |
+
if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) {
|
| 84 |
+
Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME
|
| 85 |
+
Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME
|
| 86 |
+
}
|
| 87 |
+
|
| 88 |
+
# The prior PATH:
|
| 89 |
+
if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) {
|
| 90 |
+
Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH
|
| 91 |
+
Remove-Item -Path Env:_OLD_VIRTUAL_PATH
|
| 92 |
+
}
|
| 93 |
+
|
| 94 |
+
# Just remove the VIRTUAL_ENV altogether:
|
| 95 |
+
if (Test-Path -Path Env:VIRTUAL_ENV) {
|
| 96 |
+
Remove-Item -Path env:VIRTUAL_ENV
|
| 97 |
+
}
|
| 98 |
+
|
| 99 |
+
# Just remove VIRTUAL_ENV_PROMPT altogether.
|
| 100 |
+
if (Test-Path -Path Env:VIRTUAL_ENV_PROMPT) {
|
| 101 |
+
Remove-Item -Path env:VIRTUAL_ENV_PROMPT
|
| 102 |
+
}
|
| 103 |
+
|
| 104 |
+
# Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether:
|
| 105 |
+
if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) {
|
| 106 |
+
Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force
|
| 107 |
+
}
|
| 108 |
+
|
| 109 |
+
# Leave deactivate function in the global namespace if requested:
|
| 110 |
+
if (-not $NonDestructive) {
|
| 111 |
+
Remove-Item -Path function:deactivate
|
| 112 |
+
}
|
| 113 |
+
}
|
| 114 |
+
|
| 115 |
+
<#
|
| 116 |
+
.Description
|
| 117 |
+
Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the
|
| 118 |
+
given folder, and returns them in a map.
|
| 119 |
+
|
| 120 |
+
For each line in the pyvenv.cfg file, if that line can be parsed into exactly
|
| 121 |
+
two strings separated by `=` (with any amount of whitespace surrounding the =)
|
| 122 |
+
then it is considered a `key = value` line. The left hand string is the key,
|
| 123 |
+
the right hand is the value.
|
| 124 |
+
|
| 125 |
+
If the value starts with a `'` or a `"` then the first and last character is
|
| 126 |
+
stripped from the value before being captured.
|
| 127 |
+
|
| 128 |
+
.Parameter ConfigDir
|
| 129 |
+
Path to the directory that contains the `pyvenv.cfg` file.
|
| 130 |
+
#>
|
| 131 |
+
function Get-PyVenvConfig(
|
| 132 |
+
[String]
|
| 133 |
+
$ConfigDir
|
| 134 |
+
) {
|
| 135 |
+
Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg"
|
| 136 |
+
|
| 137 |
+
# Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue).
|
| 138 |
+
$pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue
|
| 139 |
+
|
| 140 |
+
# An empty map will be returned if no config file is found.
|
| 141 |
+
$pyvenvConfig = @{ }
|
| 142 |
+
|
| 143 |
+
if ($pyvenvConfigPath) {
|
| 144 |
+
|
| 145 |
+
Write-Verbose "File exists, parse `key = value` lines"
|
| 146 |
+
$pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath
|
| 147 |
+
|
| 148 |
+
$pyvenvConfigContent | ForEach-Object {
|
| 149 |
+
$keyval = $PSItem -split "\s*=\s*", 2
|
| 150 |
+
if ($keyval[0] -and $keyval[1]) {
|
| 151 |
+
$val = $keyval[1]
|
| 152 |
+
|
| 153 |
+
# Remove extraneous quotations around a string value.
|
| 154 |
+
if ("'""".Contains($val.Substring(0, 1))) {
|
| 155 |
+
$val = $val.Substring(1, $val.Length - 2)
|
| 156 |
+
}
|
| 157 |
+
|
| 158 |
+
$pyvenvConfig[$keyval[0]] = $val
|
| 159 |
+
Write-Verbose "Adding Key: '$($keyval[0])'='$val'"
|
| 160 |
+
}
|
| 161 |
+
}
|
| 162 |
+
}
|
| 163 |
+
return $pyvenvConfig
|
| 164 |
+
}
|
| 165 |
+
|
| 166 |
+
|
| 167 |
+
<# Begin Activate script --------------------------------------------------- #>
|
| 168 |
+
|
| 169 |
+
# Determine the containing directory of this script
|
| 170 |
+
$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
|
| 171 |
+
$VenvExecDir = Get-Item -Path $VenvExecPath
|
| 172 |
+
|
| 173 |
+
Write-Verbose "Activation script is located in path: '$VenvExecPath'"
|
| 174 |
+
Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)"
|
| 175 |
+
Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)"
|
| 176 |
+
|
| 177 |
+
# Set values required in priority: CmdLine, ConfigFile, Default
|
| 178 |
+
# First, get the location of the virtual environment, it might not be
|
| 179 |
+
# VenvExecDir if specified on the command line.
|
| 180 |
+
if ($VenvDir) {
|
| 181 |
+
Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values"
|
| 182 |
+
}
|
| 183 |
+
else {
|
| 184 |
+
Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir."
|
| 185 |
+
$VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/")
|
| 186 |
+
Write-Verbose "VenvDir=$VenvDir"
|
| 187 |
+
}
|
| 188 |
+
|
| 189 |
+
# Next, read the `pyvenv.cfg` file to determine any required value such
|
| 190 |
+
# as `prompt`.
|
| 191 |
+
$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir
|
| 192 |
+
|
| 193 |
+
# Next, set the prompt from the command line, or the config file, or
|
| 194 |
+
# just use the name of the virtual environment folder.
|
| 195 |
+
if ($Prompt) {
|
| 196 |
+
Write-Verbose "Prompt specified as argument, using '$Prompt'"
|
| 197 |
+
}
|
| 198 |
+
else {
|
| 199 |
+
Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value"
|
| 200 |
+
if ($pyvenvCfg -and $pyvenvCfg['prompt']) {
|
| 201 |
+
Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'"
|
| 202 |
+
$Prompt = $pyvenvCfg['prompt'];
|
| 203 |
+
}
|
| 204 |
+
else {
|
| 205 |
+
Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virtual environment)"
|
| 206 |
+
Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'"
|
| 207 |
+
$Prompt = Split-Path -Path $venvDir -Leaf
|
| 208 |
+
}
|
| 209 |
+
}
|
| 210 |
+
|
| 211 |
+
Write-Verbose "Prompt = '$Prompt'"
|
| 212 |
+
Write-Verbose "VenvDir='$VenvDir'"
|
| 213 |
+
|
| 214 |
+
# Deactivate any currently active virtual environment, but leave the
|
| 215 |
+
# deactivate function in place.
|
| 216 |
+
deactivate -nondestructive
|
| 217 |
+
|
| 218 |
+
# Now set the environment variable VIRTUAL_ENV, used by many tools to determine
|
| 219 |
+
# that there is an activated venv.
|
| 220 |
+
$env:VIRTUAL_ENV = $VenvDir
|
| 221 |
+
|
| 222 |
+
$env:VIRTUAL_ENV_PROMPT = $Prompt
|
| 223 |
+
|
| 224 |
+
if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) {
|
| 225 |
+
|
| 226 |
+
Write-Verbose "Setting prompt to '$Prompt'"
|
| 227 |
+
|
| 228 |
+
# Set the prompt to include the env name
|
| 229 |
+
# Make sure _OLD_VIRTUAL_PROMPT is global
|
| 230 |
+
function global:_OLD_VIRTUAL_PROMPT { "" }
|
| 231 |
+
Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT
|
| 232 |
+
New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt
|
| 233 |
+
|
| 234 |
+
function global:prompt {
|
| 235 |
+
Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
|
| 236 |
+
_OLD_VIRTUAL_PROMPT
|
| 237 |
+
}
|
| 238 |
+
}
|
| 239 |
+
|
| 240 |
+
# Clear PYTHONHOME
|
| 241 |
+
if (Test-Path -Path Env:PYTHONHOME) {
|
| 242 |
+
Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME
|
| 243 |
+
Remove-Item -Path Env:PYTHONHOME
|
| 244 |
+
}
|
| 245 |
+
|
| 246 |
+
# Add the venv to the PATH
|
| 247 |
+
Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH
|
| 248 |
+
$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH"
|
.venv/bin/activate
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# This file must be used with "source bin/activate" *from bash*
|
| 2 |
+
# You cannot run it directly
|
| 3 |
+
|
| 4 |
+
deactivate () {
|
| 5 |
+
# reset old environment variables
|
| 6 |
+
if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
|
| 7 |
+
PATH="${_OLD_VIRTUAL_PATH:-}"
|
| 8 |
+
export PATH
|
| 9 |
+
unset _OLD_VIRTUAL_PATH
|
| 10 |
+
fi
|
| 11 |
+
if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
|
| 12 |
+
PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
|
| 13 |
+
export PYTHONHOME
|
| 14 |
+
unset _OLD_VIRTUAL_PYTHONHOME
|
| 15 |
+
fi
|
| 16 |
+
|
| 17 |
+
# Call hash to forget past locations. Without forgetting
|
| 18 |
+
# past locations the $PATH changes we made may not be respected.
|
| 19 |
+
# See "man bash" for more details. hash is usually a builtin of your shell
|
| 20 |
+
hash -r 2> /dev/null
|
| 21 |
+
|
| 22 |
+
if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
|
| 23 |
+
PS1="${_OLD_VIRTUAL_PS1:-}"
|
| 24 |
+
export PS1
|
| 25 |
+
unset _OLD_VIRTUAL_PS1
|
| 26 |
+
fi
|
| 27 |
+
|
| 28 |
+
unset VIRTUAL_ENV
|
| 29 |
+
unset VIRTUAL_ENV_PROMPT
|
| 30 |
+
if [ ! "${1:-}" = "nondestructive" ] ; then
|
| 31 |
+
# Self destruct!
|
| 32 |
+
unset -f deactivate
|
| 33 |
+
fi
|
| 34 |
+
}
|
| 35 |
+
|
| 36 |
+
# unset irrelevant variables
|
| 37 |
+
deactivate nondestructive
|
| 38 |
+
|
| 39 |
+
# on Windows, a path can contain colons and backslashes and has to be converted:
|
| 40 |
+
case "$(uname)" in
|
| 41 |
+
CYGWIN*|MSYS*|MINGW*)
|
| 42 |
+
# transform D:\path\to\venv to /d/path/to/venv on MSYS and MINGW
|
| 43 |
+
# and to /cygdrive/d/path/to/venv on Cygwin
|
| 44 |
+
VIRTUAL_ENV=$(cygpath /Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv)
|
| 45 |
+
export VIRTUAL_ENV
|
| 46 |
+
;;
|
| 47 |
+
*)
|
| 48 |
+
# use the path as-is
|
| 49 |
+
export VIRTUAL_ENV=/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv
|
| 50 |
+
;;
|
| 51 |
+
esac
|
| 52 |
+
|
| 53 |
+
_OLD_VIRTUAL_PATH="$PATH"
|
| 54 |
+
PATH="$VIRTUAL_ENV/"bin":$PATH"
|
| 55 |
+
export PATH
|
| 56 |
+
|
| 57 |
+
VIRTUAL_ENV_PROMPT=.venv
|
| 58 |
+
export VIRTUAL_ENV_PROMPT
|
| 59 |
+
|
| 60 |
+
# unset PYTHONHOME if set
|
| 61 |
+
# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
|
| 62 |
+
# could use `if (set -u; : $PYTHONHOME) ;` in bash
|
| 63 |
+
if [ -n "${PYTHONHOME:-}" ] ; then
|
| 64 |
+
_OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
|
| 65 |
+
unset PYTHONHOME
|
| 66 |
+
fi
|
| 67 |
+
|
| 68 |
+
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
|
| 69 |
+
_OLD_VIRTUAL_PS1="${PS1:-}"
|
| 70 |
+
PS1="(".venv") ${PS1:-}"
|
| 71 |
+
export PS1
|
| 72 |
+
fi
|
| 73 |
+
|
| 74 |
+
# Call hash to forget past commands. Without forgetting
|
| 75 |
+
# past commands the $PATH changes we made may not be respected
|
| 76 |
+
hash -r 2> /dev/null
|
.venv/bin/activate.csh
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# This file must be used with "source bin/activate.csh" *from csh*.
|
| 2 |
+
# You cannot run it directly.
|
| 3 |
+
|
| 4 |
+
# Created by Davide Di Blasi <davidedb@gmail.com>.
|
| 5 |
+
# Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@gmail.com>
|
| 6 |
+
|
| 7 |
+
alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; unsetenv VIRTUAL_ENV_PROMPT; test "\!:*" != "nondestructive" && unalias deactivate'
|
| 8 |
+
|
| 9 |
+
# Unset irrelevant variables.
|
| 10 |
+
deactivate nondestructive
|
| 11 |
+
|
| 12 |
+
setenv VIRTUAL_ENV /Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv
|
| 13 |
+
|
| 14 |
+
set _OLD_VIRTUAL_PATH="$PATH"
|
| 15 |
+
setenv PATH "$VIRTUAL_ENV/"bin":$PATH"
|
| 16 |
+
setenv VIRTUAL_ENV_PROMPT .venv
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
set _OLD_VIRTUAL_PROMPT="$prompt"
|
| 20 |
+
|
| 21 |
+
if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
|
| 22 |
+
set prompt = "(".venv") $prompt:q"
|
| 23 |
+
endif
|
| 24 |
+
|
| 25 |
+
alias pydoc python -m pydoc
|
| 26 |
+
|
| 27 |
+
rehash
|
.venv/bin/activate.fish
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# This file must be used with "source <venv>/bin/activate.fish" *from fish*
|
| 2 |
+
# (https://fishshell.com/). You cannot run it directly.
|
| 3 |
+
|
| 4 |
+
function deactivate -d "Exit virtual environment and return to normal shell environment"
|
| 5 |
+
# reset old environment variables
|
| 6 |
+
if test -n "$_OLD_VIRTUAL_PATH"
|
| 7 |
+
set -gx PATH $_OLD_VIRTUAL_PATH
|
| 8 |
+
set -e _OLD_VIRTUAL_PATH
|
| 9 |
+
end
|
| 10 |
+
if test -n "$_OLD_VIRTUAL_PYTHONHOME"
|
| 11 |
+
set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
|
| 12 |
+
set -e _OLD_VIRTUAL_PYTHONHOME
|
| 13 |
+
end
|
| 14 |
+
|
| 15 |
+
if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
|
| 16 |
+
set -e _OLD_FISH_PROMPT_OVERRIDE
|
| 17 |
+
# prevents error when using nested fish instances (Issue #93858)
|
| 18 |
+
if functions -q _old_fish_prompt
|
| 19 |
+
functions -e fish_prompt
|
| 20 |
+
functions -c _old_fish_prompt fish_prompt
|
| 21 |
+
functions -e _old_fish_prompt
|
| 22 |
+
end
|
| 23 |
+
end
|
| 24 |
+
|
| 25 |
+
set -e VIRTUAL_ENV
|
| 26 |
+
set -e VIRTUAL_ENV_PROMPT
|
| 27 |
+
if test "$argv[1]" != "nondestructive"
|
| 28 |
+
# Self-destruct!
|
| 29 |
+
functions -e deactivate
|
| 30 |
+
end
|
| 31 |
+
end
|
| 32 |
+
|
| 33 |
+
# Unset irrelevant variables.
|
| 34 |
+
deactivate nondestructive
|
| 35 |
+
|
| 36 |
+
set -gx VIRTUAL_ENV /Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv
|
| 37 |
+
|
| 38 |
+
set -gx _OLD_VIRTUAL_PATH $PATH
|
| 39 |
+
set -gx PATH "$VIRTUAL_ENV/"bin $PATH
|
| 40 |
+
set -gx VIRTUAL_ENV_PROMPT .venv
|
| 41 |
+
|
| 42 |
+
# Unset PYTHONHOME if set.
|
| 43 |
+
if set -q PYTHONHOME
|
| 44 |
+
set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
|
| 45 |
+
set -e PYTHONHOME
|
| 46 |
+
end
|
| 47 |
+
|
| 48 |
+
if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
|
| 49 |
+
# fish uses a function instead of an env var to generate the prompt.
|
| 50 |
+
|
| 51 |
+
# Save the current fish_prompt function as the function _old_fish_prompt.
|
| 52 |
+
functions -c fish_prompt _old_fish_prompt
|
| 53 |
+
|
| 54 |
+
# With the original prompt function renamed, we can override with our own.
|
| 55 |
+
function fish_prompt
|
| 56 |
+
# Save the return status of the last command.
|
| 57 |
+
set -l old_status $status
|
| 58 |
+
|
| 59 |
+
# Output the venv prompt; color taken from the blue of the Python logo.
|
| 60 |
+
printf "%s(%s)%s " (set_color 4B8BBE) .venv (set_color normal)
|
| 61 |
+
|
| 62 |
+
# Restore the return status of the previous command.
|
| 63 |
+
echo "exit $old_status" | .
|
| 64 |
+
# Output the original/"old" prompt.
|
| 65 |
+
_old_fish_prompt
|
| 66 |
+
end
|
| 67 |
+
|
| 68 |
+
set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
|
| 69 |
+
end
|
.venv/bin/dotenv
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from dotenv.__main__ import cli
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(cli())
|
.venv/bin/f2py
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from numpy.f2py.f2py2e import main
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(main())
|
.venv/bin/fastapi
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from fastapi.cli import main
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(main())
|
.venv/bin/find_similar_images.py
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
from __future__ import absolute_import, division, print_function
|
| 3 |
+
|
| 4 |
+
from PIL import Image
|
| 5 |
+
|
| 6 |
+
import imagehash
|
| 7 |
+
|
| 8 |
+
"""
|
| 9 |
+
Demo of hashing
|
| 10 |
+
"""
|
| 11 |
+
|
| 12 |
+
|
| 13 |
+
def find_similar_images(userpaths, hashfunc=imagehash.average_hash):
|
| 14 |
+
def is_image(filename):
|
| 15 |
+
f = filename.lower()
|
| 16 |
+
return f.endswith('.png') or f.endswith('.jpg') or \
|
| 17 |
+
f.endswith('.jpeg') or f.endswith('.bmp') or \
|
| 18 |
+
f.endswith('.gif') or '.jpg' in f or f.endswith('.svg')
|
| 19 |
+
|
| 20 |
+
image_filenames = []
|
| 21 |
+
for userpath in userpaths:
|
| 22 |
+
image_filenames += [os.path.join(userpath, path) for path in os.listdir(userpath) if is_image(path)]
|
| 23 |
+
images = {}
|
| 24 |
+
for img in sorted(image_filenames):
|
| 25 |
+
try:
|
| 26 |
+
hash = hashfunc(Image.open(img))
|
| 27 |
+
except Exception as e:
|
| 28 |
+
print('Problem:', e, 'with', img)
|
| 29 |
+
continue
|
| 30 |
+
if hash in images:
|
| 31 |
+
print(img, ' already exists as', ' '.join(images[hash]))
|
| 32 |
+
if 'dupPictures' in img:
|
| 33 |
+
print('rm -v', img)
|
| 34 |
+
images[hash] = images.get(hash, []) + [img]
|
| 35 |
+
|
| 36 |
+
# for k, img_list in six.iteritems(images):
|
| 37 |
+
# if len(img_list) > 1:
|
| 38 |
+
# print(" ".join(img_list))
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
if __name__ == '__main__': # noqa: C901
|
| 42 |
+
import os
|
| 43 |
+
import sys
|
| 44 |
+
|
| 45 |
+
def usage():
|
| 46 |
+
sys.stderr.write("""SYNOPSIS: %s [ahash|phash|dhash|...] [<directory>]
|
| 47 |
+
|
| 48 |
+
Identifies similar images in the directory.
|
| 49 |
+
|
| 50 |
+
Method:
|
| 51 |
+
ahash: Average hash
|
| 52 |
+
phash: Perceptual hash
|
| 53 |
+
dhash: Difference hash
|
| 54 |
+
whash-haar: Haar wavelet hash
|
| 55 |
+
whash-db4: Daubechies wavelet hash
|
| 56 |
+
colorhash: HSV color hash
|
| 57 |
+
crop-resistant: Crop-resistant hash
|
| 58 |
+
|
| 59 |
+
(C) Johannes Buchner, 2013-2017
|
| 60 |
+
""" % sys.argv[0])
|
| 61 |
+
sys.exit(1)
|
| 62 |
+
|
| 63 |
+
hashmethod = sys.argv[1] if len(sys.argv) > 1 else usage()
|
| 64 |
+
if hashmethod == 'ahash':
|
| 65 |
+
hashfunc = imagehash.average_hash
|
| 66 |
+
elif hashmethod == 'phash':
|
| 67 |
+
hashfunc = imagehash.phash
|
| 68 |
+
elif hashmethod == 'dhash':
|
| 69 |
+
hashfunc = imagehash.dhash
|
| 70 |
+
elif hashmethod == 'whash-haar':
|
| 71 |
+
hashfunc = imagehash.whash
|
| 72 |
+
elif hashmethod == 'whash-db4':
|
| 73 |
+
def hashfunc(img):
|
| 74 |
+
return imagehash.whash(img, mode='db4')
|
| 75 |
+
elif hashmethod == 'colorhash':
|
| 76 |
+
hashfunc = imagehash.colorhash
|
| 77 |
+
elif hashmethod == 'crop-resistant':
|
| 78 |
+
hashfunc = imagehash.crop_resistant_hash
|
| 79 |
+
else:
|
| 80 |
+
usage()
|
| 81 |
+
userpaths = sys.argv[2:] if len(sys.argv) > 2 else '.'
|
| 82 |
+
find_similar_images(userpaths=userpaths, hashfunc=hashfunc)
|
.venv/bin/hf
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from huggingface_hub.cli.hf import main
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(main())
|
.venv/bin/huggingface-cli
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from huggingface_hub.commands.huggingface_cli import main
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(main())
|
.venv/bin/isympy
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from isympy import main
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(main())
|
.venv/bin/normalizer
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from charset_normalizer.cli import cli_detect
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(cli_detect())
|
.venv/bin/numpy-config
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from numpy._configtool import main
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(main())
|
.venv/bin/pip
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from pip._internal.cli.main import main
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(main())
|
.venv/bin/pip3
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from pip._internal.cli.main import main
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(main())
|
.venv/bin/pip3.14
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from pip._internal.cli.main import main
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(main())
|
.venv/bin/python
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:50298e5fa54e018a9950794d4625a82ba7f2b04a6ef272dc4d26f89a2176072b
|
| 3 |
+
size 135696
|
.venv/bin/python3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:50298e5fa54e018a9950794d4625a82ba7f2b04a6ef272dc4d26f89a2176072b
|
| 3 |
+
size 135696
|
.venv/bin/python3.14
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:50298e5fa54e018a9950794d4625a82ba7f2b04a6ef272dc4d26f89a2176072b
|
| 3 |
+
size 135696
|
.venv/bin/tiny-agents
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from huggingface_hub.inference._mcp.cli import app
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(app())
|
.venv/bin/torchfrtrace
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from tools.flight_recorder.fr_trace import main
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(main())
|
.venv/bin/torchrun
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from torch.distributed.run import main
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(main())
|
.venv/bin/tqdm
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from tqdm.cli import main
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(main())
|
.venv/bin/transformers
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from transformers.commands.transformers_cli import main
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(main())
|
.venv/bin/transformers-cli
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from transformers.commands.transformers_cli import main_cli
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(main_cli())
|
.venv/bin/uvicorn
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from uvicorn.main import main
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(main())
|
.venv/bin/watchfiles
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from watchfiles.cli import cli
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(cli())
|
.venv/bin/websockets
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/Users/mohanraoboddu/issue-reporting/ml-backend-with-image/.venv/bin/python3.14
|
| 2 |
+
import sys
|
| 3 |
+
from websockets.cli import main
|
| 4 |
+
if __name__ == '__main__':
|
| 5 |
+
if sys.argv[0].endswith('.exe'):
|
| 6 |
+
sys.argv[0] = sys.argv[0][:-4]
|
| 7 |
+
sys.exit(main())
|
.venv/bin/𝜋thon
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:50298e5fa54e018a9950794d4625a82ba7f2b04a6ef272dc4d26f89a2176072b
|
| 3 |
+
size 135696
|
.venv/images/imagehash.png
ADDED
|
Git LFS Details
|
.venv/lib/python3.14/site-packages/ImageHash-4.3.2.dist-info/INSTALLER
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
pip
|
.venv/lib/python3.14/site-packages/ImageHash-4.3.2.dist-info/LICENSE
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Copyright (c) 2013-2022, Johannes Buchner
|
| 2 |
+
All rights reserved.
|
| 3 |
+
|
| 4 |
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
| 5 |
+
|
| 6 |
+
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
| 7 |
+
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
| 8 |
+
|
| 9 |
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| 10 |
+
|
.venv/lib/python3.14/site-packages/ImageHash-4.3.2.dist-info/METADATA
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Metadata-Version: 2.1
|
| 2 |
+
Name: ImageHash
|
| 3 |
+
Version: 4.3.2
|
| 4 |
+
Summary: Image Hashing library
|
| 5 |
+
Home-page: https://github.com/JohannesBuchner/imagehash
|
| 6 |
+
Author: Johannes Buchner
|
| 7 |
+
Author-email: buchner.johannes@gmx.at
|
| 8 |
+
License: 2-clause BSD License
|
| 9 |
+
Description-Content-Type: text/x-rst
|
| 10 |
+
License-File: LICENSE
|
| 11 |
+
Requires-Dist: PyWavelets
|
| 12 |
+
Requires-Dist: numpy
|
| 13 |
+
Requires-Dist: pillow
|
| 14 |
+
Requires-Dist: scipy
|
| 15 |
+
|
| 16 |
+
===========
|
| 17 |
+
ImageHash
|
| 18 |
+
===========
|
| 19 |
+
|
| 20 |
+
An image hashing library written in Python. ImageHash supports:
|
| 21 |
+
|
| 22 |
+
* Average hashing
|
| 23 |
+
* Perceptual hashing
|
| 24 |
+
* Difference hashing
|
| 25 |
+
* Wavelet hashing
|
| 26 |
+
* HSV color hashing (colorhash)
|
| 27 |
+
* Crop-resistant hashing
|
| 28 |
+
|
| 29 |
+
|CI|_ |Coveralls|_
|
| 30 |
+
|
| 31 |
+
Rationale
|
| 32 |
+
=========
|
| 33 |
+
|
| 34 |
+
Image hashes tell whether two images look nearly identical.
|
| 35 |
+
This is different from cryptographic hashing algorithms (like MD5, SHA-1)
|
| 36 |
+
where tiny changes in the image give completely different hashes.
|
| 37 |
+
In image fingerprinting, we actually want our similar inputs to have
|
| 38 |
+
similar output hashes as well.
|
| 39 |
+
|
| 40 |
+
The image hash algorithms (average, perceptual, difference, wavelet)
|
| 41 |
+
analyse the image structure on luminance (without color information).
|
| 42 |
+
The color hash algorithm analyses the color distribution and
|
| 43 |
+
black & gray fractions (without position information).
|
| 44 |
+
|
| 45 |
+
Installation
|
| 46 |
+
============
|
| 47 |
+
|
| 48 |
+
Based on PIL/Pillow Image, numpy and scipy.fftpack (for pHash)
|
| 49 |
+
Easy installation through `pypi`_::
|
| 50 |
+
|
| 51 |
+
pip install imagehash
|
| 52 |
+
|
| 53 |
+
Basic usage
|
| 54 |
+
===========
|
| 55 |
+
::
|
| 56 |
+
|
| 57 |
+
>>> from PIL import Image
|
| 58 |
+
>>> import imagehash
|
| 59 |
+
>>> hash = imagehash.average_hash(Image.open('tests/data/imagehash.png'))
|
| 60 |
+
>>> print(hash)
|
| 61 |
+
ffd7918181c9ffff
|
| 62 |
+
>>> otherhash = imagehash.average_hash(Image.open('tests/data/peppers.png'))
|
| 63 |
+
>>> print(otherhash)
|
| 64 |
+
9f172786e71f1e00
|
| 65 |
+
>>> print(hash == otherhash)
|
| 66 |
+
False
|
| 67 |
+
>>> print(hash - otherhash) # hamming distance
|
| 68 |
+
33
|
| 69 |
+
|
| 70 |
+
Each algorithm can also have its hash size adjusted (or in the case of
|
| 71 |
+
colorhash, its :code:`binbits`). Increasing the hash size allows an
|
| 72 |
+
algorithm to store more detail in its hash, increasing its sensitivity
|
| 73 |
+
to changes in detail.
|
| 74 |
+
|
| 75 |
+
The demo script **find_similar_images** illustrates how to find similar
|
| 76 |
+
images in a directory.
|
| 77 |
+
|
| 78 |
+
Source hosted at GitHub: https://github.com/JohannesBuchner/imagehash
|
| 79 |
+
|
| 80 |
+
References
|
| 81 |
+
-----------
|
| 82 |
+
|
| 83 |
+
* Average hashing (`aHashref`_)
|
| 84 |
+
* Perceptual hashing (`pHashref`_)
|
| 85 |
+
* Difference hashing (`dHashref`_)
|
| 86 |
+
* Wavelet hashing (`wHashref`_)
|
| 87 |
+
* Crop-resistant hashing (`crop_resistant_hashref`_)
|
| 88 |
+
|
| 89 |
+
.. _aHashref: https://www.hackerfactor.com/blog/index.php?/archives/432-Looks-Like-It.html
|
| 90 |
+
.. _pHashref: https://www.hackerfactor.com/blog/index.php?/archives/432-Looks-Like-It.html
|
| 91 |
+
.. _dHashref: https://www.hackerfactor.com/blog/index.php?/archives/529-Kind-of-Like-That.html
|
| 92 |
+
.. _wHashref: https://fullstackml.com/2016/07/02/wavelet-image-hash-in-python/
|
| 93 |
+
.. _pypi: https://pypi.python.org/pypi/ImageHash
|
| 94 |
+
.. _crop_resistant_hashref: https://ieeexplore.ieee.org/document/6980335
|
| 95 |
+
|
| 96 |
+
Examples
|
| 97 |
+
=========
|
| 98 |
+
|
| 99 |
+
To help evaluate how different hashing algorithms behave, below are a few hashes applied
|
| 100 |
+
to two datasets. This will let you know what images an algorithm thinks are basically identical.
|
| 101 |
+
|
| 102 |
+
Example 1: Icon dataset
|
| 103 |
+
-----------------------
|
| 104 |
+
|
| 105 |
+
Source: 7441 free icons on GitHub (see examples/github-urls.txt).
|
| 106 |
+
|
| 107 |
+
The following pages show groups of images with the same hash (the hashing method sees them as the same).
|
| 108 |
+
|
| 109 |
+
* `phash <https://johannesbuchner.github.io/imagehash/index3.html>`__ (or `with z-transform <https://johannesbuchner.github.io/imagehash/index9.html>`__)
|
| 110 |
+
* `dhash <https://johannesbuchner.github.io/imagehash/index4.html>`__ (or `with z-transform <https://johannesbuchner.github.io/imagehash/index10.html>`__)
|
| 111 |
+
* `colorhash <https://johannesbuchner.github.io/imagehash/index7.html>`__
|
| 112 |
+
* `average_hash <https://johannesbuchner.github.io/imagehash/index2.html>`__ (`with z-transform <https://johannesbuchner.github.io/imagehash/index8.html>`__)
|
| 113 |
+
|
| 114 |
+
The hashes use hashsize=8; colorhash uses binbits=3.
|
| 115 |
+
You may want to adjust the hashsize or require some manhattan distance (hash1 - hash2 < threshold).
|
| 116 |
+
|
| 117 |
+
Example 2: Art dataset
|
| 118 |
+
----------------------
|
| 119 |
+
|
| 120 |
+
Source: 109259 art pieces from https://www.parismuseescollections.paris.fr/en/recherche/image-libre/.
|
| 121 |
+
|
| 122 |
+
The following pages show groups of images with the same hash (the hashing method sees them as the same).
|
| 123 |
+
|
| 124 |
+
* `phash <https://johannesbuchner.github.io/imagehash/art3.html>`__ (or `with z-transform <https://johannesbuchner.github.io/imagehash/art9.html>`__)
|
| 125 |
+
* `dhash <https://johannesbuchner.github.io/imagehash/art4.html>`__ (or `with z-transform <https://johannesbuchner.github.io/imagehash/art10.html>`__)
|
| 126 |
+
* `colorhash <https://johannesbuchner.github.io/imagehash/art7.html>`__
|
| 127 |
+
* `average_hash <https://johannesbuchner.github.io/imagehash/art2.html>`__ (`with z-transform <https://johannesbuchner.github.io/imagehash/art8.html>`__)
|
| 128 |
+
|
| 129 |
+
For understanding hash distances, check out these excellent blog posts:
|
| 130 |
+
* https://tech.okcupid.com/evaluating-perceptual-image-hashes-at-okcupid-e98a3e74aa3a
|
| 131 |
+
* https://content-blockchain.org/research/testing-different-image-hash-functions/
|
| 132 |
+
|
| 133 |
+
Storing hashes
|
| 134 |
+
==============
|
| 135 |
+
|
| 136 |
+
As illustrated above, hashes can be turned into strings.
|
| 137 |
+
The strings can be turned back into a ImageHash object as follows.
|
| 138 |
+
|
| 139 |
+
For single perceptual hashes::
|
| 140 |
+
|
| 141 |
+
>>> original_hash = imagehash.phash(Image.open('tests/data/imagehash.png'))
|
| 142 |
+
>>> hash_as_str = str(original_hash)
|
| 143 |
+
>>> print(hash_as_str)
|
| 144 |
+
ffd7918181c9ffff
|
| 145 |
+
>>> restored_hash = imagehash.hex_to_hash(hash_as_str)
|
| 146 |
+
>>> print(restored_hash)
|
| 147 |
+
ffd7918181c9ffff
|
| 148 |
+
>>> assert restored_hash == original_hash
|
| 149 |
+
>>> assert str(restored_hash) == hash_as_str
|
| 150 |
+
|
| 151 |
+
For crop_resistant_hash::
|
| 152 |
+
|
| 153 |
+
>>> original_hash = imagehash.crop_resistant_hash(Image.open('tests/data/imagehash.png'), min_segment_size=500, segmentation_image_size=1000)
|
| 154 |
+
>>> hash_as_str = str(original_hash)
|
| 155 |
+
>>> restored_hash = imagehash.hex_to_multihash(hash_as_str)
|
| 156 |
+
>>> assert restored_hash == original_hash
|
| 157 |
+
>>> assert str(restored_hash) == hash_as_str
|
| 158 |
+
|
| 159 |
+
For colorhash::
|
| 160 |
+
|
| 161 |
+
>>> original_hash = imagehash.colorhash(Image.open('tests/data/imagehash.png'), binbits=3)
|
| 162 |
+
>>> hash_as_str = str(original_hash)
|
| 163 |
+
>>> restored_hash = imagehash.hex_to_flathash(hash_as_str, hashsize=3)
|
| 164 |
+
|
| 165 |
+
Efficient database search
|
| 166 |
+
-------------------------
|
| 167 |
+
|
| 168 |
+
For storing the hashes in a database and using fast hamming distance
|
| 169 |
+
searches, see pointers at https://github.com/JohannesBuchner/imagehash/issues/127
|
| 170 |
+
(a blog post on how to do this would be a great contribution!)
|
| 171 |
+
|
| 172 |
+
@KDJDEV points to https://github.com/KDJDEV/imagehash-reverse-image-search-tutorial and writes:
|
| 173 |
+
In this tutorial I use PostgreSQL and `this extension <https://github.com/fake-name/pg-spgist_hamming>`_,
|
| 174 |
+
and show how you can create a reverse image search using hashes generated by this library.
|
| 175 |
+
|
| 176 |
+
|
| 177 |
+
Changelog
|
| 178 |
+
----------
|
| 179 |
+
|
| 180 |
+
* 4.3: typing annotations by @Avasam @SpangleLabs and @nh2
|
| 181 |
+
|
| 182 |
+
* 4.2: Cropping-Resistant image hashing added by @SpangleLabs
|
| 183 |
+
|
| 184 |
+
* 4.1: Add examples and colorhash
|
| 185 |
+
|
| 186 |
+
* 4.0: Changed binary to hex implementation, because the previous one was broken for various hash sizes. This change breaks compatibility to previously stored hashes; to convert them from the old encoding, use the "old_hex_to_hash" function.
|
| 187 |
+
|
| 188 |
+
* 3.5: Image data handling speed-up
|
| 189 |
+
|
| 190 |
+
* 3.2: whash now also handles smaller-than-hash images
|
| 191 |
+
|
| 192 |
+
* 3.0: dhash had a bug: It computed pixel differences vertically, not horizontally.
|
| 193 |
+
I modified it to follow `dHashref`_. The old function is available as dhash_vertical.
|
| 194 |
+
|
| 195 |
+
* 2.0: Added whash
|
| 196 |
+
|
| 197 |
+
* 1.0: Initial ahash, dhash, phash implementations.
|
| 198 |
+
|
| 199 |
+
Contributing
|
| 200 |
+
=============
|
| 201 |
+
|
| 202 |
+
Pull requests and new features are warmly welcome.
|
| 203 |
+
|
| 204 |
+
If you encounter a bug or have a question, please open a GitHub issue. You can also try Stack Overflow.
|
| 205 |
+
|
| 206 |
+
Other projects
|
| 207 |
+
==============
|
| 208 |
+
|
| 209 |
+
* https://github.com/commonsmachinery/blockhash-python
|
| 210 |
+
* https://github.com/acoomans/instagram-filters
|
| 211 |
+
* https://pippy360.github.io/transformationInvariantImageSearch/
|
| 212 |
+
* https://www.phash.org/
|
| 213 |
+
* https://pypi.org/project/dhash/
|
| 214 |
+
* https://github.com/thorn-oss/perception (based on imagehash code, depends on opencv)
|
| 215 |
+
* https://docs.opencv.org/3.4/d4/d93/group__img__hash.html
|
| 216 |
+
|
| 217 |
+
.. |CI| image:: https://github.com/JohannesBuchner/imagehash/actions/workflows/testing.yml/badge.svg
|
| 218 |
+
.. _CI: https://github.com/JohannesBuchner/imagehash/actions/workflows/testing.yml
|
| 219 |
+
|
| 220 |
+
.. |Coveralls| image:: https://coveralls.io/repos/github/JohannesBuchner/imagehash/badge.svg
|
| 221 |
+
.. _Coveralls: https://coveralls.io/github/JohannesBuchner/imagehash
|
.venv/lib/python3.14/site-packages/ImageHash-4.3.2.dist-info/RECORD
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
../../../bin/__pycache__/find_similar_images.cpython-314.pyc,,
|
| 2 |
+
../../../bin/find_similar_images.py,sha256=gY1I9I5OVpi_TGkUtHMOXaJv2exUHisbJaHQrKzBNKk,2303
|
| 3 |
+
../../../images/imagehash.png,sha256=NRNPYFhZRvuj5wXbVtSUEkG7F0IHqS4s1GSY76BVqTY,292247
|
| 4 |
+
ImageHash-4.3.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
| 5 |
+
ImageHash-4.3.2.dist-info/LICENSE,sha256=nQsDeFPa57z2sZtyhVmoM5k82HEPwYomHmAm5Wv3BL4,1302
|
| 6 |
+
ImageHash-4.3.2.dist-info/METADATA,sha256=DxeVzwTsq2TRFItYj5O3t_i4l-rJJuC1N988dL5N1dk,8391
|
| 7 |
+
ImageHash-4.3.2.dist-info/RECORD,,
|
| 8 |
+
ImageHash-4.3.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
| 9 |
+
ImageHash-4.3.2.dist-info/WHEEL,sha256=-G_t0oGuE7UD0DrSpVZnq1hHMBV9DD2XkS5v7XpmTnk,110
|
| 10 |
+
ImageHash-4.3.2.dist-info/top_level.txt,sha256=50BXQ_hiKLUM8Nh9bREcTIsLBl9-TggxRdi7bv2LYZg,10
|
| 11 |
+
imagehash/__init__.py,sha256=ZY8Jlx0wSVor2mol5_VqCHWmK00LjudWaZimPJxXz_g,25332
|
| 12 |
+
imagehash/__pycache__/__init__.cpython-314.pyc,,
|
| 13 |
+
imagehash/py.typed,sha256=sNJcSCznk4EDK7g4Y8Bdo8eFC1UeFKrL9sFIBvoFsOk,69
|
.venv/lib/python3.14/site-packages/ImageHash-4.3.2.dist-info/REQUESTED
ADDED
|
File without changes
|
.venv/lib/python3.14/site-packages/ImageHash-4.3.2.dist-info/WHEEL
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Wheel-Version: 1.0
|
| 2 |
+
Generator: bdist_wheel (0.42.0)
|
| 3 |
+
Root-Is-Purelib: true
|
| 4 |
+
Tag: py2-none-any
|
| 5 |
+
Tag: py3-none-any
|
| 6 |
+
|
.venv/lib/python3.14/site-packages/ImageHash-4.3.2.dist-info/top_level.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
imagehash
|
.venv/lib/python3.14/site-packages/PIL/.dylibs/libXau.6.dylib
ADDED
|
Binary file (70 kB). View file
|
|
|
.venv/lib/python3.14/site-packages/PIL/.dylibs/libavif.16.3.0.dylib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e1c6658e5c4f7d05bd81acfae4530a7bea6b1271da323417c95ea3fe033ba800
|
| 3 |
+
size 2983120
|
.venv/lib/python3.14/site-packages/PIL/.dylibs/libbrotlicommon.1.2.0.dylib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:851cb0b0e16b970aa6b53fbf36daa629e62f10e3a906537ac772cc7c90d82265
|
| 3 |
+
size 201184
|
.venv/lib/python3.14/site-packages/PIL/.dylibs/libbrotlidec.1.2.0.dylib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:800767d7e41e89a33a9ce8d4bcd2e24f01cbd4634d1b56d199a4de73d0e34f99
|
| 3 |
+
size 104560
|
.venv/lib/python3.14/site-packages/PIL/.dylibs/libfreetype.6.dylib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5613ea09621a02368135ec414290d4b2af82bacfabd88404479540b8ecd1c8c8
|
| 3 |
+
size 1143856
|
.venv/lib/python3.14/site-packages/PIL/.dylibs/libharfbuzz.0.dylib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e0883a885642b606a478a3d0f5524767fbf13fe262226f5d47d32b0d03afa628
|
| 3 |
+
size 1779344
|
.venv/lib/python3.14/site-packages/PIL/.dylibs/libjpeg.62.4.0.dylib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7bf0a0ddd2e212dc2c7c54b4da26508ffe0f2cb8059292402e324e17304725f0
|
| 3 |
+
size 653536
|
.venv/lib/python3.14/site-packages/PIL/.dylibs/liblcms2.2.dylib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e1979d4195d1bbf5b8d69b4279ab156d14546e536597a5094341ec787beeb18f
|
| 3 |
+
size 524672
|
.venv/lib/python3.14/site-packages/PIL/.dylibs/liblzma.5.dylib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b071b28b11445f47db4851b185241487c65d83373962881e06067526dc1bb4fe
|
| 3 |
+
size 325120
|
.venv/lib/python3.14/site-packages/PIL/.dylibs/libopenjp2.2.5.4.dylib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f296c969caed39463463caf2252cf4c85190302d079532845aa4e4cd4dd38e29
|
| 3 |
+
size 666432
|
.venv/lib/python3.14/site-packages/PIL/.dylibs/libpng16.16.dylib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:193d44b758266e849295578d95773aa8ee8aa469ad157a1cfde6c61e1b448b30
|
| 3 |
+
size 344368
|