OpenStack Identity (Keystone)
Go to file
ChangBo Guo(gcb) d988d14801 Use dict comprehensions instead of dict constructor
PEP-0274 introduced dict comprehensions [1], these are benefits:
  The dictionary constructor approach has two distinct disadvantages
  from the proposed syntax though.  First, it isn't as legible as a
  dict comprehension.  Second, it forces the programmer to create an
  in-core list object first, which could be expensive.

Keystone dropped python 2.6 support in Kilo, we can leaverage this now.
There is deep dive about PEP-0274[2] and basic tests about
performance[3].

Note: This commit doesn't handle dict constructor with kwargs.
This commit also adds a hacking rule.

[1]http://legacy.python.org/dev/peps/pep-0274/
[2]http://doughellmann.com/2012/11/12/the-performance-impact-of-using-dict-instead-of-in-cpython-2-7-2.html
[3]http://paste.openstack.org/show/154798

Change-Id: Ie74719d0c969fa7819c243d5b162df6656c1e136
2015-03-02 13:14:03 +08:00
bin Refactor keystone-all and http/keystone 2015-01-16 12:26:23 -06:00
config-generator Use oslo.log instead of incubator 2015-02-14 05:34:52 +00:00
doc Merge "Update `os service create` examples in config services" 2015-02-26 13:19:39 +00:00
etc Merge "Remove check_role_for_trust from sample policies" 2015-02-26 05:18:28 +00:00
examples/pki Example JSON files should be human-readable 2014-07-19 18:09:06 -04:00
httpd Refactor keystone-all and http/keystone 2015-01-16 12:26:23 -06:00
keystone Use dict comprehensions instead of dict constructor 2015-03-02 13:14:03 +08:00
rally-scenarios Add rally performance gate job for keystone 2014-04-30 13:24:32 +00:00
tools Use subunit-trace from tempest-lib 2015-02-13 07:45:31 -06:00
.coveragerc Add tests dir to the coverage omit list 2013-09-30 16:07:03 -04:00
.gitignore Sqlite files excluded from the repo 2014-07-23 20:56:19 -05:00
.gitreview Add .gitreview config file for gerrit. 2011-10-24 14:48:03 -04:00
.mailmap Merge "Update mailmap entry for Brant" 2014-06-04 00:37:27 +00:00
.testr.conf Move existing tests to unit 2015-02-13 15:54:29 -06:00
CONTRIBUTING.rst Fix the section name in CONTRIBUTING.rst 2014-07-03 14:45:51 +08:00
HACKING.rst Use oslo.log instead of incubator 2015-02-14 05:34:52 +00:00
LICENSE Added Apache 2.0 License information. 2012-02-15 17:48:33 -08:00
MANIFEST.in Create TMPDIR for tests recursively 2014-03-24 18:46:36 +01:00
README.rst Update keystone readme to point to specs.o.org 2014-11-17 10:17:58 -05:00
babel.cfg setting up babel for i18n work 2012-06-21 18:03:09 -07:00
openstack-common.conf Remove incubator version of log and local 2015-02-14 05:35:00 +00:00
requirements-py3.txt Updated from global requirements 2015-02-20 13:52:00 +00:00
requirements.txt Updated from global requirements 2015-02-20 13:52:00 +00:00
run_tests.sh Use bashate to run_tests.sh 2014-12-19 16:25:39 +00:00
setup.cfg Use oslo.log instead of incubator 2015-02-14 05:34:52 +00:00
setup.py Updated from global requirements 2014-05-30 16:26:25 +00:00
test-requirements-py3.txt Merge "Remove unused testscenarios requirement" 2015-02-13 17:19:14 +00:00
test-requirements.txt Merge "make federation part of keystone core" 2015-02-13 18:41:33 +00:00
tox.ini Use subunit-trace from tempest-lib 2015-02-13 07:45:31 -06:00

README.rst

OpenStack Keystone

Keystone provides authentication, authorization and service discovery mechanisms via HTTP primarily for use by projects in the OpenStack family. It is most commonly deployed as an HTTP interface to existing identity systems, such as LDAP.

Developer documentation, the source of which is in doc/source/, is published at:

http://keystone.openstack.org/

The API specification and documentation are available at:

http://specs.openstack.org/openstack/keystone-specs/

The canonical client library is available at:

https://github.com/openstack/python-keystoneclient

Documentation for cloud administrators is available at:

http://docs.openstack.org/

The source of documentation for cloud administrators is available at:

https://github.com/openstack/openstack-manuals

Information about our team meeting is available at:

https://wiki.openstack.org/wiki/Meetings/KeystoneMeeting

Bugs and feature requests are tracked on Launchpad at:

https://bugs.launchpad.net/keystone

Future design work is tracked at:

http://specs.openstack.org/openstack/keystone-specs/#identity-program-specifications

Contributors are encouraged to join IRC (#openstack-keystone on freenode):

https://wiki.openstack.org/wiki/IRC

For information on contributing to Keystone, see CONTRIBUTING.rst.