Metadata-Version: 2.4
Name: cbxp
Version: 0.0.4
Summary: A unified and standardized interface for extracting and formatting z/OS control block data.
Author-email: "Leonard J. Carcaramo Jr" <lcarcaramo@ibm.com>, Elijah Swift <elijah.swift@ibm.com>, Varun Chennamadhava <varunchennamadhava@gmail.com>
Maintainer-email: "Leonard J. Carcaramo Jr" <lcarcaramo@ibm.com>, Elijah Swift <elijah.swift@ibm.com>, Varun Chennamadhava <varunchennamadhava@gmail.com>
License-Expression: Apache-2.0
Project-URL: Homepage, https://ambitus.github.io/cbxp/
Project-URL: Documentation, https://ambitus.github.io/cbxp/interfaces/python/
Project-URL: Source, https://github.com/ambitus/cbxp
Project-URL: Issues, https://github.com/ambitus/cbxp/issues
Project-URL: Release Notes, https://ambitus.github.io/cbxp/release_notes/
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: POSIX :: Other
Classifier: Programming Language :: C
Classifier: Programming Language :: C++
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: System :: Hardware :: Mainframes
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICES
Dynamic: license-file

[![clang-format](https://github.com/ambitus/cbxp/actions/workflows/clang-format.yml/badge.svg)](https://github.com/ambitus/cbxp/actions/workflows/clang-format.yml)
[![cppcheck](https://github.com/ambitus/cbxp/actions/workflows/cppcheck.yml/badge.svg)](https://github.com/ambitus/cbxp/actions/workflows/cppcheck.yml)
[![ruff](https://github.com/ambitus/cbxp/actions/workflows/ruff.yml/badge.svg)](https://github.com/ambitus/cbxp/actions/workflows/ruff.yml)
[![Version](https://img.shields.io/pypi/v/cbxp?label=alpha)](https://pypi.org/project/cbxp/#history)
[![Python Versions](https://img.shields.io/pypi/pyversions/cbxp)](https://pypi.org/project/cbxp/)
[![Downloads](https://img.shields.io/pypi/dm/cbxp)](https://pypistats.org/packages/cbxp)

![CBXP Logo](https://raw.githubusercontent.com/ambitus/cbxp/refs/heads/main/logo.svg)

# CBXP (Control Block EXPlorer)

A unified and standardized interface for extracting and formatting z/OS control block data.

## Description

z/OS Control Blocks are in-memory data structures that describe and control countless process, operating system components, and subsystems. Control blocks are ubiquitous on z/OS, but not very straight forward to access and extract information from. The mission of CBXP *(Control Block EXPlorer)* is to make it easy to extract and format z/OS control block data using industry standard tools and methodologies. CBXP accomplishes this by implementing a **C/C++ XPLINK ASCII** interface for extracting control block data and post processing it into **JSON**. This makes it straight forward to integrate with industry standard programming languages and tools, which generally have well documented and understood foreign language interfaces for C/C++, and native and or third party JSON support that makes working with JSON data easy.

CBXP is the successor to the existing [cbxplorer](https://github.com/ambitus/cbexplorer) project. CBXP mainly improves upon this existing work by being implemented in C/C++ so that it is not limited to a specific programming language or tool. CBXP also focuses heavily on providing an interface that is simple and straight forward to use.

## Getting Started

### Minimum z/OS & Language Versions
Currently, CBXP is being developed on **z/OS 3.2**. We hope to eventually support all z/OS versions that are fully supported by IBM.
* [z/OS Product Lifecycle](https://www.ibm.com/support/pages/lifecycle/search/?q=5655-ZOS,%205650-ZOS)

All versions of the **IBM Open Enterprise SDK for Python** that are fully supported by IBM are supported by CBXP.
* [IBM Open Enterprise SDK for Python Product Lifecycle](https://www.ibm.com/support/pages/lifecycle/search?q=5655-PYT)

### Dependencies
* **z/OS Language Environment Runtime Support**: CBXP is compiled using the [IBM Open XL C/C++ 2.2](https://www.ibm.com/docs/en/open-xl-c-cpp-zos/2.2.0) compiler, which is still fairly new and requires **z/OS Language Environment** service updates for runtime support.
  * More information can be found in section **5.2.2.2 Operational Requisites** on page **8** in the [Program Directory for IBM Open XL C/C++ 2.2 for z/OS](https://publibfp.dhe.ibm.com/epubs/pdf/i1357013.pdf).

### Interfaces
Currently, the following interfaces are provided for CBXP. Additional interfaces can be added in the future if there are use cases for them.
* [Python Interface](https://ambitus.github.io/cbxp/interfaces/python)
* [CLI Interface](https://ambitus.github.io/cbxp/interfaces/cli)
* [C/C++ Interface](https://ambitus.github.io/cbxp/interfaces/c_cpp)

### Supported Control Blocks

Currently, CBXP only has support for extracting and formatting a handful of **System-Level Control Blocks**. See [Supported Control Blocks](https://ambitus.github.io/cbxp/supported_control_blocks) for more details.

## Help
* [GitHub Discussions](https://github.com/ambitus/cbxp/discussions)

## Authors
* Leonard J. Carcaramo Jr: lcarcaramo@ibm.com
* Elijah Swift: elijah.swift@ibm.com
* Varun Chennamadhava: varunchennamadhava@gmail.com

## Maintainers
* Leonard J. Carcaramo Jr: lcarcaramo@ibm.com
* Elijah Swift: elijah.swift@ibm.com
* Varun Chennamadhava: varunchennamadhava@gmail.com
