1
- [tool .robotpy-build .metadata ]
1
+ [build-system ]
2
+ build-backend = " hatchling.build"
3
+ requires = [
4
+ " semiwrap" , " hatch-meson" , " hatch-vcs" , " hatchling" ,
5
+ " native.wpiutil==2025.3.2"
6
+ ]
7
+
8
+ [project ]
2
9
name = " robotpy-wpiutil"
10
+ dynamic = [" version" ]
3
11
description = " Binary wrapper for FRC WPIUtil library"
4
- author = " RobotPy Development Team "
5
- author_email =
" [email protected] "
6
- url = " https://github.com/robotpy/robotpy-wpiutil "
12
+ authors = [
13
+ { name =
" RobotPy Development Team " , email = " [email protected] " },
14
+ ]
7
15
license = " BSD-3-Clause"
8
16
install_requires = [
17
+ " native.wpiutil==2025.3.2" ,
9
18
" msvc-runtime>=14.42.34433; platform_system == 'Windows'"
10
19
]
11
20
12
- [build-system ]
13
- requires = [
14
- " robotpy-build~=2025.1.0" ,
15
- ]
21
+ [project .urls ]
22
+ "Source code" = " https://github.com/robotpy/robotpy-wpiutil"
16
23
17
- [tool .robotpy-build ]
18
- base_package = " wpiutil"
19
- update_init = [
20
- " wpiutil" ,
21
- " wpiutil.log wpiutil._wpiutil.log" ,
22
- " wpiutil.sync wpiutil._wpiutil.sync" ,
23
- " wpiutil.wpistruct wpiutil._wpiutil.wpistruct" ,
24
- ]
25
- scan_headers_ignore = [
26
- " fmt/*" ,
27
- " google/*" ,
28
- " wpi/*" ,
29
- " wpystruct_fns.h" ,
30
- " pb.h" ,
31
- " pb_common.h" ,
32
- " pb_decode.h" ,
33
- " pb_encode.h" ,
34
- ]
24
+ [tool .hatch .version ]
25
+ source = " vcs"
26
+ raw-options.root = " ../.."
27
+
28
+ [tool .hatch .build .hooks .vcs ]
29
+ version-file = " wpiutil/version.py"
35
30
36
- [tool .robotpy-build .wrappers ."wpiutil" ]
37
- name = " wpiutil"
38
- sources = [
39
- " wpiutil/src/main.cpp" ,
40
- " wpiutil/src/safethread_gil.cpp" ,
41
- " wpiutil/src/stacktracehook.cpp" ,
42
- " wpiutil/src/wpistruct/wpystruct_fns.cpp" ,
43
- ]
44
- extra_includes = [
45
- " wpiutil/src/wpistruct" ,
46
- " wpiutil/src/type_casters" ,
47
- ]
48
31
49
- generation_data = " gen"
50
32
51
- [tool .robotpy-build .wrappers ."wpiutil" .maven_lib_download ]
52
- artifact_id = " wpiutil-cpp"
53
- group_id = " edu.wpi.first.wpiutil"
54
- repo_url = " https://frcmaven.wpi.edu/artifactory/release"
55
- # repo_url = "https://frcmaven.wpi.edu/artifactory/development"
56
- version = " 2025.3.2"
33
+ [tool .hatch .build .hooks .semiwrap ]
34
+ # update_init = [
35
+ # "wpiutil",
36
+ # "wpiutil.log wpiutil._wpiutil.log",
37
+ # "wpiutil.sync wpiutil._wpiutil.sync",
38
+ # "wpiutil.wpistruct wpiutil._wpiutil.wpistruct",
39
+ # ]
40
+ # scan_headers_ignore = [
41
+ # "fmt/*",
42
+ # "google/*",
43
+ # "wpi/*",
44
+ # "wpystruct_fns.h",
45
+ # "pb.h",
46
+ # "pb_common.h",
47
+ # "pb_decode.h",
48
+ # "pb_encode.h",
49
+ # ]
57
50
58
- libs = [" wpiutil" ]
51
+ [tool .hatch .build .hooks .meson ]
52
+
53
+
54
+ [tool .semiwrap ]
55
+ [tool .semiwrap .extension_modules ."wpiutil ._wpiutil" ]
56
+ name = " wpiutil"
57
+ includes = [
58
+ " wpiutil/src/wpistruct" ,
59
+ ]
60
+ wraps = [" native.wpiutil" ]
61
+ depends = [" wpiutil-pybind11" ]
59
62
60
- [tool .robotpy-build . wrappers ."wpiutil" . autogen_headers ]
63
+ [tool .semiwrap . extension_modules ."wpiutil . _wpiutil" . headers ]
61
64
# wpi
62
65
DataLog = " wpi/DataLog.h"
63
66
DataLogReader = " wpi/DataLogReader.h"
@@ -75,38 +78,45 @@ SendableRegistry = "wpi/sendable/SendableRegistry.h"
75
78
76
79
WPyStruct = " src/wpistruct/wpystruct_fns.h"
77
80
78
- [[tool .robotpy-build .wrappers ."wpiutil" .type_casters ]]
81
+ [tool .semiwrap .export_type_casters .wpiutil-pybind11 ]
82
+ pypackage = " wpiutil"
83
+ includedir = [
84
+ " wpiutil/src/type_casters" ,
85
+ " wpiutil/src/wpistruct" ,
86
+ ]
87
+
88
+ [[tool .semiwrap .export_type_casters .wpiutil-pybind11 .headers ]]
79
89
header = " wpi_array_type_caster.h"
80
90
types = [" wpi::array" ]
81
91
82
- [[tool .robotpy-build . wrappers . " wpiutil" . type_casters ]]
92
+ [[tool .semiwrap . export_type_casters . wpiutil-pybind11 . headers ]]
83
93
header = " wpi_json_type_caster.h"
84
94
types = [" wpi::json" ]
85
95
86
- [[tool .robotpy-build . wrappers . " wpiutil" . type_casters ]]
96
+ [[tool .semiwrap . export_type_casters . wpiutil-pybind11 . headers ]]
87
97
header = " wpi_span_type_caster.h"
88
98
types = [" std::span" ]
89
99
90
- [[tool .robotpy-build . wrappers . " wpiutil" . type_casters ]]
100
+ [[tool .semiwrap . export_type_casters . wpiutil-pybind11 . headers ]]
91
101
header = " wpi_smallset_type_caster.h"
92
102
types = [" wpi::SmallSet" ]
93
103
94
- [[tool .robotpy-build . wrappers . " wpiutil" . type_casters ]]
104
+ [[tool .semiwrap . export_type_casters . wpiutil-pybind11 . headers ]]
95
105
header = " wpi_smallvector_type_caster.h"
96
106
types = [" wpi::SmallVector" ]
97
107
98
- [[tool .robotpy-build . wrappers . " wpiutil" . type_casters ]]
108
+ [[tool .semiwrap . export_type_casters . wpiutil-pybind11 . headers ]]
99
109
header = " wpi_smallvectorimpl_type_caster.h"
100
110
types = [" wpi::SmallVectorImpl" ]
101
111
102
- [[tool .robotpy-build . wrappers . " wpiutil" . type_casters ]]
112
+ [[tool .semiwrap . export_type_casters . wpiutil-pybind11 . headers ]]
103
113
header = " wpi_string_map_caster.h"
104
114
types = [" wpi::StringMap" ]
105
115
106
- [[tool .robotpy-build . wrappers . " wpiutil" . type_casters ]]
116
+ [[tool .semiwrap . export_type_casters . wpiutil-pybind11 . headers ]]
107
117
header = " wpi_ct_string_type_caster.h"
108
118
types = [" wpi::ct_string" ]
109
119
110
- [[tool .robotpy-build . wrappers . " wpiutil" . type_casters ]]
120
+ [[tool .semiwrap . export_type_casters . wpiutil-pybind11 . headers ]]
111
121
header = " wpystruct.h"
112
- types = [" WPyStruct" ]
122
+ types = [" WPyStruct" ]
0 commit comments