Skip to main content

C++26 Equality Linter

PyPI version License: MIT Downloads LinkedIn

A new package that automates equality checks in C++ code by leveraging the upcoming reflection capabilities in C++26. This tool allows developers to input C++ code snippets or class definitions, and the package will use llmatch-messages to parse and analyze the code, ensuring that equality operators (like ==, !=) are correctly implemented and consistent with the class's structure.

Features

  • Automated equality checks for C++ code
  • Leverages C++26 reflection capabilities
  • Provides structured feedback on potential issues
  • Suggests corrections and verifies best practices
  • Easy integration with existing C++ codebases

Installation

pip install cpp26-equality-linter

Usage

Basic Usage

from cpp26-equality-linter import cpp26_equality_linter

response = cpp26_equality_linter(user_input="your C++ code here")
print(response)

Using a Custom LLM

from langchain_openai import ChatOpenAI
from cpp26-equality-linter import cpp26_equality_linter

llm = ChatOpenAI()
response = cpp26_equality_linter(user_input="your C++ code here", llm=llm)
print(response)

Using LLM7 with API Key

from cpp26-equality-linter import cpp26_equality_linter

response = cpp26_equality_linter(user_input="your C++ code here", api_key="your_api_key")
print(response)

Parameters

  • user_input (str): The user input text to process
  • llm (Optional[BaseChatModel]): The langchain llm instance to use, if not provided the default ChatLLM7 will be used.
  • api_key (Optional[str]): The api key for llm7, if not provided

Default LLM

The package uses ChatLLM7 from langchain_llm7 by default. You can safely pass your own llm instance if you want to use another LLM.

Example with OpenAI

from langchain_openai import ChatOpenAI
from cpp26-equality-linter import cpp26_equality_linter

llm = ChatOpenAI()
response = cpp26_equality_linter(user_input="your C++ code here", llm=llm)
print(response)

Example with Anthropic

from langchain_anthropic import ChatAnthropic
from cpp26-equality-linter import cpp26_equality_linter

llm = ChatAnthropic()
response = cpp26_equality_linter(user_input="your C++ code here", llm=llm)
print(response)

Example with Google

from langchain_google_genai import ChatGoogleGenerativeAI
from cpp26-equality-linter import cpp26_equality_linter

llm = ChatGoogleGenerativeAI()
response = cpp26_equality_linter(user_input="your C++ code here", llm=llm)
print(response)

Rate Limits

The default rate limits for LLM7 free tier are sufficient for most use cases of this package. If you want higher rate limits for LLM7, you can pass your own api_key via environment variable LLM7_API_KEY or via passing it directly like:

from cpp26-equality-linter import cpp26_equality_linter

response = cpp26_equality_linter(user_input="your C++ code here", api_key="your_api_key")
print(response)

You can get a free api key by registering at LLM7.

Issues

If you encounter any issues or have suggestions, please open an issue on GitHub.

Author

Eugene Evstafev

License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for cpp26-equality-linter 2025.12.20185334

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cpp26-equality-linter 2025.12.20185334
File Size Uploaded Provenance Actions
cpp26_equality_linter-2025.12.20185334.tar.gz 4.4 kB Without provenance Details for cpp26_equality_linter-2025.12.20185334.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for cpp26-equality-linter 2025.12.20185334
File Interpreter ABI Platform Actions
cpp26_equality_linter-2025.12.20185334-py3-none-any.whl Python 3 none any Details for cpp26_equality_linter-2025.12.20185334-py3-none-any.whl

Total release size: 9.6 kB

Release files / cpp26_equality_linter-2025.12.20185334.tar.gz

Download URL cpp26_equality_linter-2025.12.20185334.tar.gz
Size 4.4 kB
Tags Source
SHA-256 checksum
How to use checksums
c8f54d9f06302bfed1afccb88b67896dbb6903e34204523827d10e7a4de28895
BLAKE2b-256 checksum
How to use checksums
5f912804e5acf9cc4da9c8d5e174d117af7ca7eca7abf2cb7b5569855962cb2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.11

Release files / cpp26_equality_linter-2025.12.20185334-py3-none-any.whl

Download URL cpp26_equality_linter-2025.12.20185334-py3-none-any.whl
Size 5.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
017e354f63298ccfac8a89bebfd34c65b27695b640933f92eba517db76a02645
BLAKE2b-256 checksum
How to use checksums
9dd5183dfa15a0b620a3bb5abbb012a926aba35c3129db79f17fd6335be0af4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.11

Security for cpp26-equality-linter 2025.12.20185334

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page