bigchaindb / bigchaindb-driver

Official Python driver for BigchainDB
https://www.bigchaindb.com
Apache License 2.0
105 stars 104 forks source link

Problem: All recent builds of the Python driver docs are failing on ReadTheDocs #475

Closed ttmc closed 6 years ago

ttmc commented 6 years ago

Here's a list of all recent builds of the Python Driver docs. They are all failing. From https://readthedocs.org/projects/bigchaindb-python-driver/builds/

screenshot from 2018-09-03 16-54-35

When I build the Python Driver docs locally, the build works, but there are many exceptions raised, and they seem to be related to the recent changes:

(drv) troy@troy-thinkpad:~/repos/bigchaindb-driver/docs$ make html
sphinx-build -b html -d _build/doctrees   . _build/html
Running Sphinx v1.7.6
making output directory...
loading pickled environment... not yet created
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
loading intersphinx inventory from https://docs.bigchaindb.com/projects/server/en/latest/objects.inv...
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 13 source files that are out of date
updating environment: 13 added, 0 changed, 0 removed
reading sources... [ 61%] handcraft                                                                                                    

>>>-------------------------------------------------------------------------
Exception in /home/troy/repos/bigchaindb-driver/docs/handcraft.rst at block ending on line 423
Specify :okexcept: as an option in the ipython:: block to suppress this message
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-43-fe4a338e75cc> in <module>()
----> 1 json_str_handcrafted_tx = json.dumps(handcrafted_creation_tx, sort_keys=True)

/usr/lib/python3.6/json/__init__.py in dumps(obj, skipkeys, ensure_ascii, check_circular, allow_nan, cls, indent, separators, default, sort_keys, **kw)
    236         check_circular=check_circular, allow_nan=allow_nan, indent=indent,
    237         separators=separators, default=default, sort_keys=sort_keys,
--> 238         **kw).encode(obj)
    239 
    240 

/usr/lib/python3.6/json/encoder.py in encode(self, o)
    197         # exceptions aren't as detailed.  The list call should be roughly
    198         # equivalent to the PySequence_Fast that ''.join() would do.
--> 199         chunks = self.iterencode(o, _one_shot=True)
    200         if not isinstance(chunks, (list, tuple)):
    201             chunks = list(chunks)

/usr/lib/python3.6/json/encoder.py in iterencode(self, o, _one_shot)
    255                 self.key_separator, self.item_separator, self.sort_keys,
    256                 self.skipkeys, _one_shot)
--> 257         return _iterencode(o, 0)
    258 
    259 def _make_iterencode(markers, _default, _encoder, _indent, _floatstr,

/usr/lib/python3.6/json/encoder.py in default(self, o)
    178         """
    179         raise TypeError("Object of type '%s' is not JSON serializable" %
--> 180                         o.__class__.__name__)
    181 
    182     def encode(self, o):

TypeError: Object of type 'bytes' is not JSON serializable
<<<-------------------------------------------------------------------------

...many more errors like that...

reading sources... [100%] usage                                                                                                        
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] usage                                                                                                         
generating indices... genindex py-modindex
highlighting module code... [100%] bigchaindb_driver.utils                                                                             
writing additional pages... search
copying images... [100%] _static/cc_escrow_execute_abort.png                                                                           
copying static files... done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded.

The HTML pages are in _build/html.

Build finished. The HTML pages are in _build/html.
ttmc commented 6 years ago

Besides whatever caused the above problems...

I expect that the automatic update of cryptoconditions from 0.7.2 to 0.7.3 will also break ReadTheDocs for the Python Driver docs, just like it did for BigchainDB Server as explained in https://github.com/bigchaindb/bigchaindb/issues/2511

Over there, we resolved that issue by pinning cryptoconditions==0.7.2 in setup.py (in pull request https://github.com/bigchaindb/bigchaindb/pull/2512 ).

ttmc commented 6 years ago

@codegeschrei opened an issue in the ReadTheDocs.org repository on GitHub: https://github.com/rtfd/readthedocs.org/issues/4618

ttmc commented 6 years ago

Update: As I write this,