# MindsDB Type Infer

<h1 align="center">
	<img width="300" src="https://github.com/mindsdb/mindsdb_native/blob/stable/assets/MindsDBColorPurp@3x.png?raw=true" alt="MindsDB">
	<br>

</h1>
<div align="center">
	<a href="https://github.com/mindsdb/type_infer/actions/workflows/python-package.yml"><img src="https://github.com/mindsdb/type_infer/actions/workflows/python-package.yml/badge.svg?branch=stable" alt="Type Infer workflow"></a>
  <a href="https://www.python.org/downloads/" target="_blank"><img src="https://img.shields.io/badge/python-3.8.x|%203.9.x-brightgreen.svg" alt="Python supported"></a>
  <a href="https://badge.fury.io/py/type-infer"><img src="https://badge.fury.io/py/type-infer.svg" alt="PyPI version" height="18"></a>
<img alt="PyPI - Downloads" src="https://img.shields.io/pypi/dm/type-infer">  
    <a href="https://join.slack.com/t/mindsdbcommunity/shared_invite/zt-o8mrmx3l-5ai~5H66s6wlxFfBMVI6wQ" target="_blank"><img src="https://img.shields.io/badge/slack-@mindsdbcommunity-brightgreen.svg?logo=slack " alt="MindsDB Community"></a>
	</br>
	
  <h3 align="center">
    <a href="https://www.mindsdb.com?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">Website</a>
    <span> | </span>
    <a href="https://mindsdb.github.io/type_infer/">Docs</a>
    <span> | </span>
    <a href="https://join.slack.com/t/mindsdbcommunity/shared_invite/zt-o8mrmx3l-5ai~5H66s6wlxFfBMVI6wQ">Community Slack</a>
    <span> | </span>
    <a href="https://github.com/mindsdb/mindsdb/projects">Contribute</a>
    <span> | </span>
    <a href="https://mindsdb.com/hacktoberfest">Hacktoberfest</a>
  </h3>
  
</div>

Automated type inference for Machine Learning pipelines.


In the context of tabular data, `type_infer` aims for optimal interpretation of each column’s data type for ML use cases. For example, strings with date or time format would be classified as timestamps, or integers as categorical if there is a sufficiently small set of unique values in the column.

# Installation

Install the package easily using pip:

```
pip install type_infer
```
> Note: We recommend using a Python virtual environment.

## Development Environment Setup

To set up a development environment:

1. Clone the repository:
```
git clone https://github.com/mindsdb/type_infer.git
```

2. Navigate to the cloned directory and install in editable mode:
```
cd type_infer
pip install --editable .
```

### Running Tests

Tp run unit tests execute:
```
python -m unittest discover tests
```

## Contributing

We welcome and appreciate contributions from the community! Here's how you can help:

* Report bugs
* Improve documentation
* Solve open issues
* Propose or discuss new features
* Test with your own datasets and provide feedback

# Documentation
<a href="https://mindsdb.github.io/type_infer">Documentation link</a>
