Skip to content

A new package that helps developers quickly compare programming languages (Java, JavaScript, Python, Go) for a given task or context. It takes a text input describing a development scenario or require

Notifications You must be signed in to change notification settings

chigwell/langcompare

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

langcompare

PyPI version License: MIT Downloads LinkedIn

A Python package that helps developers quickly compare programming languages (Java, JavaScript, Python, Go) for a given task or context. It analyzes your requirements and provides structured comparisons highlighting key differences, strengths, and recommendations among the languages.

🚀 Features

  • Compare multiple languages (Java, JavaScript, Python, Go) for any development scenario
  • Get structured, actionable insights without manual research
  • Customizable LLM integration (supports OpenAI, Anthropic, Google, etc.)
  • Simple API with sensible defaults

📦 Installation

pip install langcompare

🔧 Usage

Basic Usage (uses default LLM7)

from langcompare import langcompare

response = langcompare(
    user_input="I need to build a real-time chat application. What are the key differences between JavaScript and Python?"
)
print(response)

Custom LLM Integration

Using OpenAI

from langchain_openai import ChatOpenAI
from langcompare import langcompare

llm = ChatOpenAI()
response = langcompare(
    user_input="Which language is better for microservices?",
    llm=llm
)

Using Anthropic

from langchain_anthropic import ChatAnthropic
from langcompare import langcompare

llm = ChatAnthropic()
response = langcompare(
    user_input="What are the performance characteristics of Go vs Python?",
    llm=llm
)

Using Google Generative AI

from langchain_google_genai import ChatGoogleGenerativeAI
from langcompare import langcompare

llm = ChatGoogleGenerativeAI()
response = langcompare(
    user_input="Which language has better concurrency support?",
    llm=llm
)

🔑 API Key Configuration

The package uses LLM7 as the default LLM provider. You can configure it in two ways:

  1. Environment Variable (recommended for security):
export LLM7_API_KEY="your_api_key_here"
  1. Direct Parameter:
from langcompare import langcompare

response = langcompare(
    user_input="Compare Python and Java for backend services",
    api_key="your_api_key_here"
)

Get a free API key at LLM7 Token Generator.

📊 Response Format

The function returns a list of structured comparison points, typically including:

  • Language-specific strengths
  • Key differences for the given use case
  • Recommendations based on requirements
  • Performance considerations
  • Ecosystem support

📜 Parameters

Parameter Type Description Default
user_input str Your development scenario or requirement description Required
api_key Optional[str] Your LLM7 API key (if not using environment variable) None (uses LLM7_API_KEY env var)
llm Optional[BaseChatModel] Custom LLM instance (e.g., OpenAI, Anthropic) None (uses default LLM7)

🔄 Rate Limits

The default LLM7 free tier provides sufficient rate limits for most use cases. For higher limits, use your own API key or consider upgrading your LLM7 plan.

📝 Issues & Support

For issues or feature requests, please open a GitHub issue at: https://github.com/chigwell/langcompare/issues

👤 Author

📄 License

MIT License

Releases

No releases published

Packages

No packages published

Languages