vtool-ibeis 2.3.0__tar.gz → 2.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. vtool_ibeis-2.3.1/PKG-INFO +440 -0
  2. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/pyproject.toml +4 -4
  3. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/setup.py +17 -11
  4. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/tests/test_coverage_max_reduce.py +1 -1
  5. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/tests/test_draw_keypoint.py +0 -1
  6. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/tests/test_pyflann.py +0 -1
  7. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/tests/test_spatial_verification.py +0 -1
  8. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/tests/test_vtool.py +0 -2
  9. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/__init__.py +1 -1
  10. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/clustering2.py +1 -1
  11. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/confusion.py +53 -6
  12. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/distance.py +19 -0
  13. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/exif.py +4 -4
  14. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/features.py +1 -2
  15. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/histogram.py +9 -6
  16. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/image.py +8 -6
  17. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/inspect_matches.py +41 -4
  18. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/keypoint.py +1 -1
  19. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/other.py +34 -20
  20. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/score_normalization.py +15 -10
  21. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/symbolic.py +3 -4
  22. vtool_ibeis-2.3.1/vtool_ibeis.egg-info/PKG-INFO +440 -0
  23. vtool_ibeis-2.3.1/vtool_ibeis.egg-info/requires.txt +566 -0
  24. vtool_ibeis-2.3.0/PKG-INFO +0 -561
  25. vtool_ibeis-2.3.0/vtool_ibeis.egg-info/PKG-INFO +0 -561
  26. vtool_ibeis-2.3.0/vtool_ibeis.egg-info/requires.txt +0 -833
  27. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/LICENSE +0 -0
  28. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/README.rst +0 -0
  29. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/setup.cfg +0 -0
  30. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/tests/test_akmeans.py +0 -0
  31. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/tests/test_import.py +0 -0
  32. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/tests/testdata_nondeterm_sver.py +0 -0
  33. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/__main__.py +0 -0
  34. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/_pyflann_backend.py +0 -0
  35. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/_rhomb_dist.py +0 -0
  36. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/blend.py +0 -0
  37. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/chip.py +0 -0
  38. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/coverage_grid.py +0 -0
  39. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/coverage_kpts.py +0 -0
  40. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/demodata.py +0 -0
  41. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/ellipse.py +0 -0
  42. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/fontdemo.py +0 -0
  43. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/geometry.py +0 -0
  44. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/image_filters.py +0 -0
  45. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/image_shared.py +0 -0
  46. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/linalg.py +0 -0
  47. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/matching.py +0 -0
  48. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/nearest_neighbors.py +0 -0
  49. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/numpy_utils.py +0 -0
  50. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/patch.py +0 -0
  51. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/quality_classifier.py +0 -0
  52. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/segmentation.py +0 -0
  53. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/spatial_verification.py +0 -0
  54. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/sver_c_wrapper.py +0 -0
  55. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/trig.py +0 -0
  56. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis/util_math.py +0 -0
  57. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis.egg-info/SOURCES.txt +0 -0
  58. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis.egg-info/dependency_links.txt +0 -0
  59. {vtool_ibeis-2.3.0 → vtool_ibeis-2.3.1}/vtool_ibeis.egg-info/top_level.txt +0 -0
@@ -0,0 +1,440 @@
1
+ Metadata-Version: 2.4
2
+ Name: vtool_ibeis
3
+ Version: 2.3.1
4
+ Summary: vision tools for IBEIS
5
+ Home-page: https://github.com/Erotemic/vtool_ibeis
6
+ Author: Jon Crall, Jason Parham, Hendrik Weideman, Avi Weinstock, Zackary Rutfield, Chuck Stewart
7
+ Author-email: erotemic@gmail.com
8
+ License: Apache 2
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
12
+ Classifier: Topic :: Utilities
13
+ Classifier: License :: OSI Approved :: Apache Software License
14
+ Classifier: Programming Language :: Python :: 3.9
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
20
+ Requires-Python: >=3.9
21
+ Description-Content-Type: text/x-rst
22
+ License-File: LICENSE
23
+ Requires-Dist: networkx>=3.0; python_version < "4.0" and python_version >= "3.13"
24
+ Requires-Dist: networkx>=2.8; python_version < "3.13" and python_version >= "3.11"
25
+ Requires-Dist: networkx>=2.7; python_version < "3.11" and python_version >= "3.8"
26
+ Requires-Dist: Pillow>=12.0.0; python_version < "4.0" and python_version >= "3.14"
27
+ Requires-Dist: Pillow>=10.4.0; python_version < "3.14" and python_version >= "3.13"
28
+ Requires-Dist: Pillow>=10.0.0; python_version < "3.13" and python_version >= "3.12"
29
+ Requires-Dist: Pillow>=9.4.0; python_version < "3.12" and python_version >= "3.11"
30
+ Requires-Dist: Pillow>=9.1.0; python_version < "3.11" and python_version >= "3.10"
31
+ Requires-Dist: Pillow>=8.3.2; python_version < "3.10" and python_version >= "3.9"
32
+ Requires-Dist: numpy>=2.3.4; python_version < "4.0" and python_version >= "3.14"
33
+ Requires-Dist: numpy>=2.1.0; python_version < "3.14" and python_version >= "3.13"
34
+ Requires-Dist: numpy>=1.26.0; python_version < "3.13" and python_version >= "3.12"
35
+ Requires-Dist: numpy>=1.24.0; python_version < "3.12" and python_version >= "3.11"
36
+ Requires-Dist: numpy>=1.21.6; python_version < "3.11" and python_version >= "3.10"
37
+ Requires-Dist: numpy>=1.19.3; python_version < "3.10" and python_version >= "3.9"
38
+ Requires-Dist: scipy>=1.16.2; python_version < "4.0" and python_version >= "3.14"
39
+ Requires-Dist: scipy>=1.14.1; python_version < "3.14" and python_version >= "3.13"
40
+ Requires-Dist: scipy>=1.11.2; python_version < "3.13" and python_version >= "3.12"
41
+ Requires-Dist: scipy>=1.9.2; python_version < "3.12" and python_version >= "3.11"
42
+ Requires-Dist: scipy>=1.8.0; python_version < "3.11" and python_version >= "3.10"
43
+ Requires-Dist: scipy>=1.8.0; python_version < "3.10" and python_version >= "3.9"
44
+ Requires-Dist: six>=1.17.0
45
+ Requires-Dist: scikit-image>=0.26.0; python_version < "4.0" and python_version >= "3.14"
46
+ Requires-Dist: scikit-image>=0.25.0; python_version < "3.14" and python_version >= "3.13"
47
+ Requires-Dist: scikit-image>=0.22.0; python_version < "3.13" and python_version >= "3.12"
48
+ Requires-Dist: scikit-image>=0.20.0; python_version < "3.12" and python_version >= "3.11"
49
+ Requires-Dist: scikit-image>=0.19.0; python_version < "3.11" and python_version >= "3.10"
50
+ Requires-Dist: scikit-image>=0.18.0; python_version < "3.10" and python_version >= "3.9"
51
+ Requires-Dist: scikit-learn>=1.7.2; python_version < "4.0" and python_version >= "3.14"
52
+ Requires-Dist: scikit-learn>=1.5.2; python_version < "3.14" and python_version >= "3.13"
53
+ Requires-Dist: scikit-learn>=1.3.1; python_version < "3.13" and python_version >= "3.12"
54
+ Requires-Dist: scikit-learn>=1.1.3; python_version < "3.12" and python_version >= "3.11"
55
+ Requires-Dist: scikit-learn>=1.0.2; python_version < "3.11" and python_version >= "3.10"
56
+ Requires-Dist: scikit-learn>=1.0.2; python_version < "3.10" and python_version >= "3.9"
57
+ Requires-Dist: statsmodels>=0.14.5; python_version < "4.0" and python_version >= "3.14"
58
+ Requires-Dist: statsmodels>=0.14.3; python_version < "3.14" and python_version >= "3.13"
59
+ Requires-Dist: statsmodels>=0.14.0; python_version < "3.13" and python_version >= "3.12"
60
+ Requires-Dist: statsmodels>=0.13.3; python_version < "3.12" and python_version >= "3.11"
61
+ Requires-Dist: statsmodels>=0.13.1; python_version < "3.11" and python_version >= "3.10"
62
+ Requires-Dist: statsmodels>=0.13.1; python_version < "3.10" and python_version >= "3.9"
63
+ Requires-Dist: ubelt>=1.3.6
64
+ Requires-Dist: utool>=2.2.1
65
+ Requires-Dist: packaging>=21.3
66
+ Requires-Dist: scriptconfig>=0.8.2
67
+ Provides-Extra: all
68
+ Requires-Dist: networkx>=3.0; (python_version < "4.0" and python_version >= "3.13") and extra == "all"
69
+ Requires-Dist: networkx>=2.8; (python_version < "3.13" and python_version >= "3.11") and extra == "all"
70
+ Requires-Dist: networkx>=2.7; (python_version < "3.11" and python_version >= "3.8") and extra == "all"
71
+ Requires-Dist: Pillow>=12.0.0; (python_version < "4.0" and python_version >= "3.14") and extra == "all"
72
+ Requires-Dist: Pillow>=10.4.0; (python_version < "3.14" and python_version >= "3.13") and extra == "all"
73
+ Requires-Dist: Pillow>=10.0.0; (python_version < "3.13" and python_version >= "3.12") and extra == "all"
74
+ Requires-Dist: Pillow>=9.4.0; (python_version < "3.12" and python_version >= "3.11") and extra == "all"
75
+ Requires-Dist: Pillow>=9.1.0; (python_version < "3.11" and python_version >= "3.10") and extra == "all"
76
+ Requires-Dist: Pillow>=8.3.2; (python_version < "3.10" and python_version >= "3.9") and extra == "all"
77
+ Requires-Dist: numpy>=2.3.4; (python_version < "4.0" and python_version >= "3.14") and extra == "all"
78
+ Requires-Dist: numpy>=2.1.0; (python_version < "3.14" and python_version >= "3.13") and extra == "all"
79
+ Requires-Dist: numpy>=1.26.0; (python_version < "3.13" and python_version >= "3.12") and extra == "all"
80
+ Requires-Dist: numpy>=1.24.0; (python_version < "3.12" and python_version >= "3.11") and extra == "all"
81
+ Requires-Dist: numpy>=1.21.6; (python_version < "3.11" and python_version >= "3.10") and extra == "all"
82
+ Requires-Dist: numpy>=1.19.3; (python_version < "3.10" and python_version >= "3.9") and extra == "all"
83
+ Requires-Dist: scipy>=1.16.2; (python_version < "4.0" and python_version >= "3.14") and extra == "all"
84
+ Requires-Dist: scipy>=1.14.1; (python_version < "3.14" and python_version >= "3.13") and extra == "all"
85
+ Requires-Dist: scipy>=1.11.2; (python_version < "3.13" and python_version >= "3.12") and extra == "all"
86
+ Requires-Dist: scipy>=1.9.2; (python_version < "3.12" and python_version >= "3.11") and extra == "all"
87
+ Requires-Dist: scipy>=1.8.0; (python_version < "3.11" and python_version >= "3.10") and extra == "all"
88
+ Requires-Dist: scipy>=1.8.0; (python_version < "3.10" and python_version >= "3.9") and extra == "all"
89
+ Requires-Dist: six>=1.17.0; extra == "all"
90
+ Requires-Dist: scikit-image>=0.26.0; (python_version < "4.0" and python_version >= "3.14") and extra == "all"
91
+ Requires-Dist: scikit-image>=0.25.0; (python_version < "3.14" and python_version >= "3.13") and extra == "all"
92
+ Requires-Dist: scikit-image>=0.22.0; (python_version < "3.13" and python_version >= "3.12") and extra == "all"
93
+ Requires-Dist: scikit-image>=0.20.0; (python_version < "3.12" and python_version >= "3.11") and extra == "all"
94
+ Requires-Dist: scikit-image>=0.19.0; (python_version < "3.11" and python_version >= "3.10") and extra == "all"
95
+ Requires-Dist: scikit-image>=0.18.0; (python_version < "3.10" and python_version >= "3.9") and extra == "all"
96
+ Requires-Dist: scikit-learn>=1.7.2; (python_version < "4.0" and python_version >= "3.14") and extra == "all"
97
+ Requires-Dist: scikit-learn>=1.5.2; (python_version < "3.14" and python_version >= "3.13") and extra == "all"
98
+ Requires-Dist: scikit-learn>=1.3.1; (python_version < "3.13" and python_version >= "3.12") and extra == "all"
99
+ Requires-Dist: scikit-learn>=1.1.3; (python_version < "3.12" and python_version >= "3.11") and extra == "all"
100
+ Requires-Dist: scikit-learn>=1.0.2; (python_version < "3.11" and python_version >= "3.10") and extra == "all"
101
+ Requires-Dist: scikit-learn>=1.0.2; (python_version < "3.10" and python_version >= "3.9") and extra == "all"
102
+ Requires-Dist: statsmodels>=0.14.5; (python_version < "4.0" and python_version >= "3.14") and extra == "all"
103
+ Requires-Dist: statsmodels>=0.14.3; (python_version < "3.14" and python_version >= "3.13") and extra == "all"
104
+ Requires-Dist: statsmodels>=0.14.0; (python_version < "3.13" and python_version >= "3.12") and extra == "all"
105
+ Requires-Dist: statsmodels>=0.13.3; (python_version < "3.12" and python_version >= "3.11") and extra == "all"
106
+ Requires-Dist: statsmodels>=0.13.1; (python_version < "3.11" and python_version >= "3.10") and extra == "all"
107
+ Requires-Dist: statsmodels>=0.13.1; (python_version < "3.10" and python_version >= "3.9") and extra == "all"
108
+ Requires-Dist: ubelt>=1.3.6; extra == "all"
109
+ Requires-Dist: utool>=2.2.1; extra == "all"
110
+ Requires-Dist: packaging>=21.3; extra == "all"
111
+ Requires-Dist: scriptconfig>=0.8.2; extra == "all"
112
+ Requires-Dist: xdoctest>=1.1.3; extra == "all"
113
+ Requires-Dist: pytest>=8.1.1; (python_version < "4.0" and python_version >= "3.13") and extra == "all"
114
+ Requires-Dist: pytest>=8.1.1; (python_version < "3.13" and python_version >= "3.12") and extra == "all"
115
+ Requires-Dist: pytest>=8.1.1; (python_version < "3.12" and python_version >= "3.11") and extra == "all"
116
+ Requires-Dist: pytest>=8.1.1; (python_version < "3.11" and python_version >= "3.10") and extra == "all"
117
+ Requires-Dist: pytest>=8.1.1; (python_version < "3.10" and python_version >= "3.9") and extra == "all"
118
+ Requires-Dist: pytest-cov>=3.0.0; extra == "all"
119
+ Requires-Dist: coverage>=7.3.0; (python_version < "4.0" and python_version >= "3.12") and extra == "all"
120
+ Requires-Dist: coverage>=6.1.1; (python_version < "3.12" and python_version >= "3.10") and extra == "all"
121
+ Requires-Dist: coverage>=5.3.1; (python_version < "3.10" and python_version >= "3.9") and extra == "all"
122
+ Requires-Dist: coverage>=6.1.1; (python_version < "3.9" and python_version >= "3.8") and extra == "all"
123
+ Requires-Dist: pyflann_ibeis>=2.4.2; (python_version < "4.0" and python_version >= "3.11") and extra == "all"
124
+ Requires-Dist: pyflann_ibeis>=2.4.2; (python_version < "3.11" and python_version >= "3.10") and extra == "all"
125
+ Requires-Dist: pyflann_ibeis>=2.4.2; (python_version < "3.10" and python_version >= "3.9") and extra == "all"
126
+ Requires-Dist: pyhesaff>=2.1.4; (python_version < "4.0" and python_version >= "3.11") and extra == "all"
127
+ Requires-Dist: pyhesaff>=2.1.4; (python_version < "3.11" and python_version >= "3.10") and extra == "all"
128
+ Requires-Dist: pyhesaff>=2.1.4; (python_version < "3.10" and python_version >= "3.9") and extra == "all"
129
+ Requires-Dist: vtool_ibeis_ext>=0.1.3; (python_version < "4.0" and python_version >= "3.11") and extra == "all"
130
+ Requires-Dist: vtool_ibeis_ext>=0.1.3; (python_version < "3.11" and python_version >= "3.10") and extra == "all"
131
+ Requires-Dist: vtool_ibeis_ext>=0.1.3; (python_version < "3.10" and python_version >= "3.9") and extra == "all"
132
+ Requires-Dist: setuptools>=34.1.0; extra == "all"
133
+ Requires-Dist: wheel; extra == "all"
134
+ Requires-Dist: scikit-build; extra == "all"
135
+ Requires-Dist: cmake; extra == "all"
136
+ Requires-Dist: ninja; extra == "all"
137
+ Provides-Extra: headless
138
+ Requires-Dist: opencv-python-headless>=4.10.0.84; (python_version < "4.0" and python_version >= "3.13") and extra == "headless"
139
+ Requires-Dist: opencv-python-headless>=4.5.5.64; (python_version < "3.13" and python_version >= "3.11") and extra == "headless"
140
+ Requires-Dist: opencv-python-headless>=4.5.4.58; (python_version < "3.11" and python_version >= "3.10") and extra == "headless"
141
+ Requires-Dist: opencv-python-headless>=3.4.15.55; (python_version < "3.10" and python_version >= "3.9") and extra == "headless"
142
+ Provides-Extra: graphics
143
+ Requires-Dist: opencv-python>=4.10.0.84; (python_version < "4.0" and python_version >= "3.13") and extra == "graphics"
144
+ Requires-Dist: opencv-python>=4.5.5.64; (python_version < "3.13" and python_version >= "3.11") and extra == "graphics"
145
+ Requires-Dist: opencv-python>=4.5.4.58; (python_version < "3.11" and python_version >= "3.10") and extra == "graphics"
146
+ Requires-Dist: opencv-python>=3.4.15.55; (python_version < "3.10" and python_version >= "3.9") and extra == "graphics"
147
+ Provides-Extra: build
148
+ Requires-Dist: setuptools>=34.1.0; extra == "build"
149
+ Requires-Dist: wheel; extra == "build"
150
+ Requires-Dist: scikit-build; extra == "build"
151
+ Requires-Dist: cmake; extra == "build"
152
+ Requires-Dist: ninja; extra == "build"
153
+ Provides-Extra: docs
154
+ Requires-Dist: sphinx>=5.0.1; extra == "docs"
155
+ Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "docs"
156
+ Requires-Dist: sphinx_rtd_theme>=1.0.0; extra == "docs"
157
+ Requires-Dist: sphinxcontrib-napoleon>=0.7; extra == "docs"
158
+ Requires-Dist: sphinx-autoapi>=1.8.4; extra == "docs"
159
+ Requires-Dist: Pygments>=2.9.0; extra == "docs"
160
+ Requires-Dist: myst_parser>=0.18.0; extra == "docs"
161
+ Requires-Dist: sphinx-reredirects>=0.0.1; extra == "docs"
162
+ Provides-Extra: optional
163
+ Requires-Dist: pyflann_ibeis>=2.4.2; (python_version < "4.0" and python_version >= "3.11") and extra == "optional"
164
+ Requires-Dist: pyflann_ibeis>=2.4.2; (python_version < "3.11" and python_version >= "3.10") and extra == "optional"
165
+ Requires-Dist: pyflann_ibeis>=2.4.2; (python_version < "3.10" and python_version >= "3.9") and extra == "optional"
166
+ Requires-Dist: pyhesaff>=2.1.4; (python_version < "4.0" and python_version >= "3.11") and extra == "optional"
167
+ Requires-Dist: pyhesaff>=2.1.4; (python_version < "3.11" and python_version >= "3.10") and extra == "optional"
168
+ Requires-Dist: pyhesaff>=2.1.4; (python_version < "3.10" and python_version >= "3.9") and extra == "optional"
169
+ Requires-Dist: vtool_ibeis_ext>=0.1.3; (python_version < "4.0" and python_version >= "3.11") and extra == "optional"
170
+ Requires-Dist: vtool_ibeis_ext>=0.1.3; (python_version < "3.11" and python_version >= "3.10") and extra == "optional"
171
+ Requires-Dist: vtool_ibeis_ext>=0.1.3; (python_version < "3.10" and python_version >= "3.9") and extra == "optional"
172
+ Provides-Extra: runtime
173
+ Requires-Dist: networkx>=3.0; (python_version < "4.0" and python_version >= "3.13") and extra == "runtime"
174
+ Requires-Dist: networkx>=2.8; (python_version < "3.13" and python_version >= "3.11") and extra == "runtime"
175
+ Requires-Dist: networkx>=2.7; (python_version < "3.11" and python_version >= "3.8") and extra == "runtime"
176
+ Requires-Dist: Pillow>=12.0.0; (python_version < "4.0" and python_version >= "3.14") and extra == "runtime"
177
+ Requires-Dist: Pillow>=10.4.0; (python_version < "3.14" and python_version >= "3.13") and extra == "runtime"
178
+ Requires-Dist: Pillow>=10.0.0; (python_version < "3.13" and python_version >= "3.12") and extra == "runtime"
179
+ Requires-Dist: Pillow>=9.4.0; (python_version < "3.12" and python_version >= "3.11") and extra == "runtime"
180
+ Requires-Dist: Pillow>=9.1.0; (python_version < "3.11" and python_version >= "3.10") and extra == "runtime"
181
+ Requires-Dist: Pillow>=8.3.2; (python_version < "3.10" and python_version >= "3.9") and extra == "runtime"
182
+ Requires-Dist: numpy>=2.3.4; (python_version < "4.0" and python_version >= "3.14") and extra == "runtime"
183
+ Requires-Dist: numpy>=2.1.0; (python_version < "3.14" and python_version >= "3.13") and extra == "runtime"
184
+ Requires-Dist: numpy>=1.26.0; (python_version < "3.13" and python_version >= "3.12") and extra == "runtime"
185
+ Requires-Dist: numpy>=1.24.0; (python_version < "3.12" and python_version >= "3.11") and extra == "runtime"
186
+ Requires-Dist: numpy>=1.21.6; (python_version < "3.11" and python_version >= "3.10") and extra == "runtime"
187
+ Requires-Dist: numpy>=1.19.3; (python_version < "3.10" and python_version >= "3.9") and extra == "runtime"
188
+ Requires-Dist: scipy>=1.16.2; (python_version < "4.0" and python_version >= "3.14") and extra == "runtime"
189
+ Requires-Dist: scipy>=1.14.1; (python_version < "3.14" and python_version >= "3.13") and extra == "runtime"
190
+ Requires-Dist: scipy>=1.11.2; (python_version < "3.13" and python_version >= "3.12") and extra == "runtime"
191
+ Requires-Dist: scipy>=1.9.2; (python_version < "3.12" and python_version >= "3.11") and extra == "runtime"
192
+ Requires-Dist: scipy>=1.8.0; (python_version < "3.11" and python_version >= "3.10") and extra == "runtime"
193
+ Requires-Dist: scipy>=1.8.0; (python_version < "3.10" and python_version >= "3.9") and extra == "runtime"
194
+ Requires-Dist: six>=1.17.0; extra == "runtime"
195
+ Requires-Dist: scikit-image>=0.26.0; (python_version < "4.0" and python_version >= "3.14") and extra == "runtime"
196
+ Requires-Dist: scikit-image>=0.25.0; (python_version < "3.14" and python_version >= "3.13") and extra == "runtime"
197
+ Requires-Dist: scikit-image>=0.22.0; (python_version < "3.13" and python_version >= "3.12") and extra == "runtime"
198
+ Requires-Dist: scikit-image>=0.20.0; (python_version < "3.12" and python_version >= "3.11") and extra == "runtime"
199
+ Requires-Dist: scikit-image>=0.19.0; (python_version < "3.11" and python_version >= "3.10") and extra == "runtime"
200
+ Requires-Dist: scikit-image>=0.18.0; (python_version < "3.10" and python_version >= "3.9") and extra == "runtime"
201
+ Requires-Dist: scikit-learn>=1.7.2; (python_version < "4.0" and python_version >= "3.14") and extra == "runtime"
202
+ Requires-Dist: scikit-learn>=1.5.2; (python_version < "3.14" and python_version >= "3.13") and extra == "runtime"
203
+ Requires-Dist: scikit-learn>=1.3.1; (python_version < "3.13" and python_version >= "3.12") and extra == "runtime"
204
+ Requires-Dist: scikit-learn>=1.1.3; (python_version < "3.12" and python_version >= "3.11") and extra == "runtime"
205
+ Requires-Dist: scikit-learn>=1.0.2; (python_version < "3.11" and python_version >= "3.10") and extra == "runtime"
206
+ Requires-Dist: scikit-learn>=1.0.2; (python_version < "3.10" and python_version >= "3.9") and extra == "runtime"
207
+ Requires-Dist: statsmodels>=0.14.5; (python_version < "4.0" and python_version >= "3.14") and extra == "runtime"
208
+ Requires-Dist: statsmodels>=0.14.3; (python_version < "3.14" and python_version >= "3.13") and extra == "runtime"
209
+ Requires-Dist: statsmodels>=0.14.0; (python_version < "3.13" and python_version >= "3.12") and extra == "runtime"
210
+ Requires-Dist: statsmodels>=0.13.3; (python_version < "3.12" and python_version >= "3.11") and extra == "runtime"
211
+ Requires-Dist: statsmodels>=0.13.1; (python_version < "3.11" and python_version >= "3.10") and extra == "runtime"
212
+ Requires-Dist: statsmodels>=0.13.1; (python_version < "3.10" and python_version >= "3.9") and extra == "runtime"
213
+ Requires-Dist: ubelt>=1.3.6; extra == "runtime"
214
+ Requires-Dist: utool>=2.2.1; extra == "runtime"
215
+ Requires-Dist: packaging>=21.3; extra == "runtime"
216
+ Requires-Dist: scriptconfig>=0.8.2; extra == "runtime"
217
+ Provides-Extra: tests
218
+ Requires-Dist: xdoctest>=1.1.3; extra == "tests"
219
+ Requires-Dist: pytest>=8.1.1; (python_version < "4.0" and python_version >= "3.13") and extra == "tests"
220
+ Requires-Dist: pytest>=8.1.1; (python_version < "3.13" and python_version >= "3.12") and extra == "tests"
221
+ Requires-Dist: pytest>=8.1.1; (python_version < "3.12" and python_version >= "3.11") and extra == "tests"
222
+ Requires-Dist: pytest>=8.1.1; (python_version < "3.11" and python_version >= "3.10") and extra == "tests"
223
+ Requires-Dist: pytest>=8.1.1; (python_version < "3.10" and python_version >= "3.9") and extra == "tests"
224
+ Requires-Dist: pytest-cov>=3.0.0; extra == "tests"
225
+ Requires-Dist: coverage>=7.3.0; (python_version < "4.0" and python_version >= "3.12") and extra == "tests"
226
+ Requires-Dist: coverage>=6.1.1; (python_version < "3.12" and python_version >= "3.10") and extra == "tests"
227
+ Requires-Dist: coverage>=5.3.1; (python_version < "3.10" and python_version >= "3.9") and extra == "tests"
228
+ Requires-Dist: coverage>=6.1.1; (python_version < "3.9" and python_version >= "3.8") and extra == "tests"
229
+ Provides-Extra: all-strict
230
+ Requires-Dist: networkx==3.0; (python_version < "4.0" and python_version >= "3.13") and extra == "all-strict"
231
+ Requires-Dist: networkx==2.8; (python_version < "3.13" and python_version >= "3.11") and extra == "all-strict"
232
+ Requires-Dist: networkx==2.7; (python_version < "3.11" and python_version >= "3.8") and extra == "all-strict"
233
+ Requires-Dist: Pillow==12.0.0; (python_version < "4.0" and python_version >= "3.14") and extra == "all-strict"
234
+ Requires-Dist: Pillow==10.4.0; (python_version < "3.14" and python_version >= "3.13") and extra == "all-strict"
235
+ Requires-Dist: Pillow==10.0.0; (python_version < "3.13" and python_version >= "3.12") and extra == "all-strict"
236
+ Requires-Dist: Pillow==9.4.0; (python_version < "3.12" and python_version >= "3.11") and extra == "all-strict"
237
+ Requires-Dist: Pillow==9.1.0; (python_version < "3.11" and python_version >= "3.10") and extra == "all-strict"
238
+ Requires-Dist: Pillow==8.3.2; (python_version < "3.10" and python_version >= "3.9") and extra == "all-strict"
239
+ Requires-Dist: numpy==2.3.4; (python_version < "4.0" and python_version >= "3.14") and extra == "all-strict"
240
+ Requires-Dist: numpy==2.1.0; (python_version < "3.14" and python_version >= "3.13") and extra == "all-strict"
241
+ Requires-Dist: numpy==1.26.0; (python_version < "3.13" and python_version >= "3.12") and extra == "all-strict"
242
+ Requires-Dist: numpy==1.24.0; (python_version < "3.12" and python_version >= "3.11") and extra == "all-strict"
243
+ Requires-Dist: numpy==1.21.6; (python_version < "3.11" and python_version >= "3.10") and extra == "all-strict"
244
+ Requires-Dist: numpy==1.19.3; (python_version < "3.10" and python_version >= "3.9") and extra == "all-strict"
245
+ Requires-Dist: scipy==1.16.2; (python_version < "4.0" and python_version >= "3.14") and extra == "all-strict"
246
+ Requires-Dist: scipy==1.14.1; (python_version < "3.14" and python_version >= "3.13") and extra == "all-strict"
247
+ Requires-Dist: scipy==1.11.2; (python_version < "3.13" and python_version >= "3.12") and extra == "all-strict"
248
+ Requires-Dist: scipy==1.9.2; (python_version < "3.12" and python_version >= "3.11") and extra == "all-strict"
249
+ Requires-Dist: scipy==1.8.0; (python_version < "3.11" and python_version >= "3.10") and extra == "all-strict"
250
+ Requires-Dist: scipy==1.8.0; (python_version < "3.10" and python_version >= "3.9") and extra == "all-strict"
251
+ Requires-Dist: six==1.17.0; extra == "all-strict"
252
+ Requires-Dist: scikit-image==0.26.0; (python_version < "4.0" and python_version >= "3.14") and extra == "all-strict"
253
+ Requires-Dist: scikit-image==0.25.0; (python_version < "3.14" and python_version >= "3.13") and extra == "all-strict"
254
+ Requires-Dist: scikit-image==0.22.0; (python_version < "3.13" and python_version >= "3.12") and extra == "all-strict"
255
+ Requires-Dist: scikit-image==0.20.0; (python_version < "3.12" and python_version >= "3.11") and extra == "all-strict"
256
+ Requires-Dist: scikit-image==0.19.0; (python_version < "3.11" and python_version >= "3.10") and extra == "all-strict"
257
+ Requires-Dist: scikit-image==0.18.0; (python_version < "3.10" and python_version >= "3.9") and extra == "all-strict"
258
+ Requires-Dist: scikit-learn==1.7.2; (python_version < "4.0" and python_version >= "3.14") and extra == "all-strict"
259
+ Requires-Dist: scikit-learn==1.5.2; (python_version < "3.14" and python_version >= "3.13") and extra == "all-strict"
260
+ Requires-Dist: scikit-learn==1.3.1; (python_version < "3.13" and python_version >= "3.12") and extra == "all-strict"
261
+ Requires-Dist: scikit-learn==1.1.3; (python_version < "3.12" and python_version >= "3.11") and extra == "all-strict"
262
+ Requires-Dist: scikit-learn==1.0.2; (python_version < "3.11" and python_version >= "3.10") and extra == "all-strict"
263
+ Requires-Dist: scikit-learn==1.0.2; (python_version < "3.10" and python_version >= "3.9") and extra == "all-strict"
264
+ Requires-Dist: statsmodels==0.14.5; (python_version < "4.0" and python_version >= "3.14") and extra == "all-strict"
265
+ Requires-Dist: statsmodels==0.14.3; (python_version < "3.14" and python_version >= "3.13") and extra == "all-strict"
266
+ Requires-Dist: statsmodels==0.14.0; (python_version < "3.13" and python_version >= "3.12") and extra == "all-strict"
267
+ Requires-Dist: statsmodels==0.13.3; (python_version < "3.12" and python_version >= "3.11") and extra == "all-strict"
268
+ Requires-Dist: statsmodels==0.13.1; (python_version < "3.11" and python_version >= "3.10") and extra == "all-strict"
269
+ Requires-Dist: statsmodels==0.13.1; (python_version < "3.10" and python_version >= "3.9") and extra == "all-strict"
270
+ Requires-Dist: ubelt==1.3.6; extra == "all-strict"
271
+ Requires-Dist: utool==2.2.1; extra == "all-strict"
272
+ Requires-Dist: packaging==21.3; extra == "all-strict"
273
+ Requires-Dist: scriptconfig==0.8.2; extra == "all-strict"
274
+ Requires-Dist: xdoctest==1.1.3; extra == "all-strict"
275
+ Requires-Dist: pytest==8.1.1; (python_version < "4.0" and python_version >= "3.13") and extra == "all-strict"
276
+ Requires-Dist: pytest==8.1.1; (python_version < "3.13" and python_version >= "3.12") and extra == "all-strict"
277
+ Requires-Dist: pytest==8.1.1; (python_version < "3.12" and python_version >= "3.11") and extra == "all-strict"
278
+ Requires-Dist: pytest==8.1.1; (python_version < "3.11" and python_version >= "3.10") and extra == "all-strict"
279
+ Requires-Dist: pytest==8.1.1; (python_version < "3.10" and python_version >= "3.9") and extra == "all-strict"
280
+ Requires-Dist: pytest-cov==3.0.0; extra == "all-strict"
281
+ Requires-Dist: coverage==7.3.0; (python_version < "4.0" and python_version >= "3.12") and extra == "all-strict"
282
+ Requires-Dist: coverage==6.1.1; (python_version < "3.12" and python_version >= "3.10") and extra == "all-strict"
283
+ Requires-Dist: coverage==5.3.1; (python_version < "3.10" and python_version >= "3.9") and extra == "all-strict"
284
+ Requires-Dist: coverage==6.1.1; (python_version < "3.9" and python_version >= "3.8") and extra == "all-strict"
285
+ Requires-Dist: pyflann_ibeis==2.4.2; (python_version < "4.0" and python_version >= "3.11") and extra == "all-strict"
286
+ Requires-Dist: pyflann_ibeis==2.4.2; (python_version < "3.11" and python_version >= "3.10") and extra == "all-strict"
287
+ Requires-Dist: pyflann_ibeis==2.4.2; (python_version < "3.10" and python_version >= "3.9") and extra == "all-strict"
288
+ Requires-Dist: pyhesaff==2.1.4; (python_version < "4.0" and python_version >= "3.11") and extra == "all-strict"
289
+ Requires-Dist: pyhesaff==2.1.4; (python_version < "3.11" and python_version >= "3.10") and extra == "all-strict"
290
+ Requires-Dist: pyhesaff==2.1.4; (python_version < "3.10" and python_version >= "3.9") and extra == "all-strict"
291
+ Requires-Dist: vtool_ibeis_ext==0.1.3; (python_version < "4.0" and python_version >= "3.11") and extra == "all-strict"
292
+ Requires-Dist: vtool_ibeis_ext==0.1.3; (python_version < "3.11" and python_version >= "3.10") and extra == "all-strict"
293
+ Requires-Dist: vtool_ibeis_ext==0.1.3; (python_version < "3.10" and python_version >= "3.9") and extra == "all-strict"
294
+ Requires-Dist: setuptools==34.1.0; extra == "all-strict"
295
+ Requires-Dist: wheel; extra == "all-strict"
296
+ Requires-Dist: scikit-build; extra == "all-strict"
297
+ Requires-Dist: cmake; extra == "all-strict"
298
+ Requires-Dist: ninja; extra == "all-strict"
299
+ Provides-Extra: headless-strict
300
+ Requires-Dist: opencv-python-headless==4.10.0.84; (python_version < "4.0" and python_version >= "3.13") and extra == "headless-strict"
301
+ Requires-Dist: opencv-python-headless==4.5.5.64; (python_version < "3.13" and python_version >= "3.11") and extra == "headless-strict"
302
+ Requires-Dist: opencv-python-headless==4.5.4.58; (python_version < "3.11" and python_version >= "3.10") and extra == "headless-strict"
303
+ Requires-Dist: opencv-python-headless==3.4.15.55; (python_version < "3.10" and python_version >= "3.9") and extra == "headless-strict"
304
+ Provides-Extra: graphics-strict
305
+ Requires-Dist: opencv-python==4.10.0.84; (python_version < "4.0" and python_version >= "3.13") and extra == "graphics-strict"
306
+ Requires-Dist: opencv-python==4.5.5.64; (python_version < "3.13" and python_version >= "3.11") and extra == "graphics-strict"
307
+ Requires-Dist: opencv-python==4.5.4.58; (python_version < "3.11" and python_version >= "3.10") and extra == "graphics-strict"
308
+ Requires-Dist: opencv-python==3.4.15.55; (python_version < "3.10" and python_version >= "3.9") and extra == "graphics-strict"
309
+ Provides-Extra: build-strict
310
+ Requires-Dist: setuptools==34.1.0; extra == "build-strict"
311
+ Requires-Dist: wheel; extra == "build-strict"
312
+ Requires-Dist: scikit-build; extra == "build-strict"
313
+ Requires-Dist: cmake; extra == "build-strict"
314
+ Requires-Dist: ninja; extra == "build-strict"
315
+ Provides-Extra: docs-strict
316
+ Requires-Dist: sphinx==5.0.1; extra == "docs-strict"
317
+ Requires-Dist: sphinx-autobuild==2021.3.14; extra == "docs-strict"
318
+ Requires-Dist: sphinx_rtd_theme==1.0.0; extra == "docs-strict"
319
+ Requires-Dist: sphinxcontrib-napoleon==0.7; extra == "docs-strict"
320
+ Requires-Dist: sphinx-autoapi==1.8.4; extra == "docs-strict"
321
+ Requires-Dist: Pygments==2.9.0; extra == "docs-strict"
322
+ Requires-Dist: myst_parser==0.18.0; extra == "docs-strict"
323
+ Requires-Dist: sphinx-reredirects==0.0.1; extra == "docs-strict"
324
+ Provides-Extra: optional-strict
325
+ Requires-Dist: pyflann_ibeis==2.4.2; (python_version < "4.0" and python_version >= "3.11") and extra == "optional-strict"
326
+ Requires-Dist: pyflann_ibeis==2.4.2; (python_version < "3.11" and python_version >= "3.10") and extra == "optional-strict"
327
+ Requires-Dist: pyflann_ibeis==2.4.2; (python_version < "3.10" and python_version >= "3.9") and extra == "optional-strict"
328
+ Requires-Dist: pyhesaff==2.1.4; (python_version < "4.0" and python_version >= "3.11") and extra == "optional-strict"
329
+ Requires-Dist: pyhesaff==2.1.4; (python_version < "3.11" and python_version >= "3.10") and extra == "optional-strict"
330
+ Requires-Dist: pyhesaff==2.1.4; (python_version < "3.10" and python_version >= "3.9") and extra == "optional-strict"
331
+ Requires-Dist: vtool_ibeis_ext==0.1.3; (python_version < "4.0" and python_version >= "3.11") and extra == "optional-strict"
332
+ Requires-Dist: vtool_ibeis_ext==0.1.3; (python_version < "3.11" and python_version >= "3.10") and extra == "optional-strict"
333
+ Requires-Dist: vtool_ibeis_ext==0.1.3; (python_version < "3.10" and python_version >= "3.9") and extra == "optional-strict"
334
+ Provides-Extra: runtime-strict
335
+ Requires-Dist: networkx==3.0; (python_version < "4.0" and python_version >= "3.13") and extra == "runtime-strict"
336
+ Requires-Dist: networkx==2.8; (python_version < "3.13" and python_version >= "3.11") and extra == "runtime-strict"
337
+ Requires-Dist: networkx==2.7; (python_version < "3.11" and python_version >= "3.8") and extra == "runtime-strict"
338
+ Requires-Dist: Pillow==12.0.0; (python_version < "4.0" and python_version >= "3.14") and extra == "runtime-strict"
339
+ Requires-Dist: Pillow==10.4.0; (python_version < "3.14" and python_version >= "3.13") and extra == "runtime-strict"
340
+ Requires-Dist: Pillow==10.0.0; (python_version < "3.13" and python_version >= "3.12") and extra == "runtime-strict"
341
+ Requires-Dist: Pillow==9.4.0; (python_version < "3.12" and python_version >= "3.11") and extra == "runtime-strict"
342
+ Requires-Dist: Pillow==9.1.0; (python_version < "3.11" and python_version >= "3.10") and extra == "runtime-strict"
343
+ Requires-Dist: Pillow==8.3.2; (python_version < "3.10" and python_version >= "3.9") and extra == "runtime-strict"
344
+ Requires-Dist: numpy==2.3.4; (python_version < "4.0" and python_version >= "3.14") and extra == "runtime-strict"
345
+ Requires-Dist: numpy==2.1.0; (python_version < "3.14" and python_version >= "3.13") and extra == "runtime-strict"
346
+ Requires-Dist: numpy==1.26.0; (python_version < "3.13" and python_version >= "3.12") and extra == "runtime-strict"
347
+ Requires-Dist: numpy==1.24.0; (python_version < "3.12" and python_version >= "3.11") and extra == "runtime-strict"
348
+ Requires-Dist: numpy==1.21.6; (python_version < "3.11" and python_version >= "3.10") and extra == "runtime-strict"
349
+ Requires-Dist: numpy==1.19.3; (python_version < "3.10" and python_version >= "3.9") and extra == "runtime-strict"
350
+ Requires-Dist: scipy==1.16.2; (python_version < "4.0" and python_version >= "3.14") and extra == "runtime-strict"
351
+ Requires-Dist: scipy==1.14.1; (python_version < "3.14" and python_version >= "3.13") and extra == "runtime-strict"
352
+ Requires-Dist: scipy==1.11.2; (python_version < "3.13" and python_version >= "3.12") and extra == "runtime-strict"
353
+ Requires-Dist: scipy==1.9.2; (python_version < "3.12" and python_version >= "3.11") and extra == "runtime-strict"
354
+ Requires-Dist: scipy==1.8.0; (python_version < "3.11" and python_version >= "3.10") and extra == "runtime-strict"
355
+ Requires-Dist: scipy==1.8.0; (python_version < "3.10" and python_version >= "3.9") and extra == "runtime-strict"
356
+ Requires-Dist: six==1.17.0; extra == "runtime-strict"
357
+ Requires-Dist: scikit-image==0.26.0; (python_version < "4.0" and python_version >= "3.14") and extra == "runtime-strict"
358
+ Requires-Dist: scikit-image==0.25.0; (python_version < "3.14" and python_version >= "3.13") and extra == "runtime-strict"
359
+ Requires-Dist: scikit-image==0.22.0; (python_version < "3.13" and python_version >= "3.12") and extra == "runtime-strict"
360
+ Requires-Dist: scikit-image==0.20.0; (python_version < "3.12" and python_version >= "3.11") and extra == "runtime-strict"
361
+ Requires-Dist: scikit-image==0.19.0; (python_version < "3.11" and python_version >= "3.10") and extra == "runtime-strict"
362
+ Requires-Dist: scikit-image==0.18.0; (python_version < "3.10" and python_version >= "3.9") and extra == "runtime-strict"
363
+ Requires-Dist: scikit-learn==1.7.2; (python_version < "4.0" and python_version >= "3.14") and extra == "runtime-strict"
364
+ Requires-Dist: scikit-learn==1.5.2; (python_version < "3.14" and python_version >= "3.13") and extra == "runtime-strict"
365
+ Requires-Dist: scikit-learn==1.3.1; (python_version < "3.13" and python_version >= "3.12") and extra == "runtime-strict"
366
+ Requires-Dist: scikit-learn==1.1.3; (python_version < "3.12" and python_version >= "3.11") and extra == "runtime-strict"
367
+ Requires-Dist: scikit-learn==1.0.2; (python_version < "3.11" and python_version >= "3.10") and extra == "runtime-strict"
368
+ Requires-Dist: scikit-learn==1.0.2; (python_version < "3.10" and python_version >= "3.9") and extra == "runtime-strict"
369
+ Requires-Dist: statsmodels==0.14.5; (python_version < "4.0" and python_version >= "3.14") and extra == "runtime-strict"
370
+ Requires-Dist: statsmodels==0.14.3; (python_version < "3.14" and python_version >= "3.13") and extra == "runtime-strict"
371
+ Requires-Dist: statsmodels==0.14.0; (python_version < "3.13" and python_version >= "3.12") and extra == "runtime-strict"
372
+ Requires-Dist: statsmodels==0.13.3; (python_version < "3.12" and python_version >= "3.11") and extra == "runtime-strict"
373
+ Requires-Dist: statsmodels==0.13.1; (python_version < "3.11" and python_version >= "3.10") and extra == "runtime-strict"
374
+ Requires-Dist: statsmodels==0.13.1; (python_version < "3.10" and python_version >= "3.9") and extra == "runtime-strict"
375
+ Requires-Dist: ubelt==1.3.6; extra == "runtime-strict"
376
+ Requires-Dist: utool==2.2.1; extra == "runtime-strict"
377
+ Requires-Dist: packaging==21.3; extra == "runtime-strict"
378
+ Requires-Dist: scriptconfig==0.8.2; extra == "runtime-strict"
379
+ Provides-Extra: tests-strict
380
+ Requires-Dist: xdoctest==1.1.3; extra == "tests-strict"
381
+ Requires-Dist: pytest==8.1.1; (python_version < "4.0" and python_version >= "3.13") and extra == "tests-strict"
382
+ Requires-Dist: pytest==8.1.1; (python_version < "3.13" and python_version >= "3.12") and extra == "tests-strict"
383
+ Requires-Dist: pytest==8.1.1; (python_version < "3.12" and python_version >= "3.11") and extra == "tests-strict"
384
+ Requires-Dist: pytest==8.1.1; (python_version < "3.11" and python_version >= "3.10") and extra == "tests-strict"
385
+ Requires-Dist: pytest==8.1.1; (python_version < "3.10" and python_version >= "3.9") and extra == "tests-strict"
386
+ Requires-Dist: pytest-cov==3.0.0; extra == "tests-strict"
387
+ Requires-Dist: coverage==7.3.0; (python_version < "4.0" and python_version >= "3.12") and extra == "tests-strict"
388
+ Requires-Dist: coverage==6.1.1; (python_version < "3.12" and python_version >= "3.10") and extra == "tests-strict"
389
+ Requires-Dist: coverage==5.3.1; (python_version < "3.10" and python_version >= "3.9") and extra == "tests-strict"
390
+ Requires-Dist: coverage==6.1.1; (python_version < "3.9" and python_version >= "3.8") and extra == "tests-strict"
391
+ Dynamic: author
392
+ Dynamic: author-email
393
+ Dynamic: classifier
394
+ Dynamic: description
395
+ Dynamic: description-content-type
396
+ Dynamic: home-page
397
+ Dynamic: license
398
+ Dynamic: license-file
399
+ Dynamic: provides-extra
400
+ Dynamic: requires-dist
401
+ Dynamic: requires-python
402
+ Dynamic: summary
403
+
404
+ vtool_ibeis
405
+ ===========
406
+
407
+ |Pypi| |Downloads| |Codecov|
408
+
409
+ Vision Tools - tools for computer vision. Part of the WildMe / IBEIS Project.
410
+
411
+
412
+ Repos relevant to the ibeis project:
413
+
414
+ * https://github.com/Erotemic/plottool_ibeis
415
+
416
+ * https://github.com/Erotemic/guitool_ibeis
417
+
418
+ * https://github.com/Erotemic/dtool_ibeis
419
+
420
+ * https://github.com/Erotemic/vtool_ibeis
421
+
422
+ * https://github.com/Erotemic/vtool_ibeis_ext
423
+
424
+ * https://github.com/Erotemic/pyflann_ibeis
425
+
426
+ * https://github.com/Erotemic/pyhesaff
427
+
428
+ * https://github.com/Erotemic/utool
429
+
430
+ * https://github.com/Erotemic/ibeis
431
+
432
+
433
+ .. |Codecov| image:: https://codecov.io/github/Erotemic/vtool_ibeis/badge.svg?branch=master&service=github
434
+ :target: https://codecov.io/github/Erotemic/vtool_ibeis?branch=master
435
+ .. |Pypi| image:: https://img.shields.io/pypi/v/vtool_ibeis.svg
436
+ :target: https://pypi.python.org/pypi/vtool_ibeis
437
+ .. |Downloads| image:: https://img.shields.io/pypi/dm/vtool_ibeis.svg
438
+ :target: https://pypistats.org/packages/vtool_ibeis
439
+ .. |ReadTheDocs| image:: https://readthedocs.org/projects/vtool_ibeis/badge/?version=latest
440
+ :target: http://vtool_ibeis.readthedocs.io/en/latest/
@@ -11,15 +11,15 @@ mod_name = "vtool_ibeis"
11
11
  repo_name = "vtool_ibeis"
12
12
  url = "https://github.com/Erotemic/vtool_ibeis"
13
13
  description = "vision tools for IBEIS"
14
- os = [ "linux" ]
14
+ os = [ "linux", "windows" ]
15
15
  ci_pypy_versions = []
16
16
  author = ['Jon Crall', 'Jason Parham', 'Hendrik Weideman', 'Avi Weinstock', 'Zackary Rutfield', 'Chuck Stewart']
17
17
  author_email="erotemic@gmail.com"
18
- min_python = 3.8
19
- max_python = 3.11
18
+ min_python = '3.9'
19
+ max_python = '3.14'
20
20
  version = "{mod_dpath}/__init__.py::__version__"
21
21
  license = "Apache 2"
22
- dev_status = "beta"
22
+ dev_status = "stable"
23
23
 
24
24
 
25
25
  [tool.pytest.ini_options]
@@ -32,7 +32,10 @@ def static_parse(varname, fpath):
32
32
  def visit_Assign(self, node):
33
33
  for target in node.targets:
34
34
  if getattr(target, "id", None) == varname:
35
- self.static_value = node.value.s
35
+ try:
36
+ self.static_value = node.value.value
37
+ except AttributeError:
38
+ self.static_value = node.value.s
36
39
 
37
40
  visitor = StaticVisitor()
38
41
  visitor.visit(pt)
@@ -70,7 +73,7 @@ def parse_requirements(fname="requirements.txt", versions=False):
70
73
 
71
74
  Args:
72
75
  fname (str): path to requirements file
73
- versions (bool | str, default=False):
76
+ versions (bool | str):
74
77
  If true include version specs.
75
78
  If strict, then pin to the minimum version.
76
79
 
@@ -106,7 +109,7 @@ def parse_requirements(fname="requirements.txt", versions=False):
106
109
  info["package"] = line.split("#egg=")[1]
107
110
  else:
108
111
  if "--find-links" in line:
109
- # setuptools doesnt seem to handle find links
112
+ # setuptools does not seem to handle find links
110
113
  line = line.split("--find-links")[0]
111
114
  if ";" in line:
112
115
  pkgpart, platpart = line.split(";")
@@ -159,7 +162,8 @@ def parse_requirements(fname="requirements.txt", versions=False):
159
162
  if plat_deps is not None:
160
163
  parts.append(";" + plat_deps)
161
164
  item = "".join(parts)
162
- yield item
165
+ if item:
166
+ yield item
163
167
 
164
168
  packages = list(gen_packages_items())
165
169
  return packages
@@ -198,7 +202,6 @@ def parse_requirements(fname="requirements.txt", versions=False):
198
202
  NAME = "vtool_ibeis"
199
203
  INIT_PATH = "vtool_ibeis/__init__.py"
200
204
  VERSION = parse_version(INIT_PATH)
201
-
202
205
  if __name__ == "__main__":
203
206
  setupkw = {}
204
207
 
@@ -233,9 +236,9 @@ if __name__ == "__main__":
233
236
  }
234
237
  setupkw["name"] = NAME
235
238
  setupkw["version"] = VERSION
236
- setupkw[
237
- "author"
238
- ] = "Jon Crall, Jason Parham, Hendrik Weideman, Avi Weinstock, Zackary Rutfield, Chuck Stewart"
239
+ setupkw["author"] = (
240
+ "Jon Crall, Jason Parham, Hendrik Weideman, Avi Weinstock, Zackary Rutfield, Chuck Stewart"
241
+ )
239
242
  setupkw["author_email"] = "erotemic@gmail.com"
240
243
  setupkw["url"] = "https://github.com/Erotemic/vtool_ibeis"
241
244
  setupkw["description"] = "vision tools for IBEIS"
@@ -243,16 +246,19 @@ if __name__ == "__main__":
243
246
  setupkw["long_description_content_type"] = "text/x-rst"
244
247
  setupkw["license"] = "Apache 2"
245
248
  setupkw["packages"] = find_packages(".")
246
- setupkw["python_requires"] = ">=3.8"
249
+ setupkw["python_requires"] = ">=3.9"
247
250
  setupkw["classifiers"] = [
248
- "Development Status :: 4 - Beta",
251
+ "Development Status :: 5 - Production/Stable",
249
252
  "Intended Audience :: Developers",
250
253
  "Topic :: Software Development :: Libraries :: Python Modules",
251
254
  "Topic :: Utilities",
252
255
  "License :: OSI Approved :: Apache Software License",
253
- "Programming Language :: Python :: 3.8",
254
256
  "Programming Language :: Python :: 3.9",
255
257
  "Programming Language :: Python :: 3.10",
256
258
  "Programming Language :: Python :: 3.11",
259
+ "Programming Language :: Python :: 3.12",
260
+ "Programming Language :: Python :: 3.13",
261
+ "Programming Language :: Python :: 3.14",
257
262
  ]
263
+ setupkw["package_data"] = {"": ["requirements/*.txt"]}
258
264
  setup(**setupkw)
@@ -64,7 +64,7 @@ def main():
64
64
  #yield warped
65
65
 
66
66
  print("THREE")
67
- from six.moves import reduce
67
+ from functools import reduce
68
68
  import functools
69
69
  dstimg3 = np.zeros(shape, dtype=np.float32)
70
70
  maximum_partial = functools.partial(np.maximum, out=dstimg3)
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env python
2
2
  # if False:
3
3
  # from __future__ import absolute_import, division, print_function
4
- # from six.moves import range
5
4
  # from plottool_ibeis import draw_func2 as df2
6
5
  # from plottool_ibeis import mpl_keypoint
7
6
  # from plottool_ibeis import mpl_sift # NOQA
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env python
2
- from __future__ import absolute_import, division, print_function
3
2
  import ubelt as ub
4
3
  # import utool
5
4
  import numpy as np
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env python
2
- from __future__ import absolute_import, division, print_function
3
2
  import utool as ut
4
3
  import vtool_ibeis.spatial_verification as sver
5
4
  import numpy as np
@@ -1,5 +1,3 @@
1
- from __future__ import absolute_import, division, print_function
2
- from six.moves import range
3
1
  import vtool_ibeis.keypoint as ktool
4
2
  import vtool_ibeis.linalg as ltool
5
3
  import numpy as np
@@ -5,7 +5,7 @@ Autogenerate Command:
5
5
  mkinit vtool_ibeis -i
6
6
  """
7
7
  # flake8: noqa
8
- __version__ = '2.3.0'
8
+ __version__ = '2.3.1'
9
9
  __author__ = 'Jon Crall, Avi Weinstock, Chuck Stewart, Hendrik Weideman, Jason Parham, Zackary Rutfield'
10
10
  __author_email__ = 'erotemic@gmail.com'
11
11
  __url__ = 'https://github.com/Erotemic/vtool_ibeis'
@@ -282,7 +282,7 @@ def find_duplicate_items(item_arr):
282
282
  >>> np.random.seed(0)
283
283
  >>> item_arr = np.random.randint(100, size=30)
284
284
  >>> duplicate_items = find_duplicate_items(item_arr)
285
- >>> assert duplicate_items == list(six.iterkeys(ut.find_duplicate_items(item_arr)))
285
+ >>> assert duplicate_items == list(ut.find_duplicate_items(item_arr).keys())
286
286
  >>> result = str(duplicate_items)
287
287
  >>> print(result)
288
288
  [9, 67, 87, 88]