  Many applications, ranging from natural to social sciences, rely on graphlet
analysis for the intuitive and meaningful characterization of networks
employing micro-level structures as building blocks. However, it has not been
thoroughly explored in heterogeneous graphs, which comprise various types of
nodes and edges. Finding graphlets and orbits for heterogeneous graphs is
difficult because of the heterogeneity and abundance of semantic information.
We consider heterogeneous graphs, which can be treated as colored graphs. By
applying the canonical label technique, we determine the graph isomorphism
problem with multiple states on nodes and edges. With minimal parameters, we
build all non-isomorphic graphs and associated orbits. We provide a Python
package that can be used to generate orbits for colored directed graphs and
determine the frequency of orbit occurrence. Finally, we provide four examples
to illustrate the use of the Python package.
