Skip to main content

KORE Binary Format - High-performance columnar compression with 5-8x compression ratio

Project description

๐Ÿš€ Kore โ€” Killer Optimized Record Exchange

Kore Logo

VS Code Extension Crates.io PyPI License Rust 1.70+

A high-performance, columnar file format for analytics with cloud storage connectors.

Kore is a Rust-based columnar file format designed for efficient storage and analysis of structured data. It provides zero external dependencies in the base library with optional cloud connectors for AWS S3, Azure Blob Storage, and Google Cloud Storage.


๐Ÿš€ Quick Start (5 Minutes)

Step 1: Install

pip install kore-fileformat==1.3.1

Step 2: Import

from kore_fileformat import compress_csv

# Compress a CSV file (that's it!)
original, compressed, ratio = compress_csv("data.csv", "data.kore")
print(f"โœ… Compressed {ratio:.1%}")

Step 3: Use It

from kore_fileformat import get_kore_info

# Get file information
info = get_kore_info("data.kore")
print(f"Records: {info['total_records']:,}")

๐ŸŽจ View .kore Files in VS Code

NEW: Install the official Kore File Viewer extension for VS Code!

Install from VS Code Marketplace

Features:

  • โœ… Auto-detection: Opens .kore files automatically in VS Code
  • โœ… Table display: View data in an organized table format
  • โœ… Light/Dark theme: Automatic theme detection
  • โœ… Database import: Connect to PostgreSQL, MySQL, SQLite, MongoDB, and more
  • โœ… Multi-format export: Export to CSV, JSON, Parquet, Apache Arrow

Install now: https://marketplace.visualstudio.com/items?itemName=arunkatherashala.kore-viewer


๐Ÿ‘€ How to View .kore Files (Other Methods)

Option 1: CLI (No Coding Required!)

# See file metadata in terminal
kore inspect data.kore

# Convert to viewable format (Excel, JSON, etc.)
kore convert data.kore data.csv --format csv
# Now open data.csv in Excel, Notepad, Sheets, etc.

๐Ÿ“Œ Full CLI Guide: docs/CLI_GUIDE.md - All commands, examples, workflows

Option 2: Notepad/Notepad++ (Windows Only)

Direct support - Set up once, then right-click any .kore file for:

  • View Metadata
  • Convert to CSV
  • Convert to JSON

๐Ÿ“Œ Windows Setup Guide: notepad-plugin/SETUP_GUIDE.md - Integration in 1-10 minutes

Option 3: Python (Programmatic)

from kore_fileformat import read_kore, get_kore_info

# View metadata
info = get_kore_info("data.kore")
print(f"Columns: {info['columns']}, Records: {info['total_records']:,}")

# Export to DataFrame (view in notebook)
df = read_kore("data.kore")
print(df.head())

# Export to CSV/JSON
df.to_csv("data.csv")

๐Ÿ“Œ Python API Reference: docs/PYTHON_API.md - Complete functions and workflows


Note: .kore files are binary format (like .zip, .png). Use the tools above to view contents. See notepad-plugin/SETUP_GUIDE.md for Notepad integration details.


๐Ÿ“š Documentation

Getting Started

Document For Whom Time
docs/CLI_GUIDE.md Everyone (no coding!) 10 min
docs/INSTALLATION.md Everyone 5 min
docs/USER_GUIDE.md Python users 15 min
docs/EXAMPLES.md Developers 20 min

Reference

Document Coverage
docs/API_REFERENCE.md Complete API documentation with examples
docs/PYTHON_API.md Python functions, classes, workflows
docs/TROUBLESHOOTING.md FAQ, common issues, solutions
notepad-plugin/SETUP_GUIDE.md Notepad/Notepad++ integration for Windows
WEB_VIEWER_PLAN.md Web viewer architecture & roadmap (v1.3.0)
vscode-kore-viewer/ VS Code extension source code

Advanced Documentation

Guide Purpose
PYTHON_USER_GUIDE.md Cloud integration, advanced features
DOCKER_EMULATORS_GUIDE.md Docker setup, LocalStack, Azurite testing
DOCUMENTATION_INDEX.md Complete documentation index
CI_CD_SECRETS_SETUP.md GitHub Actions, publishing setup

๐Ÿ‘‰ New users: Start with docs/INSTALLATION.md โ†’ docs/USER_GUIDE.md


โœจ Features

Core Library

  • โœ… Zero External Dependencies: Lightweight base crate
  • โœ… Columnar Format: Optimized for analytical queries
  • โœ… Compression: Built-in data compression
  • โœ… Multi-Platform: Windows, macOS, Linux, web

Cloud Connectors

  • โœ… AWS S3: Full implementation in v1.0.0
  • โณ Azure Blob Storage: Full implementation coming in v1.1.0
  • โณ Google Cloud Storage: Full implementation coming in v1.1.0

Language Bindings

  • โœ… Python: PyO3 wheel for Python 3.9-3.12
  • โœ… Java: JNI bindings and Maven package
  • โœ… JavaScript: NAPI module for Node.js
  • โณ Go: Coming in v1.2.0

DevOps & CI/CD

  • โœ… GitHub Actions: 10 automated jobs for testing and publishing
  • โœ… Docker Support: Integration tests with emulators
  • โœ… Multi-Registry Publishing: crates.io, PyPI, Maven Central, npm

๐Ÿ“‹ What's Included in v1.0.0

Component Status Details
Base Library โœ… Production Columnar format, compression, serialization
S3 Connector โœ… Production Read/write to AWS S3 with LocalStack testing
Azure Connector โณ Prepared Stub implementations, full SDK in v1.1.0
GCS Connector โณ Prepared Stub implementations, full SDK in v1.1.0
Python Bindings โœ… Production Wheel installation, PyPI distribution
Java Bindings โœ… Production JNI library, Maven Central distribution
JavaScript Bindings โœ… Production NAPI addon, npm distribution
Integration Tests โœ… Complete 4 comprehensive tests with emulators
Documentation โœ… Complete 8 guides, 2000+ lines, 50+ examples

๐ŸŽฏ Use Cases

Data Analytics

Process large datasets efficiently with columnar storage:

import kore_fileformat
# Store analytics data in columnar format for fast queries

Cloud Data Lakes

Store data directly in S3, Azure, or GCS:

from kore_fileformat import S3Reader
reader = S3Reader(region='us-east-1')
data = reader.read_file('my-bucket', 'path/to/data.kore')

Multi-Language Projects

Use Kore from Python, Java, or JavaScript in the same project:

# Python: import kore_fileformat
# Java: import com.kore.cloud.S3Reader;
# JS: const kore = require('kore-fileformat');

๐Ÿ—๏ธ Architecture

Modular Design

kore_fileformat/
โ”œโ”€โ”€ core/           # Base library (zero dependencies)
โ”œโ”€โ”€ cloud/          # Cloud connectors (optional)
โ”‚   โ”œโ”€โ”€ s3/        # AWS S3 (working)
โ”‚   โ”œโ”€โ”€ azure/     # Azure Blob (v1.1+)
โ”‚   โ””โ”€โ”€ gcs/       # Google Cloud (v1.1+)
โ””โ”€โ”€ bindings/       # Language bindings
    โ”œโ”€โ”€ python/    # PyO3 wheel
    โ”œโ”€โ”€ java/      # JNI library
    โ””โ”€โ”€ napi/      # Node.js addon

Feature Gates

# Base: zero external dependencies
kore_fileformat = "1.0.0"

# With S3
kore_fileformat = { version = "1.0.0", features = ["s3"] }

# With all cloud (v1.1.0+)
kore_fileformat = { version = "1.0.0", features = ["s3", "azure", "gcs"] }

# With Python bindings
# Use: pip install kore-fileformat

๐Ÿ“Š Performance

Kore is designed for analytics workloads:

  • Compression: 5-10x reduction on typical datasets
  • Query Speed: Columnar format enables fast aggregations
  • Storage: 10-50 MB files with millions of rows
  • Cloud: Direct S3/Azure/GCS integration (no intermediate files)

๐Ÿ› ๏ธ Installation

Requirements

  • Rust: 1.70+ (for building from source)
  • Python: 3.9-3.12 (for Python wheel)
  • Java: 17+ (for Java bindings)
  • Node.js: 14+ (for JavaScript bindings)
  • Docker: 20.10+ (for testing with emulators)

From PyPI (Recommended for Python)

pip install kore-fileformat

From crates.io (Rust)

cargo add kore_fileformat --features s3

Build from Source

git clone https://github.com/arunkatherashala/Kore.git
cd Kore
cargo build --release --features s3

๐Ÿงช Testing

Run Unit Tests

cargo test

Run Integration Tests (requires Docker)

# Start emulators (LocalStack, Azurite, GCS)
docker-compose up -d

# Run tests
cargo test --features s3,azure,gcs --test integration_tests -- --nocapture

# Stop emulators
docker-compose down

See DOCKER_EMULATORS_GUIDE.md for detailed setup.


๐Ÿš€ Cloud Integration

AWS S3 (v1.0.0 - Working)

from kore_fileformat import S3Reader

reader = S3Reader(region='us-east-1')
data = reader.read_file('bucket', 'object.kore')
reader.write_file('bucket', 'object.kore', data)

Azure Blob Storage (v1.1.0 - Coming Soon)

from kore_fileformat import AzureBlobReader

reader = AzureBlobReader('account', 'key')
data = reader.read_file('container', 'blob.kore')

Google Cloud Storage (v1.1.0 - Coming Soon)

from kore_fileformat import GcsReader

reader = GcsReader('project-id')
data = reader.read_file('bucket', 'object.kore')

๐Ÿค Contributing

We welcome contributions! Here's how:

  1. Report Issues: GitHub Issues
  2. Discuss Ideas: GitHub Discussions
  3. Submit PRs: Fork, branch, code, and create a pull request

See V1_1_ROADMAP.md for planned features and how to help.


๐Ÿ“… Roadmap

v1.0.0 (Current) โœ…

  • S3 connector with full API
  • Python, Java, JavaScript bindings
  • Integration tests with emulators
  • Complete documentation

v1.1.0 (Q2 2026)

  • Azure Blob Storage full implementation
  • Google Cloud Storage full implementation
  • Performance optimizations
  • Streaming support

v2.0.0 (Q4 2026)

  • Go language bindings
  • Multi-region support
  • Caching layer
  • Advanced compression

See V1_1_ROADMAP.md for detailed phases and milestones.


๐Ÿ“ฆ Distribution Channels

Latest Versions

Platform Package Version Link
PyPI kore-fileformat 1.0.0 PyPI
Crates.io kore_fileformat 1.0.0 Crates.io
Maven com.arun.kore:kore-cloud-java 1.0.0 Coming v1.1
npm kore-fileformat 1.0.0 Coming v1.1

๐Ÿ”’ Security

Features

  • Zero external dependencies in base library
  • Optional SDKs are version-pinned and updated regularly
  • Integration tests verify cloud connectivity
  • GitHub Actions security scanning

Reporting Security Issues

Please email: arunkatherashala@gmail.com


๐Ÿ“ž Support & Community

Getting Help

Stay Updated

  • GitHub: Star the repository
  • Releases: Watch for v1.1.0 announcement
  • Email: Subscribe to release notifications

๐Ÿ“„ License

Kore is licensed under the Kore Use-Only Proprietary License (KUOPL) v1.1.

โœ… You can use Kore freely for personal, educational, research, and commercial purposes. โŒ You cannot modify, fork, or redistribute modified versions.

See KUOPL-LICENSE for full details.

Commercial Licensing

For custom licensing, enterprise features, or permission to modify: Contact: arunkatherashala@gmail.com


๐Ÿ‘ค Author

Sai Arun Kumar Ktherashala


๐ŸŽฏ What's Next?

For Users

  1. Read: PYTHON_USER_GUIDE.md or DOCKER_EMULATORS_GUIDE.md
  2. Install: pip install kore-fileformat
  3. Explore: Check DOCUMENTATION_INDEX.md for your role

For Contributors

  1. Review: V1_1_ROADMAP.md for v1.1.0 features
  2. Clone: git clone https://github.com/arunkatherashala/Kore.git
  3. Setup: Follow DOCKER_EMULATORS_GUIDE.md
  4. Code: Create feature branch and submit PR

For DevOps

  1. Setup: CI_CD_SECRETS_SETUP.md for automated publishing
  2. Monitor: GitHub Actions workflows on each push
  3. Release: Tag v1.0.1 or v1.1.0 to trigger publishing

โœ… Project Status

Phase Status Delivered
Phase 1: Core Library โœ… Complete Base Kore format, compression, serialization
Phase 2: Cloud SDKs โœ… Partial S3 working, Azure/GCS coming v1.1
Phase 3: Language Bindings โœ… Complete Python, Java, JavaScript production-ready
Phase 4: Integration Tests โœ… Complete 4 comprehensive tests with emulators
Phase 5: CI/CD & Publishing โœ… Complete 10 automated jobs, multi-registry support
Documentation โœ… Complete 8 guides, 2000+ lines, 50+ examples

๐ŸŽ‰ Thank You!

Thank you for choosing Kore! We're excited to see what you build.

Questions? Open an issue or discussion on GitHub.
Want to help? Check V1_1_ROADMAP.md for features to implement.
Found a bug? Report it on GitHub Issues.


Latest Release: v1.0.0
Last Updated: May 14, 2026
Status: Production Ready โœ…

๐Ÿš€ Let's build amazing data infrastructure together!

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

kore_fileformat-1.3.3.tar.gz (674.5 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for kore_fileformat-1.3.3.tar.gz
Algorithm Hash digest
SHA256 a05a790a75ab2e44c27bdc93ac14e05c3c12e0219f3d08fe3972b6c58f99a063
MD5 c80f6f531006533887f23ffe8b7aa0a8
BLAKE2b-256 2cd3bbeeaf7d8767b87d3e0e421c559a91570c43dfc86570d0167cdcfca7fd52

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