Registry / data / quinn
library0.10.3pypypi✓ verified 24d ago

Quinn is a Python library providing helper methods for PySpark to enhance developer productivity. It offers DataFrame validation functions, useful column functions/DataFrame transformations, and performant helper functions. The library is currently at version 0.10.3 and maintains an active release cadence.

pip install quinn
INSTALL
IMPORT
SIG · QUINN
Q
quinn
datapythonv0.10.3
Install
1.6s avg
Import
Disk
16MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.10.3 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 18MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 1.6s · import 0.000s · 18MB
16MB installed
● package 16MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

quinn
import quinn
import quinn

This quickstart demonstrates how to initialize a SparkSession, create a DataFrame using `quinn`'s extended `create_df` method, apply a common DataFrame transformation like `snake_case_columns`, and utilize a Column extension such as `isTruthy`.

from pyspark.sql import SparkSession from pyspark.sql.types import StructType, StructField, StringType, IntegerType import quinn from quinn.extensions import * # Initialize SparkSession spark = SparkSession.builder \ .appName("QuinnQuickstart") \ .master("local[*]") \ .getOrCreate() # NOTE: `spark.create_df` and Column methods like `isTruthy()` are automatically # available after `from quinn.extensions import *` # Create a DataFrame using quinn's extended create_df method data = [ ("Alice", 1, "USA"), ("Bob", 2, "Canada"), ("Charlie", 3, "Mexico") ] schema_def = [ ("firstName", "string", True), ("id", "integer", True), ("country", "string", True) ] df = spark.create_df(data, schema_def) print("Original DataFrame Schema:") df.printSchema() print("Original DataFrame Data:") df.show() # Apply a quinn DataFrame transformation: snake_case_columns snake_cased_df = quinn.snake_case_columns(df) print("\nDataFrame with snake_cased columns:") snake_cased_df.printSchema() snake_cased_df.show() # Demonstrate a Column extension (e.g., isTruthy from quinn.extensions) from pyspark.sql import functions as F extended_df = df.withColumn("is_id_truthy", F.col("id").isTruthy()) print("\nDataFrame with 'is_id_truthy' column (using quinn extension):") extended_df.show() # Stop SparkSession spark.stop()
Debug
Known issues
breakingVersion 0.2.0 introduced significant breaking changes to the directory structure and import interfaces for PySpark extensions and functions.
fix
Users migrating from versions prior to 0.2.0 will need to update their import statements and potentially function calls to align with the new module structure. Refer to the GitHub releases for details.
affects: <0.2.0
deprecatedThe `print_athena_create_table` functionality has been deprecated.
fix
Avoid using `print_athena_create_table`. Check the latest documentation for alternative methods to generate Athena table DDL or construct it manually.
affects: 0.10.3+
gotchaUsing wildcard imports (`from quinn import *` for the main `quinn` module, or even `from quinn.extensions import *` if only specific functions are needed) can make it difficult to trace where functions originate, potentially leading to name collisions.
fix
For the main `quinn` library, prefer `import quinn` and then call functions as `quinn.function_name()`. For extensions, `from quinn.extensions import *` is often intended for the automatic patching, but be aware of the namespace pollution. If only specific extension functions are needed and not the automatic patching, consider importing them directly, though this might miss the intended auto-patching behavior.
affects: All versions
gotchaPySpark operations (including those using `quinn`) are lazily evaluated. Transformations build a logical plan and are only executed when an action (e.g., `show()`, `collect()`, `write()`) is called. This can be a common pitfall for Python developers used to immediate execution.
fix
Always remember that your DataFrame transformations won't run until an action is triggered. Use actions strategically for debugging (e.g., `df.show()`) and ensure your job design accounts for this lazy execution model.
affects: All versions
Upgrade
Version history
0.10.3latest on PyPI · released Feb 13, 2024
Audit
Dependencies
pysparkrequiredQuinn is a utility library built on top of Apache PySpark and requires it for all functionality.
Agent activity
5 hits · last 30 days
node
4
Resources
quinn — pip install quinn · libregistry