)]}'
{"doc/source/contributors/create/examples/resource/fake_service.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"50af5c029161a7be33251d342a18b7c2bd3e6bb1","unresolved":false,"context_lines":[{"line_number":3,"context_line":"from openstack.auth import service_filter"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"class FakeService(service_filter.ServiceFilter):"},{"line_number":7,"context_line":"    \"\"\"The fake service.\"\"\""},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    valid_versions \u003d [service_filter.ValidVersion(\u0027v2\u0027)]"}],"source_content_type":"text/x-python","patch_set":7,"id":"da86d52c_e38e1778","line":6,"updated":"2015-02-06 15:53:22.000000000","message":"This reminds me that Filter isn\u0027t a good name for this, it is more of an identifier.","commit_id":"e2f198d6883a04e5fe9d30de13e665088ebe3c11"}],"doc/source/contributors/create/resource.rst":[{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"50fbd2c6e6b6ae73774db1c1d3c55da4c301b709","unresolved":false,"context_lines":[{"line_number":26,"context_line":"\"compute\" within this SDK."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"This guide uses a program called \"Fake\". It lives under the"},{"line_number":29,"context_line":"``openstack.fake`` namespace."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Resources"},{"line_number":32,"context_line":"*********"}],"source_content_type":"text/x-rst","patch_set":4,"id":"da86d52c_bc803dc1","line":29,"updated":"2015-02-03 22:19:27.000000000","message":"This sentence on Fake is just kind of hanging out there. A short sentence on why would be helpful.","commit_id":"aadb9eb77222ff7d0cdd70e03ccd494c4b8fbfb3"},{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"50fbd2c6e6b6ae73774db1c1d3c55da4c301b709","unresolved":false,"context_lines":[{"line_number":64,"context_line":"These attributes are set based on how your resource responds with data."},{"line_number":65,"context_line":"The default values for each of these are ``None``, which works fine"},{"line_number":66,"context_line":"when your resource returns a JSON body that can be used directly without a"},{"line_number":67,"context_line":"key, such as ``{\"name\": \"Ernie Banks\", ...}\"``."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"However, our ``Fake`` resource returns JSON bodies that have the details of"},{"line_number":70,"context_line":"the resource one level deeper, such as"}],"source_content_type":"text/x-rst","patch_set":4,"id":"da86d52c_dcb41184","line":67,"updated":"2015-02-03 22:19:27.000000000","message":"\"...without a top-level key...\"","commit_id":"aadb9eb77222ff7d0cdd70e03ccd494c4b8fbfb3"},{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"50fbd2c6e6b6ae73774db1c1d3c55da4c301b709","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"The way resource classes communicate values between the user and the server"},{"line_number":142,"context_line":"are :class:`~openstack.resource.prop` objects. These act similarly to Python\u0027s"},{"line_number":143,"context_line":"built-in property objects, but they share only the name - they\u0027re not the same."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"Properties are set based on the contents of a response body or headers."},{"line_number":146,"context_line":"Based on what your resource returns, you should set ``prop``/s to map"}],"source_content_type":"text/x-rst","patch_set":4,"id":"da86d52c_9f4feb6a","line":143,"updated":"2015-02-03 22:19:27.000000000","message":"Excellent rhyming.","commit_id":"aadb9eb77222ff7d0cdd70e03ccd494c4b8fbfb3"},{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"50fbd2c6e6b6ae73774db1c1d3c55da4c301b709","unresolved":false,"context_lines":[{"line_number":143,"context_line":"built-in property objects, but they share only the name - they\u0027re not the same."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"Properties are set based on the contents of a response body or headers."},{"line_number":146,"context_line":"Based on what your resource returns, you should set ``prop``/s to map"},{"line_number":147,"context_line":"those those values to ones on your :class:`~openstack.resource.Resource`"},{"line_number":148,"context_line":"object."},{"line_number":149,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"da86d52c_bf7bcf8a","line":146,"updated":"2015-02-03 22:19:27.000000000","message":"Should that slash be there?","commit_id":"aadb9eb77222ff7d0cdd70e03ccd494c4b8fbfb3"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"c0b18643974b491369b6376dd42c4e7e9b8aa3e6","unresolved":false,"context_lines":[{"line_number":143,"context_line":"built-in property objects, but they share only the name - they\u0027re not the same."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"Properties are set based on the contents of a response body or headers."},{"line_number":146,"context_line":"Based on what your resource returns, you should set ``prop``/s to map"},{"line_number":147,"context_line":"those those values to ones on your :class:`~openstack.resource.Resource`"},{"line_number":148,"context_line":"object."},{"line_number":149,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"da86d52c_22226452","line":146,"in_reply_to":"da86d52c_bf7bcf8a","updated":"2015-02-03 23:06:25.000000000","message":"I changed it be a backslash. Without a slash of any kind, syntax highlighting for the rest of the file gets messed up. However, forward slashes still get rendered, and backslashes don\u0027t.","commit_id":"aadb9eb77222ff7d0cdd70e03ccd494c4b8fbfb3"},{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"50fbd2c6e6b6ae73774db1c1d3c55da4c301b709","unresolved":false,"context_lines":[{"line_number":152,"context_line":"``X-Timestamp`` header, such as from a ``Fake.head`` request."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"*Line 24* sets a prop for ``name``, which is a value returned in a body, such"},{"line_number":155,"context_line":"as from a ``Fake.get`` request. Remember from earlier that this resource"},{"line_number":156,"context_line":"specifies that the ``name`` is its ``id`` attribute, so when this resource"},{"line_number":157,"context_line":"is populated from a response, ``Fake.name`` and ``Fake.id`` are the same"},{"line_number":158,"context_line":"value. IDs are used internally, but are exposed for consistency."}],"source_content_type":"text/x-rst","patch_set":4,"id":"da86d52c_3fc35f8a","line":155,"updated":"2015-02-03 22:19:27.000000000","message":"Saying \"Remember\" here indicates to me that it was explained in the doc. So line 12 should be explained above like you do the other lines or changed this sentence to say something like \"Note from line 12 that this resources...\"","commit_id":"aadb9eb77222ff7d0cdd70e03ccd494c4b8fbfb3"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"c0b18643974b491369b6376dd42c4e7e9b8aa3e6","unresolved":false,"context_lines":[{"line_number":152,"context_line":"``X-Timestamp`` header, such as from a ``Fake.head`` request."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"*Line 24* sets a prop for ``name``, which is a value returned in a body, such"},{"line_number":155,"context_line":"as from a ``Fake.get`` request. Remember from earlier that this resource"},{"line_number":156,"context_line":"specifies that the ``name`` is its ``id`` attribute, so when this resource"},{"line_number":157,"context_line":"is populated from a response, ``Fake.name`` and ``Fake.id`` are the same"},{"line_number":158,"context_line":"value. IDs are used internally, but are exposed for consistency."}],"source_content_type":"text/x-rst","patch_set":4,"id":"da86d52c_228b44c4","line":155,"in_reply_to":"da86d52c_3fc35f8a","updated":"2015-02-03 23:06:25.000000000","message":"Done","commit_id":"aadb9eb77222ff7d0cdd70e03ccd494c4b8fbfb3"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"50af5c029161a7be33251d342a18b7c2bd3e6bb1","unresolved":false,"context_lines":[{"line_number":16,"context_line":"   * Class names are capitalized, with no spacing, and each subsequent word is"},{"line_number":17,"context_line":"     capitalized in a name. For example, ``ServerMetadata``."},{"line_number":18,"context_line":"   * Attributes on classes, including methods, are lower case and separated"},{"line_number":19,"context_line":"     by underscores. For example, ``allow_list`` or ``get_data``."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Services"},{"line_number":22,"context_line":"********"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da86d52c_c3091332","line":19,"updated":"2015-02-06 15:53:22.000000000","message":"Could just say something here about snake_case vs CamelCase here.","commit_id":"e2f198d6883a04e5fe9d30de13e665088ebe3c11"}],"doc/source/contributors/index.rst":[{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"17b90ce1d167ecf392ef870acddb761e51dc9204","unresolved":false,"context_lines":[{"line_number":51,"context_line":"The code is laid out in the following structure. This example shows files"},{"line_number":52,"context_line":"relevant to working with code for the compute service\u0027s servers."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. literalinclude:: layout.txt"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":".. toctree::"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"da86d52c_29c6ce49","line":54,"updated":"2015-02-03 22:18:36.000000000","message":"This layout is out of place here. Too much detail for an overview style landing page. The other sections are short description + toc. This section should be too. It\u0027s more appropriate in layout.rst (where it already is).","commit_id":"1c51bc582cd75c21fb3274ec7ea661e960728251"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"c1465fcac0389f584677761cf55464e2ad64a392","unresolved":false,"context_lines":[{"line_number":51,"context_line":"The code is laid out in the following structure. This example shows files"},{"line_number":52,"context_line":"relevant to working with code for the compute service\u0027s servers."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. literalinclude:: layout.txt"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":".. toctree::"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"da86d52c_5ffad343","line":54,"in_reply_to":"da86d52c_29c6ce49","updated":"2015-02-03 23:06:39.000000000","message":"Done","commit_id":"1c51bc582cd75c21fb3274ec7ea661e960728251"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"9b95e8d775b16dd6947f7fee96cb8eabad20363c","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Development Environment"},{"line_number":37,"context_line":"-----------------------"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The first step towards contributing is to setup your development environment."},{"line_number":40,"context_line":"We use a pretty standard setup, but it is fully documented in our"},{"line_number":41,"context_line":"`setup \u003csetup\u003e`_ section."},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"da86d52c_8f6a22ec","line":39,"updated":"2015-02-05 05:00:30.000000000","message":"contributing documentation or code is","commit_id":"aa52da0954362d8bc591c381713e0745add4879d"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"79493e78321b60e02c84f47b8166b3acf0f9ceb3","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Development Environment"},{"line_number":37,"context_line":"-----------------------"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The first step towards contributing is to setup your development environment."},{"line_number":40,"context_line":"We use a pretty standard setup, but it is fully documented in our"},{"line_number":41,"context_line":"`setup \u003csetup\u003e`_ section."},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"da86d52c_0571b375","line":39,"in_reply_to":"da86d52c_8f6a22ec","updated":"2015-02-05 05:10:00.000000000","message":"I went with \u0027and\u0027 instead of \u0027or\u0027, but good catch. I\u0027ll get some doc coverage going soon.","commit_id":"aa52da0954362d8bc591c381713e0745add4879d"}],"doc/source/contributors/layout.rst":[{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"17b90ce1d167ecf392ef870acddb761e51dc9204","unresolved":false,"context_lines":[{"line_number":78,"context_line":"requires a key to obtain the response value. For example, the ``Server``"},{"line_number":79,"context_line":"class sets ``resource_key \u003d \"server\"`` and ``resource_keys \u003d \"servers\"``"},{"line_number":80,"context_line":"to support the fact that multiple ``Server``\\s can be returned, and each"},{"line_number":81,"context_line":"is identified with a singular noun in the response."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Proxy"},{"line_number":84,"context_line":"-----"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da86d52c_fc44751c","line":81,"updated":"2015-02-03 22:18:36.000000000","message":"I had to read this last sentence a few times to understand it. How about\n\nFor example, the Server class sets resource_key \u003d \"server\" as an individual Server is identified with a singular noun and resource_keys \u003d \"servers\" as multiple Servers are identified with a plural noun in the response.","commit_id":"1c51bc582cd75c21fb3274ec7ea661e960728251"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"c1465fcac0389f584677761cf55464e2ad64a392","unresolved":false,"context_lines":[{"line_number":78,"context_line":"requires a key to obtain the response value. For example, the ``Server``"},{"line_number":79,"context_line":"class sets ``resource_key \u003d \"server\"`` and ``resource_keys \u003d \"servers\"``"},{"line_number":80,"context_line":"to support the fact that multiple ``Server``\\s can be returned, and each"},{"line_number":81,"context_line":"is identified with a singular noun in the response."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Proxy"},{"line_number":84,"context_line":"-----"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da86d52c_bf382ff0","line":81,"in_reply_to":"da86d52c_fc44751c","updated":"2015-02-03 23:06:39.000000000","message":"Done","commit_id":"1c51bc582cd75c21fb3274ec7ea661e960728251"},{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"17b90ce1d167ecf392ef870acddb761e51dc9204","unresolved":false,"context_lines":[{"line_number":101,"context_line":"The implementations and method signatures of ``Proxy`` methods are currently"},{"line_number":102,"context_line":"under construction, as we figure out the best way to implement them in a"},{"line_number":103,"context_line":"way which will apply nicely across all of the services."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Connection"},{"line_number":106,"context_line":"----------"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"da86d52c_9cd5391e","line":104,"updated":"2015-02-03 22:18:36.000000000","message":"I think the Proxy section in particular really needs an explanation of why. Yes this thing exists but why and why would I want to implement it for my service?","commit_id":"1c51bc582cd75c21fb3274ec7ea661e960728251"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"c1465fcac0389f584677761cf55464e2ad64a392","unresolved":false,"context_lines":[{"line_number":101,"context_line":"The implementations and method signatures of ``Proxy`` methods are currently"},{"line_number":102,"context_line":"under construction, as we figure out the best way to implement them in a"},{"line_number":103,"context_line":"way which will apply nicely across all of the services."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Connection"},{"line_number":106,"context_line":"----------"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"da86d52c_22434443","line":104,"in_reply_to":"da86d52c_9cd5391e","updated":"2015-02-03 23:06:39.000000000","message":"Done","commit_id":"1c51bc582cd75c21fb3274ec7ea661e960728251"}],"doc/source/contributors/setup.rst":[{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"12a33a8200fa23c49a4822116a5f1db5c9ad1468","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"   (sdk3)$ git clone git@github.com:briancurtin/python-openstacksdk.git"},{"line_number":98,"context_line":"   (sdk3)$ cd python-openstacksdk"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Running the Tests"},{"line_number":101,"context_line":"-----------------"},{"line_number":102,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da86d52c_d387d7d5","line":99,"updated":"2015-02-02 22:19:06.000000000","message":"I think we need a Requirements section here with a brief discussion of the requirements and\n\n    (sdk3)$ pip install -r requirements.txt","commit_id":"7f1589ee16f8db60705c63dd37ecc778dcccfa80"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"5e0b6a3f7888d4322a62ea7e035fda22f13a0619","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"   (sdk3)$ git clone git@github.com:briancurtin/python-openstacksdk.git"},{"line_number":98,"context_line":"   (sdk3)$ cd python-openstacksdk"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Running the Tests"},{"line_number":101,"context_line":"-----------------"},{"line_number":102,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da86d52c_a93590f8","line":99,"in_reply_to":"da86d52c_d387d7d5","updated":"2015-02-02 23:18:57.000000000","message":"Done","commit_id":"7f1589ee16f8db60705c63dd37ecc778dcccfa80"},{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"17b90ce1d167ecf392ef870acddb761e51dc9204","unresolved":false,"context_lines":[{"line_number":26,"context_line":"interfering with anything else, and preventing others from interfering with us."},{"line_number":27,"context_line":"Virtualenv must be installed on your system in order to use it, and it can be"},{"line_number":28,"context_line":"had from PyPI, via pip, as follows. Note that you may need to run this"},{"line_number":29,"context_line":"as an administrator in some situations.::"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"   $ apt-get install python-virtualenv  # Debian based platforms"},{"line_number":32,"context_line":"   $ yum install python-virtualenv      # Red Hat based platforms"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da86d52c_596033cf","line":29,"updated":"2015-02-03 22:18:36.000000000","message":"This looks a bit odd to me. A period followed by a colon. I don\u0027t think the colon before a code sample is really needed anywhere. Maybe ask annegentle about style?","commit_id":"1c51bc582cd75c21fb3274ec7ea661e960728251"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"c1465fcac0389f584677761cf55464e2ad64a392","unresolved":false,"context_lines":[{"line_number":26,"context_line":"interfering with anything else, and preventing others from interfering with us."},{"line_number":27,"context_line":"Virtualenv must be installed on your system in order to use it, and it can be"},{"line_number":28,"context_line":"had from PyPI, via pip, as follows. Note that you may need to run this"},{"line_number":29,"context_line":"as an administrator in some situations.::"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"   $ apt-get install python-virtualenv  # Debian based platforms"},{"line_number":32,"context_line":"   $ yum install python-virtualenv      # Red Hat based platforms"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da86d52c_7fd6b7f2","line":29,"in_reply_to":"da86d52c_596033cf","updated":"2015-02-03 23:06:39.000000000","message":"That\u0027s the markup to display code.","commit_id":"1c51bc582cd75c21fb3274ec7ea661e960728251"},{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"17b90ce1d167ecf392ef870acddb761e51dc9204","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"In order to work with the SDK locally, such as in the interactive interpreter"},{"line_number":104,"context_line":"or to run example scripts, you need to install the project\u0027s dependencies."},{"line_number":105,"context_line":"This step isn\u0027t necessary for any other reason, such as running the tests,"},{"line_number":106,"context_line":"because ``tox`` creates its own environments in which it installs the"},{"line_number":107,"context_line":"dependencies for complete isolation.::"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"da86d52c_e9483689","line":105,"updated":"2015-02-03 22:18:36.000000000","message":"I kind of stumbled on this sentence. I don\u0027t think it\u0027s really necessary here. It could be slightly rewritten and moved to the Running the Tests section.","commit_id":"1c51bc582cd75c21fb3274ec7ea661e960728251"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"c1465fcac0389f584677761cf55464e2ad64a392","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"In order to work with the SDK locally, such as in the interactive interpreter"},{"line_number":104,"context_line":"or to run example scripts, you need to install the project\u0027s dependencies."},{"line_number":105,"context_line":"This step isn\u0027t necessary for any other reason, such as running the tests,"},{"line_number":106,"context_line":"because ``tox`` creates its own environments in which it installs the"},{"line_number":107,"context_line":"dependencies for complete isolation.::"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"da86d52c_e26cccd2","line":105,"in_reply_to":"da86d52c_e9483689","updated":"2015-02-03 23:06:39.000000000","message":"Done","commit_id":"1c51bc582cd75c21fb3274ec7ea661e960728251"},{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"17b90ce1d167ecf392ef870acddb761e51dc9204","unresolved":false,"context_lines":[{"line_number":121,"context_line":"  working with plugins. stevedore builds on setuptools ``entry_points``."},{"line_number":122,"context_line":"* `oslo.utils \u003chttps://pypi.python.org/pypi/oslo.utils\u003e`_, which we use"},{"line_number":123,"context_line":"  for its ``timeutils`` module when calculating if or when authentication"},{"line_number":124,"context_line":"  tokens are considered expired."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Running the Tests"},{"line_number":127,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da86d52c_193cfbc7","line":124,"updated":"2015-02-03 22:18:36.000000000","message":"And six\n\nIs there anyway to ensure this list doesn\u0027t get out of sync with requirements.txt?","commit_id":"1c51bc582cd75c21fb3274ec7ea661e960728251"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"c1465fcac0389f584677761cf55464e2ad64a392","unresolved":false,"context_lines":[{"line_number":121,"context_line":"  working with plugins. stevedore builds on setuptools ``entry_points``."},{"line_number":122,"context_line":"* `oslo.utils \u003chttps://pypi.python.org/pypi/oslo.utils\u003e`_, which we use"},{"line_number":123,"context_line":"  for its ``timeutils`` module when calculating if or when authentication"},{"line_number":124,"context_line":"  tokens are considered expired."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Running the Tests"},{"line_number":127,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da86d52c_82e2302d","line":124,"in_reply_to":"da86d52c_193cfbc7","updated":"2015-02-03 23:06:39.000000000","message":"Not that I know of.","commit_id":"1c51bc582cd75c21fb3274ec7ea661e960728251"},{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"17b90ce1d167ecf392ef870acddb761e51dc9204","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"That command will cause the documentation, which lives in the ``docs`` folder,"},{"line_number":164,"context_line":"to be built. HTML output is the most commonly referenced, which is located"},{"line_number":165,"context_line":"in ``docs/build/html``."}],"source_content_type":"text/x-rst","patch_set":3,"id":"da86d52c_f901e76a","line":165,"updated":"2015-02-03 22:18:36.000000000","message":"Add a section about Logging. You might wind up just linking to the Logging section in the user guide.","commit_id":"1c51bc582cd75c21fb3274ec7ea661e960728251"}]}
