from typing import Optional
from typing import List


def drop_duplicates(df, columns: Optional[List[str]]):
    """
    Remove duplicate rows

    ---

    ### Parameters

    *mandatory :*
    - `columns` (*list*): columns to consider to identify duplicates (set to null to use all the columns)

    ### Example

    **Input**

    | name | country | year |
    |:----:|:-------:|:----:|
    | toto |  France | 2014 |
    | titi | England | 2015 |
    | toto |  France | 2014 |
    | toto |  France | 2016 |


    ```cson
    drop_duplicates:
      columns: null
    ```

    **Output**

    | name | country | year |
    |:----:|:-------:|:----:|
    | toto |  France | 2014 |
    | titi | England | 2015 |
    | toto |  France | 2016 |
    """
    return df.drop_duplicates(columns)