abacusai.api_class.abstract
===========================

.. py:module:: abacusai.api_class.abstract


Attributes
----------

.. autoapisummary::

   abacusai.api_class.abstract.FIRST_CAP_RE
   abacusai.api_class.abstract.ALL_CAP_RE


Classes
-------

.. autoapisummary::

   abacusai.api_class.abstract.ApiClass
   abacusai.api_class.abstract._ApiClassFactory


Functions
---------

.. autoapisummary::

   abacusai.api_class.abstract._validate_instance
   abacusai.api_class.abstract._get_user_friendly_type_name
   abacusai.api_class.abstract.validate_class_method_annotations
   abacusai.api_class.abstract.validate_constructor_arg_types
   abacusai.api_class.abstract.camel_case
   abacusai.api_class.abstract.upper_snake_case
   abacusai.api_class.abstract.snake_case
   abacusai.api_class.abstract.get_clean_function_source_code
   abacusai.api_class.abstract.get_clean_function_source_code_for_agent
   abacusai.api_class.abstract.get_source_code


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

.. py:data:: FIRST_CAP_RE

.. py:data:: ALL_CAP_RE

.. py:function:: _validate_instance(value, expected_type)

.. py:function:: _get_user_friendly_type_name(typename)

.. py:function:: validate_class_method_annotations(classname=None, friendly_class_name=None)

.. py:function:: validate_constructor_arg_types(friendly_class_name=None)

.. py:function:: camel_case(value)

.. py:function:: upper_snake_case(value)

.. py:function:: snake_case(value)

.. py:function:: get_clean_function_source_code(func)

.. py:function:: get_clean_function_source_code_for_agent(func)

.. py:function:: get_source_code(func)

.. py:class:: ApiClass

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


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


   .. py:attribute:: _upper_snake_case_keys
      :type:  bool
      :value: False



   .. py:attribute:: _support_kwargs
      :type:  bool
      :value: False



   .. py:method:: __post_init__()


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



   .. py:method:: __str__()


   .. py:method:: _repr_html_()


   .. py:method:: __getitem__(item)


   .. py:method:: __setitem__(item, value)


   .. py:method:: _unset_item(item)


   .. py:method:: get(item, default = None)


   .. py:method:: pop(item, default = NotImplemented)


   .. 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
      :value: None



   .. py:attribute:: config_class_key
      :value: None



   .. py:attribute:: config_class_map


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



