Git Product home page Git Product logo

wot-py's People

Contributors

agmangas avatar asercrespo avatar danielibaseta avatar dependabot[bot] avatar fatadel avatar jkrhb avatar msrasheed avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

wot-py's Issues

Thing URL

node-wot approach:

Create Thing and expose it within the following URL:
scheme://ip-address:port/thing-title, e.g.
http://127.0.0.1:8080/Smart-Coffee-Machine
which looks pretty concise.


wot-py approach:

Create Thing and expose it within the following URL:
scheme://hostname.domain:port/thing-id+uuid(derived from TD), e.g.
http://my-hostname.my-domain:9090/urn-dev-wot-example-coffee-machine-97e83de1-f5c9-a4a0-23b6-be918d3a22ca
which is imho too long and quite overwhelmed.

readOnly properties are not initializable

node-wot approach:

  1. Create a readOnly property.
  2. Make it changeable from the creator Thing but keep it read-only for all the clients.
  3. Initialize it with thing.writeProperty.

wot-py approach:

  1. Create a readOnly property.
  2. And now the property is read-only for everyone, even the creator Thing, which makes it not initializable as well.

W3C WoT Compliance

I suggest using this issue to keep track of all the work being done to make the library compliant with the W3C WoT specifications.

@agmangas Could you please create a list of current blocking issues so that I can start working on some of them? (And other people or you might take the others)

We can link all the blockers and todos here and finally start working on bringing the library up to the specs! ๐Ÿ˜Š

Trailing slashes in URLs

I've found an issue while working on #11.
Any URL with a trailing slash leads to 404 Not Found.
However, http://127.0.0.1:9090/my-thing and http://127.0.0.1:9090/my-thing/ must be the same URL.

This can lead to incompatibility issues with node-wot as well.

action invocation result

node-wot approach:

Direct result of an action is returned when invoking an action.


wot-py approach:

Invocation id is returned when invoking an action. Direct result of an action should be fetched from a separate endpoint.

Wrappers for value and input

node-wot approach:

The body of a request is already considered as a new value when writing to a property. It is also possible to wrap it around {"value": ...value...} and node-wot will unwrap that. But the first way is preferred.

The body of a request is already considered as an input when invoking an action. It is not possible to wrap it around {"input": ...input...}.


wot-py approach:

It is mandatory to wrap property values with {"value": ...value...} and action inputs with {"input": ...input...}.

Observable properties behavior

node-wot:

The change event for an observable property is emitted only if the new value differs from the previous one.


wot-py:

The change event for an observable property is always emitted regardless of the value.

Create Thing Description from Thing Model

Hello.

I'm taking a look into your W3C Web of Things implementation in Python.

Is it with the current state of the implementation possible to create a Thing Description from various Thing Models?

Dropping support for Python 2.7

As Python 2.7 is now EOL, it should be considered to drop both the support and the testing in the CI for this version. This should make the code easier to maintain and further develop as dependencies like six could be removed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.