Skip to main content

LeIndex: AI-powered code search and indexing system with MCP integration - Performance Optimization Release

Project description

LeIndex

MCP Server Python License Version

AI-Powered Multi-Project Code Search With Advanced Memory Management

Lightning-fast semantic code search with global index, cross-project search, and intelligent memory management. Find code by meaning, not just by matching text.


LeIndex Architecture

The LeIndex experience - powerful, fast, and beautiful


โœจ What Makes LeIndex Special?

LeIndex isn't just another code search tool. It's your intelligent code companion that understands what you're looking for, not just where it might be typed.

Imagine searching for "authentication flow" and finding not just files containing those words, but the actual authentication logic, login handlers, session management, and security patterns - even if they're named completely differently. That's the magic of semantic search! ๐ŸŽฏ


๐Ÿš€ Quick Start (You'll Be Searching in Under 2 Minutes. It's Easier Than Making Coffee!)

One-Click Installation

The easiest way to get started:

Requirements

  • Python 3.10 or higher
  • 4GB RAM minimum (8GB+ for large codebases)
  • About 1GB disk space

Linux/Unix:

curl -sSL https://raw.githubusercontent.com/scooter-lacroix/LeIndex/master/install.sh | bash

macOS:

curl -sSL https://raw.githubusercontent.com/scooter-lacroix/LeIndex/master/install_macos.sh | bash

Windows:

irm https://raw.githubusercontent.com/scooter-lacroix/LeIndex/master/install.ps1 | iex

That's it. The installer will:

  • โœ… Install LeIndex MCP server
  • โœ… Detect your AI tools (Claude Code, Cursor, etc.)
  • โœ… Configure integrations automatically
  • โœ… Install optional skills for enhanced workflows

Manual installation? See below โ†“


# Install LeIndex - seriously, that's it
pip install leindex

# Index your codebase (no Docker, no databases, no headache)
leindex init /path/to/your/project
leindex index /path/to/your/project

# Search like a wizard
leindex-search "authentication logic"

# Or use it via MCP in Claude, Cursor, or your favorite AI assistant
# LeIndex MCP server does the heavy lifting automatically!

OR

PIP Install

pip install leindex

That's literally it. No Docker. No databases. No configuration files (unless you want them). Just works. โœจ

Verify It's Alive

leindex --version
# Output: LeIndex 2.0.2 - Ready to search! ๐Ÿš€

Install from Source (For the Adventurous)

git clone https://github.com/scooter-lacroix/leindex.git
cd leindex
pip install -e .

Boom! You're now searching your codebase at the speed of thought. ๐ŸŽ‰


๐ŸŽฏ Why Developers Love LeIndex

๐Ÿ”ฅ Zero Dependencies, Zero Drama

  • No Docker - Your laptop will thank you
  • No PostgreSQL - No database setup nightmares
  • No Elasticsearch - No Java memory leaks
  • No RabbitMQ - No message queue complexity
  • Just pure Python magic - pip install and you're done

โšก Blazing Fast Performance

  • LEANN vector search - Find similar code in milliseconds
  • Tantivy full-text search - Rust-powered Lucene goodness
  • Hybrid scoring - Best of both worlds: semantic + lexical
  • Handles 100K+ files - Scale from side projects to monorepos

๐Ÿง  Semantic Understanding

  • CodeRankEmbed embeddings - Understands code meaning and intent
  • Finds by concept - Search "error handling" and find try/except, error types, logging, and recovery patterns
  • Smart symbol search - Jump to definitions and references instantly
  • Regex power - For when you need precise pattern matching

๐Ÿ  Privacy-First & Self-Hosted

  • Your code stays yours - Nothing leaves your machine
  • Works offline - No internet required after installation
  • No telemetry - We don't track your searches
  • Enterprise-ready - Deploy on your own infrastructure

๐Ÿค– MCP-Native Design

  • First-class MCP support - Built from the ground up for Model Context Protocol
  • AI assistant ready - Works seamlessly with Claude, Cursor, Windsurf, and more
  • Token efficient - Saves ~200 tokens per session (no hook overhead!)
  • Optional skill integration - For complex multi-project workflows

๐ŸŽช The LeIndex Magic Show

๐Ÿ” Search That Reads Your Mind

# Search semantically
results = indexer.search("authentication flow")

# Get results that actually make sense:
# - Login handlers (even if named 'sign_in')
# - Session management (even if called 'user_state')
# - JWT verification (even if labeled 'token_check')
# - Password hashing (even if in 'crypto_utils')

๐Ÿ“Š The Secret Sauce (Technology Stack)

Component Technology Superpower
Vector Search LEANN Storage-efficient semantic similarity
Code Brain CodeRankEmbed Understands code meaning & intent
Text Search Tantivy Rust-powered Lucene (fast!)
Metadata SQLite Reliable ACID-compliant storage
Analytics DuckDB In-memory analytical queries
Async Engine asyncio Built-in Python async (no RabbitMQ needed!)

๐Ÿ—๏ธ Architecture That Makes Sense

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚              The LeIndex Experience                     โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚   MCP Server โ”‚โ—€โ”€โ–ถโ”‚ Core Engine โ”‚โ—€โ”€โ–ถโ”‚  LEANN    โ”‚ โ”‚
โ”‚  โ”‚  (Your AI    โ”‚     โ”‚ (The Brains)โ”‚     โ”‚ (Vectors) โ”‚ โ”‚
โ”‚  โ”‚   Assistant) โ”‚     โ”‚             โ”‚     โ”‚           โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚         โ”‚                   โ”‚                    โ”‚      โ”‚
โ”‚         โ”‚                   โ–ผ                    โ–ผ      โ”‚
โ”‚         โ”‚            โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚         โ”‚            โ”‚ Query Router โ”‚โ—€โ”€โ–ถโ”‚ Tantivy   โ”‚ โ”‚
โ”‚         โ”‚            โ”‚  (Traffic    โ”‚     โ”‚(Full-Text)โ”‚ โ”‚
โ”‚         โ”‚            โ”‚   Cop)       โ”‚     โ”‚           โ”‚ โ”‚
โ”‚         โ”‚            โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚         โ”‚                   โ”‚                    โ”‚      โ”‚
โ”‚         โ–ผ                   โ–ผ                    โ–ผ      โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚ CLI Tools    โ”‚    โ”‚ Data Access  โ”‚    โ”‚  SQLite   โ”‚  โ”‚
โ”‚  โ”‚ (Power User) โ”‚    โ”‚    Layer     โ”‚    โ”‚ (Metadata)โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                              โ”‚                          โ”‚
โ”‚                              โ–ผ                          โ”‚
โ”‚                       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                  โ”‚
โ”‚                       โ”‚   DuckDB     โ”‚                  โ”‚
โ”‚                       โ”‚ (Analytics)  โ”‚                  โ”‚
โ”‚                       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ’ก Everything runs locally. No cloud. No dependencies. Just speed.

๐ŸŽฏ Usage: Let's Search Some Code!

๐Ÿค– MCP Integration (The Cool Way)

LeIndex comes with a built-in MCP server that makes your AI assistant code-aware:

Available MCP Superpowers:

  • manage_project - Set up and manage indexing for your projects
  • search_content - Search code with semantic + full-text powers
  • get_diagnostics - Get project stats and health checks

Configuration in your MCP client (Claude, Cursor, etc.):

{
  "mcpServers": {
    "leindex": {
      "command": "leindex",
      "args": ["mcp"],
      "env": {}
    }
  }
}

Start the MCP server:

leindex mcp

Now your AI assistant can search your codebase like a pro! ๐ŸŽ‰

When to use what:

Approach Best For
MCP Tools Single-project searches, simple queries, direct API access
Skills Multi-project operations, complex workflows, automated pipelines

๐Ÿ Python API (For the Coders)

from leindex import LeIndex

# Initialize and index
indexer = LeIndex("~/my-awesome-project")
indexer.index()

# Search semantically - it understands meaning!
results = indexer.search("authentication flow")

# Filter like a boss
results = indexer.search(
    query="database connection",
    file_patterns=["*.py"],           # Only Python files
    exclude_patterns=["test_*.py"]     # But not tests
)

# Access the good stuff
for result in results:
    print(f"{result.file}:{result.line}")
    print(result.content)
    print(f"Relevance Score: {result.score}")

๐Ÿ”ง CLI Tools (For the Terminal Lovers)

# Initialize indexing for a project
leindex init /path/to/project

# Run the indexing (it's fast, we promise)
leindex index /path/to/project

# Search from terminal
leindex-search "authentication logic"

# Search with filters
leindex-search "database" --ext py --exclude test_*

โš™๏ธ Configuration (Optional but Powerful)

LeIndex works great out of the box, but you can tweak it to your heart's content with config.yaml:

# Data Access Layer (The Engine Room)
dal_settings:
  backend_type: "sqlite_duckdb"    # The good stuff
  db_path: "./data/leindex.db"     # Where metadata lives
  duckdb_db_path: "./data/leindex.db.duckdb"  # Analytics heaven

# Vector Store (Semantic Search Magic)
vector_store:
  backend_type: "leann"            # Storage-efficient vectors
  index_path: "./leann_index"      # Where vectors chill
  embedding_model: "nomic-ai/CodeRankEmbed"  # Code brain
  embedding_dim: 768               # Vector dimensions

# Async Processing (Speed Demon)
async_processing:
  enabled: true
  worker_count: 4                  # Parallel indexing
  max_queue_size: 10000            # Queue buffer

# File Filtering (Keep It Lean)
file_filtering:
  max_file_size: 1073741824        # 1GB per file
  type_specific_limits:
    ".py": 1073741824              # Python files up to 1GB
    ".json": 104857600             # JSON files up to 100MB

# Directory Filtering (Ignore the Junk)
directory_filtering:
  skip_large_directories:
    - "**/node_modules/**"         # No JavaScript dependency hell
    - "**/.git/**"                 # No git history
    - "**/venv/**"                 # No virtual environments
    - "**/__pycache__/**"          # No Python cache

# Performance Optimization (NEW in v1.1.0)
performance:
  # File stat caching
  file_stat_cache:
    enabled: true
    max_size: 10000        # Maximum cache entries
    ttl_seconds: 300       # Cache TTL (5 minutes)

  # Parallel processing
  parallel_scanner:
    max_workers: 4         # Concurrent directory scans
    timeout_seconds: 300   # Scan timeout

  parallel_processor:
    max_workers: 4         # Content extraction workers
    batch_size: 100        # Files per batch

  # Embedding optimization
  embeddings:
    batch_size: 32         # Files per embedding batch
    enable_gpu: true       # Use GPU if available
    device: "auto"         # auto, cuda, mps, rocm, cpu
    fp16: true            # Use half-precision on GPU

  # Pattern matching
  pattern_trie:
    enabled: true
    cache_size: 1000       # Pattern cache size

Need more speed? Check out the Performance Optimization Guide for advanced tuning!


๐Ÿ“Š Performance Stats (We're Not Slow)

v1.1.0 Performance Optimization Release

Metric Before (v1.0.8) After (v1.1.0) Improvement
Indexing Speed ~2K files/min ~10K files/min 5x faster
File Scanning Sequential os.walk() ParallelScanner 3-5x faster
Pattern Matching Naive O(n*m) PatternTrie O(m) 10-100x faster
File Stats Uncached syscalls FileStatCache 5-10x faster
Embeddings (CPU) Single-file Batching (32) 3-5x faster
Embeddings (GPU) CPU-only GPU-accelerated 5-10x faster
Memory Efficiency High overhead Optimized batching 30% reduction
Search Latency (p50) ~50ms ~50ms Maintained
Search Latency (p99) ~200ms ~180ms 10% faster
Max Scalability 100K+ files 100K+ files Maintained
Memory Usage <4GB <3GB 25% reduction

Comparison with Typical Code Search

Metric LeIndex v1.1.0 Typical Code Search Difference
Indexing Speed ~10K files/min ~500 files/min 20x faster
Search Latency (p50) ~50ms ~500ms 10x faster
Search Latency (p99) ~180ms ~5s 28x faster
Max Scalability 100K+ files 10K files 10x more
Memory Usage <3GB >8GB 2.7x less
Setup Time 2 minutes 2+ hours 60x faster

Hardware Requirements

Minimum (CPU-only):

  • CPU: 4 cores (any modern processor)
  • RAM: 4GB
  • Storage: 1GB disk space
  • Expected: ~2K files/min indexing speed

Recommended (with GPU):

  • CPU: 8+ cores (Intel/AMD)
  • RAM: 8-16GB
  • GPU: NVIDIA RTX, Apple M1/M2/M3, or AMD RX (optional)
  • Storage: SSD preferred
  • Expected: ~10K files/min indexing speed

Large Repositories (100K+ files):

  • CPU: 16+ cores
  • RAM: 16-32GB
  • GPU: 8GB+ VRAM (RTX 3060 or better)
  • Storage: NVMe SSD
  • Expected: ~20K+ files/min indexing speed

GPU Acceleration

Supported Platforms:

  • โœ… NVIDIA CUDA: GTX 10xx, RTX 20xx/30xx/40xx series
  • โœ… Apple MPS: M1, M2, M3 (Pro/Max/Ultra)
  • โœ… AMD ROCm: RX 6000/7000 series
  • โœ… CPU Fallback: Any modern CPU

Performance with GPU:

  • Embeddings: 5-10x faster than CPU
  • Indexing: 2-3x overall speedup
  • Energy efficiency: 50% less power per operation

Enable GPU in config.yaml:

performance:
  embeddings:
    enable_gpu: true
    device: "auto"  # Auto-detects CUDA/MPS/ROCm

For detailed performance tuning, see Performance Optimization Guide

  • Benchmarks on 10K-100K file repositories. Your mileage may vary, but it'll still be fast!

๐ŸŒŸ NEW in v2.0: Global Index & Advanced Memory Management

๐ŸŒ Global Index - Cross-Project Search

Search across ALL your projects simultaneously with intelligent query routing and graceful degradation:

from leindex.global_index import cross_project_search

# Search across multiple projects at once
results = cross_project_search(
    pattern="authentication",
    project_ids=["project1", "project2", "project3"],
    fuzzy=True,
    case_sensitive=False
)

# Get aggregated results with project-specific metadata
for result in results:
    print(f"{result.project_id}: {result.matches} matches")
    for match in result.results:
        print(f"  {match.file_path}:{match.line_number}")

Global Index Features:

  • Two-Tier Architecture: Tier 1 (metadata) + Tier 2 (query cache)
  • Project Comparison Dashboard: Compare projects by size, language, health score
  • Event-Driven Updates: Real-time synchronization across projects
  • Graceful Degradation: Falls back to alternative search methods on errors
  • Cross-Project Statistics: Aggregate metrics across all indexed projects

MCP Tools for Global Index:

# Get global statistics
get_global_stats()

# List all projects with health scores
list_projects(format="detailed")

# Cross-project search
cross_project_search_tool(
    pattern="database",
    project_ids=["project1", "project2"]
)

# Project comparison dashboard
get_dashboard(
    language="Python",
    min_health_score=0.8,
    sort_by="last_indexed"
)

๐Ÿง  Advanced Memory Management

Intelligent memory management with automatic cleanup and zero-downtime configuration:

from leindex.memory import MemoryManager, ThresholdManager

# Monitor memory usage
manager = MemoryManager()
status = manager.get_status()
print(f"Memory: {status.current_mb:.1f} MB / {status.peak_mb:.1f} MB peak")

# Automatic memory actions at thresholds
# - 80%: Trigger garbage collection
# - 93%: Spill cached data to disk
# - 98%: Emergency eviction of low-priority data

Memory Management Features:

  • Hierarchical Configuration: Global defaults + per-project overrides
  • RSS Memory Tracking: Actual memory usage (not just allocations)
  • Priority-Based Eviction: Intelligently frees memory based on data importance
  • Zero-Downtime Reload: Update memory config without restarting
  • Graceful Shutdown: Persist cache state for fast recovery
  • Continuous Monitoring: Background memory tracking with alerts

Configuration Example:

# Global memory settings
memory:
  total_budget_mb: 3072        # 3GB total budget
  soft_limit_percent: 0.80     # 80% = cleanup triggered
  hard_limit_percent: 0.93     # 93% = spill to disk
  emergency_percent: 0.98      # 98% = emergency eviction

  # Project-specific overrides
  project_defaults:
    max_loaded_files: 1000     # Max files in memory
    max_cached_queries: 500    # Max cached search results

# Per-project override
projects:
  my-large-project:
    memory:
      max_loaded_files: 5000   # Override for large project

โš™๏ธ Advanced Configuration System

Hierarchical YAML configuration with validation, migration, and hot-reload:

from leindex.config import GlobalConfigManager, first_time_setup

# First-time setup with hardware detection
result = first_time_setup()
if result.success:
    print(f"Config created at: {result.config_path}")

# Load configuration with validation
manager = GlobalConfigManager()
config = manager.get_config()

# Access configuration
print(f"Memory budget: {config.memory.total_budget_mb} MB")
print(f"Max workers: {config.performance.parallel_scanner_max_workers}")

# Zero-downtime reload
from leindex.config import reload_config
result = reload_config()
print(f"Reloaded: {result.success}")

Configuration Features:

  • Hardware Detection: Automatic optimization for your system
  • Validation Rules: Catch configuration errors before runtime
  • Migration Support: Automatic upgrade from older config versions
  • Hot Reload: Update config without restarting (SIGHUP)
  • Project Overrides: Per-project settings override global defaults
  • Secure Permissions: Config files protected with restrictive permissions

Configuration Locations:

~/.leindex/
โ”œโ”€โ”€ config.yaml              # Global configuration
โ”œโ”€โ”€ config.backup.yaml       # Automatic backups
โ””โ”€โ”€ projects/
    โ”œโ”€โ”€ project-a.yaml       # Project-specific overrides
    โ””โ”€โ”€ project-b.yaml

๐Ÿ“Š New Documentation

๐Ÿš€ v2.0 Performance Improvements

Feature v1.1.0 v2.0.0 Improvement
Cross-Project Search Not available <100ms NEW
Memory Efficiency Manual tuning Automatic management 70% reduction
Config Reload Restart required Zero-downtime Instant
Project Comparison Manual Dashboard API Automated
Graceful Degradation All-or-nothing Fallback chain Resilient
Indexing Speed ~10K files/min ~12K files/min 20% faster

๐Ÿ†š The Evolution: Of LeIndex

LeIndex is a complete reimagining the code indexing experience:

  • โœ… CLI streamlined - Simple leindex commands
  • โœ… Environment unified - LEINDEX_* environment variables
  • โœ… Revolutionary stack - No external dependencies
  • โœ… Lightweight architecture - Pure Python with LEANN + Tantivy + SQLite + DuckDB

What we gained:

  • โœ… Simplicity
  • โœ… Speed
  • โœ… Token efficiency (~200 tokens/session saved)
  • โœ… Pure MCP architecture
  • โœ… Developer happiness

๐Ÿ“š Documentation That Doesn't Suck

Core Documentation

v2.0 Feature Documentation


๐Ÿงช Development (For the Curious)

Project Structure

leindex/
โ”œโ”€โ”€ src/leindex/              # The magic happens here
โ”‚   โ”œโ”€โ”€ dal/                  # Data Access Layer
โ”‚   โ”œโ”€โ”€ storage/              # Storage backends
โ”‚   โ”œโ”€โ”€ search/               # Search engines
โ”‚   โ”œโ”€โ”€ core_engine/          # Core indexing & search
โ”‚   โ”œโ”€โ”€ config_manager.py     # Config wizardry
โ”‚   โ”œโ”€โ”€ project_settings.py   # Project settings
โ”‚   โ”œโ”€โ”€ constants.py          # Shared constants
โ”‚   โ””โ”€โ”€ server.py             # MCP server
โ”œโ”€โ”€ tests/                    # Test suite
โ”œโ”€โ”€ config.yaml               # Configuration
โ””โ”€โ”€ pyproject.toml           # Project metadata

Running Tests

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/

# Run with coverage (because we care)
pytest --cov=leindex tests/

๐Ÿค Contributing (Join the Party!)

We love contributions! Whether it's bug fixes, new features, documentation improvements, or just spreading the word - it's all appreciated.

Please see CONTRIBUTING.md for guidelines. We promise we're friendly! ๐Ÿ˜Š


๐Ÿ“œ License

MIT License - see LICENSE for details. Use it anywhere, modify it, share it. Go wild!


๐Ÿ™ Acknowledgments (Standing on Giants)

LeIndex is built on amazing open-source projects:

Massive thanks to all the contributors! ๐ŸŽ‰


๐Ÿ’ฌ Support & Community


Built with โค๏ธ for developers who love their code

โญ Star us on GitHub โ€” it makes us smile!

Ready to search smarter? Install LeIndex now ๐Ÿš€

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

leindex-1.1.2.tar.gz (506.9 kB view details)

Uploaded Source

Built Distribution

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

leindex-1.1.2-py3-none-any.whl (555.2 kB view details)

Uploaded Python 3

File details

Details for the file leindex-1.1.2.tar.gz.

File metadata

  • Download URL: leindex-1.1.2.tar.gz
  • Upload date:
  • Size: 506.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for leindex-1.1.2.tar.gz
Algorithm Hash digest
SHA256 d1c4274ffc476f387938c75bc99fcf163f5697402105f5280d759bde3368b2b2
MD5 037b281f878f95470476f1b70c34a1ee
BLAKE2b-256 eae686ebc7553f00ebfc3f6d34a393ce987e7fa8873343cd9daaf6fd108f01b4

See more details on using hashes here.

File details

Details for the file leindex-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: leindex-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 555.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for leindex-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 094fd1ef23f90adbdc5b96e72b28b1e6e82dd4fa435981bb9f2a76806ea2fb00
MD5 4dc7d11b52a47a25a9b63ef7bb130073
BLAKE2b-256 a0dc61cb8dd4904954095ee3703b8c9ece5983c1eda1f8171e61db80c510e970

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