Modify

Ticket #45 (assigned enhancement)

Opened 7 years ago

Last modified 3 days ago

YAML-RPC

Reported by: pkmurphy at postmaster dot co dot uk Owned by: xi
Priority: normal Component: pyyaml
Severity: normal Keywords:
Cc:

Description

Contains a client (yamlrpclib.py), a server (SimpleYAMLRPCServer.py) and base classes for RPC communication (yamlrpcbasic.py).

For simple testing, run the server and then the client on the same machine. Both use port 8002, but any other port is acceptable.

Caveats - See:  http://sourceforge.net/mailarchive/forum.php?thread_id=31728889&forum_id=1771

Attachments

SimpleYAMLRPCServer.py Download (11.6 KB) - added by pkmurphy at postmaster dot co dot uk 7 years ago.
The server
yamlrpclib.py Download (16.6 KB) - added by pkmurphy at postmaster dot co dot uk 7 years ago.
The client
yamlrpcbasic.py Download (9.0 KB) - added by pkmurphy at postmaster dot co dot uk 7 years ago.
Base classes

Change History

Changed 7 years ago by pkmurphy at postmaster dot co dot uk

The server

Changed 7 years ago by pkmurphy at postmaster dot co dot uk

The client

Changed 7 years ago by pkmurphy at postmaster dot co dot uk

Base classes

comment:1 Changed 7 years ago by xi

  • Status changed from new to assigned

Thanks for the contribution, Peter :)

I wonder what is the proper place for this code though. It doesn't look like it belongs to the pyyaml package itself because it's rather an application of pyyaml. Perhaps it deserves a separate package and repository once it's elaborated enough. Meanwhile I will be happy to add it to the examples directory of pyyaml. The only issue is its license: Could you clearly specify the copyright and license information at the top of each file? I could add it to the repository as soon as it is done.

On the other matter, I always wondered why so many RPC protocols are based on HTTP, but don't really use HTTP features. If I were to design an RPC protocol, I would make the request /package/module/func to be translated to package.module.func() call, any related metadata would be passed through HTTP headers, and so on.

comment:2 Changed 7 years ago by Peter Murphy (pkmurphy at postmaster dot co dot uk)

What license would you recommend for the files?

comment:3 Changed 7 years ago by xi

I'd prefer to have this code under the MIT license to match the PyYAML license. I'm not sure if it's possible though. It looks some parts of the code were borrowed from the Python standard library, which probably means that the code is under the Python license. In this case, I'm not sure if this code could be distributed under the MIT license.

Anyway, whatever license you choose, if it's not the MIT license, please add a LICENSE file with the text of the license and copyright notices.

comment:4 Changed 3 days ago by maskodok <galihadiputro87@…>

The only thing more I could hope for is documentation of all these features (other than reading through the code).  Cipto Junaedy Is this in process? Can I help?

View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as assigned
as The resolution will be set. Next status will be 'closed'
to The owner will be changed from xi. Next status will be 'new'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.