Internal API

These classes and functions are considered internal to GeoEco and not recommended for external use. They are more likely to change than those in the Public API, and are less well documented.

Metaprogramming

To facilitate automated exposure of Python methods as ArcGIS geoprocessing tools, generation of batch processing versions of those methods, validation of method arguments and property values, and generation of documentation, GeoEco has a home-grown framework for tagging modules, classes, and methods with type information and other metadata. We developed this in the 2000s, prior to more modern initiatives, but it has held up reasonably well for our purposes, so we haven’t sought to update it.

GeoEco.BatchProcessing

Utility classes used by other GeoEco classes to implement batch processing versions of their methods.

GeoEco.Dependencies

Classes for declaring and checking dependencies on other software in MethodMetadata and ArgumentMetadata.

GeoEco.Metadata

Classes used to describe the modules, classes, properties, and methods in the GeoEco Python package.

GeoEco.Types

Classes used to describe and validate property values, method arguments, and return values.

Interoperability

GeoEco uses these modules to access functionality provided by various major software frameworks. See also the GeoEco.Datasets module.

GeoEco.ArcGIS

Utility functions for interacting with ESRI ArcGIS software.

GeoEco.Matlab

Classes that wrap GeoEco functions written in MATLAB and expose them as Python functions.

Utilities

These utility modules are used across GeoEco’s codebase.

GeoEco.Exceptions

Defines the base class for all exceptions defined by the GeoEco package.

GeoEco.Logging

Classes and functions that the GeoEco package uses to report activity to the user.