1- [tool .robotpy-build .metadata ]
2- name = " robotpy-cscore"
3- description = " RobotPy bindings for cscore image processing library"
4- author = " RobotPy Development Team"
5- author_email =
" [email protected] " 6- url = " https://github.com/robotpy/robotpy-cscore"
7- license = " BSD-3-Clause"
8- dependencies = [
9- " robotpy-wpiutil==THIS_VERSION" ,
10- " robotpy-wpinet==THIS_VERSION" ,
11- " pyntcore==THIS_VERSION" ,
12- ]
13-
141[build-system ]
2+ build-backend = " hatchling.build"
153requires = [
16- " robotpy-build~=2025.1.0" ,
4+ " semiwrap" ,
5+ " hatch-meson" ,
6+ " hatch-robotpy" ,
7+ " hatchling" ,
178 " robotpy-wpiutil~=2025.3.2" ,
189 " robotpy-wpinet~=2025.3.2" ,
1910 " pyntcore~=2025.3.2" ,
2011 # "numpy", # required for pybind11-stubgen to not complain, broken in raspbian CI
2112]
2213
23- [tool .robotpy-build ]
24- base_package = " cscore"
25- update_init = [
26- " cscore"
14+ [project ]
15+ name = " robotpy-cscore"
16+ version = " 2025.3.2.2"
17+ description = " RobotPy bindings for cscore image processing library"
18+ authors = [
19+ {
name =
" RobotPy Development Team" ,
email =
" [email protected] " },
20+ ]
21+ license = " BSD-3-Clause"
22+ dependencies = [
23+ " robotpy-wpiutil==2025.3.2.2" ,
24+ " robotpy-wpinet==2025.3.2.2" ,
25+ " pyntcore==2025.3.2.2" ,
2726]
2827
29- [tool .robotpy-build .static_libs ."cscore_cpp" .maven_lib_download ]
28+ [project .urls ]
29+ "Source code" = " https://github.com/robotpy/mostrobotpy"
30+
31+ [tool .hatch .build .targets .wheel ]
32+ packages = [" cscore" ]
33+
34+ [tool .hatch .build .hooks .robotpy ]
35+ version_file = " cscore/version.py"
36+
37+ #
38+ # cscore is different -- we download everything as a static library
39+ # and don't include them in the wheel to avoid OpenCV symbol conflicts
40+ #
41+
42+
43+ [[tool .hatch .build .hooks .robotpy .maven_lib_download ]]
3044artifact_id = " cscore-cpp"
3145group_id = " edu.wpi.first.cscore"
3246repo_url = " https://frcmaven.wpi.edu/artifactory/release"
3347version = " 2025.3.2"
3448
35- libs = [" cscore" ]
49+ staticlibs = [" cscore" ]
50+ extract_to = " lib"
3651
37- [tool .robotpy- build .static_libs . "cameraserver_cpp" .maven_lib_download ]
52+ [[ tool .hatch . build .hooks . robotpy .maven_lib_download ] ]
3853artifact_id = " cameraserver-cpp"
3954group_id = " edu.wpi.first.cameraserver"
4055repo_url = " https://frcmaven.wpi.edu/artifactory/release"
4156version = " 2025.3.2"
4257
43- libs = [" cameraserver" ]
58+ staticlibs = [" cameraserver" ]
59+ extract_to = " lib"
4460
45- [tool .robotpy- build .static_libs . "opencv_cpp" .maven_lib_download ]
61+ [[ tool .hatch . build .hooks . robotpy .maven_lib_download ] ]
4662artifact_id = " opencv-cpp"
4763group_id = " edu.wpi.first.thirdparty.frc2024.opencv"
4864repo_url = " https://frcmaven.wpi.edu/artifactory/release"
4965version = " 4.8.0-1"
5066
51- libs = [" opencv480" ]
67+ staticlibs = [" opencv480" ]
68+ extract_to = " lib"
5269
53- [tool .robotpy-build .wrappers ."cscore" ]
54- name = " cscore"
5570
56- sources = [
57- " cscore/src/main.cpp" ,
58- " cscore/cvnp/cvnp.cpp" ,
59- " cscore/cvnp/cvnp_synonyms.cpp" ,
71+ [tool .hatch .build .hooks .semiwrap ]
72+
73+ [tool .hatch .build .hooks .meson ]
74+
75+
76+ [tool .semiwrap ]
77+ update_init = [
78+ " cscore"
6079]
6180
62- depends = [" wpiutil" , " wpinet" , " ntcore" , " opencv_cpp" , " cscore_cpp" , " cameraserver_cpp" , ]
63- generation_data = " gen"
81+ [tool .semiwrap .extension_modules ."cscore ._cscore" ]
82+ name = " cscore"
83+
84+ depends = [" wpiutil" , " wpinet" , " ntcore" , " cscore-casters" ]
85+ includes = [
86+ " lib/include"
87+ ]
6488
65- [tool .robotpy-build . wrappers ."cscore" . autogen_headers ]
89+ [tool .semiwrap . extension_modules ."cscore . _cscore" . headers ]
6690# cameraserver
6791CameraServer = " cameraserver/CameraServer.h"
6892
@@ -72,6 +96,10 @@ cscore_oo = "cscore_oo.h"
7296cscore_cv = " cscore_cv.h"
7397cscore_runloop = " cscore_runloop.h"
7498
75- [[tool .robotpy-build .wrappers ."cscore" .type_casters ]]
99+ [tool .semiwrap .export_type_casters .cscore-casters ]
100+ pypackage = " cscore"
101+ includedir = [" cscore" ]
102+
103+ [[tool .semiwrap .export_type_casters .cscore-casters .headers ]]
76104header = " cvnp/cvnp.h"
77105types = [" cv::Mat" ]
0 commit comments