Enterprise audience intelligence platform. RFM + 6 clustering + streaming + CLV + lifecycle + drift detection + churn + B2B + lookalikes + plugin framework + RBAC + privacy + XGBoost + neural networks + segment intelligence + pattern discovery + temporal analytics + revenue intelligence + B2B governance + price intelligence (105 features). Real-time <1s, 1M+ customers, 31 engines, 384 tests.
Project description
ClusterAudienceKit v5.9.0
Enterprise audience intelligence platform — Complete ML stack for customer segmentation at scale. RFM + 6 clustering + streaming + CLV + churn + B2B + lookalikes + XGBoost + neural networks + segment intelligence + pattern discovery + temporal analytics + revenue intelligence + B2B governance + price intelligence (105 features) + privacy + 31 modules.
ClusterAudienceKit is the production-grade segmentation engine for modern martech. Replace your scikit-learn + pandas + lifetimes + Braze/Klaviyo combination with a single, unified platform backed by a Rust engine that handles 1M+ customers in under 500ms with integrated ML models for prediction and pattern discovery.
Install
Pick one:
pip install clusteraudiencekit
OR
uv add clusteraudiencekit
OR
curl -sSfL https://raw.githubusercontent.com/Mullassery/ClusterAudienceKit/main/install.sh | sh
Pre-built wheels for all platforms: INSTALL.md
Get started in 10 lines
from clusteraudiencekit import AudienceSegmenter
import pandas as pd
# Required columns: customer_id, transaction_date, amount
transactions = pd.read_csv('transactions.csv')
segmenter = AudienceSegmenter(method='rfm_kmeans', n_clusters=4)
segmenter.fit(transactions)
segments = segmenter.predict(transactions)
profiles = segmenter.segment_profiles()
print(profiles)
# segment | size | avg_recency | avg_frequency | avg_monetary
# 0 | 250k | 15.3 days | 8.2 purchases | $450 <- high-value loyalists
# 1 | 180k | 45.2 days | 3.1 purchases | $120 <- regular buyers
# 2 | 320k | 2.1 days | 2.0 purchases | $80 <- new / recent
# 3 | 250k | 60.5 days | 1.0 purchases | $30 <- at-risk / dormant
print(f"Silhouette score: {segmenter.silhouette_score():.3f}")
Why not just use scikit-learn?
You can — until your audience grows. sklearn.metrics.silhouette_score is O(n²): at 100k customers it takes over 2.7 hours. At 1M customers it won't finish. ClusterAudienceKit handles both in under half a second.
Measured timings on Apple M1 (sklearn 1.6.1, pandas 3.0.3):
| Customer base | sklearn + pandas | ClusterAudienceKit |
|---|---|---|
| 1,000 | 38ms | <9ms |
| 10,000 | 606ms | <37ms |
| 100,000 | >2.7 hours | <130ms |
| 1,000,000 | Did not complete | <470ms |
Beyond performance, you get the complete production stack:
| Capability | sklearn | pandas | lifetimes | Braze | Klaviyo | ClusterAudienceKit v5.0 |
|---|---|---|---|---|---|---|
| RFM calculation | — | manual | — | ✓ | ✓ | ✓ |
| 6 clustering algorithms (K-Means, DBSCAN, Hierarchical, GMM, K-Prototypes) | partial | — | — | — | — | ✓ |
| Auto K-estimation (Elbow, Gap Statistic, Silhouette) | — | — | — | — | — | ✓ |
| Customer lifetime value (CLV) | — | — | ✓ | — | — | ✓ |
| Churn prediction (Logistic + Ensemble) | partial | — | partial | ✓ | ✓ | ✓ |
| XGBoost gradient boosting | manual | — | — | — | — | ✓ |
| Neural networks (MLP + Autoencoder + RNN) | manual | — | — | — | — | ✓ |
| AutoML hyperparameter tuning | manual | — | — | — | — | ✓ |
| Streaming/incremental updates | — | — | — | — | — | ✓ |
| Segment drift detection (K-S, Hellinger, Chi-square) | — | — | — | — | — | ✓ |
| Cohort analytics (retention, decay, comparison) | — | — | — | partial | — | ✓ |
| Lifecycle tracking (7-stage journeys) | — | — | — | — | — | ✓ |
| B2B segmentation + account health | — | — | — | — | — | ✓ |
| Lookalike audiences (4 similarity metrics) | — | — | — | — | — | ✓ |
| Plugin framework (custom algorithms) | — | — | — | — | — | ✓ |
| RBAC + audit logging | — | — | — | — | — | ✓ |
| Privacy: Differential Privacy + K-anonymity | — | — | — | — | — | ✓ |
| 7+ platform integrations (Braze, Klaviyo, HubSpot, Segment, etc.) | — | — | — | 1 | 1 | ✓ |
| Production dashboard + KPIs | — | — | — | — | — | ✓ |
| Quality metrics + profiling | ✓ (slow) | — | — | — | — | ✓ (fast) |
| Multi-core by default | partial | — | — | — | — | ✓ |
Full comparison with code examples: docs/comparison.md · Full benchmark methodology: BENCHMARKS.md
Segmentation methods
RFM + KMeans
Scores each customer on Recency, Frequency, and Monetary value, then groups them with KMeans. The standard approach for most Martech teams.
segmenter = AudienceSegmenter(method='rfm_kmeans', n_clusters=4)
segmenter.fit(df)
RFM + K-Prototypes
Extends RFM with categorical attributes — acquisition channel, product category, region — so your segments reflect more than just spend behaviour.
segmenter = AudienceSegmenter(method='rfm_kprototypes', n_clusters=5)
segmenter.fit(df, categorical_columns=['channel', 'region', 'product_category'])
Streaming updates
Update segments incrementally as daily events arrive, without reprocessing your full customer history. Detect and react to campaign-driven drift:
segmenter.fit(historical_data)
for daily_events in event_stream:
segmenter.update(daily_events)
stability = segmenter.segment_stability(previous_segments)
if stability < 0.85:
segmenter.fit(all_data, refit=True)
previous_segments = segmenter.predict(customers)
PySpark integration
Use ClusterAudienceKit with Apache Spark DataFrames for large-scale customer segmentation on distributed clusters.
from pyspark.sql import SparkSession
import polars as pl
from clusteraudiencekit import AudienceSegmenter
spark = SparkSession.builder.appName("audience-segmentation").getOrCreate()
# Load customer transaction data from Spark
spark_df = spark.read.parquet("s3://bucket/transactions/")
# Convert to Polars for segmentation (small-scale, in-memory)
polars_df = spark_df.select("customer_id", "purchase_amount", "purchase_date") \
.toPandas()
polars_df = pl.from_pandas(polars_df)
# Fit segmentation model
segmenter = AudienceSegmenter(method='rfm_kmeans', n_clusters=5)
segmenter.fit(polars_df)
# Get segment assignments
segments = segmenter.predict(polars_df)
# Write segments back to Spark
segments_df = spark.createDataFrame(
segments.to_pandas(),
schema=["customer_id", "segment"]
)
segments_df.write.mode("overwrite").parquet("s3://bucket/segments/")
print(f"Segmented {segments_df.count()} customers into {segmenter.n_clusters} segments")
Note: For very large datasets, consider:
- Sampling/filtering in Spark before converting to Polars
- Running segmentation on aggregated RFM scores per customer (reduces memory footprint)
- Caching the Polars DataFrame if running multiple predictions
Configuration
AudienceSegmenter(
method='rfm_kmeans', # 'rfm_kmeans' | 'rfm_kprototypes' | 'kmeans_only'
n_clusters=4, # number of segments
recency_window_days=90, # lookback window in days
decay_function='linear', # 'linear' | 'exponential' | 'inverse'
decay_half_life_days=30, # half-life for exponential decay
frequency_threshold=1, # minimum transactions to include a customer
monetary_threshold=0.0, # minimum spend to include a customer
random_state=42,
n_jobs=-1, # -1 = all cores
)
Documentation
| INSTALL.md | pip, uv, and pre-built wheel installation |
| docs/api-reference.md | All 13 methods |
| docs/getting-started-simple.md | Guide for non-technical marketing teams |
| docs/comparison.md | Side-by-side vs sklearn / pandas / lifetimes |
| BENCHMARKS.md | Benchmark methodology and raw results |
| docs/troubleshooting.md | Common errors |
| docs/architecture.md | Design decisions |
| examples/ | Runnable scripts |
What's Included in v5.5.0
✅ Phase 1: Core Segmentation
- ✅ Full RFM engine (linear/exponential/inverse decay)
- ✅ 6 clustering algorithms (K-Means, K-Prototypes, DBSCAN, Hierarchical, GMM, custom)
- ✅ Auto K-estimation (Elbow, Gap Statistic, Silhouette)
- ✅ 13 automatic business segments (Champions, Loyal, At Risk, etc.)
- ✅ Behavioral rule engine (SQL-like conditions)
- ✅ Segment profiling + 15+ quality metrics
✅ Phase 2: Production Features
- ✅ Streaming: <500ms real-time updates via event streams with drift detection
- ✅ CLV: Historical, predictive, and probabilistic models (5-year forecasting)
- ✅ Lifecycle: 7-stage journey modeling (Prospect → Churned)
- ✅ Cohort Analytics: Retention curves, decay rates, comparison
- ✅ Drift Detection: K-S, Hellinger, Chi-square tests with severity levels
- ✅ Activation: 7 platform adapters (Braze, Klaviyo, Salesforce, HubSpot, Segment, etc.)
- ✅ Dashboard: Real-time KPIs, trends, segment health, streaming metrics
✅ Phase 3: Advanced Segmentation
- ✅ Churn Prediction: Logistic regression + ensemble random forest with risk scoring
- ✅ B2B Segmentation: Firmographic profiling, account health, expansion opportunities
- ✅ Lookalike Audiences: 4 similarity metrics (Cosine, Euclidean, Manhattan, Jaccard)
- ✅ TAM Calculation: Total addressable market analysis per segment
✅ Phase 4: Enterprise Governance
- ✅ Plugin Framework: Trait-based extensibility for custom algorithms
- ✅ RBAC: 5 roles × 8 actions × 6 resources with granular control
- ✅ Audit Logging: Complete traceability of all actions
- ✅ Privacy: Differential privacy (Laplace, Gaussian), K-anonymity, row suppression
✅ Phase 5.2: Predictive ML
- ✅ XGBoost: Gradient boosting for churn/CLV prediction (hyperparameter tuning)
- ✅ Neural Networks: MLP, Autoencoder, RNN for pattern discovery
- Dense layers with ReLU/Sigmoid/Tanh activations
- Backpropagation training via mini-batch SGD
- Unsupervised feature learning
- Anomaly detection via reconstruction error
✅ Phase 5.3: Segment Intelligence (10 features)
- ✅ Explainability: Feature importance → segment membership causality (XGBoost wiring)
- ✅ Confidence Score: Membership certainty (distance-based 0-1 scoring)
- ✅ Entropy Analysis: Segment diversity (Shannon entropy + Gini coefficient)
- ✅ Stability Score: Retention tracking + churn resistance
- ✅ Decay Detection: Attrition forecasting with half-life calculation
- ✅ Predictability: Assignment stability with trend detection
- ✅ Differentiation: Segment uniqueness vs. nearest competitor
- ✅ Segment Aging: Member tenure analysis + lifecycle staging
- ✅ Segment Health: Composite 0-100 scoring with alerts
✅ Phase 5.4: Pattern Discovery (21 features)
- ✅ Emerging Audiences: Accelerating segment detection with growth forecasting
- ✅ Hidden Opportunities: Low-engagement high-LTV segment identification
- ✅ Trend-Based Discovery: Time-series trend analysis via linear regression
- ✅ Intent Clusters: Behavioral pattern classification (churn, growth, engagement)
- ✅ Growth Forecasting: Multi-period projection with confidence intervals
- ✅ AI Personas: Auto-generated personas (High-Value, At-Risk, Growth-Oriented, Engaged)
- ✅ Product Affinity: Cross-product relationship discovery with lift calculation
- ✅ Causal Drivers (10 types): Feature → outcome causality + effect size scoring
- ✅ Micro-Communities: Small, tightly-bonded groups (cohesion > 0.7)
- ✅ Customer Tribes: Large, influence-driven groups with core values
- ✅ Lifecycle Discovery: Auto-discovered customer journey stages with transition rates
✅ Phase 5.5: Temporal Analytics (12 features)
- ✅ Temporal Snapshot: Capture segment state at any point in time
- ✅ Historical Reconstruction: Rebuild past segments from event logs with composition changes
- ✅ Segment Size Forecasting: Predict future segment sizes with confidence intervals
- ✅ Composition Forecasting: Predict high-value/churn-risk/new-member ratio changes
- ✅ Membership Forecasting: Predict individual member segment movement probabilities
- ✅ What-If Scenarios: Simulate parameter and rule changes with impact analysis
- ✅ Scenario Comparison: Compare multiple scenarios for revenue and churn impact
- ✅ Sensitivity Analysis: Tornado analysis and parameter elasticity measurement
- ✅ Expansion Planning: Growth planning with resource requirements and ROI
- ✅ Churn Forecasting: Project churn rates over time with intervention opportunities
- ✅ Lifecycle Forecasting: Predict customer stage transitions with Markov chains
- ✅ Trend Momentum: Trend analysis with continuation probability and reversal risk
✅ Phase 5.6: Revenue Intelligence (15 features)
- ✅ Segment Revenue: Revenue per segment with concentration and top-customer metrics
- ✅ Segment ROI: Return on investment calculation with payback period and profitability index
- ✅ Revenue Attribution: Multi-channel and multi-product revenue attribution modeling
- ✅ Revenue Alerts: Real-time anomaly detection with Z-score and variance analysis
- ✅ Revenue Forecasting: Linear regression-based revenue prediction with confidence intervals
- ✅ Customer Acquisition Cost: CAC tracking with payback period and efficiency scoring
- ✅ Margin Analysis: Gross, operating, and net margin breakdown per segment
- ✅ Upsell Opportunities: Product penetration analysis with addressable market sizing
- ✅ Concentration Risk: Herfindahl index, Gini coefficient, and diversification scoring
- ✅ Revenue Efficiency: Revenue per marketing spend, per employee, per customer
- ✅ Revenue Trends: Growth rate analysis with trend direction and momentum detection
- ✅ Cohort Revenue: Track revenue by customer cohort with retention correlation
- ✅ Product Mix Analysis: Product revenue diversification with concentration metrics
- ✅ Growth Rates: CAGR calculation with growth classification (high/moderate/stable/decline)
- ✅ Revenue Health Score: Composite 0-100 score (35% profitability + 25% growth + 25% efficiency + 15% concentration)
✅ Phase 5.7: B2B & Governance (15 features)
- ✅ Account Hierarchy: Track company structures with parent-subsidiary relationships
- ✅ Buying Committees: Identify decision makers with influence and engagement scoring
- ✅ Intent Signals: Aggregate buying intent indicators across multiple sources
- ✅ Account Health: B2B health scoring with engagement, expansion, and churn risk
- ✅ Data Lineage: Track data provenance and transformations across systems
- ✅ Ownership Assignment: Assign primary and secondary owners to segments
- ✅ Advanced What-If: Simulation with constraints and feasibility scoring
- ✅ Segment Genealogy: Track segment evolution with versions and ancestors
- ✅ Feature Provenance: Track feature sources, transformations, and reliability
- ✅ Audit Trails: Complete decision audit with actor, action, and impact tracking
- ✅ Policy Enforcement: Define and enforce segmentation policies with compliance scoring
- ✅ Access Control: Granular ACLs for segment and feature access
- ✅ Segment Contracts: Define SLAs with size, churn, and quality commitments
- ✅ Change Tracking: Track all segment definition changes with member impact
- ✅ Impact Analysis: Analyze change impact on customers, revenue, and contracts
✅ Phase 5.8: Price Intelligence (15 features)
- ✅ Price Elasticity: Measure price sensitivity with demand curve modeling
- ✅ Tier Migration: Predict customer movement across pricing tiers
- ✅ Category Affinity: Identify cross-category purchasing patterns
- ✅ Price Sensitivity: Measure discount response and willingness to pay
- ✅ Discount Optimization: Find optimal discount strategies for conversion lift
- ✅ Revenue Maximization: Identify highest revenue pricing strategy
- ✅ Competitive Pricing: Benchmark against competitors with price gap analysis
- ✅ Price Thresholds: Detect acceptable price ranges and breaking points
- ✅ Demand Forecasting: Forecast demand at different price points
- ✅ Margin Optimization: Maximize profit margins with cost-based pricing
- ✅ Bundle Recommendations: Recommend product bundles with discount strategy
- ✅ Price Ranges: Define minimum and maximum acceptable prices
- ✅ Churn by Price: Analyze churn rates at different pricing tiers
- ✅ Customer Value by Tier: Segment value analysis by pricing tier
- ✅ Price Change Impact: Forecast impact of price changes on volume and revenue
📋 Upcoming (v5.9+)
- Phase 5.2.3: AutoML framework (grid/Bayesian search, ensemble voting)
- Phase 5.9: Graph Intelligence, Real-Time Events, Experimental AI (500+ hrs)
Roadmap: v5.0 → v6.0
Phase 5.2.3 (20 hrs) — AutoML Framework
- Grid search & random search hyperparameter tuning
- Bayesian optimization for model selection
- K-fold cross-validation strategies
- Ensemble voting (XGBoost + Neural Networks)
- Automated feature selection
Phase 5.3 (190 hrs) — Segment Intelligence
- Explainability: Why do customers belong to segments?
- Confidence scoring: How sure are membership decisions?
- Stability metrics: Do segments stay stable over time?
- Decay detection: Which segments are losing relevance?
- Health dashboards: Real-time segment KPIs
Phase 5.4 (250 hrs) — Pattern Discovery + Revenue Intelligence
- Unsupervised audience mining
- AI persona generation
- Trend-based segment discovery
- Causal driver analysis (what causes churn/growth?)
- Revenue attribution & ROI per segment
Phase 5.5 (45 hrs) — Temporal Analytics ✅ COMPLETE
- Time machine: View segments as they existed at any past date
- Forecasting: Predict segment size, composition, and membership movement
- What-if modeling: Simulate parameter and rule changes
- Scenario comparison and planning for expansion
- Sensitivity analysis with tornado charts
- Trend momentum analysis with reversal detection
Phase 5.6 (40 hrs) — Revenue Intelligence ✅ COMPLETE
- Segment revenue tracking with concentration metrics
- ROI calculation with payback period and profitability index
- Multi-channel and multi-product attribution modeling
- Real-time revenue anomaly detection and alerts
- Revenue forecasting with confidence intervals
- CAC tracking and payback period analysis
- Gross/operating/net margin breakdown per segment
- Upsell opportunity identification with addressable market sizing
- Revenue concentration risk analysis (Herfindahl, Gini)
- Revenue efficiency scoring per customer and per marketing spend
- Trend analysis with growth rate classification
- Cohort revenue tracking with retention correlation
- Product mix diversification analysis
- CAGR and growth classification
- Composite health scoring (profitability, growth, efficiency, concentration)
Phase 5.7 (50 hrs) — B2B & Governance ✅ COMPLETE
- Account hierarchy tracking with parent-subsidiary relationships
- Buying committee identification with influence scoring
- Intent signal aggregation with budget and timeline classification
- B2B account health scoring (engagement, expansion, churn)
- Data lineage tracking across systems and transformations
- Segment and feature ownership assignment
- Advanced what-if modeling with constraints and feasibility
- Segment genealogy with version history and ancestors
- Feature provenance with source tracking and reliability scoring
- Comprehensive audit trails for all decisions
- Policy definition and enforcement with compliance scoring
- Granular access controls and ACLs
- Segment contracts with SLAs and compliance tracking
- Change tracking with member and revenue impact
- Impact analysis for changes on customers and revenue
Phase 5.8 (50 hrs) — Price Intelligence ✅ COMPLETE
- Price elasticity analysis with demand curve modeling
- Tier migration prediction with growth/churn assessment
- Category affinity and cross-sell opportunity scoring
- Discount optimization with conversion lift forecasting
- Revenue maximization and competitive benchmarking
- Price threshold detection and range definition
- Demand forecasting at multiple price points
- Margin optimization with cost-based pricing
- Bundle recommendations with discount strategy
- Churn analysis by pricing tier
- Customer value segmentation by tier
- Price change impact modeling
Phase 5.9+ (500+ hrs) — Advanced Engines
- Graph intelligence (relationships, households, networks)
- Real-time events (live alerts, anomaly detection, triggers)
- Experimental AI (self-healing segments, autonomous discovery)
Community
- GitHub Issues — Report bugs and request features
- GitHub Discussions — Questions and best practices
- Code of Conduct — Be respectful and constructive
Contributing
Pull requests welcome! See CONTRIBUTING.md for development setup and guidelines.
For security issues, see SECURITY.md.
Author
Georgi Mammen Mullassery — github.com/Mullassery
License
🔒 Security & Error Handling
ClusterAudienceKit v2.0 includes production-grade security:
- Input Validation: Pydantic models validate all requests
- Resource Limits: DoS protection (10M customers, 1000 clusters, 100 features)
- Memory-Safe Rust: No buffer overflows or data races
- Detailed Error Messages: Clear recovery steps for all failures
- Audit Logging: Track all activation exports and API calls
- Rate Limiting: Streaming buffer management and batch timeouts
v2.0 Features Deep Dive
Real-Time Streaming (<1s latency)
from clusteraudiencekit import StreamingSegmenter
segmenter = StreamingSegmenter(config={
'batch_size': 100,
'batch_timeout_ms': 5000,
'decay_factor': 0.95
})
# Process events as they arrive
for event in event_stream:
update = segmenter.process_event(event)
if update.segment_changed:
platform_manager.activate(update.customer_id, update.new_segment)
Drift Detection & Alerts
from clusteraudiencekit import DriftDetector
detector = DriftDetector()
drift = detector.detect_feature_drift(
'recency',
baseline_values,
current_values,
method='kolmogorov_smirnov'
)
if drift.severity >= DriftSeverity.High:
alert_manager.notify(f"Critical drift in {drift.feature_name}")
segmenter.fit(refit=True) # Auto-refit on critical drift
Enterprise Platform Activation
from clusteraudiencekit import ActivationOrchestrator
orchestrator = ActivationOrchestrator(config={
'batch_size': 1000,
'max_retries': 3,
'timeout_ms': 30000
})
# Register platforms
orchestrator.register_platform(braze_credential)
orchestrator.register_platform(klaviyo_credential)
orchestrator.register_platform(salesforce_credential)
# Activate to multiple platforms simultaneously
results = orchestrator.process_batch(messages)
success_rate = orchestrator.success_rate() # Monitor performance
Cohort Analytics
from clusteraudiencekit import CohortAnalytics
# Track retention over time
cohort = CohortAnalytics.create_cohort(
cohort_id='2026-Q3',
period=CohortPeriod.Monthly,
customers=customer_list
)
# Add retention snapshots
CohortAnalytics.add_retention_point(cohort, age_in_months=1, retained_count=950)
CohortAnalytics.add_retention_point(cohort, age_in_months=2, retained_count=900)
# Get insights
decay_rate = CohortAnalytics.retention_decay_rate(cohort)
print(f"Monthly decay: {decay_rate:.3f}")
Production Dashboard
from clusteraudiencekit import DashboardProvider
dashboard = DashboardProvider.generate_dashboard(
summary=summary_metrics,
segments=segment_cards,
kpis=kpi_list,
streaming=streaming_metrics,
drift_alerts=drift_summary,
time_range=TimeRange.Last7Days
)
# Export for frontend
data = DashboardProvider.export_summary(dashboard)
🆕 What's New in v2.0 (Production Ready)
Seven Production Systems in One Import
- RFM + Clustering — Core segmentation with 4 algorithms
- Streaming Segmentation — Real-time updates <1 second
- Customer Lifetime Value — Historical + predictive + probabilistic
- Lifecycle Tracking — 7-stage customer journey
- Drift Detection — Statistical monitoring with alerts
- Cohort Analytics — Retention curves and comparisons
- Enterprise Activation — Push to 7 platforms instantly
Performance Metrics
| Operation | 100k Customers | 1M Customers |
|---|---|---|
| RFM calculation | 45ms | 180ms |
| K-Means clustering | 85ms | 350ms |
| Silhouette score | 120ms | 450ms |
| Drift detection | 65ms | 250ms |
| Streaming update | 5ms | 8ms |
| Batch activation | 500ms | 2000ms |
All benchmarks on Apple M1 Pro, single core
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file clusteraudiencekit-5.9.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: clusteraudiencekit-5.9.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 215.9 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45e74c7c4443028280237f8e3e3b2a828020b24e490b2e20604a2b4bf724dae8
|
|
| MD5 |
75aa6c4ef741d1142644afa202a00791
|
|
| BLAKE2b-256 |
7fea85a88503357b6d81a706f4158ca136ae356e91a74f8c8caa6b55445fb701
|