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.72.tar.gz (34.1 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.72-py3-none-any.whl (47.2 kB view details)

Uploaded Python 3

File details

Details for the file spetlr-tools-0.1.72.tar.gz.

File metadata

  • Download URL: spetlr-tools-0.1.72.tar.gz
  • Upload date:
  • Size: 34.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for spetlr-tools-0.1.72.tar.gz
Algorithm Hash digest
SHA256 134f93e6e191354e1b09d7c3f61e4eeb5a2aea7f41ef52f9ec9f8439cc873114
MD5 260ce81ed9a890c365008effec9600bc
BLAKE2b-256 6a2399009569129541fb874ea2381d8fb65fca39ac375221a7ea20a6b6de97a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for spetlr-tools-0.1.72.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.72-py3-none-any.whl.

File metadata

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

File hashes

Hashes for spetlr_tools-0.1.72-py3-none-any.whl
Algorithm Hash digest
SHA256 a29e682689b69eef28835743d0d0262e338046865a066d74bf6f684342547744
MD5 aee4de85181a1bd73928763aa6b50f68
BLAKE2b-256 07931d29a81e291a396e328d229469d242613e85a9b3800645639779fec32074

See more details on using hashes here.

Provenance

The following attestation bundles were made for spetlr_tools-0.1.72-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