Skip to content

Commit

Permalink
Merge pull request #173 from AI-SDC/pre-commit-ci-update-config
Browse files Browse the repository at this point in the history
[pre-commit.ci] pre-commit autoupdate
  • Loading branch information
rpreen authored Oct 16, 2023
2 parents 52d471f + 973f61a commit 91b8688
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 13 deletions.
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ repos:

# Check types with mypy
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.5.1
rev: v1.6.0
hooks:
- id: mypy
args: ["--ignore-missing-imports", "--follow-imports", "skip", "--check-untyped-defs"]
Expand Down
34 changes: 22 additions & 12 deletions notebooks/acro_demo.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import pandas as pd
from scipy.io.arff import loadarff

from acro import ACRO, add_constant, add_to_acro
from acro import ACRO

# Instantiate ACRO by making an acro object
print(
Expand All @@ -21,10 +21,12 @@

# Load test data
# The dataset used in this notebook is the nursery dataset from OpenML.
# - In this version, the data can be read directly from the local machine after it has been downloaded.
# - The code below reads the data from a folder called "data" which we assume is at the same level as the folder where you are working.
# - In this version, the data can be read directly from the local machine after
# it has been downloaded.
# - The code below reads the data from a folder called "data" which we assume
# is at the same level as the folder where you are working.
# - The path might need to be changed if the data has been downloaded and stored elsewhere.
# - for example use:
# - for example use:
# path = os.path.join("data", "nursery.arff")
# if the data is in a sub-folder of your work folder

Expand All @@ -39,7 +41,8 @@
# Examples of producing tabular output
# We rely on the industry-standard package **pandas** for tabulating data.
# In the next few examples we show:
# - first, how a researcher would normally make a call in pandas, saving the results in a variable that they can view on screen (or save to file?)
# - first, how a researcher would normally make a call in pandas, saving the
# results in a variable that they can view on screen (or save to file?)
# - then how the call is identical in SACRO, except that:
# - "pd" is replaced by "acro"
# - the researcher immediately sees a copy of what the TRE output checker will see.
Expand Down Expand Up @@ -69,9 +72,12 @@
print(safe_table)

# ACRO crosstab with suppression
# - This is an example of crosstab with suppressing the cells that violate the disclosure tests.
# - Note that you need to change the value of the suppress variable in the acro object to True. Then run the crosstab command.
# - If you wish to continue the research while suppressing the outputs, leave the suppress variable as it is, otherwise turn it off.
# - This is an example of crosstab with suppressing the cells that violate the
# disclosure tests.
# - Note that you need to change the value of the suppress variable in the acro
# object to True. Then run the crosstab command.
# - If you wish to continue the research while suppressing the outputs, leave
# the suppress variable as it is, otherwise turn it off.

print("\nTurn on the suppression variable")
acro.suppress = True
Expand All @@ -85,7 +91,8 @@
# ACRO functionality to let users manage their outputs
#
# 1: List current ACRO outputs
# This is an example of using the print_output function to list all the outputs created so far
# This is an example of using the print_output function to list all the outputs
# created so far

print("\nNow illustrating how users can manage their outputs")
print(
Expand All @@ -96,7 +103,8 @@

# 2: Remove some ACRO outputs before finalising
# This is an example of deleting some of the ACRO outputs.
# The name of the output that needs to be removed should be passed to the function remove_output.
# The name of the output that needs to be removed should be passed to the
# function remove_output.
# - The output name can be taken from the outputs listed by the print_outputs function,
# - or by listing the results and choosing the specific output that needs to be removed

Expand All @@ -111,13 +119,15 @@

# 4: Add a comment to output
# This is an example to add a comment to outputs.
# It can be used to provide a description or to pass additional information to the output checkers.
# It can be used to provide a description or to pass additional information to
# the output checkers.

print("\nUsers can add comments which the output checkers will see.")
acro.add_comments("cross_tabulation", "Please let me have this data.")

# 5: (the big one) Finalise ACRO
# This is an example of the function _finalise()_ which the users must call at the end of each session.
# This is an example of the function _finalise()_ which the users must call at
# the end of each session.
# - It takes each output and saves it to a CSV file.
# - It also saves the SDC analysis for each output to a json file or Excel file
# (depending on the extension of the name of the file provided as an input to the function)
Expand Down

0 comments on commit 91b8688

Please sign in to comment.