Conversation
10e4901 to
e2a59b1
Compare
54953cd to
4364b59
Compare
40bcdca to
73c84c3
Compare
|
Huh: and in |
|
Time to fix our long-standing ODR issue...: #1521 Update: merged & rebased (good), but still the same error here. |
fd17aca to
d951f12
Compare
|
For the error in openpmd-pipe, we use a special form of dest.set_attribute(key, attr, attr_type)This finally runs into this implementation where list and string types are handled separately, since the Numpy types in template <>
bool SetAttributeFromObject::call<char>(
Attributable &attr, std::string const &key, py::object &obj)
{
if (std::string(py::str(obj.get_type())) == "<class 'list'>")
{
using ListChar = std::vector<char>;
using ListString = std::vector<std::string>;
try
{
return attr.setAttribute<ListString>(key, obj.cast<ListString>());
}
catch (const py::cast_error &)
{
return attr.setAttribute<ListChar>(key, obj.cast<ListChar>());
}
}
else if (std::string(py::str(obj.get_type())) == "<class 'str'>")
{
return attr.setAttribute<std::string>(key, obj.cast<std::string>());
}
else
{
return attr.setAttribute<char>(key, obj.cast<char>());
}
}It looks like on Arm64, |
|
I pushed something that might fix the openpmd-pipe problem. Aside from this PR, we should add a test that tests openpmd-pipe against the result of |
ac9b2dc to
8a14a72
Compare
|
This is the problem: Char is represented as |
ec96caa to
4e8ec42
Compare
|
The Reminder: This test on an AMD64 system: >>> import openpmd_api as io
>>> s = io.Series("asdf.json", io.Access.create)
>>> s.set_attribute("pystring3", b"howdy, again!")
False
>>> s.close() Results in: {
"attributes": {
"...": "...",
"pystring3": {
"datatype": "VEC_UCHAR",
"value": [
104,
111,
119,
100,
121,
44,
32,
97,
103,
97,
105,
110,
33
]
},
"...": "...",
},
"data": {}
}Arm64 somehow seems to make a string out of this again. I've pushed a printf debugging commit. |
54a5dbd to
acc5ea8
Compare
|
The remaining error is HDF5-specific: This is not really a surprise: HDF5 does not have an actual TLDR: This is probably not an error in the openPMD-api, but just a hardcoded test that does not work on this platform. |
2bc3bfa to
2eb5524
Compare
2eb5524 to
8b138bf
Compare
|
New problem: |
|
All issues fixed now. I'll push another commit that brings some further fixes, but might also bring regressions. If the CI shows regressions, I'll revert it. |
|
The remaining failing tests are the |
|
@ax3l now passing |
|
Thank you for the help 🙏 🎉 |
Add native Linux aarch64/arm64 runners with CircleCI.
Adding CI here first before adding an entry to
wheelsfor building Python (Pip) Wheels.Note: We already successfully build this architecture on conda-forge.