Ucoin-python-api packages change proposal

Hello there,

I’im proposing a change in the ucoin-python-api codebase :

https://github.com/ucoin-io/ucoin-python-api/tree/bma/ucoinpy/bma

What It I’d like to do is this :

  • Having a clear library name (ucoinpy there) for the python module imported by other projects
  • Creating a package for the Basic Merkled API (package named “bma”) to separate differents nodes API.
  • Creating a package for other client features (keys, wallets…)

The tree would be this :
ucoinpy
…/bma
…/key
…/other_feature

What is your opinion about it ?

Your approach seems good to me. Maybe I would have organized tree another way:

/api/bma
/api/other_protocol
/key
/other_feature

Furthermore, what if I create a BMAv2 protocol name? Would you create /bma/v2? /bmav2? Something else?

Well why not putting all api under a same package. I’m okay with this too.
And for your question, yes, It’d be probably “bma2”. And for a subversion of bma1, we will need to read the headers of the request to know what version the node is talking :slight_smile:

I’m putting the change proposal into a “refactor” branch :
https://github.com/ucoin-io/ucoin-python-api/tree/refactor/ucoinpy

I added a proposal to get ucoin documents (from https://github.com/ucoin-io/ucoin/blob/master/doc/Protocol.md#formats) into a package named “documents”.