Comments (7)
@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.
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.
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.
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.
@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.
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.
I'm resolving this for now. Please feel free to re-open.
from differential-privacy.
Related Issues (20)
- Build fails on Mac HOT 6
- Is there a plan to address the issues pointed out in Casacuberta et al? HOT 2
- > Is there a plan to address this:loating-point implementations are subject to the vulnerabilities described in [Casacuberta et al. "Widespread Underestimation of Sensitivity in Differentially Private Libraries and How to Fix it"](https://arxiv.org/abs/2207.10635) (specifically the rounding, repeated rounding, and re-ordering attacks). HOT 1
- Updated Maven artifacts? HOT 6
- Google Colab ? HOT 3
- SQL Queries HOT 4
- Why the privacy-on-beam is not implemented by java? HOT 1
- Implementing a custom noisy threshold HOT 3
- Making the Introduction of the Readme Section Easier to Read and Understand HOT 3
- Do ZetaSQL examples supports JOIN queries? HOT 4
- Invalid uses of `list` type HOT 1
- Invalid use of `list` type should be `typing.List` HOT 5
- Relax dependency for scipy~=1.7.1 in dp_accounting HOT 2
- run `bazelisk build execute_query` failed HOT 5
- bazel build excute_query with "linkopts = ["-static"]", and the output binary does not work as expected HOT 22
- Maven artifact with LongBoundedSum HOT 3
- postgres extension docker build failed HOT 4
- install postgres extension failed with `./postgres/install_extension.sh` HOT 2
- .
- Feature: Bounded Laplace Mechanism ("bounded domain") HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from differential-privacy.