OpenStack Identity (Keystone) Client
Find a file
Takashi Kajinami 851c885612 Update default envlist
Python 3.8 support was already removed so it should no longer be in
the default envlist. Also use unversioned target instead of versioned
ones so that we don't have to update the envlist when supported python
versions are updated.

Change-Id: I903d0259cd2776d8bc69a674fde3f03990a8d6dd
2025-01-13 14:05:31 +09:00
doc Remove old excludes 2024-04-30 19:25:07 +09:00
examples/pki Use a stronger hash algorithm in the example certs 2022-03-07 16:37:36 +01:00
keystoneclient Bump hacking 2024-01-27 23:33:11 +09:00
playbooks Fix keystoneclient-devstack-functional job 2018-11-28 14:45:14 +00:00
releasenotes Remove Python 3.8 support 2024-10-24 18:23:59 +09:00
.coveragerc Updated coverage configuration file 2016-10-19 12:38:55 +00:00
.gitignore Switch to stestr 2018-07-11 09:59:08 +07:00
.gitreview OpenDev Migration Patch 2019-04-19 19:39:43 +00:00
.mailmap Add mailmap entry 2014-05-07 12:12:43 -07:00
.stestr.conf Switch to stestr 2018-07-11 09:59:08 +07:00
.zuul.yaml Switch to 2023.1 Python3 unit tests and generic template name 2022-09-14 09:10:26 +00:00
bindep.txt Stop installing python-all-dev in Ubuntu/Debian 2023-11-09 01:48:11 +09:00
CONTRIBUTING.rst Use https for *.openstack.org references 2017-02-05 20:46:32 -08:00
HACKING.rst Update URLs in documents according to document migration 2017-07-14 09:56:01 +08:00
LICENSE Initial commit. 2011-10-25 16:50:08 -07:00
README.rst Replace git.openstack.org URLs with opendev.org URLs 2019-04-24 19:16:55 +08:00
requirements.txt Remove old excludes 2024-04-30 19:25:07 +09:00
setup.cfg Remove Python 3.8 support 2024-10-24 18:23:59 +09:00
setup.py Cleanup py27 support 2020-04-04 14:15:46 +02:00
test-requirements.txt Remove old excludes 2024-04-30 19:25:07 +09:00
tox.ini Update default envlist 2025-01-13 14:05:31 +09:00

========================
Team and repository tags
========================

.. image:: https://governance.openstack.org/tc/badges/python-keystoneclient.svg
    :target: https://governance.openstack.org/tc/reference/tags/index.html

.. Change things from this point on

Python bindings to the OpenStack Identity API (Keystone)
========================================================

.. image:: https://img.shields.io/pypi/v/python-keystoneclient.svg
    :target: https://pypi.org/project/python-keystoneclient/
    :alt: Latest Version

This is a client for the OpenStack Identity API, implemented by the Keystone
team; it contains a Python API (the ``keystoneclient`` module) for
OpenStack's Identity Service. For command line interface support, use
`OpenStackClient`_.

* `PyPi`_ - package installation
* `Online Documentation`_
* `Launchpad project`_ - release management
* `Blueprints`_ - feature specifications
* `Bugs`_ - issue tracking
* `Source`_
* `Specs`_
* `How to Contribute`_
* `Release Notes`_

.. _PyPi: https://pypi.org/project/python-keystoneclient
.. _Online Documentation: https://docs.openstack.org/python-keystoneclient/latest/
.. _Launchpad project: https://launchpad.net/python-keystoneclient
.. _Blueprints: https://blueprints.launchpad.net/python-keystoneclient
.. _Bugs: https://bugs.launchpad.net/python-keystoneclient
.. _Source: https://opendev.org/openstack/python-keystoneclient
.. _OpenStackClient: https://pypi.org/project/python-openstackclient
.. _How to Contribute: https://docs.openstack.org/infra/manual/developers.html
.. _Specs: https://specs.openstack.org/openstack/keystone-specs/
.. _Release Notes: https://docs.openstack.org/releasenotes/python-keystoneclient

.. contents:: Contents:
   :local:

Python API
----------

By way of a quick-start::

    >>> from keystoneauth1.identity import v3
    >>> from keystoneauth1 import session
    >>> from keystoneclient.v3 import client
    >>> auth = v3.Password(auth_url="http://example.com:5000/v3", username="admin",
    ...                     password="password", project_name="admin",
    ...                     user_domain_id="default", project_domain_id="default")
    >>> sess = session.Session(auth=auth)
    >>> keystone = client.Client(session=sess)
    >>> keystone.projects.list()
        [...]
    >>> project = keystone.projects.create(name="test", description="My new Project!", domain="default", enabled=True)
    >>> project.delete()