Skip to main content

Component interfaces of the MAMMOth fairness toolkit.

Project description

MAMMOth-commons

Component interfaces of the MAMMOth fairness toolkit.

This package is in the pre-alpha stage.

How to create a new component

Install the latest version of MAMMOth-commons in your virtual environment:

pip install --upgrade MAMMOth-commons

You are now ready to write and deploy a MAMMOth component. Follow these steps - you can find examples below:

  1. Import the necessary dataset or model classes from the mammoth.datasets and mammoth.models namespace respectively. Use them to annotate your method's argument and return types. Type annotations are mandatory for datasets and models.
  2. You may also add keyword arguments that serve as parameters with default values, which don't require annotation.
  3. Don't forget to create a docstring for your component.
  4. Decorate your component with either the @mammoth.integration.metric(version, python="3.11") or the @mammoth.integration.loader(version, python="3.11") decorator. These decorators require at least one argument to denote the component's version.
  5. Create a technical component by running the following command (to run this, also run pip install docker first):
kfp component build . --component-filepattern test.py --no-push-image

Metric decorator

This is how to define a metric component:

from mammoth.datasets import CSV
from mammoth.models import ONNX
from mammoth.exports import Markdown
from typing import Dict, List
from mammoth.integration import metric


@metric(version="v001")
def new_metric(
    dataset: CSV,
    model: ONNX,
    sensitive: List[str],
    parameters: Dict[str, any] = None,
) -> Markdown:
    """Write your metric's description here.
    """
    return Markdown("these are the results")

Loader decorator

This is how to define a dataset or model loader component:

from mammoth.datasets import CSV
from mammoth.integration import loader

@loader(version="v001", python="3.11")
def data_csv_loader(
    path: str,
    delimiter: str = ",",
) -> CSV:
    """This is a CSV loader.
    """
    # load from path given delimiter or other arguments
    return CSV(
        ...  # add arguments here
    )

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

MAMMOth_commons-0.0.4-py3-none-any.whl (6.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page