Skip to main content

openshift-python-wrapper (wrapper)

📖 Full Documentation

Pypi: openshift-python-wrapper
A python wrapper for kubernetes-python-client with support for RedHat Container Virtualization
Docs: openshift-python-wrapper docs

The wrapper offers a simple and intuitive interface for interacting with the API.
It standardizes how to work with cluster resources and offers unified resource CRUD (Create, Read, Update, and Delete) flows.
The wrapper also provides additional capabilities, such as resource-specific functionality that otherwise needs to be implemented by users.
The wrapper makes code easier to read and maintain over time.

One example of simplified usage is interacting with a container.
Running a command inside a container requires using Kubernetes stream, handling errors, and more.
The wrapper handles it all and provides simple and intuitive functionality.

Alt Text

Both developers or testers can use the wrapper. The code is modular and easy to maintain.
Instead of writing custom code for every API, you can use the wrapper that provides a consistent interface for interacting with APIs.
It saves time, avoids code duplications, and reduces the chance of errors.

Using Python capabilities, context managers can provide out-of-the-box resource creation and deletion,
and inheritance can be used to extend functionality for specific use cases.
Pytest fixtures can utilize the code for setup and teardown, leaving no leftovers.
Resources can even be saved for debugging.
Resource manifests and logs can be easily collected.

Installation

From source:

git clone https://github.com/RedHatQE/openshift-python-wrapper.git
cd openshift-python-wrapper
uv sync

To use the wrapper in another project:

uv pip install /path/to/openshift-python-wrapper

From Pypi:

uv pip install openshift-python-wrapper

Fake Kubernetes Client

The project includes a comprehensive fake Kubernetes client for testing without a real cluster. See Fake Kubernetes Client documentation for details.

MCP Server

The project includes an MCP (Model Context Protocol) server that exposes OpenShift/Kubernetes functionality through a standardized interface. See MCP Server documentation for details.

Release new version

requirements

  • Export GitHub token
export GITHUB_TOKEN=<your_github_token>
sudo npm install --global release-it
npm install --save-dev @release-it/bumper

usage

  • Create a release, run from the relevant branch.
    To create a 4.11 release, run:
git checkout v4.11
git pull
release-it # Follow the instructions

docs

Hosted on readthedocs.io openshift-python-wrapper

PR dependency

For PR dependency we use dpulls
To make PR depends on other PR add depends on #<PR NUMBER> in the PR description.

Logging configuration

To change log level export OPENSHIFT_PYTHON_WRAPPER_LOG_LEVEL:

export OPENSHIFT_PYTHON_WRAPPER_LOG_LEVEL=<LOG_LEVEL> # can be: "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"
  • By default some sensitive information is hashed in the logs, and if running with DEBUG the log output can be corrupted.
    In secure environments user can set OPENSHIFT_PYTHON_WRAPPER_HASH_LOG_DATA="false" environment variable to disable the log hashing.

    export OPENSHIFT_PYTHON_WRAPPER_HASH_LOG_DATA="false"
    

Proxy Enablement

This configuration allows the client to route traffic through a specified proxy server.

To enable proxy configuration for the client:

  1. Define either HTTPS_PROXY or HTTP_PROXY environment variable with your proxy URL:
export HTTPS_PROXY="http://proxy.example.com:8080"
# or
export HTTP_PROXY="http://proxy.example.com:8080"

Code check

We use prek for code check.

prek install

Some code examples locate at examples directory

Adding Tests for New Resources

Add tests

Generate automated tests for newly added resources using the test generator:

Note: Tests are only generated for classes that were generated by class-generator.

# Generate tests for a specific resource
uv run tests/scripts/generate_pytest_test.py --kind ResourceName

# Generate tests for multiple resources
uv run tests/scripts/generate_pytest_test.py --kind Pod,Service,Deployment

# Preview generated tests without writing files
uv run tests/scripts/generate_pytest_test.py --kind ResourceName --dry-run

The generator creates standard CRUD tests in tests/test_resources/test_resource_name.py using the fake client for isolated testing without requiring a real Kubernetes cluster.

Run the generated tests:

# Run tests for specific resource
uv run --group tests pytest tests/test_resources/test_resource_name.py

# Run all resource tests
uv run --group tests pytest tests/test_resources/

Contribute to the project

To contribute new additions or changes to the project, please refer to the contribution guide first.

Release files for openshift-python-wrapper 11.0.141

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

Source distribution (sdist)

Source distribution for openshift-python-wrapper 11.0.141
File Size Uploaded
openshift_python_wrapper-11.0.141.tar.gz 8.2 MB Details

Release files / openshift_python_wrapper-11.0.141.tar.gz

Download URL openshift_python_wrapper-11.0.141.tar.gz
Size 8.2 MB
Tags Source
SHA-256 checksum
How to use checksums
0aeb237c9b7c89a168bcee4032917e0a2129d2f451ae02f4ff3a66000b527187
BLAKE2b-256 checksum
How to use checksums
3431aef8667d46910abc891447b32c9c4f92acdfa48387da59c3288d6d1bbb15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

11.0.141 This release

1 release file

11.0.99

1 release file

11.0.98

1 release file

11.0.97

1 release file

11.0.96

1 release file

11.0.94

1 release file

11.0.93

1 release file

11.0.91

1 release file

11.0.90

1 release file

11.0.89

1 release file

11.0.88

1 release file

11.0.87

1 release file

11.0.86

1 release file

11.0.85

1 release file

11.0.83

1 release file

11.0.82

1 release file

11.0.81

1 release file

11.0.80

1 release file

11.0.79

1 release file

11.0.78

1 release file

11.0.77

1 release file

11.0.76

1 release file

11.0.75

1 release file

11.0.74

1 release file

11.0.73

1 release file

11.0.72

1 release file

11.0.71

1 release file

11.0.70

1 release file

11.0.69

1 release file

11.0.68

1 release file

11.0.67

1 release file

11.0.61

1 release file

11.0.60

1 release file

11.0.59

1 release file

11.0.57

1 release file

11.0.56

1 release file

11.0.55

1 release file

11.0.54

1 release file

11.0.50

1 release file

11.0.49

1 release file

11.0.48

1 release file

11.0.47

1 release file

11.0.46

1 release file

11.0.42

1 release file

11.0.41

1 release file

11.0.40

1 release file

11.0.39

1 release file

11.0.38

1 release file

11.0.37

1 release file

11.0.36

1 release file

11.0.34

1 release file

11.0.33

1 release file

11.0.32

1 release file

11.0.31

1 release file

11.0.30

1 release file

11.0.29

1 release file

11.0.28

1 release file

11.0.25

1 release file

11.0.24

1 release file

11.0.23

1 release file

11.0.22

1 release file

11.0.21

1 release file

11.0.20

1 release file

11.0.19

1 release file

11.0.18

1 release file

11.0.13

1 release file

11.0.12

1 release file

11.0.11

1 release file

11.0.10

1 release file

11.0.9

1 release file

11.0.8

1 release file

11.0.7

1 release file

11.0.6

1 release file

11.0.5

1 release file

11.0.4

1 release file

11.0.3

1 release file

11.0.2

1 release file

11.0.1

1 release file

11.0.0

1 release file

10.0.99

1 release file

10.0.98

1 release file

10.0.97

1 release file

10.0.96

1 release file

10.0.95

1 release file

10.0.87

1 release file

10.0.86

1 release file

10.0.85

1 release file

10.0.84

1 release file

10.0.81

1 release file

10.0.80

1 release file

10.0.79

1 release file

10.0.78

1 release file

10.0.77

1 release file

10.0.76

1 release file

10.0.75

1 release file

10.0.74

1 release file

10.0.73

1 release file

10.0.72

1 release file

10.0.71

1 release file

10.0.69

1 release file

10.0.68

1 release file

10.0.67

1 release file

10.0.66

1 release file

10.0.64

1 release file

10.0.63

1 release file

10.0.62

1 release file

10.0.60

1 release file

10.0.59

1 release file

10.0.55

1 release file

10.0.54

1 release file

10.0.53

1 release file

10.0.52

1 release file

10.0.51

1 release file

10.0.50

1 release file

10.0.49

1 release file

10.0.48

1 release file

10.0.47

1 release file

10.0.38

1 release file

10.0.37

1 release file

10.0.36

1 release file

10.0.35

1 release file

10.0.34

1 release file

10.0.33

1 release file

10.0.28

1 release file

10.0.27

1 release file

10.0.26

1 release file

10.0.25

1 release file

10.0.24

1 release file

10.0.23

1 release file

10.0.22

1 release file

10.0.21

1 release file

10.0.20

1 release file

10.0.19

1 release file

10.0.16

1 release file

10.0.15

1 release file

10.0.14

1 release file

10.0.13

1 release file

10.0.12

1 release file

10.0.11

1 release file

10.0.9

1 release file

10.0.8

1 release file

10.0.7

1 release file

10.0.6

1 release file

10.0.5

1 release file

10.0.4

1 release file

10.0.3

1 release file

10.0.2

1 release file

10.0.1

1 release file

10.0.0

1 release file

4.22.0

1 release file

4.21.1

1 release file

4.21.0

1 release file

4.20.8

1 release file

4.20.7

1 release file

4.20.6

1 release file

4.20.5

1 release file

4.20.4

1 release file

4.20.3

1 release file

4.20.2

1 release file

4.20.1

1 release file

4.20.0

1 release file

4.19.6

1 release file

4.19.5

1 release file

4.19.4

1 release file

4.19.3

1 release file

4.19.2

1 release file

4.19.1

1 release file

4.19.0

1 release file

4.18.8

1 release file

4.18.7

1 release file

4.18.5

1 release file

4.18.4

1 release file

4.18.3

1 release file

4.18.2

1 release file

4.18.1

1 release file

4.18.0

1 release file

4.17.8

1 release file

4.17.7

1 release file

4.17.6

1 release file

4.17.5

1 release file

4.17.4

1 release file

4.17.3

1 release file

4.17.2

1 release file

4.17.1

1 release file

4.17.0

1 release file

4.16.8

1 release file

4.16.7

1 release file

4.16.6

1 release file

4.16.5

1 release file

4.16.4

1 release file

4.16.3

1 release file

4.16.2

1 release file

4.16.1

1 release file

4.15.73

1 release file

4.15.72

1 release file

4.15.71

1 release file

4.15.70

1 release file

4.15.69

1 release file

4.15.68

1 release file

4.15.67

1 release file

4.15.66

1 release file

4.15.65

1 release file

4.15.64

1 release file

4.15.63

1 release file

4.15.62

1 release file

4.15.61

1 release file

4.15.60

1 release file

4.15.58

1 release file

4.15.57

1 release file

4.15.56

1 release file

4.15.55

1 release file

4.15.54

1 release file

4.15.51

1 release file

4.15.50

1 release file

4.15.49

1 release file

4.15.48

1 release file

4.15.47

1 release file

4.15.46

1 release file

4.15.43

1 release file

4.15.42

1 release file

4.15.41

1 release file

4.15.40

1 release file

4.15.39

1 release file

4.15.38

1 release file

4.15.37

1 release file

4.15.34

1 release file

4.15.33

1 release file

4.15.32

1 release file

4.15.31

1 release file

4.15.30

1 release file

4.15.29

1 release file

4.15.23

1 release file

4.15.22

1 release file

4.15.21

1 release file

4.15.20

1 release file

4.15.19

1 release file

4.15.18

1 release file

4.15.17

1 release file

4.15.16

1 release file

4.15.15

1 release file

4.15.12

1 release file

4.15.11

1 release file

4.15.10

1 release file

4.15.9

1 release file

4.15.8

1 release file

4.15.7

1 release file

4.15.6

1 release file

4.15.5

1 release file

4.15.4

1 release file

4.15.3

1 release file

4.15.2

1 release file

4.15.1

1 release file

4.14.68

1 release file

4.14.67

1 release file

4.14.66

1 release file

4.14.65

1 release file

4.14.64

1 release file

4.14.63

1 release file

4.14.62

1 release file

4.14.61

1 release file

4.14.60

1 release file

4.14.58

1 release file

4.14.57

1 release file

4.14.56

1 release file

4.14.55

1 release file

4.14.54

1 release file

4.14.50

1 release file

4.14.49

1 release file

4.14.48

1 release file

4.14.47

1 release file

4.14.46

1 release file

4.14.45

1 release file

4.14.42

1 release file

4.14.41

1 release file

4.14.40

1 release file

4.14.39

1 release file

4.14.38

1 release file

4.14.37

1 release file

4.14.36

1 release file

4.14.35

1 release file

4.14.28

1 release file

4.14.27

1 release file

4.14.26

1 release file

4.14.25

1 release file

4.14.24

1 release file

4.14.23

1 release file

4.14.7

2 release files

4.14.6

2 release files

4.14.4

2 release files

4.14.3

1 release file

4.14.2

1 release file

4.14.1

1 release file

4.14.0

1 release file

4.13.22

1 release file

4.13.21

1 release file

4.13.20

1 release file

4.13.19

1 release file

4.13.16

1 release file

4.13.13

1 release file

4.13.12

1 release file

4.13.9

1 release file

4.13.8

1 release file

4.13.7

1 release file

4.13.6

1 release file

4.13.5

1 release file

4.13.4

1 release file

4.13.3

1 release file

4.13.2

1 release file

4.13.1

1 release file

4.13.0

1 release file

4.12.37

1 release file

4.12.36

1 release file

4.12.35

1 release file

4.12.33

1 release file

4.12.32

1 release file

4.12.31

1 release file

4.12.30

1 release file

4.12.29

1 release file

4.12.28

1 release file

4.12.27

1 release file

4.12.26

1 release file

4.12.25

1 release file

4.12.22

1 release file

4.12.21

1 release file

4.12.20

1 release file

4.12.19

1 release file

4.12.16

1 release file

4.12.15

1 release file

4.12.14

1 release file

4.12.12

1 release file

4.12.9

1 release file

4.12.8

1 release file

4.12.7

1 release file

4.12.6

1 release file

4.12.5

1 release file

4.12.4

1 release file

4.12.3

1 release file

4.12.2

1 release file

4.12.1

1 release file

4.12.0

1 release file

4.11.59

1 release file

4.11.58

1 release file

4.11.57

1 release file

4.11.56

1 release file

4.11.55

1 release file

4.11.54

1 release file

4.11.52

1 release file

4.11.47

1 release file

4.11.43

1 release file

4.11.42

1 release file

4.11.41

1 release file

4.11.38

1 release file

4.11.37

1 release file

4.11.36

1 release file

4.11.35

1 release file

4.11.34

1 release file

4.11.27

1 release file

4.11.26

1 release file

4.11.25

1 release file

4.11.24

1 release file

4.11.23

1 release file

4.11.22

1 release file

4.11.17

1 release file

4.11.16

1 release file

4.11.15

1 release file

4.11.14

1 release file

4.11.13

1 release file

4.11.12

1 release file

4.11.11

1 release file

4.11.9

1 release file

4.11.8

1 release file

4.11.7

1 release file

4.11.6

1 release file

4.11.5

1 release file

4.11.4

1 release file

4.11.3

1 release file

4.11.2

1 release file

4.11.1

1 release file

4.11.0

1 release file

4.10.21

1 release file

4.10.20

1 release file

4.10.19

1 release file

4.10.18

1 release file

4.10.14

1 release file

4.10.13

1 release file

4.10.11

1 release file

4.10.9

1 release file

4.10.8

1 release file

4.10.7

1 release file

4.10.6

1 release file

4.10.5

1 release file

4.10.4

1 release file

4.10.3

1 release file

4.10.1

1 release file

4.9.14

2 release files

4.9.13

2 release files

4.9.12

1 release file

4.9.11

1 release file

4.8.22

2 release files

4.8.21

2 release files

4.8.20

1 release file

4.8.19

1 release file

2.6.5.4

1 release file

2.6.4.4

1 release file

2.6.3.4

1 release file

2.1.47

1 release file

2.1.46

1 release file

2.1.45

1 release file

2.1.44

1 release file

2.1.43

1 release file

2.1.42

1 release file

2.1.41

1 release file

2.1.40

1 release file

2.1.39

1 release file

2.1.38

1 release file

2.1.37

1 release file

2.1.36

1 release file

2.1.35

1 release file

2.1.34

1 release file

2.1.32

1 release file

2.1.31

1 release file

2.1.30

1 release file

2.1.27

1 release file

2.1.26

1 release file

2.1.25

1 release file

2.1.23

1 release file

2.1.22

1 release file

2.1.20

1 release file

2.1.19

1 release file

2.1.18

1 release file

2.1.17

1 release file

2.1.16

1 release file

2.1.15

1 release file

2.1.14

1 release file

2.1.13

1 release file

2.1.12

1 release file

2.1.11

1 release file

2.1.10

1 release file

2.1.9

1 release file

2.1.8

1 release file

2.1.7

1 release file

2.1.6

1 release file

2.1.5

1 release file

2.1.4

1 release file

2.1.3

1 release file

2.1.2

1 release file

2.1.1

1 release file

2.1.0

1 release file

2.0.17

1 release file

2.0.16

1 release file

2.0.15

1 release file

2.0.14

1 release file

2.0.13

1 release file

2.0.12

1 release file

2.0.11

1 release file

2.0.10

1 release file

2.0.9

1 release file

2.0.8

1 release file

2.0.7

1 release file

2.0.6

1 release file

2.0.5

1 release file

2.0.4

1 release file

2.0.3

1 release file

2.0.2

1 release file

2.0.1

1 release file

2.0.0

1 release file

1.5.29

1 release file

1.5.19

1 release file

1.5.18

1 release file

1.5.17

1 release file

1.5.15

1 release file

1.5.14

1 release file

1.5.12

1 release file

1.5.11

1 release file

1.5.10

1 release file

1.5.9

1 release file

1.5.8

1 release file

1.5.7

1 release file

1.5.6

1 release file

1.5.4

1 release file

1.5.3

1 release file

1.5.2

1 release file

1.5.1

1 release file

1.5

1 release file

1.3.10

1 release file

1.2

1 release file

1.1

1 release file

1.0

1 release file

0.0.0

2 release files

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