Skip to main content

Automated Data Engineering specialist for Fabric Spark workloads - intelligent configuration analysis and optimization recommendations

Project description

๐Ÿ”ฅ Sparkwise

Achieve optimal Fabric Spark price-performance with automated insights - simplifies tuning, makes optimization fun

Python Version License: MIT

sparkwise is an automated Data Engineering specialist for Apache Spark on Microsoft Fabric. It provides intelligent diagnostics, configuration recommendations, and comprehensive session profiling to help you achieve the best price-performance for your workloads - all while making Spark tuning simple and enjoyable.

๐ŸŽฏ Why sparkwise?

Spark tuning on Microsoft Fabric doesn't have to be complex or expensive. sparkwise helps you:

  • ๐Ÿ’ฐ Optimize costs - Detect configurations that waste capacity and increase runtime
  • โšก Maximize performance - Enable Fabric-specific optimizations (Native Engine, V-Order, resource profiles)
  • ๐ŸŽ“ Simplify learning - Interactive Q&A for 133 Spark/Delta/Fabric configurations
  • ๐Ÿ” Understand workloads - Comprehensive profiling of sessions, executors, jobs, and resources
  • โฑ๏ธ Save time - Avoid 3-5min cold-starts by detecting Starter Pool blockers
  • ๐Ÿ“Š Make data-driven decisions - Priority-ranked recommendations with impact analysis

โœจ Key Features

๐Ÿ”ฌ Automated Diagnostics

  • Native Execution Engine - Verifies Velox usage, detects fallbacks to row-based processing
  • Spark Compute - Analyzes Starter vs Custom Pool usage, warns about immutable configs
  • Data Skew Detection - Identifies imbalanced task distributions
  • Delta Optimizations - Checks V-Order, Deletion Vectors, Optimize Write, Auto Compaction
  • Runtime Tuning - Validates AQE, partition sizing, scheduler mode

๐Ÿ“Š Comprehensive Profiling

  • Session Profiling - Application metadata, resource allocation, memory breakdown
  • Executor Profiling - Executor status, memory utilization, task distribution
  • Job Profiling - Job/stage/task metrics, bottleneck detection
  • Resource Profiling - Efficiency scoring, utilization analysis, optimization recommendations

๐Ÿš€ Advanced Performance Analysis (NEW!)

  • Real Metrics Collection - Uses actual Spark stage/task data instead of estimates
  • Scalability Prediction - Compare Starter vs Custom Pool with real VCore-hour calculations
  • Stage Timeline - Visualize execution patterns with parallel/sequential analysis
  • Efficiency Analysis - Quantify wasted compute in VCore-hours with actionable recommendations

๐Ÿ” Advanced Skew Detection (NEW!)

  • Task Duration Analysis - Detect stragglers and long-running tasks with variance detection
  • Partition-Level Analysis - Identify data distribution imbalances with statistical metrics
  • Skewed Join Detection - Analyze join patterns and recommend broadcast vs salting strategies
  • Automatic Mitigation - Get code examples for salting, AQE, and broadcast optimizations

๐ŸŽฏ SQL Query Plan Analysis (NEW!)

  • Anti-Pattern Detection - Identify cartesian products, full scans, and excessive shuffles
  • Native Engine Compatibility - Check if queries use Fabric Native Engine (3-8x faster)
  • Z-Order Recommendations - Suggest best columns for Delta optimization based on cardinality
  • Caching Opportunities - Detect repeated table scans that benefit from caching
  • Fabric Best Practices - V-Order, broadcast joins, AQE, and partition recommendations

๐Ÿ’ก Interactive Configuration Assistant

  • 133 documented configurations - Spark, Delta Lake, Fabric-specific, and Runtime 1.2 configs
  • Context-aware guidance - Workload-specific recommendations with impact analysis
  • Resource profile support - Understand writeHeavy, readHeavyForSpark, readHeavyForPBI profiles
  • Search capabilities - Find configs by keyword or partial name

๐Ÿ“ˆ Priority-Based Recommendations

  • Color-coded priorities - Critical (red) โ†’ High (yellow) โ†’ Medium (blue) โ†’ Low (dim)
  • Formatted tables - Clean, readable output with impact explanations
  • Actionable guidance - Specific commands and configuration values

๐Ÿš€ Quick Start

Installation

pip install sparkwise

Or install the wheel file directly in Fabric:

%pip install sparkwise-0.1.0-py3-none-any.whl

Basic Usage

from sparkwise import diagnose, ask

# Run comprehensive analysis on current session
diagnose.analyze()

# Ask about any configuration
ask.config('spark.native.enabled')

# Search for configurations
ask.search('optimize')

Session Profiling

from sparkwise import (profile, profile_executors, profile_jobs, profile_resources,
                       predict_scalability, show_timeline, analyze_efficiency)

# Profile complete session
profile()

# Profile executor metrics
profile_executors()

# Analyze job performance
profile_jobs()

# Check resource efficiency
profile_resources()

# Advanced profiling features
predict_scalability()  # Compare pool configurations
show_timeline()        # Visualize stage execution
analyze_efficiency()   # Quantify compute waste

Advanced Analysis

from sparkwise import detect_skew, analyze_query

# Detect data skew
skew_results = detect_skew()  # Analyze task-level skew

# Analyze specific DataFrame for partition skew
from sparkwise.core.advanced_skew_detector import AdvancedSkewDetector
detector = AdvancedSkewDetector()
detector.analyze_partition_skew(your_df, ["key_column"])

# Detect skewed joins
detector.detect_skewed_joins(large_df, small_df, "join_key")

# Analyze SQL query plans
query_results = analyze_query(your_df)

# Get Z-Order recommendations
from sparkwise.core.query_plan_analyzer import QueryPlanAnalyzer
analyzer = QueryPlanAnalyzer()
zorder_cols = analyzer.suggest_zorder_columns(delta_df, ["filtered_col"])

# Detect caching opportunities
analyzer.detect_repeated_subqueries(your_df)

๐Ÿ“Š Sample Output

Diagnostic Analysis

๐Ÿ”ฅ sparkwise Analysis ๐Ÿ”ฅ

๐Ÿ”Ž Native Execution Engine
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โš ๏ธ Warning: Native keywords not found in physical plan
   ๐Ÿ’ก Check for unsupported operators or complex UDFs

โšก Spark Compute
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โœ… Your job uses 1 executors - fits in Starter Pool
   ๐Ÿ’ก Ensure 'Starter Pool' is selected in workspace settings

๐Ÿ’พ Storage & Delta Optimizations
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ„น๏ธ V-Order is DISABLED (optimal for write-heavy workloads)
   Benefit: 2x faster writes vs V-Order enabled
   ๐Ÿ’ก Enable only for read-heavy workloads (Power BI/analytics)
      Trade-off: 3-10x faster reads, but 15-20% slower writes

โ„น๏ธ Optimize Write is DISABLED (optimal for writeHeavy profile - default)
   Benefit: Maximum write throughput for ETL and data ingestion
   ๐Ÿ’ก Enable only for read-heavy or streaming workloads
      - readHeavyForSpark: spark.fabric.resourceProfile=readHeavyForSpark
      - readHeavyForPBI: spark.fabric.resourceProfile=readHeavyForPBI

โš™๏ธ Runtime Tuning
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ›” CRITICAL: Adaptive Query Execution (AQE) is DISABLED
   ๐Ÿ’ก Enable immediately: spark.sql.adaptive.enabled=true
      Benefits: Dynamic coalescing, skew joins, better parallelism

๐Ÿ“‹ Summary of Findings
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Category            โ”‚ Status โ”‚ Critical Issues โ”‚ Recommendations โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Native Execution    โ”‚ โš ๏ธ     โ”‚ 1               โ”‚ 1               โ”‚
โ”‚ Spark Compute       โ”‚ โœ…     โ”‚ 0               โ”‚ 1               โ”‚
โ”‚ Data Skew           โ”‚ โœ…     โ”‚ 0               โ”‚ 0               โ”‚
โ”‚ Delta               โ”‚ โœ…     โ”‚ 0               โ”‚ 3               โ”‚
โ”‚ Runtime             โ”‚ โš ๏ธ     โ”‚ 1               โ”‚ 2               โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ”ง Configuration Recommendations
Total recommendations: 7

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Priority โ”‚ Configuration                   โ”‚ Action         โ”‚ Impact       โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ CRITICAL โ”‚ spark.sql.adaptive.enabled      โ”‚ Set to 'true'  โ”‚ Enable       โ”‚
โ”‚          โ”‚                                 โ”‚                โ”‚ dynamic      โ”‚
โ”‚          โ”‚                                 โ”‚                โ”‚ partition    โ”‚
โ”‚          โ”‚                                 โ”‚                โ”‚ coalescing   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ MEDIUM   โ”‚ spark.sql.parquet.vorder.enabledโ”‚ Enable for     โ”‚ 3-10x faster โ”‚
โ”‚          โ”‚                                 โ”‚ read-heavy     โ”‚ reads for    โ”‚
โ”‚          โ”‚                                 โ”‚ workloads only โ”‚ Power BI     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โœจ Analysis complete!

Interactive Q&A

ask.config('spark.fabric.resourceProfile')

Output:

๐Ÿ“š spark.fabric.resourceProfile

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

Default: writeHeavy
Scope: session

What it does:
FABRIC CRITICAL: Selects predefined Spark resource profiles optimized 
for specific workload patterns. Simplifies configuration tuning.

Recommendations for your workload:
  โ€ข etl_ingestion: writeHeavy - optimized for ETL and data ingestion
  โ€ข analytics_spark: readHeavyForSpark - optimized for analytical queries
  โ€ข power_bi: readHeavyForPBI - optimized for Power BI Direct Lake
  โ€ข custom_needs: custom - user-defined configuration

Fabric-specific notes:
Microsoft Fabric resource profiles provide workload-optimized settings:

**writeHeavy (DEFAULT):**
- V-Order: DISABLED for faster writes
- Optimize Write: NULL/DISABLED for maximum throughput
- Use Case: ETL pipelines, data ingestion, batch transformations

**readHeavyForSpark:**
- Optimize Write: ENABLED with 128MB bins
- Use Case: Interactive Spark queries, analytical workloads

**readHeavyForPBI:**
- V-Order: ENABLED for Power BI optimization
- Optimize Write: ENABLED with 1GB bins
- Use Case: Power BI dashboards, Direct Lake scenarios

Related configurations:
  โ€ข spark.sql.parquet.vorder.enabled
  โ€ข spark.databricks.delta.optimizeWrite.enabled
  โ€ข spark.microsoft.delta.optimizeWrite.enabled

Examples:
  spark.conf.set('spark.fabric.resourceProfile', 'readHeavyForSpark')
  spark.conf.set('spark.fabric.resourceProfile', 'writeHeavy')

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

๐Ÿ“ฆ What's Included

Core Modules

  • diagnose - Main diagnostic engine with 5 check categories
  • ask - Interactive configuration Q&A system
  • profile - Session profiling
  • profile_executors - Executor-level metrics
  • profile_jobs - Job/stage/task analysis
  • profile_resources - Resource efficiency scoring

Knowledge Base (133 Configurations)

  • 33 Spark configs - Core settings for shuffle, memory, AQE, serialization
  • 45 Delta configs - Delta Lake optimizations, V-Order, Deletion Vectors
  • 10 Fabric configs - Native Engine, resource profiles, OneLake storage
  • 45 Runtime 1.2 configs - Latest Fabric Runtime 1.2 features

Latest Features

  • โœ… Fabric resource profiles (writeHeavy, readHeavyForSpark, readHeavyForPBI)
  • โœ… Advanced Delta optimizations (Fast Optimize, Adaptive File Size, File Level Target)
  • โœ… Driver Mode Snapshot for faster metadata operations
  • โœ… Comprehensive session profiling tools
  • โœ… Priority-based recommendation tables
  • โœ… Color-coded terminal output with Rich library

๐ŸŽฏ Use Cases

Data Engineers

  • Optimize ETL pipelines - Detect bottlenecks, tune parallelism, reduce costs
  • Validate configurations - Ensure proper resource profiles and pool usage
  • Debug job failures - Understand errors with plain English explanations

Data Scientists

  • Improve notebook performance - Enable Native Engine, optimize memory usage
  • Understand Spark behavior - Learn configurations through interactive Q&A
  • Profile experiments - Track resource usage and efficiency

Platform Admins

  • Standardize best practices - Share optimal configurations across teams
  • Monitor capacity usage - Identify jobs forcing Custom Pool usage
  • Cost optimization - Detect over-provisioned or misconfigured workloads

๐Ÿ“š CLI Usage

# Run diagnostics
sparkwise analyze

# Profile session
sparkwise profile session

# Profile executors
sparkwise profile executors

# Profile jobs
sparkwise profile jobs --max-jobs 5

# Profile resources
sparkwise profile resources

# Analyze bottlenecks
sparkwise profile bottlenecks

# Ask about configuration
sparkwise ask spark.sql.shuffle.partitions

# Search configurations
sparkwise search "adaptive"

๐Ÿ—๏ธ Architecture

sparkwise/
โ”œโ”€โ”€ core/
โ”‚   โ”œโ”€โ”€ advisor.py          # Main diagnostic orchestrator
โ”‚   โ”œโ”€โ”€ native_check.py     # Velox/Native execution verification
โ”‚   โ”œโ”€โ”€ pool_check.py       # Starter vs Custom Pool analysis
โ”‚   โ”œโ”€โ”€ skew_check.py       # Data skew detection
โ”‚   โ”œโ”€โ”€ delta_check.py      # Delta Lake optimizations
โ”‚   โ””โ”€โ”€ runtime_check.py    # Runtime configuration tuning
โ”œโ”€โ”€ profiling/
โ”‚   โ”œโ”€โ”€ session_profiler.py    # Complete session analysis
โ”‚   โ”œโ”€โ”€ executor_profiler.py   # Executor metrics
โ”‚   โ”œโ”€โ”€ job_profiler.py        # Job/stage/task profiling
โ”‚   โ””โ”€โ”€ resource_profiler.py   # Resource efficiency analysis
โ”œโ”€โ”€ knowledge_base/
โ”‚   โ”œโ”€โ”€ spark_configs.yaml     # Core Spark configurations
โ”‚   โ”œโ”€โ”€ delta_configs.yaml     # Delta Lake configurations
โ”‚   โ”œโ”€โ”€ fabric_configs.yaml    # Fabric-specific configs
โ”‚   โ””โ”€โ”€ fabric_runtime_1.2_configs.yaml  # Runtime 1.2 features
โ”œโ”€โ”€ cli.py                     # Command-line interface
โ””โ”€โ”€ config_qa.py              # Interactive Q&A assistant

๐ŸŽ“ Examples

Check out the examples directory:

๐Ÿงช Running Tests

# Install test dependencies
pip install pytest pytest-cov

# Run all tests
pytest

# Run with coverage
pytest --cov=sparkwise --cov-report=html

# Run specific test file
pytest tests/test_advisor.py

๐Ÿค Contributing

Contributions are welcome! Please read our Contributing Guide for details.

Development Setup

# Clone the repository
git clone https://github.com/santhoshravindran7/sparkwise.git
cd sparkwise

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

Built with โค๏ธ for the Microsoft Fabric Data Engineering and Data Science community.

๐Ÿ“ฌ Contact & Support

๐ŸŽ‰ What's New in v0.1.0

  • โœจ Complete profiling suite (session, executor, job, resource profilers)
  • ๐ŸŽจ Rich terminal output with color-coded priorities
  • ๐Ÿ“Š Priority-based recommendation tables
  • ๐Ÿ”ง Fabric resource profile support (writeHeavy, readHeavy profiles)
  • โšก 4 new advanced Delta optimizations
  • ๐Ÿ“š 133 documented configurations (up from 100)
  • ๐ŸŽฏ Context-aware Optimize Write recommendations
  • ๐Ÿš€ CLI support for all profiling operations

Make Spark tuning fun again! ๐Ÿš€โœจ

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

sparkwise-1.3.3.tar.gz (90.0 kB view details)

Uploaded Source

Built Distribution

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

sparkwise-1.3.3-py3-none-any.whl (98.2 kB view details)

Uploaded Python 3

File details

Details for the file sparkwise-1.3.3.tar.gz.

File metadata

  • Download URL: sparkwise-1.3.3.tar.gz
  • Upload date:
  • Size: 90.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for sparkwise-1.3.3.tar.gz
Algorithm Hash digest
SHA256 3a94b4408f4dafcb511bd0bf419625779a88283eb3ea2705a7fc2ac065d0cd5f
MD5 1e7bc793673fca8d15d9ce585e5a8e87
BLAKE2b-256 45ed3792f9697e55d9567254c274c4fedea9f92f6cd9c63448368177761e57f5

See more details on using hashes here.

File details

Details for the file sparkwise-1.3.3-py3-none-any.whl.

File metadata

  • Download URL: sparkwise-1.3.3-py3-none-any.whl
  • Upload date:
  • Size: 98.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for sparkwise-1.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7fe253d8899c5c1164a7aeb8e651ddc0c3e99510d892b4815949d3cf866672b8
MD5 8c0f46701642122c1b90785233572fa5
BLAKE2b-256 694b95ff62ea4cce9ba0c1e14d907144ffb76d90fcfc3cb5c88b41222f1ca3e7

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