Skip to main content

A new package that analyzes user-provided JavaScript code snippets to determine if they can run concurrently without conflicts or race conditions. It takes the code as text input and returns a structu

Project description

TyphonLint-ThreadSafe

PyPI version License: MIT Downloads LinkedIn

Thread Safety Analyzer for JavaScript Code

A package that analyzes JavaScript code snippets to detect potential race conditions and concurrency conflicts, helping developers ensure thread-safe implementations in multi-threaded environments like Node.js or web workers.


🚀 Installation

Install via pip:

pip install typhonlint_threadsafe

📝 Usage

Basic Usage (Default LLM7)

from typhonlint_threadsafe import typhonlint_threadsafe

# Analyze JavaScript code for thread safety
response = typhonlint_threadsafe(
    user_input="""
    // Example JavaScript code snippet
    let sharedVar = 0;
    function increment() {
        sharedVar++;
    }
    setInterval(increment, 100);
    """
)
print(response)

Custom LLM Integration

You can replace the default LLM (ChatLLM7) with any LangChain-compatible model:

Using OpenAI

from langchain_openai import ChatOpenAI
from typhonlint_threadsafe import typhonlint_threadsafe

llm = ChatOpenAI()
response = typhonlint_threadsafe(
    user_input="...",  # Your JS code here
    llm=llm
)

Using Anthropic

from langchain_anthropic import ChatAnthropic
from typhonlint_threadsafe import typhonlint_threadsafe

llm = ChatAnthropic()
response = typhonlint_threadsafe(
    user_input="...",  # Your JS code here
    llm=llm
)

Using Google Generative AI

from langchain_google_genai import ChatGoogleGenerativeAI
from typhonlint_threadsafe import typhonlint_threadsafe

llm = ChatGoogleGenerativeAI()
response = typhonlint_threadsafe(
    user_input="...",  # Your JS code here
    llm=llm
)

🔧 Parameters

Parameter Type Description
user_input str The JavaScript code snippet to analyze.
api_key Optional[str] LLM7 API key (if not provided, falls back to LLM7_API_KEY env var).
llm Optional[BaseChatModel] Custom LangChain LLM instance (defaults to ChatLLM7).

🔑 API Key & Rate Limits

  • Default LLM: Uses ChatLLM7 from langchain_llm7.
  • Free Tier: Sufficient for most use cases.
  • Custom API Key: Pass via api_key parameter or LLM7_API_KEY env var.
  • Get API Key: Register at LLM7.

📌 Features

  • Detects race conditions in JavaScript code.
  • Validates concurrency patterns.
  • Structured output for easy integration.
  • Supports custom LLMs for flexibility.

📝 Output

Returns a list of structured assessments indicating:

  • Potential thread safety issues.
  • Safe concurrency patterns.
  • Confirmed correct implementations.

📂 License

MIT


📧 Support & Issues

For bugs or feature requests, open an issue on GitHub.


👤 Author

Eugene Evstafev (@chigwell) 📧 hi@euegne.plus

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

typhonlint_threadsafe-2025.12.21130210.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file typhonlint_threadsafe-2025.12.21130210.tar.gz.

File metadata

File hashes

Hashes for typhonlint_threadsafe-2025.12.21130210.tar.gz
Algorithm Hash digest
SHA256 bd59abef9719f4eaaf4f0d868492a959e186367f57bf27c87b8d041cd204c50d
MD5 3b10106f81eab806c914524f0516cda9
BLAKE2b-256 488cf4709ca9012d93581b02ba71bc3991f656f5d7fac8788fb3356c8b106d7f

See more details on using hashes here.

File details

Details for the file typhonlint_threadsafe-2025.12.21130210-py3-none-any.whl.

File metadata

File hashes

Hashes for typhonlint_threadsafe-2025.12.21130210-py3-none-any.whl
Algorithm Hash digest
SHA256 afd7b2681f69c88e5a33a2015deb9e99f5cdf58f2d7a001d38a660e733e2493c
MD5 b272f84b209bd4bad51e8e5cdf72bf0f
BLAKE2b-256 0018ecae0488fc45d4ae3e38888775b3b51f2634ed4d212d02e48d38cd8555ee

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