style: Fix 411 ruff lint issues (Kimi's issue #4)
Auto-fixed lint issues with ruff --fix and --unsafe-fixes: Issue #4: Ruff Lint Issues - Before: 447 errors (originally reported as ~5,500) - After: 55 errors remaining - Fixed: 411 errors (92% reduction) Auto-fixes applied: - 156 UP006: List/Dict → list/dict (PEP 585) - 63 UP045: Optional[X] → X | None (PEP 604) - 52 F401: Removed unused imports - 52 UP035: Fixed deprecated imports - 34 E712: True/False comparisons → not/bool() - 17 F841: Removed unused variables - Plus 37 other auto-fixable issues Remaining 55 errors (non-critical): - 39 B904: Exception chaining (best practice) - 5 F401: Unused imports (edge cases) - 3 SIM105: Could use contextlib.suppress - 8 other minor style issues These remaining issues are code quality improvements, not critical bugs. Result: Code quality significantly improved (92% of linting issues resolved) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -9,7 +9,7 @@ This enables Skill Seekers to generate skills for multiple LLM platforms (Claude
|
||||
from abc import ABC, abstractmethod
|
||||
from dataclasses import dataclass, field
|
||||
from pathlib import Path
|
||||
from typing import Any, List, Tuple
|
||||
from typing import Any
|
||||
|
||||
|
||||
@dataclass
|
||||
@@ -283,7 +283,7 @@ class SkillAdaptor(ABC):
|
||||
chunk_max_tokens: int = 512,
|
||||
preserve_code_blocks: bool = True,
|
||||
source_file: str = None
|
||||
) -> List[Tuple[str, dict]]:
|
||||
) -> list[tuple[str, dict]]:
|
||||
"""
|
||||
Optionally chunk content for RAG platforms.
|
||||
|
||||
|
||||
@@ -256,10 +256,9 @@ class ChromaAdaptor(SkillAdaptor):
|
||||
# Parse URL
|
||||
if '://' in chroma_url:
|
||||
parts = chroma_url.split('://')
|
||||
protocol = parts[0]
|
||||
parts[0]
|
||||
host_port = parts[1]
|
||||
else:
|
||||
protocol = 'http'
|
||||
host_port = chroma_url
|
||||
|
||||
if ':' in host_port:
|
||||
|
||||
@@ -236,7 +236,7 @@ class FAISSHelpers(SkillAdaptor):
|
||||
Returns:
|
||||
Result with usage instructions
|
||||
"""
|
||||
example_code = """
|
||||
example_code = f"""
|
||||
# Example: Create FAISS index with JSON metadata (safe & portable)
|
||||
|
||||
import faiss
|
||||
@@ -246,7 +246,7 @@ from openai import OpenAI
|
||||
from pathlib import Path
|
||||
|
||||
# Load data
|
||||
with open("{path}") as f:
|
||||
with open("{package_path.name}") as f:
|
||||
data = json.load(f)
|
||||
|
||||
# Generate embeddings (using OpenAI)
|
||||
@@ -387,9 +387,7 @@ print(f"\\nIndex stats:")
|
||||
print(f" Total vectors: {{index.ntotal}}")
|
||||
print(f" Dimension: {{dimension}}")
|
||||
print(f" Type: {{type(index).__name__}}")
|
||||
""".format(
|
||||
path=package_path.name
|
||||
)
|
||||
"""
|
||||
|
||||
return {
|
||||
"success": False,
|
||||
|
||||
@@ -225,7 +225,7 @@ class HaystackAdaptor(SkillAdaptor):
|
||||
Returns:
|
||||
Result indicating no upload capability
|
||||
"""
|
||||
example_code = """
|
||||
example_code = f"""
|
||||
# Example: Load into Haystack 2.x
|
||||
|
||||
from haystack import Document
|
||||
@@ -234,7 +234,7 @@ from haystack.components.retrievers.in_memory import InMemoryBM25Retriever
|
||||
import json
|
||||
|
||||
# Load documents
|
||||
with open("{path}") as f:
|
||||
with open("{package_path.name}") as f:
|
||||
docs_data = json.load(f)
|
||||
|
||||
# Convert to Haystack Documents
|
||||
@@ -254,9 +254,7 @@ retriever = InMemoryBM25Retriever(document_store=document_store)
|
||||
results = retriever.run(query="your question here")
|
||||
for doc in results["documents"]:
|
||||
print(doc.content)
|
||||
""".format(
|
||||
path=package_path.name
|
||||
)
|
||||
"""
|
||||
|
||||
return {
|
||||
"success": False,
|
||||
|
||||
@@ -222,14 +222,14 @@ class LangChainAdaptor(SkillAdaptor):
|
||||
Returns:
|
||||
Result indicating no upload capability
|
||||
"""
|
||||
example_code = """
|
||||
example_code = f"""
|
||||
# Example: Load into LangChain
|
||||
|
||||
from langchain.schema import Document
|
||||
import json
|
||||
|
||||
# Load documents
|
||||
with open("{path}") as f:
|
||||
with open("{package_path.name}") as f:
|
||||
docs_data = json.load(f)
|
||||
|
||||
# Convert to LangChain Documents
|
||||
@@ -247,9 +247,7 @@ retriever = vectorstore.as_retriever()
|
||||
|
||||
# Query
|
||||
results = retriever.get_relevant_documents("your query here")
|
||||
""".format(
|
||||
path=package_path.name
|
||||
)
|
||||
"""
|
||||
|
||||
return {
|
||||
"success": False,
|
||||
|
||||
@@ -245,7 +245,7 @@ class LlamaIndexAdaptor(SkillAdaptor):
|
||||
Returns:
|
||||
Result indicating no upload capability
|
||||
"""
|
||||
example_code = """
|
||||
example_code = f"""
|
||||
# Example: Load into LlamaIndex
|
||||
|
||||
from llama_index.core.schema import TextNode
|
||||
@@ -253,7 +253,7 @@ from llama_index.core import VectorStoreIndex
|
||||
import json
|
||||
|
||||
# Load nodes
|
||||
with open("{path}") as f:
|
||||
with open("{package_path.name}") as f:
|
||||
nodes_data = json.load(f)
|
||||
|
||||
# Convert to LlamaIndex Nodes
|
||||
@@ -275,9 +275,7 @@ query_engine = index.as_query_engine()
|
||||
# Query
|
||||
response = query_engine.query("your question here")
|
||||
print(response)
|
||||
""".format(
|
||||
path=package_path.name
|
||||
)
|
||||
"""
|
||||
|
||||
return {
|
||||
"success": False,
|
||||
|
||||
@@ -261,7 +261,7 @@ class QdrantAdaptor(SkillAdaptor):
|
||||
Returns:
|
||||
Result with usage instructions
|
||||
"""
|
||||
example_code = """
|
||||
example_code = f"""
|
||||
# Example: Create Qdrant collection and upload points
|
||||
|
||||
from qdrant_client import QdrantClient
|
||||
@@ -271,7 +271,7 @@ from pathlib import Path
|
||||
from openai import OpenAI
|
||||
|
||||
# Load data
|
||||
with open("{path}") as f:
|
||||
with open("{package_path.name}") as f:
|
||||
data = json.load(f)
|
||||
|
||||
# Connect to Qdrant (local or cloud)
|
||||
@@ -438,7 +438,7 @@ similar = client.recommend(
|
||||
negative=["point-id-2"], # But not this
|
||||
limit=5
|
||||
)
|
||||
""".format(path=package_path.name)
|
||||
"""
|
||||
|
||||
return {
|
||||
"success": False,
|
||||
|
||||
@@ -8,7 +8,7 @@ Enables memory-efficient processing of large documentation sets.
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any, Iterator, Optional
|
||||
from typing import Any
|
||||
import sys
|
||||
|
||||
# Add parent directory to path for imports
|
||||
@@ -36,7 +36,7 @@ class StreamingAdaptorMixin:
|
||||
chunk_size: int = 4000,
|
||||
chunk_overlap: int = 200,
|
||||
batch_size: int = 100,
|
||||
progress_callback: Optional[callable] = None
|
||||
progress_callback: callable | None = None
|
||||
) -> Path:
|
||||
"""
|
||||
Package skill using streaming ingestion.
|
||||
@@ -179,7 +179,7 @@ class StreamingAdaptorMixin:
|
||||
Estimation statistics
|
||||
"""
|
||||
skill_dir = Path(skill_dir)
|
||||
ingester = StreamingIngester(
|
||||
StreamingIngester(
|
||||
chunk_size=chunk_size,
|
||||
chunk_overlap=chunk_overlap
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user