)]}'
{"specs/train/add_dataframe_datapoint_object.rst":[{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"38ac19907ba0071150c353f661357d5de0b3c123","unresolved":false,"context_lines":[{"line_number":12,"context_line":"everywhere: The API returns dataframes, the storage driver expects to store"},{"line_number":13,"context_line":"dataframes, collected data is retrieved as a dataframe... But dataframes are"},{"line_number":14,"context_line":"always passed around as dicts, making their manipulation tedious. This is"},{"line_number":15,"context_line":"a proposal to add a DataFrame object, which would allow easier"},{"line_number":16,"context_line":"conversion/manipulation of dataframes object."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"https://storyboard.openstack.org/#!/story/2005890"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_a7014a09","line":15,"range":{"start_line":15,"start_character":30,"end_line":15,"end_character":36},"updated":"2019-07-02 14:58:45.000000000","message":"Because of the repetition in the sentence with the word \"object\", this can sound ambiguous (imo). Maybe you should use here \"class definition\" or simply \"class\" so you can avoid the syntactic ambiguity.","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"f4c245d36dd949492b2b43f792207ca37273ed66","unresolved":false,"context_lines":[{"line_number":12,"context_line":"everywhere: The API returns dataframes, the storage driver expects to store"},{"line_number":13,"context_line":"dataframes, collected data is retrieved as a dataframe... But dataframes are"},{"line_number":14,"context_line":"always passed around as dicts, making their manipulation tedious. This is"},{"line_number":15,"context_line":"a proposal to add a DataFrame object, which would allow easier"},{"line_number":16,"context_line":"conversion/manipulation of dataframes object."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"https://storyboard.openstack.org/#!/story/2005890"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_9a2a4c7c","line":15,"range":{"start_line":15,"start_character":30,"end_line":15,"end_character":36},"in_reply_to":"9fb8cfa7_a7014a09","updated":"2019-07-03 07:16:49.000000000","message":"Done","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"38ac19907ba0071150c353f661357d5de0b3c123","unresolved":false,"context_lines":[{"line_number":13,"context_line":"dataframes, collected data is retrieved as a dataframe... But dataframes are"},{"line_number":14,"context_line":"always passed around as dicts, making their manipulation tedious. This is"},{"line_number":15,"context_line":"a proposal to add a DataFrame object, which would allow easier"},{"line_number":16,"context_line":"conversion/manipulation of dataframes object."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"https://storyboard.openstack.org/#!/story/2005890"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_a7a5ca49","line":16,"range":{"start_line":16,"start_character":27,"end_line":16,"end_character":44},"updated":"2019-07-02 14:58:45.000000000","message":"Typo \u003d\u003e dataframe objects.","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"f4c245d36dd949492b2b43f792207ca37273ed66","unresolved":false,"context_lines":[{"line_number":13,"context_line":"dataframes, collected data is retrieved as a dataframe... But dataframes are"},{"line_number":14,"context_line":"always passed around as dicts, making their manipulation tedious. This is"},{"line_number":15,"context_line":"a proposal to add a DataFrame object, which would allow easier"},{"line_number":16,"context_line":"conversion/manipulation of dataframes object."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"https://storyboard.openstack.org/#!/story/2005890"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_5a24d4af","line":16,"range":{"start_line":16,"start_character":27,"end_line":16,"end_character":44},"in_reply_to":"9fb8cfa7_a7a5ca49","updated":"2019-07-03 07:16:49.000000000","message":"Done","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"38ac19907ba0071150c353f661357d5de0b3c123","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Problem Description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The \"dataframe\" format is specified in multiple places, but there is not true"},{"line_number":24,"context_line":"implementation of it: dicts respecting the format specifications are passed"},{"line_number":25,"context_line":"around instead. This can be error-prone: the integrity of these objects is not"},{"line_number":26,"context_line":"guaranteed (a function might modify them, even without intending to), and some"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_6a4f976a","line":23,"range":{"start_line":23,"start_character":60,"end_line":23,"end_character":77},"updated":"2019-07-02 14:58:45.000000000","message":"Typo \u003d\u003e there is no true / there is not a true.","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"f4c245d36dd949492b2b43f792207ca37273ed66","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Problem Description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The \"dataframe\" format is specified in multiple places, but there is not true"},{"line_number":24,"context_line":"implementation of it: dicts respecting the format specifications are passed"},{"line_number":25,"context_line":"around instead. This can be error-prone: the integrity of these objects is not"},{"line_number":26,"context_line":"guaranteed (a function might modify them, even without intending to), and some"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_7a4af85b","line":23,"range":{"start_line":23,"start_character":60,"end_line":23,"end_character":77},"in_reply_to":"9fb8cfa7_6a4f976a","updated":"2019-07-03 07:16:49.000000000","message":"Done","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"38ac19907ba0071150c353f661357d5de0b3c123","unresolved":false,"context_lines":[{"line_number":102,"context_line":"* ``set_price``: Set the price of the ``DataPoint``. Returns a new instance."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"* ``as_dict``: Returns an (optionally mutable) dict representation of the"},{"line_number":105,"context_line":"  object. For convenience with API retrocompatibility, it will be possible to"},{"line_number":106,"context_line":"  obtain the result in legacy format (``desc`` will replace ``metadata``"},{"line_number":107,"context_line":"  and ``groupby``)."},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_aab26f48","line":105,"range":{"start_line":105,"start_character":35,"end_line":105,"end_character":53},"updated":"2019-07-02 14:58:45.000000000","message":"Typo \u003d\u003e backward compatibility.","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"f4c245d36dd949492b2b43f792207ca37273ed66","unresolved":false,"context_lines":[{"line_number":102,"context_line":"* ``set_price``: Set the price of the ``DataPoint``. Returns a new instance."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"* ``as_dict``: Returns an (optionally mutable) dict representation of the"},{"line_number":105,"context_line":"  object. For convenience with API retrocompatibility, it will be possible to"},{"line_number":106,"context_line":"  obtain the result in legacy format (``desc`` will replace ``metadata``"},{"line_number":107,"context_line":"  and ``groupby``)."},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_7a73d8b5","line":105,"range":{"start_line":105,"start_character":35,"end_line":105,"end_character":53},"in_reply_to":"9fb8cfa7_aab26f48","updated":"2019-07-03 07:16:49.000000000","message":"Done","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"38ac19907ba0071150c353f661357d5de0b3c123","unresolved":false,"context_lines":[{"line_number":107,"context_line":"  and ``groupby``)."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"* ``json``: Returns a json representation of the object. For convenience with"},{"line_number":110,"context_line":"  API retrocompatibility, it will be possible to obtain the result in"},{"line_number":111,"context_line":"  legacy format (``desc`` will replace ``metadata`` and ``groupby``)."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* ``from_dict``: Creates a ``DataPoint`` from its dict representation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_0a7b7b7b","line":110,"range":{"start_line":110,"start_character":6,"end_line":110,"end_character":24},"updated":"2019-07-02 14:58:45.000000000","message":"Typo \u003d\u003e backward compatibility.","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"f4c245d36dd949492b2b43f792207ca37273ed66","unresolved":false,"context_lines":[{"line_number":107,"context_line":"  and ``groupby``)."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"* ``json``: Returns a json representation of the object. For convenience with"},{"line_number":110,"context_line":"  API retrocompatibility, it will be possible to obtain the result in"},{"line_number":111,"context_line":"  legacy format (``desc`` will replace ``metadata`` and ``groupby``)."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* ``from_dict``: Creates a ``DataPoint`` from its dict representation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_9a780c90","line":110,"range":{"start_line":110,"start_character":6,"end_line":110,"end_character":24},"in_reply_to":"9fb8cfa7_0a7b7b7b","updated":"2019-07-03 07:16:49.000000000","message":"Done","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"38ac19907ba0071150c353f661357d5de0b3c123","unresolved":false,"context_lines":[{"line_number":132,"context_line":"   }"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"A ``DataFrame`` is a wrapper around a collection of ``DataPoint`` objects."},{"line_number":135,"context_line":"``DataFrame`` instances will have to read-only attributes: ``start`` and"},{"line_number":136,"context_line":"``end`` (stored as ``datetime.datetime`` objects)."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"``DataFrame`` instances will expose the following methods:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_6aeb1712","line":135,"range":{"start_line":135,"start_character":34,"end_line":135,"end_character":36},"updated":"2019-07-02 14:58:45.000000000","message":"Typo \u003d\u003e two.","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"f4c245d36dd949492b2b43f792207ca37273ed66","unresolved":false,"context_lines":[{"line_number":132,"context_line":"   }"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"A ``DataFrame`` is a wrapper around a collection of ``DataPoint`` objects."},{"line_number":135,"context_line":"``DataFrame`` instances will have to read-only attributes: ``start`` and"},{"line_number":136,"context_line":"``end`` (stored as ``datetime.datetime`` objects)."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"``DataFrame`` instances will expose the following methods:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_5a7294af","line":135,"range":{"start_line":135,"start_character":34,"end_line":135,"end_character":36},"in_reply_to":"9fb8cfa7_6aeb1712","updated":"2019-07-03 07:16:49.000000000","message":"Done","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"38ac19907ba0071150c353f661357d5de0b3c123","unresolved":false,"context_lines":[{"line_number":138,"context_line":"``DataFrame`` instances will expose the following methods:"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"* ``as_dict``: Returns an (optionally mutable) dict representation of the"},{"line_number":141,"context_line":"  object. For convenience with API retrocompatibility, it will be possible to"},{"line_number":142,"context_line":"  obtain the result in legacy format."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"* ``json``: Returns a json representation of the object. For convenience with"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_2af51fee","line":141,"range":{"start_line":141,"start_character":35,"end_line":141,"end_character":53},"updated":"2019-07-02 14:58:45.000000000","message":"Typo \u003d\u003e backward compatibility.","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"f4c245d36dd949492b2b43f792207ca37273ed66","unresolved":false,"context_lines":[{"line_number":138,"context_line":"``DataFrame`` instances will expose the following methods:"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"* ``as_dict``: Returns an (optionally mutable) dict representation of the"},{"line_number":141,"context_line":"  object. For convenience with API retrocompatibility, it will be possible to"},{"line_number":142,"context_line":"  obtain the result in legacy format."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"* ``json``: Returns a json representation of the object. For convenience with"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_1a641ce5","line":141,"range":{"start_line":141,"start_character":35,"end_line":141,"end_character":53},"in_reply_to":"9fb8cfa7_2af51fee","updated":"2019-07-03 07:16:49.000000000","message":"Done","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"38ac19907ba0071150c353f661357d5de0b3c123","unresolved":false,"context_lines":[{"line_number":142,"context_line":"  obtain the result in legacy format."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"* ``json``: Returns a json representation of the object. For convenience with"},{"line_number":145,"context_line":"  API retrocompatibility, it will be possible to obtain the result in"},{"line_number":146,"context_line":"  legacy format."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"* ``from_dict``: Creates a ``DataFrame`` from its dict representation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_8ae3eb34","line":145,"range":{"start_line":145,"start_character":6,"end_line":145,"end_character":24},"updated":"2019-07-02 14:58:45.000000000","message":"Typo \u003d\u003e backward compatibility.","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"f4c245d36dd949492b2b43f792207ca37273ed66","unresolved":false,"context_lines":[{"line_number":142,"context_line":"  obtain the result in legacy format."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"* ``json``: Returns a json representation of the object. For convenience with"},{"line_number":145,"context_line":"  API retrocompatibility, it will be possible to obtain the result in"},{"line_number":146,"context_line":"  legacy format."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"* ``from_dict``: Creates a ``DataFrame`` from its dict representation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_ba6070d1","line":145,"range":{"start_line":145,"start_character":6,"end_line":145,"end_character":24},"in_reply_to":"9fb8cfa7_8ae3eb34","updated":"2019-07-03 07:16:49.000000000","message":"Done","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"38ac19907ba0071150c353f661357d5de0b3c123","unresolved":false,"context_lines":[{"line_number":162,"context_line":"Alternatives"},{"line_number":163,"context_line":"------------"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"The code-base could be left as is, letting developpers deal with the tedious"},{"line_number":166,"context_line":"dataframe manipulations."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_47edee8c","line":165,"range":{"start_line":165,"start_character":43,"end_line":165,"end_character":54},"updated":"2019-07-02 14:58:45.000000000","message":"Typo \u003d\u003e developers.","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"f4c245d36dd949492b2b43f792207ca37273ed66","unresolved":false,"context_lines":[{"line_number":162,"context_line":"Alternatives"},{"line_number":163,"context_line":"------------"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"The code-base could be left as is, letting developpers deal with the tedious"},{"line_number":166,"context_line":"dataframe manipulations."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_da5d2416","line":165,"range":{"start_line":165,"start_character":43,"end_line":165,"end_character":54},"in_reply_to":"9fb8cfa7_47edee8c","updated":"2019-07-03 07:16:49.000000000","message":"Done","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"38ac19907ba0071150c353f661357d5de0b3c123","unresolved":false,"context_lines":[{"line_number":194,"context_line":"Performance Impact"},{"line_number":195,"context_line":"------------------"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Instanciating ``DataPoints`` might be slightly slower than instanciating dicts."},{"line_number":198,"context_line":"However, ``namedtuple`` is a high-performance container, and several"},{"line_number":199,"context_line":"dict formatting steps that are currently executed will be skipped if we use"},{"line_number":200,"context_line":"a ``namedtuple`` subclass, so there may be no overhead at all."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_475f2e75","line":197,"range":{"start_line":197,"start_character":0,"end_line":197,"end_character":13},"updated":"2019-07-02 14:58:45.000000000","message":"Typo \u003d\u003e Instantiating.","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"38ac19907ba0071150c353f661357d5de0b3c123","unresolved":false,"context_lines":[{"line_number":194,"context_line":"Performance Impact"},{"line_number":195,"context_line":"------------------"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Instanciating ``DataPoints`` might be slightly slower than instanciating dicts."},{"line_number":198,"context_line":"However, ``namedtuple`` is a high-performance container, and several"},{"line_number":199,"context_line":"dict formatting steps that are currently executed will be skipped if we use"},{"line_number":200,"context_line":"a ``namedtuple`` subclass, so there may be no overhead at all."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_c7523e69","line":197,"range":{"start_line":197,"start_character":59,"end_line":197,"end_character":72},"updated":"2019-07-02 14:58:45.000000000","message":"Typo \u003d\u003e Instantiating.","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"f4c245d36dd949492b2b43f792207ca37273ed66","unresolved":false,"context_lines":[{"line_number":194,"context_line":"Performance Impact"},{"line_number":195,"context_line":"------------------"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Instanciating ``DataPoints`` might be slightly slower than instanciating dicts."},{"line_number":198,"context_line":"However, ``namedtuple`` is a high-performance container, and several"},{"line_number":199,"context_line":"dict formatting steps that are currently executed will be skipped if we use"},{"line_number":200,"context_line":"a ``namedtuple`` subclass, so there may be no overhead at all."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_faab48d4","line":197,"range":{"start_line":197,"start_character":0,"end_line":197,"end_character":13},"in_reply_to":"9fb8cfa7_475f2e75","updated":"2019-07-03 07:16:49.000000000","message":"Done","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"f4c245d36dd949492b2b43f792207ca37273ed66","unresolved":false,"context_lines":[{"line_number":194,"context_line":"Performance Impact"},{"line_number":195,"context_line":"------------------"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Instanciating ``DataPoints`` might be slightly slower than instanciating dicts."},{"line_number":198,"context_line":"However, ``namedtuple`` is a high-performance container, and several"},{"line_number":199,"context_line":"dict formatting steps that are currently executed will be skipped if we use"},{"line_number":200,"context_line":"a ``namedtuple`` subclass, so there may be no overhead at all."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_5aa7f40c","line":197,"range":{"start_line":197,"start_character":59,"end_line":197,"end_character":72},"in_reply_to":"9fb8cfa7_c7523e69","updated":"2019-07-03 07:16:49.000000000","message":"Done","commit_id":"3d5f260e1340b1616917af14d68ebf97e4716484"},{"author":{"_account_id":2376,"name":"Christophe Sauthier","email":"christophe.sauthier@objectif-libre.com","username":"christophe.sauthier"},"change_message_id":"e5ec1eeba1bd92eb891c8e14a906fff43080bdb8","unresolved":false,"context_lines":[{"line_number":27,"context_line":"specific details may vary from one part of the codebase to another (for"},{"line_number":28,"context_line":"example a ``float`` may be used instead of a ``decimal.Decimal``)."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Furthermore, the dataframe format is not the exact same in the v1 and v2"},{"line_number":31,"context_line":"storage interfaces. v1 has a single ``desc`` key containing every metadata"},{"line_number":32,"context_line":"attribute of a data point, whereas v2 provides two keys, ``metadata`` and"},{"line_number":33,"context_line":"``groupby``, depending on the type of the attribute. This leads to conversions"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_662a63e8","line":30,"range":{"start_line":30,"start_character":41,"end_line":30,"end_character":55},"updated":"2019-07-04 08:02:15.000000000","message":"exactly the same","commit_id":"2cd58f7a6ed667ca51e130bbe32904b75df4661e"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"0f0dfbc00b437a83de8f8d8d41852237f0925a65","unresolved":false,"context_lines":[{"line_number":27,"context_line":"specific details may vary from one part of the codebase to another (for"},{"line_number":28,"context_line":"example a ``float`` may be used instead of a ``decimal.Decimal``)."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Furthermore, the dataframe format is not the exact same in the v1 and v2"},{"line_number":31,"context_line":"storage interfaces. v1 has a single ``desc`` key containing every metadata"},{"line_number":32,"context_line":"attribute of a data point, whereas v2 provides two keys, ``metadata`` and"},{"line_number":33,"context_line":"``groupby``, depending on the type of the attribute. This leads to conversions"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_2191b553","line":30,"range":{"start_line":30,"start_character":41,"end_line":30,"end_character":55},"in_reply_to":"7faddb67_662a63e8","updated":"2019-07-04 08:25:22.000000000","message":"Done","commit_id":"2cd58f7a6ed667ca51e130bbe32904b75df4661e"}]}
