Skip to main content

Automate management of PII redacted schemas for dbt projects.

Project description

PyPI Travis Codecov Supported Python versions License

The Schema Builder tool is used to create dbt schema files, sql models, and default PII / non-PII views for tables in the given Snowflake schemas. For each given <SCHEMA>_RAW schema the script will generate dbt models for a <SCHEMA> and <SCHEMA>_PII schema. We refer to these schemas as a “trifecta”.

  • <SCHEMA>_RAW contains the original source tables.

  • <SCHEMA>_PII contains views on the _RAW tables that have un-redacted PII.

  • <SCHEMA> contains views on the _RAW tables sensitive data redacted.

Schema Builder ensures that all three schemas provide the same interface to the data (number and order of columns match what is present in the _RAW schema).

Once the script is successfully run, you can execute a dbt run to create or update the views in <SCHEMA> and <SCHEMA>_PII. If your source data in the <SCHEMA>_RAW schema changes you should run Schema Builder frequently to keep up with changes in the tables and columns stored there.

Schema Builder will also automatically create sources in one or more other dbt projects so that they can use the results of these models as sources.

See the docs for more information.

License

The code in this repository is licensed under the AGPL 3.0 unless otherwise noted.

Please see LICENSE.txt for details.

How To Contribute

Contributions are very welcome. Please read How To Contribute for details. Even though they were written with edx-platform in mind, the guidelines should be followed for all Open edX projects.

The pull request description template should be automatically applied if you are creating a pull request from GitHub. Otherwise you can find it at PULL_REQUEST_TEMPLATE.md.

The issue report template should be automatically applied if you are creating an issue on GitHub as well. Otherwise you can find it at ISSUE_TEMPLATE.md.

Reporting Security Issues

Please do not report security issues in public. Please email security@edx.org.

Getting Help

If you’re having trouble, we have discussion forums at https://discuss.openedx.org where you can connect with others in the community.

Our real-time conversations are on Slack. You can request a Slack invitation, then join our community Slack team.

For more information about these options, see the Getting Help page.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dbt-schema-builder-0.1.4.tar.gz (26.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dbt_schema_builder-0.1.4-py2.py3-none-any.whl (26.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file dbt-schema-builder-0.1.4.tar.gz.

File metadata

  • Download URL: dbt-schema-builder-0.1.4.tar.gz
  • Upload date:
  • Size: 26.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.7

File hashes

Hashes for dbt-schema-builder-0.1.4.tar.gz
Algorithm Hash digest
SHA256 42b92fd32451e4bb87286b5ae4db61ce0d3eb13327d6d765ef395d6964bb0192
MD5 bb062714c07b614bc6b76f57f66396b1
BLAKE2b-256 302155edffe01c669ddcc82378fc1f7bea2bf57fd38953c1c9dd506729bc56da

See more details on using hashes here.

File details

Details for the file dbt_schema_builder-0.1.4-py2.py3-none-any.whl.

File metadata

  • Download URL: dbt_schema_builder-0.1.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 26.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.7

File hashes

Hashes for dbt_schema_builder-0.1.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3f16ca125f6cd073203f302e3fc65b075f3aede628a4ea04d1d2f8b53d962ab3
MD5 f5df9d1be0b2f462a47eac61fa27976a
BLAKE2b-256 c634bfcbbcc4ef7675d2114b898b4e6aa7a51a3aa62b8f3ef6f32e81727c8a57

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page