Metadata-Version: 2.1
Name: explainable-exceptions
Version: 1.0.2
Summary: A Python module to explain exceptions in execution-time using a magic cell
Home-page: https://github.com/ruescog/explainable-exceptions
Author: ruescog
Author-email: ruescog@unirioja.es
License: Apache Software License 2.0
Description: explainable-exceptions
        ================
        
        <!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->
        
        Artificial Intelligence is being used in several fields, including
        computer engineering and programming.
        
        During this work, we pretend to facilitate the process of programming as
        much as possible adding the option to use a NLP (Natural Language
        Processing) model to help the user to understand and solve the
        exceptions that may appear while programming.
        
        As simple as using a magic cell, the user will be able to send the
        exception to the [huggingface chat](https://huggingface.co/chat/) and
        obtain a possible solution to solve the exception. In this process, the
        user must be logged in his huggingchat account. Credentials can be saved
        to be requested only once.
        
        After receiving the response, the user will be able to request another
        response if the given one is not helpful enough.
        
        ## Install
        
        To install `explainable_exceptions` you must use the following pip
        command:
        
        ``` sh
        pip install explainable_exceptions
        ```
        
        ## How to use
        
        In order to use the magic cell, we need to import it from the `core` of
        `explainable_exceptions`. The cell is called
        [`explain`](https://ruescog.github.io/explainable-exceptions/core.html#explain).
        
        After that, we can label cells using the magic cell command (%%). We can
        provide a huggingchat user or we can just use the command (if there are
        not credentials, then it will ask to generate them).
        
        If an exception is raised inside a magic cell, it will be sent to the
        huggingchat model to generate a possible solution. This response will be
        shown by the jupyter standard output.
        
        ``` python
        from explainable_exceptions.core import explain
        ```
        
        A usage example could be:
        
        ``` javascript
        %%explain `username`
        
        import random
        random.choice([])
        ```
        
        Where `username` must be replaced (if provided) by the username of the
        huggingchat account that will be used to request information.
        
        ``` python
        #%%explain ruescog
        
        import random
        random.choice([])
        ```
        
            CRITICAL:root:Traceback (most recent call last):
              File "/home/ruescog/explainable-exceptions/explainable_exceptions/core.py", line 81, in explain
                exec(cell, globals(), local_ns)
              File "<string>", line 5, in <module>
              File "/grupoa/config/miniconda3/lib/python3.8/random.py", line 290, in choice
                raise IndexError('Cannot choose from an empty sequence') from None
            IndexError: Cannot choose from an empty sequence
        
            WARNING:root:Be careful, the following response has been generated automatically by a Natural Language Processing Model, so the answer may be incorrect or false.
        
        ## Huggingchat response [(online version)](https://huggingface.co/chat):
        
        *That error is raised by `random.choice()` function which is used for
        generating random elements from iterables like lists, strings etc., and
        it seems that there might be no element available to pick from.* *To fix
        the issue you need to ensure that either pass some argument to the
        function or check if any item exists before calling the function on that
        object.* *You can refer to python documentation for more details :
        [Random
        Functions](https://docs.python.org/3/library/random.html#random-functions)
        . In case you face similar issues please feel free to ask me , i am here
        to help you :) . Also I am just starting so would love if you could rate
        interact with me as well.*
        
        ------------------------------------------------------------------------
        
        
            Do you need another answer? (y/n) n
        
            IndexError: Cannot choose from an empty sequence
        
Keywords: nbdev jupyter notebook python
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Provides-Extra: dev
