Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

https://badge.fury.io/gh/pythongssapi%2Fpython-gssapi.svg https://badge.fury.io/py/gssapi.svg

Python-GSSAPI provides both low-level and high level wrappers around the GSSAPI C libraries. While it focuses on the Kerberos mechanism, it should also be useable with other GSSAPI mechanisms.

Documentation for the latest released version (including pre-release versions) can be found at https://pythongssapi.github.io/python-gssapi/stable.

Documentation for the latest commit on main can be found at https://pythongssapi.github.io/python-gssapi/latest.

Requirements

Basic

  • A working implementation of GSSAPI (such as from MIT Kerberos) which supports delegation and includes header files

  • a C compiler (such as GCC)

  • Python 3.6+ (older releases support older versions, but are unsupported)

  • the decorator python package

Compiling from Scratch

To compile from scratch, you will need Cython >= 0.21.1.

For Running the Tests

  • the nose package

  • the k5test package

To install test dependencies using pip:

$ pip install -r test-requirements.txt # Optional, for running test suite

Installation

Easy Way

$ pip install gssapi

From the Git Repo

After being sure to install all the requirements,

$ git clone https://github.com/pythongssapi/python-gssapi.git
$ python setup.py build
$ python setup.py install

Tests

The tests for for Python-GSSAPI live in gssapi.tests. In order to run the tests, you must have an MIT Kerberos installation (including the KDC). The tests create a self-contained Kerberos setup, so running the tests will not interfere with any existing Kerberos installations.

Structure

Python-GSSAPI is composed of two parts: a low-level C-style API which thinly wraps the underlying RFC 2744 methods, and a high-level, Pythonic API (which is itself a wrapper around the low-level API). Examples may be found in the examples directory.

Low-Level API

The low-level API lives in gssapi.raw. The methods contained therein are designed to match closely with the original GSSAPI C methods. All relevant methods and classes may be imported directly from gssapi.raw. Extension methods will only be imported if they are present. The low-level API follows the given format:

  • Names match the RFC 2744 specification, with the gssapi_ prefix removed

  • Parameters which use C int constants as enums have enum.IntEnum classes defined, and thus may be passed either the enum members or integers

  • In cases where a specific constant is passed in the C API to represent a default value, None should be passed instead

  • In cases where non-integer constants would be used in the API (i.e. OIDs), enum-like objects have been defined containing named references to values specified in RFC 2744.

  • Major and minor error codes are returned by raising gssapi.raw.GSSError. The major error codes have exceptions defined in in gssapi.raw.exceptions to make it easier to catch specific errors or categories of errors.

  • All other relevant output values are returned via named tuples.

High-Level API

The high-level API lives directly under gssapi. The classes contained in each file are designed to provide a more Pythonic, Object-Oriented view of GSSAPI. The exceptions from the low-level API, plus several additional exceptions, live in gssapi.exceptions. The rest of the classes may be imported directly from gssapi. Only classes are exported by gssapi – all functions are methods of classes in the high-level API.

Please note that QoP is not supported in the high-level API, since it has been deprecated.

Extensions

In addition to RFC 2743/2744, Python-GSSAPI also has support for:

  • RFC 5587 (Extended GSS Mechanism Inquiry APIs)

  • RFC 5588 (GSS-API Extension for Storing Delegated Credentials)

  • (Additional) Credential Store Extension

  • Services4User

  • Credentials import-export

  • RFC 6680 (GSS-API Naming Extensions)

  • DCE and IOV MIC extensions

  • acquire_cred_with_password and add_cred_with_password

  • GGF Extensions

The Team

(GitHub usernames in parentheses)

  • Robbie Harwood (@frozencemetery) - current maintainer and developer

  • Simo Sorce (@simo5) - developer

  • Solly Ross (@directxman12) - author emeritus

  • Hugh Cole-Baker (@sigmaris) - author emeritus

Get Involved

We welcome new contributions in the form of Issues and Pull Requests on Github. If you would like to join our discussions, you can find us on libera.chat IRC, channel #python-gssapi.

Release files for gssapi 1.6.14a2

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

Source distribution (sdist)

Source distribution for gssapi 1.6.14a2
File Size Uploaded
gssapi-1.6.14a2.tar.gz 1.1 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for gssapi 1.6.14a2
File
gssapi-1.6.14a2-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
gssapi-1.6.14a2-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details
gssapi-1.6.14a2-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
gssapi-1.6.14a2-cp38-cp38-win32.whl CPython 3.8 CPython 3.8 Windows x86-32 Details
gssapi-1.6.14a2-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
gssapi-1.6.14a2-cp37-cp37m-win32.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-32 Details
gssapi-1.6.14a2-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
gssapi-1.6.14a2-cp36-cp36m-win32.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-32 Details

Total release size: 6.1 MB

Release files / gssapi-1.6.14a2.tar.gz

Download URL gssapi-1.6.14a2.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
23e8adbc5ce6f92ab120083b5a62bcd4191207fb83523e25528aa02bc2161feb
BLAKE2b-256 checksum
How to use checksums
bdd45d604a4e480c6ea7a0e6a642aecacee8784881d97dc8559d82c86068c618
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.11

Release files / gssapi-1.6.14a2-cp39-cp39-win_amd64.whl

Download URL gssapi-1.6.14a2-cp39-cp39-win_amd64.whl
Size 674.7 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
c79ec2b326121c1685a61689828a3de19a4bc25d57b49d7b8c47e06cc11cff5e
BLAKE2b-256 checksum
How to use checksums
097469777facd6c46ff66f424a780125df35393253ef1fe3c6448f189e32d512
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

Release files / gssapi-1.6.14a2-cp39-cp39-win32.whl

Download URL gssapi-1.6.14a2-cp39-cp39-win32.whl
Size 586.7 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
a5147acae2ba90008da7fbb799fd9bf0ffaf4319c3e19b49bb42a93cc308f625
BLAKE2b-256 checksum
How to use checksums
faf21cc4fc527376f5807402e4981fcf51b4472de071a134e1e0378cc06be1a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

Release files / gssapi-1.6.14a2-cp38-cp38-win_amd64.whl

Download URL gssapi-1.6.14a2-cp38-cp38-win_amd64.whl
Size 676.2 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
f99463ac136764c0d3156357fea32456f6792e402fcc8339687b812b623aa2cc
BLAKE2b-256 checksum
How to use checksums
9805627a85d1c23da03ba018410bc21adfdb664ea5925014d040946e204f2de2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10

Release files / gssapi-1.6.14a2-cp38-cp38-win32.whl

Download URL gssapi-1.6.14a2-cp38-cp38-win32.whl
Size 588.2 kB
Tags CPython 3.8 Windows x86-32
SHA-256 checksum
How to use checksums
6c47e709a276efb18e6f946fcb85cbe57fb9c599beaf2f4dc2ee4daaad7a4400
BLAKE2b-256 checksum
How to use checksums
a7a90a65c930699493f007ea7a4491125eedc410aed212b42260c5434bd18344
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10

Release files / gssapi-1.6.14a2-cp37-cp37m-win_amd64.whl

Download URL gssapi-1.6.14a2-cp37-cp37m-win_amd64.whl
Size 662.6 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
697e671e4e0949f49d72c672dec7d492b78e66fc56f96ba5321393ab025ed248
BLAKE2b-256 checksum
How to use checksums
67d7dfa8aff785f41e9706f6eb07cf2f78c9e2f2e5e717043738bde4d52848e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.9

Release files / gssapi-1.6.14a2-cp37-cp37m-win32.whl

Download URL gssapi-1.6.14a2-cp37-cp37m-win32.whl
Size 573.9 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
29f7f6739e769553efb42f7f9251a7f8762e9e90e2d082c3eb6e33c28e26c907
BLAKE2b-256 checksum
How to use checksums
7d07fc03a43635ff9f6e833109d74f123291f0a075c7a41d4675ed969a87674b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.9

Release files / gssapi-1.6.14a2-cp36-cp36m-win_amd64.whl

Download URL gssapi-1.6.14a2-cp36-cp36m-win_amd64.whl
Size 661.7 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
4acd6d5f87734bddd8d3a9065840ade302e63b1241e2066f96e66931538d9eab
BLAKE2b-256 checksum
How to use checksums
a6ddea1d363e96911ab4c5f15ce0136eddda01de6176e2f350d02ba6e038ad44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.6.8

Release files / gssapi-1.6.14a2-cp36-cp36m-win32.whl

Download URL gssapi-1.6.14a2-cp36-cp36m-win32.whl
Size 572.4 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
4423bfb2b9f79822027f511fd03e784be31b96693d049f1ef901199d10bf2009
BLAKE2b-256 checksum
How to use checksums
3e16be9b5dbf8c1666f56df046ae5c0090a1c9092e548c90110eac7dffcdc1ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.6.8
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