abacusai.api_class.project
==========================

.. py:module:: abacusai.api_class.project


Classes
-------

.. autoapisummary::

   abacusai.api_class.project.FeatureMappingConfig
   abacusai.api_class.project.ProjectFeatureGroupTypeMappingsConfig
   abacusai.api_class.project.ConstraintConfig
   abacusai.api_class.project.ProjectFeatureGroupConfig
   abacusai.api_class.project.ConstraintProjectFeatureGroupConfig
   abacusai.api_class.project.ReviewModeProjectFeatureGroupConfig
   abacusai.api_class.project._ProjectFeatureGroupConfigFactory


Module Contents
---------------

.. py:class:: FeatureMappingConfig

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


   Feature mapping configuration for a feature group type.

   :param feature_name: The name of the feature in the feature group.
   :type feature_name: str
   :param feature_mapping: The desired feature mapping for the feature.
   :type feature_mapping: str
   :param nested_feature_name: The name of the nested feature in the feature group.
   :type nested_feature_name: str


   .. py:attribute:: feature_name
      :type:  str


   .. py:attribute:: feature_mapping
      :type:  str


   .. py:attribute:: nested_feature_name
      :type:  str


.. py:class:: ProjectFeatureGroupTypeMappingsConfig

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


   Project feature group type mappings.

   :param feature_group_id: The unique identifier for the feature group.
   :type feature_group_id: str
   :param feature_group_type: The feature group type.
   :type feature_group_type: str
   :param feature_mappings: The feature mappings for the feature group.
   :type feature_mappings: List[FeatureMappingConfig]


   .. py:attribute:: feature_group_id
      :type:  str


   .. py:attribute:: feature_group_type
      :type:  str


   .. py:attribute:: feature_mappings
      :type:  List[FeatureMappingConfig]


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



.. py:class:: ConstraintConfig

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


   Constraint configuration.

   :param constant: The constant value for the constraint.
   :type constant: float
   :param operator: The operator for the constraint. Could be 'EQ', 'LE', 'GE'
   :type operator: str
   :param enforcement: The enforcement for the constraint. Could be 'HARD' or 'SOFT'. Default is 'HARD'
   :type enforcement: str
   :param code: The code for the constraint.
   :type code: str
   :param penalty: The penalty for violating the constraint.
   :type penalty: float


   .. py:attribute:: constant
      :type:  float


   .. py:attribute:: operator
      :type:  str


   .. py:attribute:: enforcement
      :type:  Optional[str]


   .. py:attribute:: code
      :type:  Optional[str]


   .. py:attribute:: penalty
      :type:  Optional[float]


.. py:class:: ProjectFeatureGroupConfig

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


   An abstract class for project feature group configuration.


   .. py:attribute:: type
      :type:  abacusai.api_class.enums.ProjectConfigType


   .. py:method:: _get_builder()
      :classmethod:



.. py:class:: ConstraintProjectFeatureGroupConfig

   Bases: :py:obj:`ProjectFeatureGroupConfig`


   Constraint project feature group configuration.

   :param constraints: The constraint for the feature group. Should be a list of one ConstraintConfig.
   :type constraints: List[ConstraintConfig]


   .. py:attribute:: constraints
      :type:  List[ConstraintConfig]


   .. py:method:: __post_init__()


.. py:class:: ReviewModeProjectFeatureGroupConfig

   Bases: :py:obj:`ProjectFeatureGroupConfig`


   Review mode project feature group configuration.

   :param is_review_mode: The review mode for the feature group.
   :type is_review_mode: bool


   .. py:attribute:: is_review_mode
      :type:  bool


   .. py:method:: __post_init__()


.. py:class:: _ProjectFeatureGroupConfigFactory

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


   .. py:attribute:: config_abstract_class


   .. py:attribute:: config_class_key
      :value: 'type'



   .. py:attribute:: config_class_map


