Been thinking for some time to lay out the architecture of the project.
I have taken to calling the project "PyFileSync" unless a better name comes along or my mentor disapproves of this name. It would consist of two components (for the moment):
This is the server component that would perform the file-serving/uploading operations
The server acts as a generic file server with the additional features of authentication, transfer verification, compression, file encryption, multipart sending.
PyFileServer is being developed as a WSGI application running over "paster", the default development webserver that comes with Paste.
This is the client component that will communicate with the server to perform file-uploading/downloading operations.
The client is responsible for the higher level management that results in the sync'ing of a file repository between the server and the client.