Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
abi3info exposes information about CPython's "limited API" (including the
stable ABI, called abi3
) as a Python library.
abi3info is available via pip
:
$ pip install abi3info
abi3info exposes limited API and stable ABI information in the form of a set of top-level dictionaries, namely:
import abi3info
abi3info.FEATURE_MACROS
abi3info.MACROS
abi3info.STRUCTS
abi3info.TYPEDEFS
abi3info.FUNCTIONS
abi3info.DATAS
Each of these is a mapping of a name (either as str
or Symbol
) to
a data model describing the kind of item (e.g. FeatureMacro
or Function
).
See the generated documentation for more details, including comprehensive type hints and explanations of each data model.
See also the stable_abi.toml
file, taken from
the CPython sources, which describes each model and their semantics.
Get information about a particular function:
from abi3info import FUNCTIONS
from abi3info.models import Symbol
func = FUNCTIONS[Symbol("_Py_NegativeRefcount")]
print(func.symbol, func.added, func.ifdef, func.abi_only)
Get information about the feature macros that control the limited API:
from abi3info import FEATURE_MACROS
print(fm for fm in FEATURE_MACROS.values())
abi3info is licensed under the MIT license.
abi3info is partially generated from metadata retrieved from the CPython sources, which is licensed under the PSF license.
FAQs
A library for abi3 and other CPython API information
We found that abi3info demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.