github Python re-analysis due

srclight/srclight

v0.24.0
github

Deep code indexing for AI agents. SQLite FTS5 + tree-sitter + embeddings + MCP.

maintainer
srclight
license
MIT
first seen
2026-08-11
last seen
2026-09-04
releases · 30d
13
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 42 tools
transport stdio · streamable-http · sse counts 42 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • blame_symbol
  • changes_to
  • codebase_map
  • conversation_summary
  • detect_changes
  • embedding_health
  • embedding_status
  • find_dead_code
  • find_imports
  • find_pattern
  • get_build_targets
  • get_callees
  • get_callers
  • get_communities
  • get_community
  • get_dependents
  • get_execution_flows
  • get_impact
  • get_implementors
  • get_platform_variants
  • get_signature
  • get_symbol
  • get_tests_for
  • get_type_hierarchy
  • git_hotspots
  • hybrid_search
  • index_status
  • learning_stats
  • list_projects
  • platform_conditionals
  • recent_changes
  • record_learning
  • reindex
  • relevant_learnings
  • restart_server
  • search_symbols
  • semantic_search
  • server_stats
  • setup_guide
  • show_status
  • symbols_in_file
  • whats_changed
code evidence v0.20.1 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 46

filesystem 33

  • fs (weak) srclight-srclight-94f89b3/scripts/test_hybrid_search.py :15 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/_mcpkit.py :106 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/build.py :12 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/cli.py :16 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/db.py :14 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/extractors/base.py :74 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/extractors/csv_extractor.py :7 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/extractors/docx_extractor.py :6 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/extractors/email_extractor.py :8 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/extractors/html_extractor.py :5 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/extractors/image_extractor.py :7 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/extractors/pdf_extractor.py :8 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/extractors/text_extractor.py :6 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/extractors/xlsx_extractor.py :6 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/git.py :12 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/indexer.py :17 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/languages.py :6 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/server.py :17 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/vector_cache.py :18 from pathlib import Path
  • fs srclight-srclight-94f89b3/src/srclight/workspace.py :18 from pathlib import Path
  • fs (weak) srclight-srclight-94f89b3/tests/test_build.py :3 from pathlib import Path
  • fs (weak) srclight-srclight-94f89b3/tests/test_community.py :13 db.open()
  • fs (weak) srclight-srclight-94f89b3/tests/test_db.py :4 from pathlib import Path
  • fs (weak) srclight-srclight-94f89b3/tests/test_embeddings.py :318 db.open()
  • fs (weak) srclight-srclight-94f89b3/tests/test_extractors.py :5 from pathlib import Path
  • fs (weak) srclight-srclight-94f89b3/tests/test_features.py :3 from pathlib import Path
  • fs (weak) srclight-srclight-94f89b3/tests/test_git.py :4 from pathlib import Path
  • fs (weak) srclight-srclight-94f89b3/tests/test_hooks.py :5 from pathlib import Path
  • fs (weak) srclight-srclight-94f89b3/tests/test_indexer.py :4 from pathlib import Path
  • fs (weak) srclight-srclight-94f89b3/tests/test_new_tools.py :3 from pathlib import Path
  • fs (weak) srclight-srclight-94f89b3/tests/test_repo_hygiene.py :5 import shutil
  • fs (weak) srclight-srclight-94f89b3/tests/test_vector_cache.py :30 db.open()
  • fs (weak) srclight-srclight-94f89b3/tests/test_workspace.py :4 from pathlib import Path

shell / exec 5

  • shell srclight-srclight-94f89b3/src/srclight/_mcpkit.py :104 import subprocess
  • shell srclight-srclight-94f89b3/src/srclight/git.py :10 import subprocess
  • shell srclight-srclight-94f89b3/src/srclight/indexer.py :13 import subprocess
  • shell (weak) srclight-srclight-94f89b3/tests/test_git.py :3 import subprocess
  • shell (weak) srclight-srclight-94f89b3/tests/test_repo_hygiene.py :6 import subprocess

network 1

  • net srclight-srclight-94f89b3/src/srclight/embeddings.py :22 import urllib.error

secrets 1

  • secrets srclight-srclight-94f89b3/src/srclight/embeddings.py :221 self._api_key = api_key or os.environ.get("OPENAI_API_KEY", "")

database 2

  • db srclight-srclight-94f89b3/src/srclight/db.py :12 import sqlite3
  • db srclight-srclight-94f89b3/src/srclight/workspace.py :16 import sqlite3

tool registrations 42

  • codebase_map srclight-srclight-94f89b3/src/srclight/server.py :426
  • search_symbols srclight-srclight-94f89b3/src/srclight/server.py :474
  • get_symbol srclight-srclight-94f89b3/src/srclight/server.py :508
  • get_signature srclight-srclight-94f89b3/src/srclight/server.py :560
  • symbols_in_file srclight-srclight-94f89b3/src/srclight/server.py :613
  • get_callers srclight-srclight-94f89b3/src/srclight/server.py :724
  • get_callees srclight-srclight-94f89b3/src/srclight/server.py :778
  • get_type_hierarchy srclight-srclight-94f89b3/src/srclight/server.py :831
  • get_tests_for srclight-srclight-94f89b3/src/srclight/server.py :907
  • get_dependents srclight-srclight-94f89b3/src/srclight/server.py :955
  • get_implementors srclight-srclight-94f89b3/src/srclight/server.py :1004
  • index_status srclight-srclight-94f89b3/src/srclight/server.py :1057
  • list_projects srclight-srclight-94f89b3/src/srclight/server.py :1098
  • reindex srclight-srclight-94f89b3/src/srclight/server.py :1117
  • blame_symbol srclight-srclight-94f89b3/src/srclight/server.py :1176
  • recent_changes srclight-srclight-94f89b3/src/srclight/server.py :1222
  • git_hotspots srclight-srclight-94f89b3/src/srclight/server.py :1267
  • whats_changed srclight-srclight-94f89b3/src/srclight/server.py :1299
  • changes_to srclight-srclight-94f89b3/src/srclight/server.py :1335
  • get_build_targets srclight-srclight-94f89b3/src/srclight/server.py :1384
  • get_platform_variants srclight-srclight-94f89b3/src/srclight/server.py :1407
  • platform_conditionals srclight-srclight-94f89b3/src/srclight/server.py :1436
  • semantic_search srclight-srclight-94f89b3/src/srclight/server.py :1477
  • hybrid_search srclight-srclight-94f89b3/src/srclight/server.py :1540
  • embedding_status srclight-srclight-94f89b3/src/srclight/server.py :1632
  • embedding_health srclight-srclight-94f89b3/src/srclight/server.py :1655
  • find_imports srclight-srclight-94f89b3/src/srclight/server.py :1800
  • find_dead_code srclight-srclight-94f89b3/src/srclight/server.py :1989
  • find_pattern srclight-srclight-94f89b3/src/srclight/server.py :2050
  • server_stats srclight-srclight-94f89b3/src/srclight/server.py :2156
  • restart_server srclight-srclight-94f89b3/src/srclight/server.py :2173
  • show_status srclight-srclight-94f89b3/src/srclight/server.py :2199
  • setup_guide srclight-srclight-94f89b3/src/srclight/server.py :2232
  • record_learning srclight-srclight-94f89b3/src/srclight/server.py :2285
  • conversation_summary srclight-srclight-94f89b3/src/srclight/server.py :2337
  • relevant_learnings srclight-srclight-94f89b3/src/srclight/server.py :2376
  • learning_stats srclight-srclight-94f89b3/src/srclight/server.py :2432
  • get_communities srclight-srclight-94f89b3/src/srclight/server.py :2450
  • get_community srclight-srclight-94f89b3/src/srclight/server.py :2489
  • get_execution_flows srclight-srclight-94f89b3/src/srclight/server.py :2548
  • get_impact srclight-srclight-94f89b3/src/srclight/server.py :2587
  • detect_changes srclight-srclight-94f89b3/src/srclight/server.py :2666

declared dependencies 35

  • mcp@>=1.26.0
  • click@>=8.1.0
  • tree-sitter@>=0.25.0
  • tree-sitter-c@>=0.24.0
  • tree-sitter-cpp@>=0.23.0
  • tree-sitter-python@>=0.25.0
  • tree-sitter-javascript@>=0.25.0
  • tree-sitter-typescript@>=0.23.0
  • tree-sitter-rust@>=0.24.0
  • tree-sitter-c-sharp@>=0.23.0
  • tree-sitter-markdown@>=0.5.0
  • tree-sitter-swift@>=0.0.1
  • tree-sitter-kotlin@>=1.0.0
  • tree-sitter-java@>=0.23.0
  • tree-sitter-go@>=0.23.0
  • tree-sitter-php@>=0.24.0
  • tree-sitter-bash@>=0.25.0
  • tree-sitter-cmake@>=0.7.0
  • tree-sitter-sql@>=0.3.0
  • tree-sitter-groovy@>=0.1.0
  • numpy@>=1.26.0
  • networkx@>=3.0
  • cupy-cuda12x@>=13.0
  • python-docx@>=1.1
  • openpyxl@>=3.1
  • beautifulsoup4@>=4.12
  • Pillow@>=10.0
  • pdfplumber@>=0.11
  • pytesseract@>=0.3.13
  • paddleocr@>=2.8
  • pdf2image@>=1.16
  • srclight@*
  • pytest@>=8.0
  • pytest-asyncio@>=0.23.0
  • ruff@>=0.9.0