We need a Python Developer to create a Service Framework and Manager that will allow creating services using one single management and abstraction layer. The source code must be used following de facto standards and need to take the provided specification mainly as a reference, making adaptations whenever pertinent.
To proof the framework concept and functionality, it is required to use the created Framework to implement an "Email Submission System" service that will take messages from a MongoDB and send them to the related recipient.
Screened candidates will have access to more information about the service.
They will so have the chance to make questions and entail how they intend to implement it. The final and selected candidate will have direct contact with our team leader to solve any technical question. The approval and escrow will be made in four steps steps.
To enable a better bidding, we provided a general class diagram which shows basic idea behind the Service Framework and Manager: http://bit.ly/UOfenm
PROJECT PHASES AND MILESTONE PAYMENTS
As part of the first step, the developer will need to provide its first functional mockup of package, modules and classes. We will make some considerations based on that and the developer must provide its inputs also based on his experience.
With the information obtained, the developer should start making code modifications and adaptations to adhere to new requirements. The product of such development will be the alpha version, which will mark the end of the second phase and result on 20% of the escrow being released.
From that on, we will use the alpha version for one week and identify issues which should be fixed as fast as possible. When all the issues identified on such week gets solved, we will have the beta version and another 30% of the escrow will be released.
After beta release, one extra week will be used to test the code on our servers. Again, all the issues identified on such final week should be addressed to have our final version and release remaining 50% of the escrow.
We require developers to use Python 2.7 and de facto standars whenever pertinent, being PEP 8 the most important one. A well known verification tool will be used to check issues with the code regarding that.
As Linux will be used for testing, we require PEP 3143 to be used for the main agent that will control dependent services. That can be done with python-daemon  or zdaemon  and should be tied also to an Upstart  script that will allow us to start and stop the main agent.
We will consider a plus and pay a 10% bonus if the developer implements using PEP 257 , proper unit tests and a setup script with setuptools .