Main Interface

class doppel.PackageAPI(pkg_dict)

Package API class

This class is used to hold the interface of a given package being analyzed by doppel. It’s comparison operators enable comparison between interfaces and its standard JSON format allows this comparison to happen across programming languages.

class_names()
classmethod from_json(filename)

Instantiate a Package object from a file.

Parameters

filename (str) – Name of the JSON file that contains the description of the target package’s API.

function_names()
functions_with_args()
name()
num_classes()
num_functions()
public_method_args(class_name, method_name)
public_methods(class_name)
class doppel.PackageCollection(packages)
all_classes()

List of all classes that exist in at least one of the packages.

Return type

List[str]

all_functions()

List of all functions that exist in at least one of the packages.

Return type

List[str]

non_shared_classes()

List of all classes that are present in at least one but not ALL packages

Return type

List[str]

non_shared_functions()

List of all functions that are present in at least one but not ALL packages

Return type

List[str]

package_names()
Return type

List[str]

shared_classes()

List of shared classes across all the packages in the collection

Return type

List[str]

shared_functions()

List of shared functions across all the packages in the collection

Return type

List[str]

shared_methods_by_class()

List of public methods in each shared class across all packages

Return type

Dict[str, List[str]]