convertme 0.1.4
Simple dataset convertor in Python
License: MIT license
Requires Python: >=3.6
Keywords: convertme

===========================
ConvertMe -- Ayoyoyo Wololo
===========================


.. image:: https://img.shields.io/pypi/v/convertme
        :target: https://pypi.python.org/pypi/convertme

.. image:: https://img.shields.io/github/license/mikulatomas/convertme
        :target: https://opensource.org/licenses/MIT

.. image:: https://github.com/mikulatomas/convertme/actions/workflows/build.yml/badge.svg?branch=master
        :target: https://github.com/mikulatomas/convertme/actions/workflows/build.yml?query=branch%3Amaster

.. image:: https://codecov.io/gh/mikulatomas/convertme/branch/master/graph/badge.svg
        :target: https://codecov.io/gh/mikulatomas/convertme

.. image:: https://img.shields.io/pypi/pyversions/convertme
        :target: https://pypi.python.org/pypi/convertme


Simple dataset convertor in Python. Currently memory hungry in case of large datasets.

.. image:: https://img.youtube.com/vi/Up2eawxvTmg/0.jpg
  :target: https://www.youtube.com/watch?v=Up2eawxvTmg

.. * Documentation: https://convertme.readthedocs.io.


Installation
------------
Install package via ``pip``:

.. code:: bash

        $ pip install convertme

Use the provided CLI:

.. code::

        $ convertme --help
        Usage: convertme [OPTIONS]

        Options:
        -if, --input-format [csv|fimi|cxt|mat|cex]
                                        [required]
        -of, --output-format [csv|fimi|cxt|mat|cex]
                                        [required]
        -i, --input TEXT                Input file, skip it for stdin.
        -o, --output TEXT               Output file, skip it for stdout.
        --input-delimiter TEXT          (CSV) Delimiter of input.  [default: ,]
        --output-delimiter TEXT         (CSV) Delimiter of output.  [default: ,]
        --objects-col INTEGER           (CSV) Index of column with object labels,
                                        typically 0, ignored on default.

        --attributes-row INTEGER        (CSV) Index of row with attribute labels,
                                        typically 0, ignored on default.

        --true-values TEXT              (CSV) Values which will be count as True,
                                        comma separated.

        --help                          Show this message and exit.

Basic usage:
------------
Convert simple ``csv`` file to ``fimi`` format:

.. code:: bash

        $ convertme -i dataset.csv -if=csv -o dataset.fimi -of=fimi

Content of ``dataset.csv``:

.. code:: 

        1,0,1,0
        0,1,0,1

Content of ``dataset.fimi``:

.. code:: 

        0 2
        1 3

Supported formats
-----------------
* csv
* burmeister (.cxt)
* fimi
* matlab (version<=7.3)
* conexp (.cex)

Development
-----------
Clone this repository to the folder, then:

.. code:: bash

        # create virtualenv (optional)
        $ mkvirtualenv convertme -p python3

        #if is not actived (optional)
        $ workon convertme 

        $ pip install -e .

        $ python setup.py test


=======
History
=======

0.1.0 (2020-03-24)
------------------
* Supported formats (csv, burmeister, fimi, matlab (version<=7))
* Basic CLI implemented

0.1.1 (2020-04-7)
-----------------
* Added Conexp format support
* Added support of Python 3.5, 3.6

0.1.2 (2020-04-17)
------------------
* Rewritten to bitarray under the hood (less memory needed)

0.1.3 (2022-08-10)
------------------
* Fimi: attributes are not required to start from zero
* Added support for Python 3.9, 3.10
* Drop support for Python 3.5

0.1.4 (2022-08-10)
------------------
* Fix instalation error