Skip to main content

Supplements to the python SPark ETL libRary (SPETLR) for Databricks.

Project description

spetlr-tools

Table of Contents

Description

SPETLR-tools is a library that provides a set of tools for working with Databricks Lakehouses. These tools include test fixtures and development utilities that are not part of the runtime tools in SPETLR.

Visit the official SPETLR webpage: https://spetlr.com/

Purpose of SPETLR-tools

SPETLR-tools is designed to support SPETLR in various scenarios, including:

  • Test tools in pytest:
    • Examples: Dataframe validation checks, Data format checking, ...
  • Helpers for investigating data:
    • Examples: Extract schema from binary encoded columns, Get the difference between two dataframes , ...
  • SPETLR-tools CLI:
    • Examples: Submit pytests to Databricks cluster, Automated Azure Token extraction, ...

SPETLR-tools vs. SPETLR

  • SPETLR-tools: Tested in a Python interpreter and per january 2024 also integration tested using on-cluster job tests.
  • SPETLR-tools: Github workflow have an very simple Azure Deployment
  • SPETLR: Fully unit and integration tested - library ready for production use
  • SPETLR-tools: Supports deployment and testing
    • Use only in test_requirements.txt

Installation

Install SPETLR from PyPI:

PyPI version PyPI

pip install spetlr-tools

Development Notes

To prepare for development, please install following additional requirements:

  • Java 8
  • pip install -r test_requirements.txt

Then install the package locally:

python setup.py develop

Testing

Local tests

After installing the dev-requirements, execute tests by running:

pytest tests

These tests are located in the ./tests/unit folder and only require a Python interpreter. Pull requests will not be accepted if these tests do not pass. If you add new features, please include corresponding tests.

CLI and Cluster tests

During the pre-integration workflow (.gitub/workflows/pre-integration.yml) spetlr-tool supported CLI are (should) be tested.

General Project Info

Github top language Github stars Github forks Github size Issues Open PyPI spetlr badge

Contributing

Feel free to contribute to SPETLR-tools. Any contributions are appreciated - not only new features, but also if you find a way to improve SPETLR-tools.

If you have a suggestion that can enhance SPETLR-tools, please fork the repository and create a pull request. Alternatively, you can open an issue with the "enhancement" tag.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/NewSPETLRToolsFeature)
  3. Commit your Changes (git commit -m 'Add some SEPTLRToolsFeature')
  4. Push to the Branch (git push origin feature/NewSPETLRToolsFeature)
  5. Open a Pull Request

Build Status

Post-Integration

Releases

Releases to PyPI is an Github Action which needs to be manually triggered.

Release PyPI spetlr badge

Contact

For any inquiries, please use the SPETLR Discord Server.

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

spetlr_tools-0.1.73.tar.gz (35.3 kB view details)

Uploaded Source

Built Distribution

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

spetlr_tools-0.1.73-py3-none-any.whl (48.3 kB view details)

Uploaded Python 3

File details

Details for the file spetlr_tools-0.1.73.tar.gz.

File metadata

  • Download URL: spetlr_tools-0.1.73.tar.gz
  • Upload date:
  • Size: 35.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for spetlr_tools-0.1.73.tar.gz
Algorithm Hash digest
SHA256 369a70c515ebc0e87e323e5c667d74b7b45b6c16e4c7d24a125a890259ac0c0c
MD5 7c731712a1ea5438f7773603b1027487
BLAKE2b-256 177ec9feced4c0acafebe33c63163b874c6a38561505a10a1d496b5326d4613b

See more details on using hashes here.

Provenance

The following attestation bundles were made for spetlr_tools-0.1.73.tar.gz:

Publisher: release.yml on spetlr-org/spetlr-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file spetlr_tools-0.1.73-py3-none-any.whl.

File metadata

  • Download URL: spetlr_tools-0.1.73-py3-none-any.whl
  • Upload date:
  • Size: 48.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for spetlr_tools-0.1.73-py3-none-any.whl
Algorithm Hash digest
SHA256 48220f516ae0e93f8d3589b82dfecb4b85cbdc173b950fc222e21c0b7bda2e7d
MD5 272dc53eb3ec0bf4f9be11d945909b35
BLAKE2b-256 cb53f671c82f4c97aee8d358d421859dc94caaa74cf76d66dc19a455f70160db

See more details on using hashes here.

Provenance

The following attestation bundles were made for spetlr_tools-0.1.73-py3-none-any.whl:

Publisher: release.yml on spetlr-org/spetlr-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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