This release is a pre-release and may not be stable for production use.
PySpark - Fine-grained data provenance - PySpark part
Table of Content (ToC)
Created by gh-md-toc
Overview
Python package in this monorepo for enabling Spark data provenance features in PySpark jobs.
This project is managed with uv.
Quick Start
From the repository root:
cd pyspark-wringlet
make init-uv-python
make init
make check
make test
make run
Project Layout
pyspark-wringlet/
src/wringlet/
tests/
main.py
pyproject.toml
Makefile
Common commands
make init- Create/refresh lock file and sync dependenciesmake update- Upgrade dependencies and sync environmentmake check- Run lint and type checksmake test- Run unit testsmake build- Build package wheelmake publish- Publish package (PyPI)
Development life-cycle
- In order to switch (bump) to a newer
version of the Python package,
the following are the main options, ordered by the general probability of
occurrence in the development life-cycle, from the highest to the lowest)
- Increment the dev version (e.g., from
2.4.3.dev5to2.4.3.dev6or from2.4.3to2.4.4.dev0):make increment-dev-version - Bump to minor version (e.g., from
2.4.3.dev5to2.4.3):make bump-to-minor-version - Bump to patch version (e.g., from
2.4.3.dev5to2.4.4):make bump-to-patch-version - Bump to major version (e.g., from
2.4.3.dev5to3.0.0):make bump-to-major-version
- Increment the dev version (e.g., from
- Then, the version bump has to be cascaded to related files (typically,
pyproject.toml)
PyPI package
-
Optionally, the Python wheel may be published manually onto Pypi.org
- The
UV_PUBLISH_TOKENenvironment variable then needs to be specified (see the uv documentation for further details)
- The
make publish
-
However, the easiest way to publish the Python wheel is through the CI/CD pipeline, that is, the GitHub Actions Python publishing pipeline.
- That CI/CD pipeline is automatically triggered when creating a release on the Git repository
- It may also be triggered manually by contributors of the Git repository
-
Check the versions of the Python wheel on Pypi.org
-
Install the Python wheel locally, in the main/global Python environment (as
spark-submitdoes not seem to work properly with uv):
make install-local
- For information, that actually install the Python wheel with pip:
python -mpip install -U pyspark-data-provenance
- Run the PySpark job locally, in the main/global Python environment
(as
spark-submitdoes not seem to work properly with uv):
make run-local
CI/CD
Repository-level workflows are provided for:
- CI: lint, type-check, and tests on pushes/PRs affecting this package
- Publish: build and publish on release
Metadata
Release files for wringlet 0.0.3.dev6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wringlet-0.0.3.dev6-py3-none-any.whl | Python 3 | none | any | Details |
Release files / wringlet-0.0.3.dev6-py3-none-any.whl
| Download URL | wringlet-0.0.3.dev6-py3-none-any.whl |
|---|---|
| Size | 6.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f8a8d89f712b506370e86fbfb4a36a265beaa878fafc320d05e67c1924de067d
|
|
BLAKE2b-256 checksum How to use checksums |
d726371e6147fac88c1f666191d6b7cad0ca3cccfde7d0c98c5822153d49728e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.15
|
Security for wringlet 0.0.3.dev6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.