Skip to main content

Data Analysis Framework

Version 2.0.0 - Part of the unified analysis framework suite

📈 Purpose

Specialized framework for analyzing structured data (spreadsheets, databases, configuration files) with AI-powered pattern detection and safe agent query capabilities.

Important: This framework focuses on structured data access via natural language queries, not document chunking. For document processing, see the complementary frameworks below.

📦 Supported Formats

Spreadsheets & Tables

  • Excel: XLSX, XLS with multiple sheets
  • CSV/TSV: Delimiter detection and parsing
  • Apache Parquet: Columnar data analysis
  • JSON: Nested and flat structure analysis
  • JSONL: Line-delimited JSON streams

Configuration Data

  • YAML: Configuration files and data serialization
  • TOML: Configuration file analysis
  • INI: Legacy configuration parsing
  • Environment Files: .env variable analysis

Database Exports

  • SQL Dumps: Schema and data analysis
  • SQLite: Database file inspection
  • Database Connection: Live data analysis

🤖 AI Integration Features

  • Schema Detection: Automatic column type inference
  • Pattern Analysis: Anomaly and trend detection
  • Data Quality Assessment: Missing values, duplicates, outliers
  • Relationship Discovery: Cross-table dependencies
  • Business Logic Extraction: Rules and constraints
  • Predictive Insights: Forecasting and recommendations

🚀 Quick Start

from data_analysis_framework import DataAnalyzer

analyzer = DataAnalyzer()
result = analyzer.analyze("sales_data.xlsx")

print(f"Data Type: {result.document_type.type_name}")
print(f"Schema: {result.analysis.schema_info}")
print(f"Quality Score: {result.analysis.quality_metrics['overall_score']}")
print(f"AI Insights: {result.analysis.ai_insights}")

🔄 Unified Interface Support

This framework now supports the unified interface standard, providing consistent access patterns across all analysis frameworks:

import data_analysis_framework as daf

# Use the unified interface
result = daf.analyze_unified("sales_data.csv")

# All access patterns work consistently
doc_type = result['document_type']        # Dict access ✓
doc_type = result.document_type           # Attribute access ✓
doc_type = result.get('document_type')    # get() method ✓
as_dict = result.to_dict()                # Full dict conversion ✓

# Works the same across all frameworks
print(f"Framework: {result.framework}")   # 'data-analysis-framework'
print(f"Type: {result.document_type}")    # 'CSV Data'
print(f"Confidence: {result.confidence}")  # Quality-based confidence
print(f"AI opportunities: {result.ai_opportunities}")

The unified interface ensures compatibility when switching between frameworks or using multiple frameworks together.

🏗️ Status

🚧 Active Development - Core functionality implemented, v2.0.0 adopts unified framework interfaces

🌐 Framework Suite

This framework is part of a unified suite of analysis frameworks, each optimized for different data types:

Document Processing Frameworks (Chunking-Based)

These frameworks chunk documents for RAG/LLM consumption:

Data Access Framework (Query-Based)

This framework provides safe AI agent access to structured data:

Shared Foundation

Key Differences

Framework Type Use Case AI Integration Output
Document Frameworks "Chunk this manual for search" RAG, semantic search Text chunks for embeddings
Data Framework "Show customers with revenue > $10M" Natural language queries Query results and insights

When to Use What

  • Processing documents? Use xml/docling/document frameworks to chunk content for vector search
  • Querying databases/spreadsheets? Use data-analysis-framework for safe AI agent access
  • Both? Combine them! Document frameworks for knowledge + data framework for operational queries

See CHUNKING_DECISION.md for detailed explanation of this framework's query-based approach.

📝 What's New in v2.0.0

  • ✅ Adopted analysis-framework-base for unified interfaces
  • ✅ Inherits from BaseAnalyzer for consistent API across frameworks
  • ✅ Implements UnifiedAnalysisResult for standard result format
  • ✅ Added get_supported_formats() method for format discovery
  • ✅ 100% backward compatible - all existing code works unchanged
  • ℹ️ Does not implement BaseChunker - uses query-based paradigm instead (see CHUNKING_DECISION.md)

Metadata

Release files for data-analysis-framework 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for data-analysis-framework 2.0.0
File Size Uploaded Provenance Actions
data_analysis_framework-2.0.0.tar.gz 61.5 kB Without provenance Details for data_analysis_framework-2.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for data-analysis-framework 2.0.0
File Interpreter ABI Platform Actions
data_analysis_framework-2.0.0-py3-none-any.whl Python 3 none any Details for data_analysis_framework-2.0.0-py3-none-any.whl

Total release size: 91.7 kB

Release files / data_analysis_framework-2.0.0.tar.gz

Download URL data_analysis_framework-2.0.0.tar.gz
Size 61.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b8ef82720cd0b97b04cc25d3a2ca3c737b666cd6b959fa0762ce8d072683650c
BLAKE2b-256 checksum
How to use checksums
dd11dfab70145ba8b37b6627aa6bf32143f5f3b4e7c0314100d93cdf319b07e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.12

Release files / data_analysis_framework-2.0.0-py3-none-any.whl

Download URL data_analysis_framework-2.0.0-py3-none-any.whl
Size 30.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
55271a7b3793ee014343dd97eeb40a5c2a4314cfcd628bc17cc4518611f79811
BLAKE2b-256 checksum
How to use checksums
7e7fbe34693e942cc8d864d5a7510625e6757d0208a4614056eaa33fd4ed4d8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.12

Security for data-analysis-framework 2.0.0

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page