Giter VIP home page Giter VIP logo

Comments (7)

replomancer avatar replomancer commented on June 3, 2024 1

@cmhh In case you're interested, we (OpenMined) have been experimenting with various JVM languages (including Scala) and we started building some demo notebooks on top of the differential-privacy library. What we do to get the notebooks running is in the first code cell we download the jar from my private server 🙂 I'd like to continue building more notebooks with a new jar from Maven.

For some things (IIRC autocomplete in Clojure repl) I also needed libsummary-proto-speed.jar next to libdifferentialprivacy.jar, so here's what used to work for me after "bazel build":

mvn install:install-file -Dfile=bazel-bin/main/com/google/privacy/differentialprivacy/libdifferentialprivacy.jar -DgroupId=com.google.privacy.differentialprivacy -DartifactId=libdifferentialprivacy -Dversion=1.0 -Dpackaging=jar

mvn install:install-file -Dfile=bazel-bin/external/com_google_differential_privacy/proto/libsummary-proto-speed.jar -DgroupId=com.google.differentialprivacy -DartifactId=libsummary-proto-speed -Dversion=1.0 -Dpackaging=jar

from differential-privacy.

cmhh avatar cmhh commented on June 3, 2024

Seconding this idea.

I'm currently trying to see if I can copy all the jars from the bazel-out folder, maybe make a single fat-jar, and then see if I can use it as an unmanaged dependency in an SBT project. I was curious at least to see if I could easily get the simply Java examples going in Scala. Also, if this works, then using the jar with the rJava package would be an easy path for using this library from R.

Edit I see there is a libdifferentialprivacy.jar file created as part of the build which I seem to be able to use. Should have looked more carefully. Still good to have this on Maven, though.

from differential-privacy.

dibakch avatar dibakch commented on June 3, 2024

I've pushed version 1.0.0 to maven central. Could you verify if this works for your project? Maven coordinates are com.google.privacy.differentialprivacy:differentialprivacy:1.0.0.

from differential-privacy.

cmhh avatar cmhh commented on June 3, 2024

I've pushed version 1.0.0 to maven central. Could you verify if this works for your project? Maven coordinates are com.google.privacy.differentialprivacy:differentialprivacy:1.0.0.

I've done a quick test using SBT and it looks good so far. I'll try and work through the all the examples from this repo. Thanks!

from differential-privacy.

osuketh avatar osuketh commented on June 3, 2024

@dibakch
It would be nice if proto jars can be pushed as well. I want to use CountSummary, but it cannnot be imported like import com.google.privacy.differentialprivacy.proto.SummaryOuterClass.CountSummary;.

from differential-privacy.

dibakch avatar dibakch commented on June 3, 2024

Thanks @cmhh

@osuketh The protos are not part of the official API for Java. I'm wondering why you need the protos. Serialization returns a byte[] that can be used to be merged with the same algorithm on another machine. Note that we also changed the path for the protos since v1.0.0.

from differential-privacy.

dibakch avatar dibakch commented on June 3, 2024

I'm resolving this for now. Please feel free to re-open.

from differential-privacy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.