agmangas/wot-py

Support for `securityDefinitions`

Opened this issue ยท 13 comments

According to the Thing Description specification it is possible to create a set of security definitions under securityDefinitions field and refer to them in the security field. However, this kind of TD is not currently supported by wot-py, although it is absolutely valid TD.

It's not even an option, it's a must.
image

You're completely right, the reason for this is that the current release of wotpy is based on an older version of the TD spec, and as such is missing multiple details that are indeed included in the W3C recommendation of April 2020. I'm afraid I haven't had the time to properly update it.

Dear @agmangas,

Thanks for your response!
Do you plan to update the library? We would like to port the smart coffee machine example from node-wot to wot-py and to make interoperability between the libraries, namely node-wot <-> wot-py. It would be cool if clients from wot-py could interact with Things from node-wot and vice-versa,

Best regards,
Adel

Compatibility with node-wot is without a doubt one of the end goals. A significant amount of work would probably need to be invested to adapt the protocol binding implementations, but it would be great to have full interoperability in the ecosystem.

The problem is that the uncertainty of these past few months due to the crisis has completely messed up my plans, and I have a ton of work that I need to attend to first.

I offer a sincere apology for any inconvenience caused by the current state of the package ๐Ÿ™‚

Do you have any roadmap or a draft plan regarding the update of the library? We could also help to create a community around the project so that you don't need to keep it up on your own.
For now, I've made a PR (#4) which ports one of the node-wot samples to the wot-py environment. I'm also going to add more issues soon which I have noticed while working on this PR. I think it will make it easier to update the library if we decompose current problems/differences between libraries into simple issues.

JKRhb commented

Do you have any roadmap or a draft plan regarding the update of the library? We could also help to create a community around the project so that you don't need to keep it up on your own.

Sorry for commenting a bit off-topic on this issue, but I have been working on a WoT project in Python over the last few months and would like to contribute to this project. I'm especially interested in Thing Models and the extend/import mechanisms that have been introduced recently.

@agmangas: Do you see the possibility to allow for collaborators to join the project?

Sure thing @JKRhb! I'd very thankful for any contributions and would be happy to merge them into WoTPy. Just make sure to include some tests for the new features ๐Ÿ˜„

JKRhb commented

Sure thing @JKRhb! I'd very thankful for any contributions and would be happy to merge them into WoTPy. Just make sure to include some tests for the new features ๐Ÿ˜„

Great! :) I already provided two PRs (#21 and #22) as follow-ups to @fatadel's work with fixed tests. I also just started working on the securityDefinitions issue at hand and would try to submit a PR soon.

@JKRhb
Do you have any meaningful results with securityDefinitions? I also have some drafts on this topic (just recently noticed your intention to work on that). If not, I can continue my work on this topic.

JKRhb commented

@fatadel Hi! I started to work on this topic on this branch in my fork (in which I also intended to add TMs, hence its name) but I am not sure how far I got. Maybe you can reuse some of the code that is already present there :)

In any case, I'd be glad to help with the effort to make this a full-fledged WoT implementation.

Hi @JKRhb! I see you got pretty much work there!
Then I will better not interfere with your work, and find something else for myself ;)

JKRhb commented

@fatadel I've opened #25 now so that the work on this issue is more transparent :)

@fatadel I've opened #25 now so that the work on this issue is more transparent :)

Cool, thank you! ๐Ÿ‘๐Ÿป