{"_id":"timothy","_rev":"45-9332ccb3d86adb94e1030a24a96e42ac","name":"timothy","description":"Node.js library for running Hadoop jobs","dist-tags":{"latest":"0.1.19"},"versions":{"0.1.0":{"name":"timothy","version":"0.1.0","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"git://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"_npmUser":{"name":"forward","email":"forward-timothy@googlegroups.com"},"_id":"timothy@0.1.0","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"path":"/Users/abhinay/work/timothy/timothy/0.1.0/package","dist":{"shasum":"0b18302a464ce1cac7e2f466fed6ef0d95e2bee2","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.0.tgz","integrity":"sha512-SEvKy1D9kCf4WhMcRJnDHw4Pu/5SD01KgDcPME3nIG5VeS98CXeSttw7uwApA4qejoRuahmejDeLoGxKYJWfqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDXJfv+D0YQ4Sp3CQOmum5MNmALQY88ozgXaY7RcSrbcAiBuX7WibsONVuKSVOxPGC/G+I/s72qq3y3Acxf7U5wX7w=="}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.1":{"name":"timothy","version":"0.1.1","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"git://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"_npmUser":{"name":"forward","email":"forward-timothy@googlegroups.com"},"_id":"timothy@0.1.1","dependencies":{},"devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"f24ccd4a307e1b0f8d66879c72d510e8281be378","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.1.tgz","integrity":"sha512-2DRLjrgZwPqe7ccfzkJjkhJS8IZgpPw34mXg2qcmejOcYAftrVomgcCnj+h1i0JH9tqB0FvX3CmZAxQ7Z6pn3A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGwCkrDpXq4T+g54uj1V5xUpN+poaPB51c9oXUAJ1quZAiEAoBbPHi4hqbPDgjqH2Hz6KU6oSvogL8Qu8BP4lxsMAHY="}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.2":{"name":"timothy","version":"0.1.2","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"git://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"_npmUser":{"name":"forward","email":"forward-timothy@googlegroups.com"},"_id":"timothy@0.1.2","dependencies":{},"devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"d3812c2fcbf3d5b6d4dec01d9b0fec8af55cbf6e","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.2.tgz","integrity":"sha512-27Mae9TUGTdDyeFYAPBwlw9KGNo+YjTAR+EAHJ5WCPs/eXrTrDfuo2VU6rWWcn0JEp9teL033NPXRhS/EwFZiw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDAkNqpTuAM7zSsiL6/PspqlpG9aRQy6DA/xc1eBMmm/wIhAIpYwUa3Z2xVEBsa3EMRimXq7Yh9NsS87d7Hi7jxz6Gv"}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.3":{"name":"timothy","version":"0.1.3","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"git://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"_npmUser":{"name":"forward","email":"forward-timothy@googlegroups.com"},"_id":"timothy@0.1.3","dependencies":{},"devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"bda3f948400cab2f0aaf28dd1c00cd0dd2a669e9","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.3.tgz","integrity":"sha512-H4HnEL+niN7+NH961h2Vv8D172OU39M5f4p1MJRGrhHb0ryaDO4t6hEGyf3WqJuGID1RQxAr5vR4t85CIbwW0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYnu1Xny6XEWLJyQQmsEwY48FX3Nl5b8cc3GpVWFIXggIhAJhopPRgdOnGOS9cJ8taIWqK1eMhEbd/QmlcYCRib1vH"}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.4":{"name":"timothy","version":"0.1.4","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"git://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"_npmUser":{"name":"forward","email":"forward-timothy@googlegroups.com"},"_id":"timothy@0.1.4","dependencies":{},"devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"999e5811cf7ddb249463fd891fafd2806bed8f49","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.4.tgz","integrity":"sha512-/gnKJBB1xLxYyu3vPff0DqlgxTKMZxZpIY5jpI+4AsExd5Cmxc5GJReD7QKfcF6lbZsH8Zbslk1yA9qIYnsGKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE3gBnH48qqQsKNCjouQLLfgzcVRYj6EPSUdeVLV3zrZAiBKysv0HjXAwDLTBO2oaBQ23bKnDXteY0Riocp6vA5S3Q=="}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.5":{"name":"timothy","version":"0.1.5","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"git://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"_npmUser":{"name":"forward","email":"forward-timothy@googlegroups.com"},"_id":"timothy@0.1.5","dependencies":{},"devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"ec7750621ec1cbf1af4bd6e03dc9a59c8cca8611","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.5.tgz","integrity":"sha512-reXlzYULmZ9HpsNJEJSyPubBUwspyQP3y/iGhf/csvqyTIrd8pJafedRTlL41SqU98FPAJtG8XKUnJOE71APEQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAoVxLMBgIimTkzsVs9HqclB+zCaVqNVIGgDAm+vC++uAiBQwjhdEfEqW+gPLRczXl6YdL7XXDMk9uWDJNaf65BsFA=="}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.6":{"name":"timothy","version":"0.1.6","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"git://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"_npmUser":{"name":"forward","email":"forward-timothy@googlegroups.com"},"_id":"timothy@0.1.6","dependencies":{},"devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"a0b5f12bf6123aaf36b87c8980c4a165a0e00e6e","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.6.tgz","integrity":"sha512-4/1R28i43PNs6raPs4LCMUC6ny/uHokcgKk3XYH5fpLumCsSLXfVoONbpEupisQEgOtukqLfSPk1Fpk5s4w7ww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCX581b/a2r21luSCfwNybTfj6fmKl7MT1YvAaSsUERtgIhAOdE9n1PJVhJOUurqdbrnLn+Rn02GKA1QRYI9NxnS0n5"}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.7":{"name":"timothy","version":"0.1.7","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"git://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"_npmUser":{"name":"forward","email":"forward-timothy@googlegroups.com"},"_id":"timothy@0.1.7","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"dist":{"shasum":"a8ef54704048651d9dc9715fe49abaea40b76c51","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.7.tgz","integrity":"sha512-xJp5JfwNeuIj1lS/BrrFF/ruhLNnkrvmvXsyvqJr0kCYmqKodpq/OHYAZM44anSasuM95Sd8AI1AAGwEgr2Lfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBw5qT1nv8KwvBeedgy8zKBSkZRFcF7afsvWsrr4uAmcAiEA2iKoFS/nqlP5YetPepkWWQzr4ulfnHX3r2VeYn4BHvw="}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.8":{"name":"timothy","version":"0.1.8","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"git://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"_npmUser":{"name":"forward","email":"forward-timothy@googlegroups.com"},"_id":"timothy@0.1.8","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"dist":{"shasum":"9cfda51e4f85bc3d2356574aa15dc360e4d281db","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.8.tgz","integrity":"sha512-r5+TfRll/plkeuEyyAJ6SUYMlDLdW0jerrwOT7hozPnRgQqJf/D3R16gVEXchlwUGDgfhoI/1t60LgXWdkovzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9yTe67T3WIeVrzEcc2zngt3LxGyUjlmXCXG5dkG8XSwIhAJSNu1bfGc3OKZJgW/rcxEL4X9/jdFI2hO5gVDouHqUa"}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.9":{"name":"timothy","version":"0.1.9","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"git://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"_npmUser":{"name":"forward","email":"forward-timothy@googlegroups.com"},"_id":"timothy@0.1.9","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"dist":{"shasum":"a7c12a858c2c62e5e9b9b319d41ae8e26d00378e","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.9.tgz","integrity":"sha512-dXHphUz94JdM5kG86TpjtLSDxUoqdp0xam5KdGq8FTR2AKEvEQz4yjW9WkQHo1NzkzWPL/V5uPcogo/l1nqJ5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCHzEbxpHN5JsitvBNVzHuDH2gwBc318R7aQJV8F9dPo4CIGefmiTN4TWCnzTj6hRWrlh7gDvfucRow0UeX/6oUro5"}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.10":{"name":"timothy","version":"0.1.10","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"git://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"_npmUser":{"name":"forward","email":"forward-timothy@googlegroups.com"},"_id":"timothy@0.1.10","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"dist":{"shasum":"ac0d562601875c8d6daf4e6de778f3059371b189","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.10.tgz","integrity":"sha512-fs3bmf+PWt9JbJJPJhi6nnubVxgnD5OdOHIgYugDxs0Hw0hA4RPGqaHIv0CCuf/dCxF8mE8K8fhvdVSwsGkKUA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvmo+9nlzN1e5vd/vYRG0IZc7ndFXtIp+tgYBpAvOr6AIhANSJYydZ322Fx16Tq0eDIsPGhu80bfm8hPPL+TxWM++O"}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.11":{"name":"timothy","version":"0.1.11","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"git://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"_npmUser":{"name":"forward","email":"forward-timothy@googlegroups.com"},"_id":"timothy@0.1.11","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"dist":{"shasum":"0b8868140cfe5d61c550dc6a26e76f93649d2b9c","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.11.tgz","integrity":"sha512-TgVu49uox80rusVo88QHDB96TxWNfR/Xfj+xYhbfy6AxSjl4/vsScBLGmjIlLoyijDc6Lf+oAfLo0u6/KlzBhg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDE68HZFWYn3LwuDGN/d4C1O76bBzIbao832OaU+bKdUQIhAPEV2AcphFM2oTZotmy9XQAIuwcyYqmfBa8OYb18/HJp"}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.12":{"name":"timothy","version":"0.1.12","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"git://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"_npmUser":{"name":"forward","email":"forward-timothy@googlegroups.com"},"_id":"timothy@0.1.12","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"dist":{"shasum":"6ce498e5ae2d6849daad294eedd0716414e633a4","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.12.tgz","integrity":"sha512-kFOPRnQYBwg3GWqwcwi/6/lFYkyCnrY0Y6B9POyC8Z95otdk/BpPbU/mvIoM1N7b3EZsvFEBGKK84oVJt/hmSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD87Aee3BeWx8VbZmC5DoJUa2pd919hpFIy6xi1gZfTqwIhAICvOPfP0POTisXs5zEJJGCtdzlIZQE4Ws9my/8fGTbH"}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.13":{"name":"timothy","version":"0.1.13","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"git://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"_npmUser":{"name":"forward","email":"forward-timothy@googlegroups.com"},"_id":"timothy@0.1.13","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"dist":{"shasum":"ce760dc22584965a45cdc24a3c24780510120a3d","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.13.tgz","integrity":"sha512-LkjXY2F2ZpbQ6ZSwpGNr9eUxSKfL+Ar2+hBo8fPq/qbqbPW3jQTqV3YRqwf/ptshvAwlnGe/O23yrWmQI2TNXQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbnYLl849RgQKpivIHqlQg0zzvnZ82RFSBbc/cXdfCNwIhAP6jahzPyWrSaYgOl00qdPLLq0k+dobPvLiHmsk3/sEn"}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.14":{"name":"timothy","version":"0.1.14","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"git://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"_npmUser":{"name":"forward","email":"forward-timothy@googlegroups.com"},"_id":"timothy@0.1.14","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"dist":{"shasum":"531aa2962f6caf7ba96e60cee1628df2f264dfdc","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.14.tgz","integrity":"sha512-529yBTMFXC4Ejt8XzZr9apxacfN7VKGlDdijjZJUPeKDkKwYUapUf5k07Ryiqwyiqr1hMwoaReVOf62Q7tiNcQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBR7mfemEue2AhDIBEEC0Y/XP/wyBaXGEBc92pf3nWrWAiAHjGQpRu1A6aRRXWNhtHjwMJ2mIw4rFa6+x0fNrMWvSA=="}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.16":{"name":"timothy","version":"0.1.16","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"git://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"_npmUser":{"name":"forward","email":"forward-timothy@googlegroups.com"},"_id":"timothy@0.1.16","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"dist":{"shasum":"714f4e07a7b2a650d9134a2e6f4997ce86bfbcce","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.16.tgz","integrity":"sha512-SacgUw1kr+KzIhBvh3I07o6dlVuvCsWCn9Y1zXlH4v75RFN09HTP+RK8AO5swPNTyDVz6F8RASlYfrDLrQLFdQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwUeVNmIcqz1f02yjfODITGrF2tggWzASp8AAiJWrmEAIhALdfdUFkjh9hR31vKo2vT7eEvSmKjcR9I6SIed9YByDK"}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.17":{"name":"timothy","version":"0.1.17","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"https://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"readme":"timothy: Node.js library for writing Hadoop MapReduce jobs in JS\n===============================================================\n\nTimothy's primary goal is to make Hadoop's Yellow Elephant rich and famous.\n\n## Installation\n\n    npm install timothy\n\n## Basic Example\n\n```javascript\n    // require timothy\n    require('timothy')\n        // basic configuration for the job: hadoop conf, input, output, name, etc\n        .configure({\t\n             hadoopHome: \"/path/to/hadoop/home\" // this can be provided from environment\n             config: \"./hadoop.xml\",\n             input:  \"/test.txt\",\n             output: \"/processed_\"+(new Date().getTime()),\n             name:   \"Timothy Word Count Example\",\n             \"mapred.map.tasks\": 10 // properties can also be passed\n        })\n        // map function: one (line) or two (key, value) arguments\n        .map(function(line){\n            var words = line.split(\" \");\n            for(var i=0; i<words.length; i++)\n                this.emit(words[i], 1); // this.emit is used to generate output\n        })\n        // reduce function: two arguments (key, value)\n        .reduce(function(word,counts){\n            emit(word, counts.length); // emit is part of object so can be called without the 'this' qualification\n        })\n        // run function, creates the job, uploads it and blocks until \n        // the execution has finished\n        .run();\n```\n\n## Testing in the local machine\n\n```javascript\n    require('timothy')\n        .map(function(line){\n            var words = line.split(\" \");\n            for(var i=0; i<words.length; i++)\n                this.emit(words[i], 1);\n        })\n        .reduce(function(word,counts){\n            this.emit(word, counts.length);\n        })\n        // runLocal can be used instead of run to simulate the job execution \n        // from the command line\n        .runLocal(\"~/Desktop/test_input.txt\");\n```\n\n## Initialising a job\n\n```javascript\n    require('timothy')\n        .configure({\t\n             config: \"./hadoop.xml\",\n             input:  \"/test.txt\",\n             output: \"/processed_\"+(new Date().getTime()),\n             name:   \"Timothy Word Count Example\"\n        })\n        // global variables and functions will be available in the map and reduce functions\n        .setup(function(){\n            x = 0;\n            inc = function() {\n                x = x + 1;\n            };\n        })\n        .map(function(line){\n            var words = line.split(\" \");\n            for(var i=0; i<words.length; i++) {\n                inc();\n                this.emit(words[i], x);\n            }\n        })\n        .reduce(function(word,counts){\n            this.emit(word, counts.length);\n        })\n        .run();\n```\n\n## Passing Environment Variables\n\n```javascript\n    (function(offset1,offset2){\n\n        require('timothy')\n            .configure({\t\n                 config: \"./hadoop.xml\",\n                 input:  \"/test.txt\",\n                 output: \"/processed_\"+(new Date().getTime()),\n                 name:   \"Timothy Word Count Example\",\n                 //environment variables\n                 cmdenv: \"offset1=\"+offset1+\",offset2=\"+offset2 \n            })\n            .map(function(line){\n    \t        // mapper and reducer process can now access\n                // the variables through process.env\n                var offset1 = parseInt(process.env['offset1']);\n                var words = line.split(\" \");\n                for(var i=0; i<words.length; i++)\n                    this.emit(words[i], 1+offset1);\n            })\n            .reduce(function(word,counts){\n                var offset2 = parseInt(process.env['offset2']);\n                this.emit(word, counts.length+offset2);\n            })\n            .run();\n\n    })(10,40);\n```\n\n## Using node libraries\n\n```javascript\n    require('timothy')\n        .configure({\t\n             config: \"./hadoop.xml\",\n             input:  \"/test.txt\",\n             output: \"/processed_\"+(new Date().getTime()),\n             name:   \"Timothy Word Count Example\"\n        })\n        // Libraries can be added using the same syntax as\n        // in a NPM package.json file\n        .dependencies({\"node-uuid\":\"1.3.3\"})\n        .setup(function(){\n            // libraries can be required in the setup function\n            uuid = require('node-uuid');\n        })\n        .map(function(line){\n            var words = line.split(\" \");\n            for(var i=0; i<words.length; i++) {\n                   this.emit(words[i], 1);\n            }\n        })\n        .reduce(function(word,counts){\n            this.emit(word, counts.length);\n            this.emit(uuid.v1(),\"10000000\");\n        })\n        .run();\n```\n\n## Status and counters\n\nStatus and counters for the job can be updated using the *this.updateStatus* and *this.updateCounter* functions.\n\n## Caveats\n\n*map*, *reduce* and *setup* functions are used as templates for the job functions. Trying to use values from these function definition closures will fail when running the actual job. Use the 'cmdenv' configuration to pass values to the job instead.\n\nAt the moment, the *setup* function does not handle blocking asynchronous operations. If one of these operations is invoked, the script will continue executing the *map*/*reduce* function before the asynchronous callback is executed.\n\n\n## About\n\nForward Internet Group (c) 2012. Available under the LGPL V3 license.\n\n<forward-timothy@googlegroups.com>, <abhinay.mehta@forward.co.uk>, <antonio.garrote@forward.co.uk>\n","_id":"timothy@0.1.17","dist":{"shasum":"bbd12ab9b151b740e6a0d17469542c2508f3282d","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.17.tgz","integrity":"sha512-28ZxS7C+yurvTC87Dzw2mYi9i84guywe4DPxKfaaRjganeeDcyielcSMDdjcS662FWxfiWD6E5cpOeOXMrmOlQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEtpPNJUKbmLxR14P+C3Iw4/GO5jG16IE62ZM8szvXb9AiEAkOHVsJE51RlEHdg93uZKKJx+UhHK4ee/3cY8q+g/KvY="}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.18":{"name":"timothy","version":"0.1.18","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"https://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"readme":"timothy: Node.js library for writing Hadoop MapReduce jobs in JS\n===============================================================\n\nTimothy's primary goal is to make Hadoop's Yellow Elephant rich and famous.\n\n## Installation\n\n    npm install timothy\n\n## Basic Example\n\n```javascript\n    // require timothy\n    require('timothy')\n        // basic configuration for the job: hadoop conf, input, output, name, etc\n        .configure({\t\n             hadoopHome: \"/path/to/hadoop/home\" // this can be provided from environment\n             config: \"./hadoop.xml\",\n             input:  \"/test.txt\",\n             output: \"/processed_\"+(new Date().getTime()),\n             name:   \"Timothy Word Count Example\",\n             \"mapred.map.tasks\": 10 // properties can also be passed\n        })\n        // map function: one (line) or two (key, value) arguments\n        .map(function(line){\n            var words = line.split(\" \");\n            for(var i=0; i<words.length; i++)\n                this.emit(words[i], 1); // this.emit is used to generate output\n        })\n        // reduce function: two arguments (key, value)\n        .reduce(function(word,counts){\n            emit(word, counts.length); // emit is part of object so can be called without the 'this' qualification\n        })\n        // run function, creates the job, uploads it and blocks until \n        // the execution has finished\n        .run();\n```\n\n## Testing in the local machine\n\n```javascript\n    require('timothy')\n        .map(function(line){\n            var words = line.split(\" \");\n            for(var i=0; i<words.length; i++)\n                this.emit(words[i], 1);\n        })\n        .reduce(function(word,counts){\n            this.emit(word, counts.length);\n        })\n        // runLocal can be used instead of run to simulate the job execution \n        // from the command line\n        .runLocal(\"~/Desktop/test_input.txt\");\n```\n\n## Initialising a job\n\n```javascript\n    require('timothy')\n        .configure({\t\n             config: \"./hadoop.xml\",\n             input:  \"/test.txt\",\n             output: \"/processed_\"+(new Date().getTime()),\n             name:   \"Timothy Word Count Example\"\n        })\n        // global variables and functions will be available in the map and reduce functions\n        .setup(function(){\n            x = 0;\n            inc = function() {\n                x = x + 1;\n            };\n        })\n        .map(function(line){\n            var words = line.split(\" \");\n            for(var i=0; i<words.length; i++) {\n                inc();\n                this.emit(words[i], x);\n            }\n        })\n        .reduce(function(word,counts){\n            this.emit(word, counts.length);\n        })\n        .run();\n```\n\n## Passing Environment Variables\n\n```javascript\n    (function(offset1,offset2){\n\n        require('timothy')\n            .configure({\t\n                 config: \"./hadoop.xml\",\n                 input:  \"/test.txt\",\n                 output: \"/processed_\"+(new Date().getTime()),\n                 name:   \"Timothy Word Count Example\",\n                 //environment variables\n                 cmdenv: \"offset1=\"+offset1+\",offset2=\"+offset2 \n            })\n            .map(function(line){\n    \t        // mapper and reducer process can now access\n                // the variables through process.env\n                var offset1 = parseInt(process.env['offset1']);\n                var words = line.split(\" \");\n                for(var i=0; i<words.length; i++)\n                    this.emit(words[i], 1+offset1);\n            })\n            .reduce(function(word,counts){\n                var offset2 = parseInt(process.env['offset2']);\n                this.emit(word, counts.length+offset2);\n            })\n            .run();\n\n    })(10,40);\n```\n\n## Using node libraries\n\n```javascript\n    require('timothy')\n        .configure({\t\n             config: \"./hadoop.xml\",\n             input:  \"/test.txt\",\n             output: \"/processed_\"+(new Date().getTime()),\n             name:   \"Timothy Word Count Example\"\n        })\n        // Libraries can be added using the same syntax as\n        // in a NPM package.json file\n        .dependencies({\"node-uuid\":\"1.3.3\"})\n        .setup(function(){\n            // libraries can be required in the setup function\n            uuid = require('node-uuid');\n        })\n        .map(function(line){\n            var words = line.split(\" \");\n            for(var i=0; i<words.length; i++) {\n                   this.emit(words[i], 1);\n            }\n        })\n        .reduce(function(word,counts){\n            this.emit(word, counts.length);\n            this.emit(uuid.v1(),\"10000000\");\n        })\n        .run();\n```\n\n## Status and counters\n\nStatus and counters for the job can be updated using the *this.updateStatus* and *this.updateCounter* functions.\n\n## Caveats\n\n*map*, *reduce* and *setup* functions are used as templates for the job functions. Trying to use values from these function definition closures will fail when running the actual job. Use the 'cmdenv' configuration to pass values to the job instead.\n\nAt the moment, the *setup* function does not handle blocking asynchronous operations. If one of these operations is invoked, the script will continue executing the *map*/*reduce* function before the asynchronous callback is executed.\n\n\n## About\n\nForward Internet Group (c) 2012. Available under the LGPL V3 license.\n\n<forward-timothy@googlegroups.com>, <abhinay.mehta@forward.co.uk>, <antonio.garrote@forward.co.uk>\n","_id":"timothy@0.1.18","dist":{"shasum":"98155a1a38d220851d05f4903d7490dffc1daa42","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.18.tgz","integrity":"sha512-2gkRzhc7NYmiIuV4JM6swHDhEifFgrluPq2bvP1MkiphMxMoxOtN16e1AgvYc0ZB+8ELz72wrr9Pr8y0NVmInQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCezIrOGxtEt/e+FHfdZaHeMYIhyN63+vY6wWXx8LKumwIgFja3h779J5xPTkmUl9W/snjs2l0uCoYjlF4ebzPmS2Q="}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]},"0.1.19":{"name":"timothy","version":"0.1.19","description":"Node.js library for running Hadoop jobs","keywords":["hadoop","map-reduce"],"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"engines":{"node":">=0.6.1"},"repository":{"type":"git","url":"https://github.com/forward/timothy.git"},"licenses":[{"type":"LGPL V3","url":"http://www.gnu.org/licenses/lgpl.html"}],"readme":"timothy: Node.js library for writing Hadoop MapReduce jobs in JS\n===============================================================\n\nTimothy's primary goal is to make Hadoop's Yellow Elephant rich and famous.\n\n## Installation\n\n    npm install timothy\n\n## Basic Example\n\n```javascript\n    // require timothy\n    require('timothy')\n        // basic configuration for the job: hadoop conf, input, output, name, etc\n        .configure({\t\n             hadoopHome: \"/path/to/hadoop/home\" // this can be provided from environment\n             config: \"./hadoop.xml\",\n             input:  \"/test.txt\",\n             output: \"/processed_\"+(new Date().getTime()),\n             name:   \"Timothy Word Count Example\",\n             \"mapred.map.tasks\": 10 // properties can also be passed\n        })\n        // map function: one (line) or two (key, value) arguments\n        .map(function(line){\n            var words = line.split(\" \");\n            for(var i=0; i<words.length; i++)\n                this.emit(words[i], 1); // this.emit is used to generate output\n        })\n        // reduce function: two arguments (key, value)\n        .reduce(function(word,counts){\n            emit(word, counts.length); // emit is part of object so can be called without the 'this' qualification\n        })\n        // run function, creates the job, uploads it and blocks until \n        // the execution has finished\n        .run();\n```\n\n## Testing in the local machine\n\n```javascript\n    require('timothy')\n        .map(function(line){\n            var words = line.split(\" \");\n            for(var i=0; i<words.length; i++)\n                this.emit(words[i], 1);\n        })\n        .reduce(function(word,counts){\n            this.emit(word, counts.length);\n        })\n        // runLocal can be used instead of run to simulate the job execution \n        // from the command line\n        .runLocal(\"~/Desktop/test_input.txt\");\n```\n\n## Initialising a job\n\n```javascript\n    require('timothy')\n        .configure({\t\n             config: \"./hadoop.xml\",\n             input:  \"/test.txt\",\n             output: \"/processed_\"+(new Date().getTime()),\n             name:   \"Timothy Word Count Example\"\n        })\n        // global variables and functions will be available in the map and reduce functions\n        .setup(function(){\n            x = 0;\n            inc = function() {\n                x = x + 1;\n            };\n        })\n        .map(function(line){\n            var words = line.split(\" \");\n            for(var i=0; i<words.length; i++) {\n                inc();\n                this.emit(words[i], x);\n            }\n        })\n        .reduce(function(word,counts){\n            this.emit(word, counts.length);\n        })\n        .run();\n```\n\n## Passing Environment Variables\n\n```javascript\n    (function(offset1,offset2){\n\n        require('timothy')\n            .configure({\t\n                 config: \"./hadoop.xml\",\n                 input:  \"/test.txt\",\n                 output: \"/processed_\"+(new Date().getTime()),\n                 name:   \"Timothy Word Count Example\",\n                 //environment variables\n                 cmdenv: \"offset1=\"+offset1+\",offset2=\"+offset2 \n            })\n            .map(function(line){\n    \t        // mapper and reducer process can now access\n                // the variables through process.env\n                var offset1 = parseInt(process.env['offset1']);\n                var words = line.split(\" \");\n                for(var i=0; i<words.length; i++)\n                    this.emit(words[i], 1+offset1);\n            })\n            .reduce(function(word,counts){\n                var offset2 = parseInt(process.env['offset2']);\n                this.emit(word, counts.length+offset2);\n            })\n            .run();\n\n    })(10,40);\n```\n\n## Using node libraries\n\n```javascript\n    require('timothy')\n        .configure({\t\n             config: \"./hadoop.xml\",\n             input:  \"/test.txt\",\n             output: \"/processed_\"+(new Date().getTime()),\n             name:   \"Timothy Word Count Example\"\n        })\n        // Libraries can be added using the same syntax as\n        // in a NPM package.json file\n        .dependencies({\"node-uuid\":\"1.3.3\"})\n        .setup(function(){\n            // libraries can be required in the setup function\n            uuid = require('node-uuid');\n        })\n        .map(function(line){\n            var words = line.split(\" \");\n            for(var i=0; i<words.length; i++) {\n                   this.emit(words[i], 1);\n            }\n        })\n        .reduce(function(word,counts){\n            this.emit(word, counts.length);\n            this.emit(uuid.v1(),\"10000000\");\n        })\n        .run();\n```\n\n## Status and counters\n\nStatus and counters for the job can be updated using the *this.updateStatus* and *this.updateCounter* functions.\n\n## Caveats\n\n*map*, *reduce* and *setup* functions are used as templates for the job functions. Trying to use values from these function definition closures will fail when running the actual job. Use the 'cmdenv' configuration to pass values to the job instead.\n\nAt the moment, the *setup* function does not handle blocking asynchronous operations. If one of these operations is invoked, the script will continue executing the *map*/*reduce* function before the asynchronous callback is executed.\n\n\n## About\n\nForward Internet Group (c) 2012. Available under the LGPL V3 license.\n\n<forward-timothy@googlegroups.com>, <abhinay.mehta@forward.co.uk>, <antonio.garrote@forward.co.uk>\n","_id":"timothy@0.1.19","dist":{"shasum":"9a853e415666e688a618cb3335e017e9a89f7249","tarball":"https://registry.npmjs.org/timothy/-/timothy-0.1.19.tgz","integrity":"sha512-v83RBF50XhlQJUTfXpXa1Gay4o4p5JGZQ/Qe7p4UktVWHUe3RT1YOVXzVuJMgyaTB2rvRVsc+J+psSjJwII/gA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWRWhv0HWCJEp16wya+WC2XLmwAVFXqwA3j1g1i76D5QIgFtXZK9TcP42k9J1yumUvfmDjxfMY5+JdFIMa0u/mfh8="}]},"maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}]}},"readme":"timothy: a Node.js library for building Hadoop jobs in JS\n=========================================================\n\nTimothy's primary goal is to make The Yellow Elephant rich and famous.\n\n\n## Basic Example\n\n```javascript\n    // require timothy\n    require('timothy')\n        // basic configuration for the job: hadoop conf, input, output, name, etc\n        .configure({\t\n             config: \"./hadoop.xml\",\n             input:  \"/test.txt\",\n             output: \"/processed_\"+(new Date().getTime()),\n             name:   \"Timothy Word Count Example\"\n        })\n        // map function: one (line) or two (key, value) arguments\n        .map(function(line){\n            var words = line.split(\" \");\n            for(var i=0; i<words.length; i++)\n                emit(words[i], 1); // emit is used to generate output\n        })\n        // reduce function: two arguments (key, value)\n        .reduce(function(word,counts){\n            emit(word, counts.length);\n        })\n        // run function, creates the job, uploads it and blocks until the\n        // the execution has finished\n        .run();\n```\n\n## Testing in the local machine\n\n```javascript\n    require('timothy')\n        .map(function(line){\n            var words = line.split(\" \");\n            for(var i=0; i<words.length; i++)\n                emit(words[i], 1);\n        })\n        .reduce(function(word,counts){\n            emit(word, counts.length);\n        })\n        // runLocal can be used instead of run to simulte the job execution \n        // from the command line\n        .runLocal(\"~/Desktop/test_input.txt\");\n```\n\n## Initialising a job\n\n```javascript\n    require('timothy')\n        .configure({\t\n             config: \"./hadoop.xml\",\n             input:  \"/test.txt\",\n             output: \"/processed_\"+(new Date().getTime()),\n             name:   \"Timothy Word Count Example\"\n        })\n        // variables and functions added to the global object will be available\n        // in the map and reduce functions\n        .setup(function(){\n            global.x = 0;\n            global.inc = function() {\n                global.x = global.x + 1;\n            };\n        })\n        .map(function(line){\n            var words = line.split(\" \");\n            for(var i=0; i<words.length; i++) {\n                inc();\n                emit(words[i], x);\n            }\n        })\n        .reduce(function(word,counts){\n            emit(word, counts.length);\n        })\n        .run();\n```\n\n## Using node libraries\n\n```javascript\n    require('timothy')\n        .configure({\t\n             config: \"./hadoop.xml\",\n             input:  \"/test.txt\",\n             output: \"/processed_\"+(new Date().getTime()),\n             name:   \"Timothy Word Count Example\"\n        })\n        // Libraries can be added using the same syntax as\n        // in a NPM package.json file\n        .dependencies({\"node-uuid\":\"1.3.3\"})\n        .setup(function(){\n            // libraries can be required in the setup function\n            global.uuid = require('node-uuid');\n        })\n        .map(function(line){\n            var words = line.split(\" \");\n            for(var i=0; i<words.length; i++) {\n                   emit(words[i], 1);\n            }\n        })\n        .reduce(function(word,counts){\n            emit(word, counts.length);\n            emit(uuid.v1(),\"10000000\");\n        })\n        .run();\n```\n\n## Status and counters\n\nStatus and counters for the job can be updated using the *updateStatus* and *updateCounter* functions.","maintainers":[{"name":"forward","email":"forward-timothy@googlegroups.com"}],"time":{"modified":"2022-06-27T06:53:35.395Z","created":"2012-05-28T12:45:07.876Z","0.1.0":"2012-05-28T12:45:09.139Z","0.1.1":"2012-05-28T13:32:57.243Z","0.1.2":"2012-05-28T13:43:40.080Z","0.1.3":"2012-05-28T14:18:58.375Z","0.1.4":"2012-05-28T14:22:24.899Z","0.1.5":"2012-05-28T14:27:52.487Z","0.1.6":"2012-05-28T16:09:24.190Z","0.1.7":"2012-05-29T12:41:46.078Z","0.1.8":"2012-05-29T13:32:55.002Z","0.1.9":"2012-05-29T13:52:03.925Z","0.1.10":"2012-05-29T15:45:31.876Z","0.1.11":"2012-05-29T17:03:09.485Z","0.1.12":"2012-05-29T17:31:22.871Z","0.1.13":"2012-05-30T09:13:30.884Z","0.1.14":"2012-06-14T09:50:08.744Z","0.1.16":"2012-07-02T10:03:22.599Z","0.1.17":"2013-03-21T11:05:18.653Z","0.1.18":"2013-03-25T15:46:13.682Z","0.1.19":"2013-03-26T14:24:19.296Z"},"author":{"name":"Forward Internet Group","email":"<abhinay.mehta@forward.co.uk"},"repository":{"type":"git","url":"https://github.com/forward/timothy.git"},"users":{"ahmednuaman":true,"nate-river":true}}