Skip to content

Commit b04de14

Browse files
committed
Update robotpy-apriltag to semiwrap
1 parent 1866969 commit b04de14

15 files changed

+75
-66
lines changed

subprojects/robotpy-apriltag/.gitignore

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ __pycache__
1212

1313
/robotpy_apriltag/include
1414
/robotpy_apriltag/lib
15-
/robotpy_apriltag/_init_apriltag.py
16-
/robotpy_apriltag/pkgcfg.py
15+
/robotpy_apriltag/_init__apriltag.py
16+
/robotpy_apriltag/apriltag.pc
1717
/robotpy_apriltag/version.py
18-
/robotpy_apriltag/py.typed
19-
/robotpy_apriltag/rpy-include
18+
/robotpy_apriltag/trampolines
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
project('robotpy-apriltag', ['cpp'],
2+
default_options: ['warning_level=1', 'cpp_std=c++20',
3+
'b_colorout=auto', 'optimization=2', 'b_pie=true'])
4+
5+
subdir('semiwrap')
6+
7+
apriltag_sources += files(
8+
'robotpy_apriltag/src/main.cpp',
9+
)
10+
11+
subdir('semiwrap/modules')

subprojects/robotpy-apriltag/pyproject.toml

Lines changed: 40 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,45 @@
1-
[tool.robotpy-build.metadata]
1+
[build-system]
2+
build-backend = "hatchling.build"
3+
requires = [
4+
"semiwrap~=0.1",
5+
"hatch-meson~=0.1.0b2",
6+
"hatch-robotpy~=0.2",
7+
"hatchling",
8+
"robotpy-native-apriltag==2025.3.2",
9+
"robotpy-wpiutil==2025.3.2.2",
10+
"robotpy-wpimath==2025.3.2.2",
11+
]
12+
13+
[project]
214
name = "robotpy-apriltag"
15+
version = "2025.3.2.2"
316
description = "RobotPy bindings for WPILib's AprilTag library"
4-
author = "RobotPy Development Team"
5-
author_email = "[email protected]"
6-
url = "https://github.com/robotpy/robotpy-cscore"
17+
authors = [
18+
{name = "RobotPy Development Team", email = "[email protected]"},
19+
]
720
license = "BSD-3-Clause"
8-
install_requires = [
9-
"robotpy-wpiutil==THIS_VERSION",
10-
"robotpy-wpimath==THIS_VERSION",
21+
dependencies = [
22+
"robotpy-native-apriltag==2025.3.2",
23+
"robotpy-wpiutil==2025.3.2.2",
24+
"robotpy-wpimath==2025.3.2.2",
1125
]
1226

13-
[build-system]
14-
requires = [
15-
"robotpy-build~=2025.1.0",
16-
"robotpy-wpiutil~=2025.3.2",
17-
"robotpy-wpimath~=2025.3.2",
18-
]
27+
[project.urls]
28+
"Source code" = "https://github.com/robotpy/mostrobotpy"
29+
30+
31+
[tool.hatch.build.hooks.robotpy]
32+
version_file = "robotpy_apriltag/version.py"
1933

20-
[tool.robotpy-build]
21-
base_package = "robotpy_apriltag"
34+
[tool.hatch.build.hooks.semiwrap]
35+
36+
[tool.hatch.build.hooks.meson]
37+
38+
[tool.hatch.build.targets.wheel]
39+
packages = ["robotpy_apriltag"]
40+
41+
42+
[tool.semiwrap]
2243
update_init = [
2344
"robotpy_apriltag robotpy_apriltag._apriltag"
2445
]
@@ -36,25 +57,12 @@ scan_headers_ignore = [
3657
"tag36h11.h",
3758
]
3859

39-
[tool.robotpy-build.wrappers."robotpy_apriltag".maven_lib_download]
40-
artifact_id = "apriltag-cpp"
41-
group_id = "edu.wpi.first.apriltag"
42-
repo_url = "https://frcmaven.wpi.edu/artifactory/release"
43-
version = "2025.3.2"
44-
45-
libs = ["apriltag"]
46-
47-
[tool.robotpy-build.wrappers."robotpy_apriltag"]
60+
[tool.semiwrap.extension_modules."robotpy_apriltag._apriltag"]
4861
name = "apriltag"
62+
wraps = ["robotpy-native-apriltag"]
63+
depends = ["wpiutil", "wpimath"]
4964

50-
sources = [
51-
"robotpy_apriltag/src/main.cpp",
52-
]
53-
54-
depends = ["wpiutil", "wpimath_cpp"]
55-
generation_data = "gen"
56-
57-
[tool.robotpy-build.wrappers."robotpy_apriltag".autogen_headers]
65+
[tool.semiwrap.extension_modules."robotpy_apriltag._apriltag".headers]
5866
# frc/apriltag
5967
AprilTag = "frc/apriltag/AprilTag.h"
6068
AprilTagDetection = "frc/apriltag/AprilTagDetection.h"

subprojects/robotpy-apriltag/robotpy_apriltag/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
from . import _init_apriltag
1+
from . import _init__apriltag
22

3-
# autogenerated by 'robotpy-build create-imports robotpy_apriltag robotpy_apriltag._apriltag'
3+
# autogenerated by 'semiwrap create-imports robotpy_apriltag robotpy_apriltag._apriltag'
44
from ._apriltag import (
55
AprilTag,
66
AprilTagDetection,

subprojects/robotpy-apriltag/robotpy_apriltag/py.typed

Whitespace-only changes.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11

2-
#include "rpygen_wrapper.hpp"
2+
#include "semiwrap_init.robotpy_apriltag._apriltag.hpp"
33

4-
RPYBUILD_PYBIND11_MODULE(m) { initWrapper(m); }
4+
SEMIWRAP_PYBIND11_MODULE(m) { initWrapper(m); }
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/meson.build
2+
/modules/meson.build
3+
/trampolines/meson.build

subprojects/robotpy-apriltag/gen/AprilTag.yml renamed to subprojects/robotpy-apriltag/semiwrap/AprilTag.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
---
21

32
functions:
43
to_json:
54
ignore: true
65
from_json:
76
ignore: true
87
classes:
9-
AprilTag:
8+
frc::AprilTag:
109
attributes:
1110
ID:
1211
pose:

subprojects/robotpy-apriltag/gen/AprilTagDetection.yml renamed to subprojects/robotpy-apriltag/semiwrap/AprilTagDetection.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
---
21

32
extra_includes:
43
- pybind11/eigen.h
54

65
classes:
7-
AprilTagDetection:
6+
frc::AprilTagDetection:
87
methods:
98
GetFamily:
109
GetId:
@@ -20,7 +19,7 @@ classes:
2019
return py::str("<AprilTagDetection tag_family={} tag_id={} hamming={} decision_margin={} center={}>")
2120
.format(self.GetFamily(), self.GetId(), self.GetHamming(), self.GetDecisionMargin(), self.GetCenter());
2221
})
23-
AprilTagDetection::Point:
22+
frc::AprilTagDetection::Point:
2423
attributes:
2524
x:
2625
y:

subprojects/robotpy-apriltag/gen/AprilTagDetector.yml renamed to subprojects/robotpy-apriltag/semiwrap/AprilTagDetector.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
---
21

32
extra_includes:
43
- pybind11_typing.h
54

65
classes:
7-
AprilTagDetector:
6+
frc::AprilTagDetector:
87
methods:
98
AprilTagDetector:
109
SetConfig:
@@ -61,7 +60,7 @@ classes:
6160
:return: list of results
6261
)doc"
6362
)
64-
AprilTagDetector::Config:
63+
frc::AprilTagDetector::Config:
6564
attributes:
6665
numThreads:
6766
quadDecimate:
@@ -71,7 +70,7 @@ classes:
7170
debug:
7271
methods:
7372
operator==:
74-
AprilTagDetector::QuadThresholdParameters:
73+
frc::AprilTagDetector::QuadThresholdParameters:
7574
attributes:
7675
minClusterPixels:
7776
maxNumMaxima:
@@ -81,15 +80,15 @@ classes:
8180
deglitch:
8281
methods:
8382
operator==:
84-
AprilTagDetector::Results:
83+
frc::AprilTagDetector::Results:
8584
rename: _Results
8685
ignored_bases:
8786
- std::span<const AprilTagDetection* const>
8887
force_no_trampoline: true
8988
methods:
9089
Results:
9190
overloads:
92-
"":
91+
'':
9392
ignore: true
9493
void*, const private_init&:
9594
ignore: true

0 commit comments

Comments
 (0)