Your message dated Tue, 9 Jul 2024 04:17:59 +0000
with message-id 
<cp5p284mb2442fb1c154345090d9236bcd1...@cp5p284mb2442.brap284.prod.outlook.com>
and subject line 
has caused the Debian Bug report #1054759,
regarding spaghetti: FTBFS: dh_auto_test: error: pybuild --test --test-pytest 
-i python{version} -p 3.11 returned exit code 13
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1054759: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054759
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: spaghetti
Version: 1.7.4-2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20231027 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> dh_auto_build
> I: pybuild plugin_pyproject:110: Building wheel for python3.11 with "build" 
> module
> I: pybuild base:310: python3.11 -m build --skip-dependency-check 
> --no-isolation --wheel --outdir 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_spaghetti 
> * Building wheel...
> running bdist_wheel
> running build
> running build_py
> creating build
> creating build/lib
> creating build/lib/spaghetti
> copying spaghetti/__init__.py -> build/lib/spaghetti
> copying spaghetti/analysis.py -> build/lib/spaghetti
> copying spaghetti/util.py -> build/lib/spaghetti
> copying spaghetti/network.py -> build/lib/spaghetti
> creating build/lib/spaghetti/tests
> copying spaghetti/tests/test_network.py -> build/lib/spaghetti/tests
> copying spaghetti/tests/__init__.py -> build/lib/spaghetti/tests
> running egg_info
> creating spaghetti.egg-info
> writing spaghetti.egg-info/PKG-INFO
> writing dependency_links to spaghetti.egg-info/dependency_links.txt
> writing requirements to spaghetti.egg-info/requires.txt
> writing top-level names to spaghetti.egg-info/top_level.txt
> writing manifest file 'spaghetti.egg-info/SOURCES.txt'
> reading manifest file 'spaghetti.egg-info/SOURCES.txt'
> adding license file 'LICENSE.txt'
> writing manifest file 'spaghetti.egg-info/SOURCES.txt'
> installing to build/bdist.linux-x86_64/wheel
> running install
> running install_lib
> creating build/bdist.linux-x86_64
> creating build/bdist.linux-x86_64/wheel
> creating build/bdist.linux-x86_64/wheel/spaghetti
> copying build/lib/spaghetti/__init__.py -> 
> build/bdist.linux-x86_64/wheel/spaghetti
> creating build/bdist.linux-x86_64/wheel/spaghetti/tests
> copying build/lib/spaghetti/tests/test_network.py -> 
> build/bdist.linux-x86_64/wheel/spaghetti/tests
> copying build/lib/spaghetti/tests/__init__.py -> 
> build/bdist.linux-x86_64/wheel/spaghetti/tests
> copying build/lib/spaghetti/analysis.py -> 
> build/bdist.linux-x86_64/wheel/spaghetti
> copying build/lib/spaghetti/util.py -> 
> build/bdist.linux-x86_64/wheel/spaghetti
> copying build/lib/spaghetti/network.py -> 
> build/bdist.linux-x86_64/wheel/spaghetti
> running install_egg_info
> Copying spaghetti.egg-info to 
> build/bdist.linux-x86_64/wheel/spaghetti-0.0.0.egg-info
> running install_scripts
> creating build/bdist.linux-x86_64/wheel/spaghetti-0.0.0.dist-info/WHEEL
> creating 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_spaghetti/.tmp-tc66ejt4/spaghetti-0.0.0-py3-none-any.whl'
>  and adding 'build/bdist.linux-x86_64/wheel' to it
> adding 'spaghetti/__init__.py'
> adding 'spaghetti/analysis.py'
> adding 'spaghetti/network.py'
> adding 'spaghetti/util.py'
> adding 'spaghetti/tests/__init__.py'
> adding 'spaghetti/tests/test_network.py'
> adding 'spaghetti-0.0.0.dist-info/LICENSE.txt'
> adding 'spaghetti-0.0.0.dist-info/METADATA'
> adding 'spaghetti-0.0.0.dist-info/WHEEL'
> adding 'spaghetti-0.0.0.dist-info/top_level.txt'
> adding 'spaghetti-0.0.0.dist-info/RECORD'
> removing build/bdist.linux-x86_64/wheel
> Successfully built spaghetti-0.0.0-py3-none-any.whl
> I: pybuild plugin_pyproject:122: Unpacking wheel built for python3.11 with 
> "installer" module
> PYTHONPATH=. https_proxy='https://127.0.0.1:9/' no_proxy=localhost python3 -m 
> sphinx -N -bhtml docs/ debian/html
> Running Sphinx v5.3.0
> /<<PKGBUILDDIR>>/spaghetti/network.py:40: FutureWarning: The next major 
> release of pysal/spaghetti (2.0.0) will drop support for all ``libpysal.cg`` 
> geometries. This change is a first step in refactoring ``spaghetti`` that is 
> expected to result in dramatically reduced runtimes for network instantiation 
> and operations. Users currently requiring network and point pattern input as 
> ``libpysal.cg`` geometries should prepare for this simply by converting to 
> ``shapely`` geometries.
>   warnings.warn(dep_msg, FutureWarning, stacklevel=1)
> making output directory... done
> checking bibtex cache... out of date
> parsing bibtex file /<<PKGBUILDDIR>>/docs/_static/references.bib... parsed 55 
> entries
> [autosummary] generating autosummary for: api.rst, index.rst, 
> installation.rst, references.rst, tutorials.rst
> [autosummary] generating autosummary for: 
> /<<PKGBUILDDIR>>/docs/generated/spaghetti.Network.rst, 
> /<<PKGBUILDDIR>>/docs/generated/spaghetti.PointPattern.rst, 
> /<<PKGBUILDDIR>>/docs/generated/spaghetti.element_as_gdf.rst, 
> /<<PKGBUILDDIR>>/docs/generated/spaghetti.extract_component.rst, 
> /<<PKGBUILDDIR>>/docs/generated/spaghetti.network.Network.loadnetwork.rst, 
> /<<PKGBUILDDIR>>/docs/generated/spaghetti.network.Network.savenetwork.rst, 
> /<<PKGBUILDDIR>>/docs/generated/spaghetti.regular_lattice.rst, 
> /<<PKGBUILDDIR>>/docs/generated/spaghetti.spanning_tree.rst
> loading intersphinx inventory from https://pysal.org/esda/objects.inv...
> loading intersphinx inventory from 
> https://geopandas.org/en/latest/objects.inv...
> loading intersphinx inventory from https://pysal.org/libpysal/objects.inv...
> loading intersphinx inventory from 
> https://matplotlib.org/stable/objects.inv...
> loading intersphinx inventory from 
> https://networkx.org/documentation/stable/objects.inv...
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'https://pysal.org/esda/objects.inv' not fetchable due 
> to <class 'requests.exceptions.ProxyError'>: 
> HTTPSConnectionPool(host='pysal.org', port=443): Max retries exceeded with 
> url: /esda/objects.inv (Caused by ProxyError('Cannot connect to proxy.', 
> NewConnectionError('<urllib3.connection.HTTPSConnection object at 
> 0x7f31836e3c90>: Failed to establish a new connection: [Errno 111] Connection 
> refused')))
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'https://networkx.org/documentation/stable/objects.inv' 
> not fetchable due to <class 'requests.exceptions.ProxyError'>: 
> HTTPSConnectionPool(host='networkx.org', port=443): Max retries exceeded with 
> url: /documentation/stable/objects.inv (Caused by ProxyError('Cannot connect 
> to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 
> 0x7f3183533ad0>: Failed to establish a new connection: [Errno 111] Connection 
> refused')))
> loading intersphinx inventory from https://numpy.org/doc/stable/objects.inv...
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'https://geopandas.org/en/latest/objects.inv' not 
> fetchable due to <class 'requests.exceptions.ProxyError'>: 
> HTTPSConnectionPool(host='geopandas.org', port=443): Max retries exceeded 
> with url: /en/latest/objects.inv (Caused by ProxyError('Cannot connect to 
> proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 
> 0x7f31836e0710>: Failed to establish a new connection: [Errno 111] Connection 
> refused')))
> loading intersphinx inventory from 
> https://pandas.pydata.org/pandas-docs/stable/objects.inv...
> loading intersphinx inventory from https://pysal.org/pointpats/objects.inv...
> loading intersphinx inventory from https://docs.python.org/3.11/objects.inv...
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'https://matplotlib.org/stable/objects.inv' not 
> fetchable due to <class 'requests.exceptions.ProxyError'>: 
> HTTPSConnectionPool(host='matplotlib.org', port=443): Max retries exceeded 
> with url: /stable/objects.inv (Caused by ProxyError('Cannot connect to 
> proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 
> 0x7f3183529dd0>: Failed to establish a new connection: [Errno 111] Connection 
> refused')))
> loading intersphinx inventory from 
> https://docs.scipy.org/doc/scipy/objects.inv...
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 
> 'https://pandas.pydata.org/pandas-docs/stable/objects.inv' not fetchable due 
> to <class 'requests.exceptions.ProxyError'>: 
> HTTPSConnectionPool(host='pandas.pydata.org', port=443): Max retries exceeded 
> with url: /pandas-docs/stable/objects.inv (Caused by ProxyError('Cannot 
> connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection 
> object at 0x7f31838c01d0>: Failed to establish a new connection: [Errno 111] 
> Connection refused')))
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'https://pysal.org/libpysal/objects.inv' not fetchable 
> due to <class 'requests.exceptions.ProxyError'>: 
> HTTPSConnectionPool(host='pysal.org', port=443): Max retries exceeded with 
> url: /libpysal/objects.inv (Caused by ProxyError('Cannot connect to proxy.', 
> NewConnectionError('<urllib3.connection.HTTPSConnection object at 
> 0x7f31838e3810>: Failed to establish a new connection: [Errno 111] Connection 
> refused')))
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'https://docs.python.org/3.11/objects.inv' not 
> fetchable due to <class 'requests.exceptions.ProxyError'>: 
> HTTPSConnectionPool(host='docs.python.org', port=443): Max retries exceeded 
> with url: /3.11/objects.inv (Caused by ProxyError('Cannot connect to proxy.', 
> NewConnectionError('<urllib3.connection.HTTPSConnection object at 
> 0x7f3183870750>: Failed to establish a new connection: [Errno 111] Connection 
> refused')))
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'https://numpy.org/doc/stable/objects.inv' not 
> fetchable due to <class 'requests.exceptions.ProxyError'>: 
> HTTPSConnectionPool(host='numpy.org', port=443): Max retries exceeded with 
> url: /doc/stable/objects.inv (Caused by ProxyError('Cannot connect to 
> proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 
> 0x7f31834ea090>: Failed to establish a new connection: [Errno 111] Connection 
> refused')))
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'https://docs.scipy.org/doc/scipy/objects.inv' not 
> fetchable due to <class 'requests.exceptions.ProxyError'>: 
> HTTPSConnectionPool(host='docs.scipy.org', port=443): Max retries exceeded 
> with url: /doc/scipy/objects.inv (Caused by ProxyError('Cannot connect to 
> proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 
> 0x7f3183870d90>: Failed to establish a new connection: [Errno 111] Connection 
> refused')))
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'https://pysal.org/pointpats/objects.inv' not fetchable 
> due to <class 'requests.exceptions.ProxyError'>: 
> HTTPSConnectionPool(host='pysal.org', port=443): Max retries exceeded with 
> url: /pointpats/objects.inv (Caused by ProxyError('Cannot connect to proxy.', 
> NewConnectionError('<urllib3.connection.HTTPSConnection object at 
> 0x7f31834e9c50>: Failed to establish a new connection: [Errno 111] Connection 
> refused')))
> building [mo]: targets for 0 po files that are out of date
> building [html]: targets for 5 source files that are out of date
> updating environment: [new config] 13 added, 0 changed, 0 removed
> reading sources... [  7%] api
> reading sources... [ 15%] generated/spaghetti.Network
> reading sources... [ 23%] generated/spaghetti.PointPattern
> reading sources... [ 30%] generated/spaghetti.element_as_gdf
> reading sources... [ 38%] generated/spaghetti.extract_component
> reading sources... [ 46%] generated/spaghetti.network.Network.loadnetwork
> reading sources... [ 53%] generated/spaghetti.network.Network.savenetwork
> reading sources... [ 61%] generated/spaghetti.regular_lattice
> reading sources... [ 69%] generated/spaghetti.spanning_tree
> reading sources... [ 76%] index
> reading sources... [ 84%] installation
> reading sources... [ 92%] references
> reading sources... [100%] tutorials
> 
> /<<PKGBUILDDIR>>/docs/tutorials.rst:7: WARNING: toctree contains reference to 
> nonexisting document 'notebooks/quickstart'
> /<<PKGBUILDDIR>>/docs/tutorials.rst:7: WARNING: toctree contains reference to 
> nonexisting document 'notebooks/pointpattern-attributes'
> /<<PKGBUILDDIR>>/docs/tutorials.rst:7: WARNING: toctree contains reference to 
> nonexisting document 'notebooks/connected-components'
> /<<PKGBUILDDIR>>/docs/tutorials.rst:7: WARNING: toctree contains reference to 
> nonexisting document 'notebooks/shortest-path-visualization'
> /<<PKGBUILDDIR>>/docs/tutorials.rst:16: WARNING: toctree contains reference 
> to nonexisting document 'notebooks/network-segmentation'
> /<<PKGBUILDDIR>>/docs/tutorials.rst:16: WARNING: toctree contains reference 
> to nonexisting document 'notebooks/network-spatial-dependence'
> /<<PKGBUILDDIR>>/docs/tutorials.rst:16: WARNING: toctree contains reference 
> to nonexisting document 'notebooks/network-spatial-weights'
> /<<PKGBUILDDIR>>/docs/tutorials.rst:16: WARNING: toctree contains reference 
> to nonexisting document 'notebooks/spanning-trees'
> /<<PKGBUILDDIR>>/docs/tutorials.rst:16: WARNING: toctree contains reference 
> to nonexisting document 'notebooks/caveats'
> /<<PKGBUILDDIR>>/docs/tutorials.rst:26: WARNING: toctree contains reference 
> to nonexisting document 'notebooks/network-spatial-autocorrelation'
> /<<PKGBUILDDIR>>/docs/tutorials.rst:26: WARNING: toctree contains reference 
> to nonexisting document 'notebooks/facility-location'
> /<<PKGBUILDDIR>>/docs/tutorials.rst:26: WARNING: toctree contains reference 
> to nonexisting document 'notebooks/transportation-problem'
> /<<PKGBUILDDIR>>/docs/tutorials.rst:26: WARNING: toctree contains reference 
> to nonexisting document 'notebooks/tsp'
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... done
> preparing documents... done
> writing output... [  7%] api
> writing output... [ 15%] generated/spaghetti.Network
> writing output... [ 23%] generated/spaghetti.PointPattern
> writing output... [ 30%] generated/spaghetti.element_as_gdf
> writing output... [ 38%] generated/spaghetti.extract_component
> writing output... [ 46%] generated/spaghetti.network.Network.loadnetwork
> writing output... [ 53%] generated/spaghetti.network.Network.savenetwork
> writing output... [ 61%] generated/spaghetti.regular_lattice
> writing output... [ 69%] generated/spaghetti.spanning_tree
> writing output... [ 76%] index
> writing output... [ 84%] installation
> writing output... [ 92%] references
> writing output... [100%] tutorials
> 
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:9: WARNING: term not in glossary: 'python:iterable'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:19: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:23: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:27: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:32: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:198: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:241: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:18: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:24: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:29: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:4: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:11: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:8: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:11: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:18: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:21: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:17: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:26: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:32: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:24: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.Network:10: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.PointPattern:27: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.PointPattern:66: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.element_as_gdf:10: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.element_as_gdf:13: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.element_as_gdf:21: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.extract_component:9: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.regular_lattice:14: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.spanning_tree:14: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> /<<PKGBUILDDIR>>/spaghetti/network.py:docstring of 
> spaghetti.network.spanning_tree:19: WARNING: undefined label: 
> 'python:bltin-boolean-values'
> generating indices... genindex done
> highlighting module code... [100%] spaghetti.network
> 
> writing additional pages... search done
> copying images... [ 50%] _static/images/ardc_logo.png
> copying images... [100%] _static/images/nsf_logo.png
> 
> copying static files... done
> copying extra files... done
> dumping search index in English (code: en)... done
> dumping object inventory... done
> build succeeded, 53 warnings.
> 
> The HTML pages are in debian/html.
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:310: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_spaghetti/build; python3.11 -m pytest 
> /<<PKGBUILDDIR>>/spaghetti/tests/
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.6, pytest-7.4.3, pluggy-1.3.0
> rootdir: /<<PKGBUILDDIR>>
> plugins: cov-4.1.0, xdist-3.3.1, timeout-2.2.0
> collected 54 items
> 
> ../../../spaghetti/tests/test_network.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE [ 
> 57%]
> EEEEEEEEEEEEEE.FFFF....                                                  
> [100%]
> 
> ==================================== ERRORS 
> ====================================
> _____________ ERROR at setup of TestNetwork.test_network_data_read 
> _____________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1f2e23d0>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> _______ ERROR at setup of TestNetwork.test_network_from_libpysal_chains 
> ________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd197d0>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ____ ERROR at setup of TestNetwork.test_network_from_single_libpysal_chain 
> _____
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd192d0>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ___ ERROR at setup of TestNetwork.test_network_from_vertical_libpysal_chains 
> ___
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd1a390>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> _____________ ERROR at setup of TestNetwork.test_network_failures 
> ______________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd1aa50>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> __________ ERROR at setup of TestNetwork.test_network_from_geopandas 
> ___________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd1b5d0>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> _________________ ERROR at setup of TestNetwork.test_round_sig 
> _________________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd1b810>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ________________ ERROR at setup of TestNetwork.test_vertex_atol 
> ________________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd1bf90>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ____________ ERROR at setup of TestNetwork.test_contiguity_weights 
> _____________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd000d0>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ________________ ERROR at setup of TestNetwork.test_components 
> _________________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd00950>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ___________ ERROR at setup of TestNetwork.test_connected_components 
> ____________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd016d0>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ___________ ERROR at setup of TestNetwork.test_distance_band_weights 
> ___________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd03850>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ____________ ERROR at setup of TestNetwork.test_split_arcs_dist_200 
> ____________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd01a10>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ___________ ERROR at setup of TestNetwork.test_split_arcs_dist_1000 
> ____________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd02290>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> __ ERROR at setup of TestNetwork.test_split_arcs_dist_ntw_from_lattice_ring_2 
> __
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd031d0>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> __ ERROR at setup of TestNetwork.test_split_arcs_dist_ntw_from_lattice_ring_3 
> __
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd03e10>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> __ ERROR at setup of TestNetwork.test_split_arcs_dist_ntw_from_lattice_ring_5 
> __
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd19550>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ____________ ERROR at setup of TestNetwork.test_split_arcs_count_2 
> _____________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd03f90>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ____________ ERROR at setup of TestNetwork.test_split_arcs_count_1 
> _____________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd02dd0>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ___________ ERROR at setup of TestNetwork.test_split_arcs_count_half 
> ___________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd01e50>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ________ ERROR at setup of TestNetwork.test_split_arcs_count_1_and_half 
> ________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dd03d50>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ____________ ERROR at setup of TestNetwork.test_split_arcs_misspell 
> ____________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dcfb350>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> _____________ ERROR at setup of TestNetwork.test_enum_links_vertex 
> _____________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dcfa7d0>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ______________ ERROR at setup of TestNetwork.test_shortest_paths 
> _______________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dcfb510>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> _____________ ERROR at setup of TestNetwork.test_extract_component 
> _____________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dcfbf90>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> _______________ ERROR at setup of TestNetwork.test_spanning_tree 
> _______________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dcf9550>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ______________ ERROR at setup of TestNetwork.test_element_as_gdf 
> _______________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dcf8450>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ______________ ERROR at setup of TestNetwork.test_regular_lattice 
> ______________
> 
> self = <spaghetti.tests.test_network.TestNetwork object at 0x7efc1dcf8c50>
> 
>     def setup_method(self):
>         # empirical network instantiated from shapefile
>         self.ntw_shp = spaghetti.Network(in_data=STREETS, weightings=True)
>         self.n_known_shp_arcs, self.n_known_shp_vertices = 303, 230
>     
>         # native pysal geometries
>         self.chains_from_shp = [
>             cg.Chain([cg.Point(self.ntw_shp.vertex_coords[vertex]) for vertex 
> in arc])
> >           for arc in self.ntw_shp.arcs
>         ]
> E       AttributeError: 'Network' object has no attribute 'arcs'
> 
> ../../../spaghetti/tests/test_network.py:101: AttributeError
> ____ ERROR at setup of TestNetworkPointPattern.test_pp_from_libpysal_points 
> ____
> 
> self = <spaghetti.tests.test_network.TestNetworkPointPattern object at 
> 0x7efc1dcf98d0>
> 
>     def setup_method(self):
>         self.ntw = spaghetti.Network(in_data=STREETS)
>         self.obs = [schools, crimes]
>         self.OBS = [SCHOOLS, CRIMES]
>         self.idxs = ["pp1", "pp2"]
>         iterator = zip(self.obs, self.OBS, self.idxs)
>         for obs, OBS, idx in iterator:
> >           self.ntw.snapobservations(OBS, obs, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:570: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1de6a710>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> _ ERROR at setup of 
> TestNetworkPointPattern.test_pp_from_single_libpysal_point _
> 
> self = <spaghetti.tests.test_network.TestNetworkPointPattern object at 
> 0x7efc1dcfa2d0>
> 
>     def setup_method(self):
>         self.ntw = spaghetti.Network(in_data=STREETS)
>         self.obs = [schools, crimes]
>         self.OBS = [SCHOOLS, CRIMES]
>         self.idxs = ["pp1", "pp2"]
>         iterator = zip(self.obs, self.OBS, self.idxs)
>         for obs, OBS, idx in iterator:
> >           self.ntw.snapobservations(OBS, obs, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:570: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1def4150>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> __________ ERROR at setup of TestNetworkPointPattern.test_pp_failures 
> __________
> 
> self = <spaghetti.tests.test_network.TestNetworkPointPattern object at 
> 0x7efc1dcd8310>
> 
>     def setup_method(self):
>         self.ntw = spaghetti.Network(in_data=STREETS)
>         self.obs = [schools, crimes]
>         self.OBS = [SCHOOLS, CRIMES]
>         self.idxs = ["pp1", "pp2"]
>         iterator = zip(self.obs, self.OBS, self.idxs)
>         for obs, OBS, idx in iterator:
> >           self.ntw.snapobservations(OBS, obs, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:570: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1de5c1d0>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> _______ ERROR at setup of TestNetworkPointPattern.test_pp_from_geopandas 
> _______
> 
> self = <spaghetti.tests.test_network.TestNetworkPointPattern object at 
> 0x7efc1dcd8dd0>
> 
>     def setup_method(self):
>         self.ntw = spaghetti.Network(in_data=STREETS)
>         self.obs = [schools, crimes]
>         self.OBS = [SCHOOLS, CRIMES]
>         self.idxs = ["pp1", "pp2"]
>         iterator = zip(self.obs, self.OBS, self.idxs)
>         for obs, OBS, idx in iterator:
> >           self.ntw.snapobservations(OBS, obs, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:570: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1df05d90>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> _______ ERROR at setup of TestNetworkPointPattern.test_add_point_pattern 
> _______
> 
> self = <spaghetti.tests.test_network.TestNetworkPointPattern object at 
> 0x7efc1dcdbb10>
> 
>     def setup_method(self):
>         self.ntw = spaghetti.Network(in_data=STREETS)
>         self.obs = [schools, crimes]
>         self.OBS = [SCHOOLS, CRIMES]
>         self.idxs = ["pp1", "pp2"]
>         iterator = zip(self.obs, self.OBS, self.idxs)
>         for obs, OBS, idx in iterator:
> >           self.ntw.snapobservations(OBS, obs, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:570: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1df83710>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> ____ ERROR at setup of TestNetworkPointPattern.test_count_per_link_network 
> _____
> 
> self = <spaghetti.tests.test_network.TestNetworkPointPattern object at 
> 0x7efc1dcd9490>
> 
>     def setup_method(self):
>         self.ntw = spaghetti.Network(in_data=STREETS)
>         self.obs = [schools, crimes]
>         self.OBS = [SCHOOLS, CRIMES]
>         self.idxs = ["pp1", "pp2"]
>         iterator = zip(self.obs, self.OBS, self.idxs)
>         for obs, OBS, idx in iterator:
> >           self.ntw.snapobservations(OBS, obs, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:570: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1decb310>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> _____ ERROR at setup of TestNetworkPointPattern.test_count_per_edge_graph 
> ______
> 
> self = <spaghetti.tests.test_network.TestNetworkPointPattern object at 
> 0x7efc1dcd99d0>
> 
>     def setup_method(self):
>         self.ntw = spaghetti.Network(in_data=STREETS)
>         self.obs = [schools, crimes]
>         self.OBS = [SCHOOLS, CRIMES]
>         self.idxs = ["pp1", "pp2"]
>         iterator = zip(self.obs, self.OBS, self.idxs)
>         for obs, OBS, idx in iterator:
> >           self.ntw.snapobservations(OBS, obs, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:570: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1dce6c90>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> _ ERROR at setup of 
> TestNetworkPointPattern.test_simulate_uniform_observations _
> 
> self = <spaghetti.tests.test_network.TestNetworkPointPattern object at 
> 0x7efc1dcda290>
> 
>     def setup_method(self):
>         self.ntw = spaghetti.Network(in_data=STREETS)
>         self.obs = [schools, crimes]
>         self.OBS = [SCHOOLS, CRIMES]
>         self.idxs = ["pp1", "pp2"]
>         iterator = zip(self.obs, self.OBS, self.idxs)
>         for obs, OBS, idx in iterator:
> >           self.ntw.snapobservations(OBS, obs, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:570: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1ef826d0>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> _ ERROR at setup of 
> TestNetworkPointPattern.test_simulate_unsupported_distribution_observations _
> 
> self = <spaghetti.tests.test_network.TestNetworkPointPattern object at 
> 0x7efc1dcdb310>
> 
>     def setup_method(self):
>         self.ntw = spaghetti.Network(in_data=STREETS)
>         self.obs = [schools, crimes]
>         self.OBS = [SCHOOLS, CRIMES]
>         self.idxs = ["pp1", "pp2"]
>         iterator = zip(self.obs, self.OBS, self.idxs)
>         for obs, OBS, idx in iterator:
> >           self.ntw.snapobservations(OBS, obs, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:570: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1dfb9050>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> ____ ERROR at setup of TestNetworkPointPattern.test_all_neighbor_distances 
> _____
> 
> self = <spaghetti.tests.test_network.TestNetworkPointPattern object at 
> 0x7efc1dcfa150>
> 
>     def setup_method(self):
>         self.ntw = spaghetti.Network(in_data=STREETS)
>         self.obs = [schools, crimes]
>         self.OBS = [SCHOOLS, CRIMES]
>         self.idxs = ["pp1", "pp2"]
>         iterator = zip(self.obs, self.OBS, self.idxs)
>         for obs, OBS, idx in iterator:
> >           self.ntw.snapobservations(OBS, obs, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:570: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1e25a310>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> _ ERROR at setup of 
> TestNetworkPointPattern.test_all_neighbor_distances_multiproccessing _
> 
> self = <spaghetti.tests.test_network.TestNetworkPointPattern object at 
> 0x7efc1dcf8fd0>
> 
>     def setup_method(self):
>         self.ntw = spaghetti.Network(in_data=STREETS)
>         self.obs = [schools, crimes]
>         self.OBS = [SCHOOLS, CRIMES]
>         self.idxs = ["pp1", "pp2"]
>         iterator = zip(self.obs, self.OBS, self.idxs)
>         for obs, OBS, idx in iterator:
> >           self.ntw.snapobservations(OBS, obs, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:570: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1dddb090>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> __ ERROR at setup of TestNetworkPointPattern.test_nearest_neighbor_distances 
> ___
> 
> self = <spaghetti.tests.test_network.TestNetworkPointPattern object at 
> 0x7efc1dd01fd0>
> 
>     def setup_method(self):
>         self.ntw = spaghetti.Network(in_data=STREETS)
>         self.obs = [schools, crimes]
>         self.OBS = [SCHOOLS, CRIMES]
>         self.idxs = ["pp1", "pp2"]
>         iterator = zip(self.obs, self.OBS, self.idxs)
>         for obs, OBS, idx in iterator:
> >           self.ntw.snapobservations(OBS, obs, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:570: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1e21ebd0>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> ________ ERROR at setup of TestNetworkPointPattern.test_element_as_gdf 
> _________
> 
> self = <spaghetti.tests.test_network.TestNetworkPointPattern object at 
> 0x7efc1dcdaf50>
> 
>     def setup_method(self):
>         self.ntw = spaghetti.Network(in_data=STREETS)
>         self.obs = [schools, crimes]
>         self.OBS = [SCHOOLS, CRIMES]
>         self.idxs = ["pp1", "pp2"]
>         iterator = zip(self.obs, self.OBS, self.idxs)
>         for obs, OBS, idx in iterator:
> >           self.ntw.snapobservations(OBS, obs, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:570: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1dd00510>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> _______ ERROR at setup of TestNetworkAnalysis.test_global_auto_k_uniform 
> _______
> 
> self = <spaghetti.tests.test_network.TestNetworkAnalysis object at 
> 0x7efc1dcd92d0>
> 
>     def setup_method(self):
>         # synthetic test data
>         bounds, h, v = (0, 0, 3, 3), 2, 2
>         lattice = spaghetti.regular_lattice(bounds, h, nv=v, exterior=True)
>         self.ntw = spaghetti.Network(in_data=lattice)
>         chains = [
>             cg.Chain(
>                 [
>                     cg.Point(self.ntw.vertex_coords[p1]),
>                     cg.Point(self.ntw.vertex_coords[p2]),
>                 ]
>             )
>             for (p1, p2) in self.ntw.arcs
>         ]
>         midpoints = []
>         for chain in chains:
>             (v1x, v1y), (v2x, v2y) = chain.vertices
>             mid = cg.Point(((v1x + v2x) / 2.0, (v1y + v2y) / 2.0))
>             midpoints.append(mid)
>         self.mids = "mids"
>         self.ntw.snapobservations(midpoints, self.mids)
>         self.test_permutations = 99
>         self.test_steps = 10
>     
>         # empirical test_data
>         self.ntw_shp = spaghetti.Network(in_data=STREETS)
> >       self.ntw_shp.snapobservations(CRIMES, crimes, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:814: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1e013e50>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> _ ERROR at setup of 
> TestNetworkAnalysis.test_global_auto_k_unsupported_distribution _
> 
> self = <spaghetti.tests.test_network.TestNetworkAnalysis object at 
> 0x7efc1dcd9c10>
> 
>     def setup_method(self):
>         # synthetic test data
>         bounds, h, v = (0, 0, 3, 3), 2, 2
>         lattice = spaghetti.regular_lattice(bounds, h, nv=v, exterior=True)
>         self.ntw = spaghetti.Network(in_data=lattice)
>         chains = [
>             cg.Chain(
>                 [
>                     cg.Point(self.ntw.vertex_coords[p1]),
>                     cg.Point(self.ntw.vertex_coords[p2]),
>                 ]
>             )
>             for (p1, p2) in self.ntw.arcs
>         ]
>         midpoints = []
>         for chain in chains:
>             (v1x, v1y), (v2x, v2y) = chain.vertices
>             mid = cg.Point(((v1x + v2x) / 2.0, (v1y + v2y) / 2.0))
>             midpoints.append(mid)
>         self.mids = "mids"
>         self.ntw.snapobservations(midpoints, self.mids)
>         self.test_permutations = 99
>         self.test_steps = 10
>     
>         # empirical test_data
>         self.ntw_shp = spaghetti.Network(in_data=STREETS)
> >       self.ntw_shp.snapobservations(CRIMES, crimes, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:814: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1df83550>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> ___________ ERROR at setup of TestNetworkAnalysis.test_moran_network 
> ___________
> 
> self = <spaghetti.tests.test_network.TestNetworkAnalysis object at 
> 0x7efc1dcdb4d0>
> 
>     def setup_method(self):
>         # synthetic test data
>         bounds, h, v = (0, 0, 3, 3), 2, 2
>         lattice = spaghetti.regular_lattice(bounds, h, nv=v, exterior=True)
>         self.ntw = spaghetti.Network(in_data=lattice)
>         chains = [
>             cg.Chain(
>                 [
>                     cg.Point(self.ntw.vertex_coords[p1]),
>                     cg.Point(self.ntw.vertex_coords[p2]),
>                 ]
>             )
>             for (p1, p2) in self.ntw.arcs
>         ]
>         midpoints = []
>         for chain in chains:
>             (v1x, v1y), (v2x, v2y) = chain.vertices
>             mid = cg.Point(((v1x + v2x) / 2.0, (v1y + v2y) / 2.0))
>             midpoints.append(mid)
>         self.mids = "mids"
>         self.ntw.snapobservations(midpoints, self.mids)
>         self.test_permutations = 99
>         self.test_steps = 10
>     
>         # empirical test_data
>         self.ntw_shp = spaghetti.Network(in_data=STREETS)
> >       self.ntw_shp.snapobservations(CRIMES, crimes, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:814: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1dcd9690>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> ____________ ERROR at setup of TestNetworkAnalysis.test_moran_graph 
> ____________
> 
> self = <spaghetti.tests.test_network.TestNetworkAnalysis object at 
> 0x7efc1dcdbd90>
> 
>     def setup_method(self):
>         # synthetic test data
>         bounds, h, v = (0, 0, 3, 3), 2, 2
>         lattice = spaghetti.regular_lattice(bounds, h, nv=v, exterior=True)
>         self.ntw = spaghetti.Network(in_data=lattice)
>         chains = [
>             cg.Chain(
>                 [
>                     cg.Point(self.ntw.vertex_coords[p1]),
>                     cg.Point(self.ntw.vertex_coords[p2]),
>                 ]
>             )
>             for (p1, p2) in self.ntw.arcs
>         ]
>         midpoints = []
>         for chain in chains:
>             (v1x, v1y), (v2x, v2y) = chain.vertices
>             mid = cg.Point(((v1x + v2x) / 2.0, (v1y + v2y) / 2.0))
>             midpoints.append(mid)
>         self.mids = "mids"
>         self.ntw.snapobservations(midpoints, self.mids)
>         self.test_permutations = 99
>         self.test_steps = 10
>     
>         # empirical test_data
>         self.ntw_shp = spaghetti.Network(in_data=STREETS)
> >       self.ntw_shp.snapobservations(CRIMES, crimes, attribute=True)
> 
> ../../../spaghetti/tests/test_network.py:814: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/network.py:1093: in snapobservations
>     self.pointpatterns[name] = PointPattern(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <spaghetti.network.PointPattern object at 0x7efc1e26fa10>, in_data = 
> None
> idvariable = None, attribute = True
> 
>     def __init__(self, in_data=None, idvariable=None, attribute=False):
>         # initialize points dictionary and counter
>         self.points = {}
>         self.npoints = 0
>     
>         # determine input point data type
>         in_dtype = str(type(in_data)).split("'")[1]
>         # flag for points from a shapefile
>         from_shp = False
>         # flag for points as libpysal.cg.Point objects
>         is_libpysal_points = False
>         supported_iterables = ["list", "tuple"]
>         # type error message
>         msg = "'{}' not supported for point pattern instantiation."
>     
>         # set appropriate geometries
>         if in_dtype == "str":
>             from_shp = True
>         elif in_dtype in supported_iterables:
>             dtype = str(type(in_data[0])).split("'")[1]
>             if dtype == "libpysal.cg.shapes.Point":
>                 is_libpysal_points = True
>             else:
>                 raise TypeError(msg.format(dtype))
>         elif in_dtype == "libpysal.cg.shapes.Point":
>             in_data = [in_data]
>             is_libpysal_points = True
>         elif in_dtype == "geopandas.geodataframe.GeoDataFrame":
>             from_shp = False
>         else:
> >           raise TypeError(msg.format(str(in_dtype)))
> E           TypeError: 'NoneType' not supported for point pattern 
> instantiation.
> 
> ../../../spaghetti/network.py:3386: TypeError
> =================================== FAILURES 
> ===================================
> _________________ TestNetworkUtils.test_get_neighbor_distances 
> _________________
> 
> self = <spaghetti.tests.test_network.TestNetworkUtils object at 
> 0x7efc1dce6d10>
> 
>     def test_get_neighbor_distances(self):
>         known_neighs = {1: 102.62353453439829, 2: 660.000001049743}
>         observed_neighs = spaghetti.util.get_neighbor_distances(
> >           self.ntw, 0, self.ntw.arc_lengths
>         )
> E       AttributeError: 'Network' object has no attribute 'arc_lengths'
> 
> ../../../spaghetti/tests/test_network.py:885: AttributeError
> _____________________ TestNetworkUtils.test_generate_tree 
> ______________________
> 
> self = <spaghetti.tests.test_network.TestNetworkUtils object at 
> 0x7efc1dce70d0>
> 
>     def test_generate_tree(self):
>         known_path = [23, 22, 20, 19, 170, 2, 0]
> >       distance, pred = spaghetti.util.dijkstra(self.ntw, 0)
> 
> ../../../spaghetti/tests/test_network.py:892: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> ntw = <spaghetti.network.Network object at 0x7efc1dd22a90>, v0 = 0
> initial_dist = inf
> 
>     def dijkstra(ntw, v0, initial_dist=numpy.inf):
>         """Compute the shortest path between a start vertex and
>         all other vertices in an origin-destination matrix.
>     
>         Parameters
>         ----------
>         ntw :  spaghetti.Network
>             A spaghetti network object.
>         v0 : int
>             Start vertex ID.
>         initial_dist : float
>             Integer break point to stop iteration and return n neighbors.
>             Default is ``numpy.inf``.
>     
>         Returns
>         -------
>         distance : list
>             List of distances from vertex to all other vertices.
>         pred : list
>             List of preceeding vertices for traversal route.
>     
>         Notes
>         -----
>     
>         Based on :cite:`Dijkstra1959a`.
>     
>         Examples
>         --------
>     
>         >>> import spaghetti
>         >>> from libpysal import examples
>         >>> ntw = spaghetti.Network(examples.get_path("streets.shp"))
>         >>> distance, pred = spaghetti.util.dijkstra(ntw, 0)
>         >>> round(distance[196], 4)
>         5505.6682
>         >>> pred[196]
>         133
>     
>         """
>     
>         # cost per arc to travel, e.g. distance
> >       cost = ntw.arc_lengths
> E       AttributeError: 'Network' object has no attribute 'arc_lengths'
> 
> ../../../spaghetti/util.py:200: AttributeError
> ________________________ TestNetworkUtils.test_dijkstra 
> ________________________
> 
> self = <spaghetti.tests.test_network.TestNetworkUtils object at 
> 0x7efc1dce7710>
> 
>     def test_dijkstra(self):
> >       distance, pred = spaghetti.util.dijkstra(self.ntw, 0)
> 
> ../../../spaghetti/tests/test_network.py:897: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> ntw = <spaghetti.network.Network object at 0x7efc1de17150>, v0 = 0
> initial_dist = inf
> 
>     def dijkstra(ntw, v0, initial_dist=numpy.inf):
>         """Compute the shortest path between a start vertex and
>         all other vertices in an origin-destination matrix.
>     
>         Parameters
>         ----------
>         ntw :  spaghetti.Network
>             A spaghetti network object.
>         v0 : int
>             Start vertex ID.
>         initial_dist : float
>             Integer break point to stop iteration and return n neighbors.
>             Default is ``numpy.inf``.
>     
>         Returns
>         -------
>         distance : list
>             List of distances from vertex to all other vertices.
>         pred : list
>             List of preceeding vertices for traversal route.
>     
>         Notes
>         -----
>     
>         Based on :cite:`Dijkstra1959a`.
>     
>         Examples
>         --------
>     
>         >>> import spaghetti
>         >>> from libpysal import examples
>         >>> ntw = spaghetti.Network(examples.get_path("streets.shp"))
>         >>> distance, pred = spaghetti.util.dijkstra(ntw, 0)
>         >>> round(distance[196], 4)
>         5505.6682
>         >>> pred[196]
>         133
>     
>         """
>     
>         # cost per arc to travel, e.g. distance
> >       cost = ntw.arc_lengths
> E       AttributeError: 'Network' object has no attribute 'arc_lengths'
> 
> ../../../spaghetti/util.py:200: AttributeError
> ______________________ TestNetworkUtils.test_dijkstra_mp 
> _______________________
> 
> self = <spaghetti.tests.test_network.TestNetworkUtils object at 
> 0x7efc1dce7dd0>
> 
>     def test_dijkstra_mp(self):
> >       distance, pred = spaghetti.util.dijkstra_mp((self.ntw, 0))
> 
> ../../../spaghetti/tests/test_network.py:902: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../spaghetti/util.py:291: in dijkstra_mp
>     distance, pred = dijkstra(ntw, vertex)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> ntw = <spaghetti.network.Network object at 0x7efc1df238d0>, v0 = 0
> initial_dist = inf
> 
>     def dijkstra(ntw, v0, initial_dist=numpy.inf):
>         """Compute the shortest path between a start vertex and
>         all other vertices in an origin-destination matrix.
>     
>         Parameters
>         ----------
>         ntw :  spaghetti.Network
>             A spaghetti network object.
>         v0 : int
>             Start vertex ID.
>         initial_dist : float
>             Integer break point to stop iteration and return n neighbors.
>             Default is ``numpy.inf``.
>     
>         Returns
>         -------
>         distance : list
>             List of distances from vertex to all other vertices.
>         pred : list
>             List of preceeding vertices for traversal route.
>     
>         Notes
>         -----
>     
>         Based on :cite:`Dijkstra1959a`.
>     
>         Examples
>         --------
>     
>         >>> import spaghetti
>         >>> from libpysal import examples
>         >>> ntw = spaghetti.Network(examples.get_path("streets.shp"))
>         >>> distance, pred = spaghetti.util.dijkstra(ntw, 0)
>         >>> round(distance[196], 4)
>         5505.6682
>         >>> pred[196]
>         133
>     
>         """
>     
>         # cost per arc to travel, e.g. distance
> >       cost = ntw.arc_lengths
> E       AttributeError: 'Network' object has no attribute 'arc_lengths'
> 
> ../../../spaghetti/util.py:200: AttributeError
> =============================== warnings summary 
> ===============================
> ../../../spaghetti/network.py:40
>   /<<PKGBUILDDIR>>/spaghetti/network.py:40: FutureWarning: The next major 
> release of pysal/spaghetti (2.0.0) will drop support for all ``libpysal.cg`` 
> geometries. This change is a first step in refactoring ``spaghetti`` that is 
> expected to result in dramatically reduced runtimes for network instantiation 
> and operations. Users currently requiring network and point pattern input as 
> ``libpysal.cg`` geometries should prepare for this simply by converting to 
> ``shapely`` geometries.
>     warnings.warn(dep_msg, FutureWarning, stacklevel=1)
> 
> ../../../../../../usr/lib/python3/dist-packages/libpysal/cg/shapes.py:103
> spaghetti/tests/test_network.py::TestNetworkAnalysis::test_global_auto_k_uniform
> spaghetti/tests/test_network.py::TestNetworkAnalysis::test_global_auto_k_unsupported_distribution
> spaghetti/tests/test_network.py::TestNetworkAnalysis::test_moran_network
> spaghetti/tests/test_network.py::TestNetworkAnalysis::test_moran_graph
> spaghetti/tests/test_network.py::TestNetworkUtils::test_chain_constr
> spaghetti/tests/test_network.py::TestNetworkUtils::test_build_chains
> spaghetti/tests/test_network.py::TestNetworkUtils::test_snap_points_to_links
>   /usr/lib/python3/dist-packages/libpysal/cg/shapes.py:103: FutureWarning: 
> Objects based on the `Geometry` class will deprecated and removed in a future 
> version of libpysal.
>     warnings.warn(dep_msg, FutureWarning)
> 
> ../../../../../../usr/lib/python3/dist-packages/libpysal/cg/shapes.py:1006
> spaghetti/tests/test_network.py::TestNetworkAnalysis::test_global_auto_k_uniform
> spaghetti/tests/test_network.py::TestNetworkAnalysis::test_global_auto_k_unsupported_distribution
> spaghetti/tests/test_network.py::TestNetworkAnalysis::test_moran_network
> spaghetti/tests/test_network.py::TestNetworkAnalysis::test_moran_graph
> spaghetti/tests/test_network.py::TestNetworkUtils::test_chain_constr
> spaghetti/tests/test_network.py::TestNetworkUtils::test_build_chains
> spaghetti/tests/test_network.py::TestNetworkUtils::test_snap_points_to_links
>   /usr/lib/python3/dist-packages/libpysal/cg/shapes.py:1006: FutureWarning: 
> Objects based on the `Geometry` class will deprecated and removed in a future 
> version of libpysal.
>     warnings.warn(dep_msg, FutureWarning)
> 
> spaghetti/tests/test_network.py::TestNetworkAnalysis::test_global_auto_k_uniform
> spaghetti/tests/test_network.py::TestNetworkAnalysis::test_global_auto_k_unsupported_distribution
> spaghetti/tests/test_network.py::TestNetworkAnalysis::test_moran_network
> spaghetti/tests/test_network.py::TestNetworkAnalysis::test_moran_graph
> spaghetti/tests/test_network.py::TestNetworkUtils::test_snap_points_to_links
>   /usr/lib/python3/dist-packages/libpysal/cg/shapes.py:1923: FutureWarning: 
> Objects based on the `Geometry` class will deprecated and removed in a future 
> version of libpysal.
>     warnings.warn(dep_msg, FutureWarning)
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info 
> ============================
> FAILED 
> ../../../spaghetti/tests/test_network.py::TestNetworkUtils::test_get_neighbor_distances
> FAILED 
> ../../../spaghetti/tests/test_network.py::TestNetworkUtils::test_generate_tree
> FAILED 
> ../../../spaghetti/tests/test_network.py::TestNetworkUtils::test_dijkstra
> FAILED 
> ../../../spaghetti/tests/test_network.py::TestNetworkUtils::test_dijkstra_mp
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_network_data_read
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_network_from_libpysal_chains
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_network_from_single_libpysal_chain
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_network_from_vertical_libpysal_chains
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_network_failures
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_network_from_geopandas
> ERROR ../../../spaghetti/tests/test_network.py::TestNetwork::test_round_sig
> ERROR ../../../spaghetti/tests/test_network.py::TestNetwork::test_vertex_atol
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_contiguity_weights
> ERROR ../../../spaghetti/tests/test_network.py::TestNetwork::test_components
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_connected_components
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_distance_band_weights
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_split_arcs_dist_200
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_split_arcs_dist_1000
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_split_arcs_dist_ntw_from_lattice_ring_2
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_split_arcs_dist_ntw_from_lattice_ring_3
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_split_arcs_dist_ntw_from_lattice_ring_5
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_split_arcs_count_2
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_split_arcs_count_1
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_split_arcs_count_half
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_split_arcs_count_1_and_half
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_split_arcs_misspell
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_enum_links_vertex
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_shortest_paths
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_extract_component
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_spanning_tree
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_element_as_gdf
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetwork::test_regular_lattice
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkPointPattern::test_pp_from_libpysal_points
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkPointPattern::test_pp_from_single_libpysal_point
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkPointPattern::test_pp_failures
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkPointPattern::test_pp_from_geopandas
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkPointPattern::test_add_point_pattern
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkPointPattern::test_count_per_link_network
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkPointPattern::test_count_per_edge_graph
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkPointPattern::test_simulate_uniform_observations
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkPointPattern::test_simulate_unsupported_distribution_observations
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkPointPattern::test_all_neighbor_distances
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkPointPattern::test_all_neighbor_distances_multiproccessing
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkPointPattern::test_nearest_neighbor_distances
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkPointPattern::test_element_as_gdf
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkAnalysis::test_global_auto_k_uniform
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkAnalysis::test_global_auto_k_unsupported_distribution
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkAnalysis::test_moran_network
> ERROR 
> ../../../spaghetti/tests/test_network.py::TestNetworkAnalysis::test_moran_graph
> ============= 4 failed, 5 passed, 22 warnings, 45 errors in 3.76s 
> ==============
> E: pybuild pybuild:395: test: plugin pyproject failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_spaghetti/build; python3.11 -m pytest 
> {dir}/spaghetti/tests/
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 
> returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2023/10/27/spaghetti_1.7.4-2_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20231027;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20231027&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

--- End Message ---
--- Begin Message ---
Bug fixed in version 1.7.6-1

Nilson F. Silva


--- End Message ---

Reply via email to