I am having my first venture into using pybitshares. I would like to obtain the historic market trade data for a trading pair, eg. BTS:ETH or other pairs, for up to their entire trading history.
The 
trades(limit=25, start=None, stop=None) function from the class 
bitshares.market provides the data I am interested in, however it appears there is an internal limit of 100 on the 
limit= parameter as if I try anything larger I get the following error:
---------------------------------------------------------------------------
RPCError                                  Traceback (most recent call last)
/usr/lib/python3.6/site-packages/bitsharesapi/bitsharesnoderpc.py in rpcexec(self, payload)
     41             # Forward call to GrapheneWebsocketRPC and catch+evaluate errors
---> 42             return super(BitSharesNodeRPC, self).rpcexec(payload)
     43         except exceptions.RPCError as e:
/usr/lib/python3.6/site-packages/grapheneapi/graphenewsrpc.py in rpcexec(self, payload)
    159             else:
--> 160                 raise RPCError(ret['error']['message'])
    161         else:
RPCError: Assert Exception: limit <= 100: 
During handling of the above exception, another exception occurred:
UnhandledRPCError                         Traceback (most recent call last)
<ipython-input-6-7d79ce4640e5> in <module>()
      2 t2 = datetime(2017, 8, 12)  # to stop time
      3 
----> 4 market.trades(start=t1, stop=t2, limit=101)
/usr/lib/python3.6/site-packages/bitshares/market.py in trades(self, limit, start, stop)
    269             formatTime(stop),
    270             formatTime(start),
--> 271             limit)
    272         return list(map(
    273             lambda x: FilledOrder(
/usr/lib/python3.6/site-packages/grapheneapi/graphenewsrpc.py in method(*args, **kwargs)
    193                      "jsonrpc": "2.0",
    194                      "id": self.get_request_id()}
--> 195             r = self.rpcexec(query)
    196             return r
    197         return method
/usr/lib/python3.6/site-packages/bitsharesapi/bitsharesnoderpc.py in rpcexec(self, payload)
     48                 raise exceptions.NoMethodWithName(msg)
     49             elif msg:
---> 50                 raise exceptions.UnhandledRPCError(msg)
     51             else:
     52                 raise e
UnhandledRPCError: Assert Exception: limit <= 100:
I could put the 
trades() function in a loop and repeatedly call it for different 
start= and 
stop= datetimes until I have all the trade data, but that seems a crude workaround, so I was wondering if those with more knowledge and experience in this area could suggest any better approaches?  Is it possible to adjust the internal limit of 100 to a much higher value?
Also I was wondering if the internal 100 limit was a legacy of the development process and someone forgot about it, as I might do, or if it was to limit server load, though it does seem a low value to limit it to?