Skip to main content

The factotum module implements a plan9port's auth(3) library.

Project description

py9pfactotum

py9pfactotum is Python's plan9port Factotum client. It also provides the following extras:

  • Helper functions that mirror plan9port's auth(3) library
  • A Keyring backend to connect to your running factotum server.

Usage

In the current (alpha) state of maturity, the implementation is incomplete. Currently enough is implemented to support the Keyring backend (i.e., to read passwords from the running server).

When using the FactotumClient directly, arguments are passed as keyword arguments, which are built into a key template internally:

from py9pfactotum import FactotumClient
c = FactotumClient()
c.getpass(server='mail.example.org', user='johndoe')
{ 'user': 'johndoe', 'passwd': 'insecure' }

As with the example above, the client provides high-level methods that supply the correct 'proto' and 'role' attributes to the key template. See factotum(4) for more information.

When using the auth(3) functions, the function signatures mirror their plan9port counterparts, except that structures are replaced with dictionaries.

from py9pfactotum import auth_getuserpasswd
c = auth_getuserpasswd(server='mail.example.org')
{ 'user': 'johndoe', 'passwd': 'insecure' }

Keyring

The Keyring user interface is transparent, but that library must be explicitly installed on the system (it is not a hard dependency of py9pfactotum). Because factotum is not able to persist passwords (or password deletions), attempts to use the Keyring to do so will throw an error.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py9pfactotum-0.1.1.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

py9pfactotum-0.1.1-py3-none-any.whl (30.5 kB view details)

Uploaded Python 3

File details

Details for the file py9pfactotum-0.1.1.tar.gz.

File metadata

  • Download URL: py9pfactotum-0.1.1.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.4

File hashes

Hashes for py9pfactotum-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e09d6c6002488ced9127330cd052ae311c6f2bc484c20fff690835da1d59cf07
MD5 f96ba316078f47b9b4e66569ce23f43f
BLAKE2b-256 2b459a90fe063ec2febd35b89e14ce674aa710b74bd7862dd03ac8ae5764a2bf

See more details on using hashes here.

File details

Details for the file py9pfactotum-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: py9pfactotum-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 30.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.4

File hashes

Hashes for py9pfactotum-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6b70dad7fb4f46bf850ac0b8bfd4abef9fe4259f326a001434aefd594e9dc6dc
MD5 546a20bec16035c0b42b065f82cf1714
BLAKE2b-256 729caefe86ead06f75c4c5b75cbba365275daa7ab470ea266ea24bcc9356186b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page