#NEWLINE# @ utils . immutable #NEWLINE# def range( self , start = None , stop = None , months = 0 , days = 0 ) : #NEWLINE# #INDENT# "\n        Return a new query that fetches metrics within a certain date range.\n\n        ```python\n        query.range('2014-01-01', '2014-06-30')\n        ```\n\n        If you don't specify a `stop` argument, the date range will end today. If instead\n        you meant to fetch just a single day's results, try:\n\n        ```python\n        query.range('2014-01-01', days=1)\n        ```\n\n        More generally, you can specify that you'd like a certain number of days,\n        starting from a certain date:\n\n        ```python\n        query.range('2014-01-01', months=3)\n        query.range('2014-01-01', days=28)\n        ```\n\n        Note that if you don't specify a granularity (either through the `interval`\n        method or through the `hourly`, `daily`, `weekly`, `monthly` or `yearly`\n        shortcut methods) you will get only a single result, encompassing the\n        entire date range, per metric.\n\n        **Note:** it is currently not possible to easily specify that you'd like\n        to query the last last full week(s), month(s) et cetera.\n        This will be added sometime in the future.\n        " #NEWLINE# ( start , stop ) = utils . date . range ( start , stop , months , days ) #NEWLINE# self . raw . update ( { #NEWLINE# #INDENT# 'start_date' : start , #NEWLINE# 'end_date' : stop , #NEWLINE# #UNINDENT# } ) #NEWLINE# return self