You first need your
Structure object (for example, imported from a CIF file or constructed manually), then you instantiate your NearNeighbor class, e.g.:
nn = EconNN()
and then you can call it for neighbors of your structure, e.g.
nn.get_bonded_structure(your_structure). The latter returns a
NearNeighbor class itself is not to be called directly, instead it defines a common interface used by all NearNeighbor subclasses like
CrystalNN etc. There is a paper comparing these algorithms: https://doi.org/10.1021/acs.inorgchem.0c02996