:py:mod:`abacusai.api_class`
============================

.. py:module:: abacusai.api_class


Submodules
----------
.. toctree::
   :titlesonly:
   :maxdepth: 1

   abstract/index.rst
   enums/index.rst
   feature_group/index.rst


Package Contents
----------------

Classes
~~~~~~~

.. autoapisummary::

   abacusai.api_class.ApiClass
   abacusai.api_class._ApiClassFactory
   abacusai.api_class.SamplingConfig
   abacusai.api_class.NSamplingConfig
   abacusai.api_class.PercentSamplingConfig
   abacusai.api_class._SamplingConfigFactory




.. py:class:: ApiClass

   Bases: :py:obj:`abc.ABC`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:method:: __post_init__()


   .. py:method:: to_dict()

      Standardizes converting an ApiClass to dictionary.
      Keys of response dictionary are converted to camel case.
      This also validates the fields ( type, value, etc ) received in the dictionary.


   .. py:method:: from_dict(input_dict)
      :classmethod:



.. py:class:: _ApiClassFactory

   Bases: :py:obj:`abc.ABC`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: config_abstract_class

      

   .. py:attribute:: config_class_key

      

   .. py:attribute:: config_class_map

      

   .. py:method:: from_dict(config)
      :classmethod:



.. py:class:: SamplingConfig

   Bases: :py:obj:`abacusai.api_class.abstract.ApiClass`

   An abstract class for the sampling config of a feature group

   .. py:method:: __post_init__()



.. py:class:: NSamplingConfig

   Bases: :py:obj:`SamplingConfig`

   The number of distinct values of the key columns to include in the sample, or number of rows if key columns not specified.

   :param sampling_method: N_SAMPLING
   :type sampling_method: SamplingMethodType
   :param sample_count: The number of rows to include in the sample
   :type sample_count: int
   :param key_columns: The feature(s) to use as the key(s) when sampling
   :type key_columns: list[str]

   .. py:attribute:: sample_count
      :type: int

      

   .. py:attribute:: sampling_method
      :type: abacusai.api_class.enums.SamplingMethodType

      

   .. py:attribute:: key_columns
      :type: List[str]

      

   .. py:method:: __post_init__()



.. py:class:: PercentSamplingConfig

   Bases: :py:obj:`SamplingConfig`

   The fraction of distinct values of the feature group to include in the sample.

   :param sampling_method: PERCENT_SAMPLING
   :type sampling_method: SamplingMethodType
   :param sample_percent: The percentage of the rows to sample
   :type sample_percent: float
   :param key_columns: The feature(s) to use as the key(s) when sampling
   :type key_columns: list[str]

   .. py:attribute:: sample_percent
      :type: float

      

   .. py:attribute:: sampling_method
      :type: abacusai.api_class.enums.SamplingMethodType

      

   .. py:attribute:: key_columns
      :type: List[str]

      

   .. py:method:: __post_init__()



.. py:class:: _SamplingConfigFactory

   Bases: :py:obj:`abacusai.api_class.abstract._ApiClassFactory`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: config_abstract_class

      

   .. py:attribute:: config_class_key
      :value: 'sampling_method'

      

   .. py:attribute:: config_class_map

      


