Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
663 changes: 0 additions & 663 deletions .gitlab-ci.yml

This file was deleted.

2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2025 Tumult Labs
Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion NOTICE
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Tumult Core
Copyright Tumult Labs 2025


This product contains software developed by
Tumult Labs <https://tmlt.io/>.
9 changes: 1 addition & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,6 @@ Tumult Core is a programming framework for implementing [differentially private]

The design of Tumult Core is based on the design proposed in the [OpenDP White Paper](https://projects.iq.harvard.edu/files/opendifferentialprivacy/files/opendp_white_paper_11may2020.pdf), and can automatically verify the privacy properties of algorithms constructed from Tumult Core components. Tumult Core is scalable, includes a wide variety of components, and supports multiple privacy definitions.


## 🚨 Important Update: the Tumult Labs Team is Joining LinkedIn 🚨
The [Tumult Labs team has joined LinkedIn](https://www.linkedin.com/pulse/whats-next-us-tumult-labs-gerome-miklau-zmpye)! 🎉 As part of this transition, we are exploring options for the future of Tumult Core, including finding a new home for the project. 🏡
We greatly appreciate the community’s support and contributions. If your organization is interested in maintaining or adopting Tumult Core, please reach out! 📩
For now, the repository remains available, and we encourage users to continue engaging with the project. We’ll provide updates as soon as we have more to share.
— The Tumult Labs Team 💙

## Installation

See the [installation instructions in the documentation](https://docs.tmlt.dev/core/latest/installation.html#installation-instructions) for information about setting up prerequisites such as Spark and Java.
Expand All @@ -27,7 +20,7 @@ The full documentation is located at https://docs.tmlt.dev/core/latest.

## Support

If you have any questions/concerns, please [create an issue](https://gitlab.com/tumult-labs/core/-/issues) or reach out to us on [Slack](https://tmltdev.slack.com/join/shared_invite/zt-1bky0mh9v-vOB8azKAVoxmzJDUdWd5Wg#).
If you have any questions/concerns, please [create an issue](https://github.com/opendp/tumult-core/issues) or reach out to us on [Slack](https://opendp.slack.com/join/shared_invite/zt-1aca9bm7k-hG7olKz6CiGm8htI2lxE8w#/shared-invite/email).

## Contributing

Expand Down
2 changes: 1 addition & 1 deletion benchmark/benchmarking_utils.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Common utility functions for benchmarking scripts."""

# SPDX-License-Identifier: Apache-2.0
# Copyright Tumult Labs 2025
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all these removals seem to leave empty lines or empty comments (like (/* */ or <!-- -->)) which should probably be removed



# pylint: disable=attribute-defined-outside-init

Expand Down
2 changes: 1 addition & 1 deletion benchmark/bounds.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Benchmarking script for bounds aggregation."""

# SPDX-License-Identifier: Apache-2.0
# Copyright Tumult Labs 2025


from math import log
from random import randint
Expand Down
2 changes: 1 addition & 1 deletion benchmark/count_sum.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Benchmarking script for spark-based count and sum aggregations."""

# SPDX-License-Identifier: Apache-2.0
# Copyright Tumult Labs 2025


from math import log
from random import randint
Expand Down
2 changes: 1 addition & 1 deletion benchmark/noise_mechanism.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Benchmarking script for adding noise to dataframes."""

# SPDX-License-Identifier: Apache-2.0
# Copyright Tumult Labs 2025


import time

Expand Down
2 changes: 1 addition & 1 deletion benchmark/private_join.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Benchmarking module for PrivateJoin and Truncation transformations."""

# SPDX-License-Identifier: Apache-2.0
# Copyright Tumult Labs 2025


import itertools
from random import randint
Expand Down
2 changes: 1 addition & 1 deletion benchmark/public_join.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Benchmarking module for PublicJoin."""

# SPDX-License-Identifier: Apache-2.0
# Copyright Tumult Labs 2025


import time
from random import randint
Expand Down
2 changes: 1 addition & 1 deletion benchmark/quantile.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Benchmarking quantile script for the OpenDP-based privacy framework."""
# SPDX-License-Identifier: Apache-2.0
# Copyright Tumult Labs 2025


import time
from random import randint
Expand Down
2 changes: 1 addition & 1 deletion benchmark/sparkflatmap.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Benchmarking script for Map."""

# SPDX-License-Identifier: Apache-2.0
# Copyright Tumult Labs 2025


import time
from random import choice, randint
Expand Down
2 changes: 1 addition & 1 deletion benchmark/sparkmap.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Benchmarking script for Map."""

# SPDX-License-Identifier: Apache-2.0
# Copyright Tumult Labs 2025


import time
from random import randint
Expand Down
2 changes: 1 addition & 1 deletion doc/_static/css/custom.css
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* SPDX-License-Identifier: Apache-2.0 */
/* Copyright Tumult Labs 2025 */
/* */

/* Override the color of hovered links, as the default is kind of out of place
and distracting. This makes it so the links don't change color when hovered,
Expand Down
2 changes: 1 addition & 1 deletion doc/_static/js/version-banner.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* SPDX-License-Identifier: Apache-2.0 */
/* Copyright Tumult Labs 2025 */
/* */

function injectBanner(content) {
var body = document.getElementsByClassName('bd-article')[0];
Expand Down
2 changes: 1 addition & 1 deletion doc/_templates/build-info.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<!-- SPDX-License-Identifier: Apache-2.0 -->
<!-- Copyright Tumult Labs 2025 -->
<!-- -->
Built from {{ commit_hash }} at {{ build_time }}.
2 changes: 1 addition & 1 deletion doc/_templates/layout.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!-- SPDX-License-Identifier: Apache-2.0 -->
<!-- Copyright Tumult Labs 2025 -->
<!-- -->
{% extends "!layout.html" %}
{# pydata-sphinx-theme currently only supports Google Analytics. This is a
workaround until pydata-sphinx-theme v0.10.0 is released, which adds
Expand Down
2 changes: 1 addition & 1 deletion doc/_templates/package-name.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<!-- SPDX-License-Identifier: Apache-2.0 -->
<!-- Copyright Tumult Labs 2025 -->
<!-- -->
<h3>{{ project }}</h3>
2 changes: 1 addition & 1 deletion doc/_templates/sidebar-nav-bs.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!-- SPDX-License-Identifier: Apache-2.0 -->
<!-- Copyright Tumult Labs 2025 -->
<!-- -->
{# Sidebar navigation component, based on [1] but with the "Section Navigation"
header removed.
[1] https://github.com/pydata/pydata-sphinx-theme/blob/29a0d375f49cc7ee9411797349ae14951692eb63/src/pydata_sphinx_theme/theme/pydata_sphinx_theme/components/sidebar-nav-bs.html
Expand Down
2 changes: 1 addition & 1 deletion doc/additional-resources/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Additional Resources

..
SPDX-License-Identifier: CC-BY-SA-4.0
Copyright Tumult Labs 2025


.. toctree::
:maxdepth: 1
Expand Down
8 changes: 4 additions & 4 deletions doc/additional-resources/license.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ License

..
SPDX-License-Identifier: CC-BY-SA-4.0
Copyright Tumult Labs 2025


Copyright Tumult Labs 2025

The Tumult Core source code is licensed under the Apache License, version 2.0 (`Apache-2.0 <https://gitlab.com/tumult-labs/core/-/blob/dev/LICENSE>`_).

The Tumult Core documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (`CC-BY-SA-4.0 <https://gitlab.com/tumult-labs/core/-/blob/dev/LICENSE.docs>`_).
The Tumult Core source code is licensed under the Apache License, version 2.0 (`Apache-2.0 <https://github.com/opendp/tumult-core/blob/main/LICENSE>`_).

The Tumult Core documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (`CC-BY-SA-4.0 <https://github.com/opendp/tumult-core/blob/main/LICENSE.docs>`_).
To view a copy of this license, visit this `webpage <http://creativecommons.org/licenses/by-sa/4.0/>`_ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
73 changes: 0 additions & 73 deletions doc/additional-resources/privacy_policy.rst

This file was deleted.

7 changes: 3 additions & 4 deletions doc/conf.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# pylint: skip-file

# SPDX-License-Identifier: Apache-2.0
# Copyright Tumult Labs 2025


import datetime
import logging
Expand All @@ -15,7 +15,6 @@

project = "Tumult Core"
author = "Tumult Labs"
copyright = f"{datetime.date.today().year} Tumult Labs"
# Note that this is the name of the module provided by the package, not
# necessarily the name of the package as pip understands it.
package_name = "tmlt.core"
Expand Down Expand Up @@ -145,13 +144,13 @@ def autoapi_prepare_jinja_env(jinja_env):
"collapse_navigation": True,
"navigation_depth": 4,
"navbar_end": ["navbar-icon-links"],
"footer_start": ["copyright", "build-info"],
"footer_start": ["build-info"],
"footer_end": ["sphinx-version", "theme-version"],
"switcher": {
"json_url": "https://docs.tmlt.dev/core/versions.json",
"version_match": version,
},
"gitlab_url": "https://gitlab.com/tumult-labs/core",
"github_url": "https://github.com/opendp/tumult-core",
}
html_context = {
"default_mode": "light",
Expand Down
2 changes: 1 addition & 1 deletion doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Tumult Core documentation

..
SPDX-License-Identifier: CC-BY-SA-4.0
Copyright Tumult Labs 2025


.. toctree::
:hidden:
Expand Down
4 changes: 2 additions & 2 deletions doc/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Installation instructions

..
SPDX-License-Identifier: CC-BY-SA-4.0
Copyright Tumult Labs 2025


This guide will help you set up Tumult Core on your local machine.

Expand All @@ -20,7 +20,7 @@ Tumult Core supports the ``x86_64`` processor architecture, as well as Apple sil

Below are instructions for installing these prerequisites on several common platforms.
If none of these apply to you, install Python 3 and Java from your OS package manager.
If you encounter any issues during the installation process, please `let us know <https://gitlab.com/tumult-labs/core/-/issues>`__!
If you encounter any issues during the installation process, please `let us know <https://github.com/opendp/tumult-core/issues>`__!

.. tab-set::

Expand Down
2 changes: 1 addition & 1 deletion doc/ref.bib
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
% SPDX-License-Identifier: CC-BY-SA-4.0
% Copyright Tumult Labs 2025
%

@inproceedings{Cesar021,
author = {Mark Cesar and
Expand Down
2 changes: 1 addition & 1 deletion doc/topic-guides/architecture.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Tumult Core Architecture

..
SPDX-License-Identifier: CC-BY-SA-4.0
Copyright Tumult Labs 2025


.. testsetup::

Expand Down
2 changes: 1 addition & 1 deletion doc/topic-guides/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Topic Guides

..
SPDX-License-Identifier: CC-BY-SA-4.0
Copyright Tumult Labs 2025


The following pages explain concepts and advanced topics that come up in Tumult Core.

Expand Down
2 changes: 1 addition & 1 deletion doc/topic-guides/known-vulnerabilities.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Known Vulnerabilities

..
SPDX-License-Identifier: CC-BY-SA-4.0
Copyright Tumult Labs 2025


This page describes known vulnerabilities in Tumult Core that we intend to fix.

Expand Down
2 changes: 1 addition & 1 deletion doc/topic-guides/privacy-guarantee.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Tumult Core Privacy Guarantee

..
SPDX-License-Identifier: CC-BY-SA-4.0
Copyright Tumult Labs 2025


The privacy guarantee of a Core :class:`~.Measurement`, :math:`\mathcal{M}` is
the following. Let :math:`r` denote the privacy relation of :math:`\mathcal{M}`,
Expand Down
2 changes: 1 addition & 1 deletion doc/topic-guides/real-numbers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Handling Real Numbers

..
SPDX-License-Identifier: CC-BY-SA-4.0
Copyright Tumult Labs 2025


A DP algorithm (a single :class:`~.Measurement`) may be constructed using the Tumult Core library by composing
arbitrarily many transformations and measurements; and calling the
Expand Down
2 changes: 1 addition & 1 deletion doc/topic-guides/spark.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Spark

..
SPDX-License-Identifier: CC-BY-SA-4.0
Copyright Tumult Labs 2025


Tumult Core uses Spark as its underlying data processing
framework. This topic guide covers relevant information about Spark
Expand Down
2 changes: 1 addition & 1 deletion doc/topic-guides/special-values.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ NaNs, nulls, and infs

..
SPDX-License-Identifier: CC-BY-SA-4.0
Copyright Tumult Labs 2025


This page describes how Tumult Core handles NaNs, nulls, and infs.

Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/first-tutorial.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Simple Data Analysis with Tumult Core

..
SPDX-License-Identifier: CC-BY-SA-4.0
Copyright Tumult Labs 2025


In this tutorial you will learn how to:

Expand Down
Loading