{"push_id":724664389,"size":2,"distinct_size":2,"ref":"refs/heads/feature/py-cpp-client-2","head":"30c709ac8146e5df868d81c997d5e947c0d967ed","before":"655928449c83645a84ee53a201067e94f8d087dd","commits":[{"sha":"16561fd6d0fd3ebe2cc087400dee11dcdd6cba88","author":{"email":"72afef36029be0f09ae4232f4ea01cb4272e2523@google.com","name":"Andy Chu"},"message":"Make the Python simulation into a Python client library.\n\n- It can be used in applications, and follows the same choices as the\n  C++ (and Java) client libraries: MD5 to choose the bloom filter bits,\n  and HMAC-SHA256 with client secret for the PRR.  (rappor.py)\n- hash_candidates.py and rappor_sim.py use the rappor.get_bloom_bits\n  API, which is more efficient since it calls the hash function once\n  instead of 'h' times.\n- Make the randomness interface a simpler \"IrrRand\" interface, which has\n  2 implementations: pure Python and C.  (The PRR always uses the same\n  randomness.)\n- regtest.sh: Instead of a boolean for 'fast_counts', we have 3 modes:\n  Python client, C++ client, and 'fast_counts'.  The same tests can be\n  run against each implementation.  The results are put in different\n  directories, so they don't overwite each other.\n- Rename gen_reports.R to gen_true_values.R (since the \"reports\" are\n  typically the data transformed by RAPPOR).\n  - Change it to output the client and assign the cohort like this:\n    client,cohort,value\n\n    c1,1,v26\n    c1,1,v27\n    c2,2,v8\n    c2,2,v9\n\n    The cohort is stable per client, but the value is different.\n  - Add unit test\n- compare_dist.R: It loads the true values and computes the histograms,\n  instead of rappor_sim.py doing it.  This makes it easier to use the\n  test harness with C++ and other clients.\n- demo.sh: quickly run equivalent tests for each mode.\n- regtest.sh: show the implementation tested","distinct":true,"url":"https://api.github.com/repos/google/rappor/commits/16561fd6d0fd3ebe2cc087400dee11dcdd6cba88"},{"sha":"30c709ac8146e5df868d81c997d5e947c0d967ed","author":{"email":"72afef36029be0f09ae4232f4ea01cb4272e2523@google.com","name":"Andy Chu"},"message":"Merge branch 'feature/py-cpp-client-2' of github.com:google/rappor into feature/py-cpp-client-2","distinct":true,"url":"https://api.github.com/repos/google/rappor/commits/30c709ac8146e5df868d81c997d5e947c0d967ed"}]}