diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index 69cbd48b..acc60370 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -22,7 +22,7 @@ If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. Ubuntu]
- Python version [e.g. 3.8]
- - Mambular Version [e.g. 0.1.2]
+ - DeepTabular Version [e.g. 1.6.0]
**Additional context**
Add any other context about the problem here.
diff --git a/.github/workflows/pr-tests.yml b/.github/workflows/pr-tests.yml
index 0e878fe3..ba39542f 100644
--- a/.github/workflows/pr-tests.yml
+++ b/.github/workflows/pr-tests.yml
@@ -1,29 +1,37 @@
name: PR Unit Tests
on:
+ workflow_dispatch:
pull_request:
branches:
- develop
- master # Add any other branches where you want to enforce tests
+concurrency:
+ group: pytest-${{ github.head_ref || github.sha }}
+ cancel-in-progress: true
+
jobs:
test:
- runs-on: ubuntu-latest
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ubuntu-latest, windows-latest, macos-latest]
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout Repository
uses: actions/checkout@v4
+ - name: Install Poetry
+ uses: abatilo/actions-poetry@v4
+
- name: Set up Python
uses: actions/setup-python@v4
with:
- python-version: "3.10" # Change this to match your setup
-
- - name: Install Poetry
- run: |
- curl -sSL https://install.python-poetry.org | python3 -
- echo "$HOME/.local/bin" >> $GITHUB_PATH
- export PATH="$HOME/.local/bin:$PATH"
+ python-version: ${{ matrix.python-version }}
+ cache: 'poetry'
- name: Install Dependencies
run: |
@@ -34,12 +42,13 @@ jobs:
- name: Install Package Locally
run: |
poetry build
- pip install dist/*.whl # Install the built package to fix "No module named 'mambular'"
+ pip install dist/*.whl # Install the built package to fix "No module named 'deeptabular'"
- name: Run Unit Tests
env:
PYTHONPATH: ${{ github.workspace }} # Ensure the package is discoverable
- run: pytest tests/
+ run: poetry run pytest tests/
+ shell: bash
- name: Verify Tests Passed
if: ${{ success() }}
diff --git a/README.md b/README.md
index fdea79a4..70651f57 100644
--- a/README.md
+++ b/README.md
@@ -2,24 +2,24 @@
-[](https://pypi.org/project/mambular)
-
-[](https://mambular.readthedocs.io/en/latest/?badge=latest)
-[](https://mambular.readthedocs.io/en/latest/)
-[](https://github.com/basf/mamba-tabular/issues)
+[](https://pypi.org/project/deeptabular)
+
+[](https://deeptabular.readthedocs.io/en/latest/?badge=latest)
+[](https://deeptabular.readthedocs.io/en/latest/)
+[](https://github.com/OpenTabular/DeepTabular/issues)
-[📘Documentation](https://mambular.readthedocs.io/en/latest/index.html) |
-[🛠️Installation](https://mambular.readthedocs.io/en/latest/installation.html) |
-[Models](https://mambular.readthedocs.io/en/latest/api/models/index.html) |
-[🤔Report Issues](https://github.com/basf/mamba-tabular/issues)
+[📘Documentation](https://deeptabular.readthedocs.io/en/latest/index.html) |
+[🛠️Installation](https://deeptabular.readthedocs.io/en/latest/installation.html) |
+[Models](https://deeptabular.readthedocs.io/en/latest/api/models/index.html) |
+[🤔Report Issues](https://github.com/OpenTabular/DeepTabular/issues)
-
Mambular: Tabular Deep Learning Made Simple
+ DeepTabular: Tabular Deep Learning Made Simple
-Mambular is a Python library for tabular deep learning. It includes models that leverage the Mamba (State Space Model) architecture, as well as other popular models like TabTransformer, FTTransformer, TabM and tabular ResNets. Check out our paper `Mambular: A Sequential Model for Tabular Deep Learning`, available [here](https://arxiv.org/abs/2408.06291). Also check out our paper introducing [TabulaRNN](https://arxiv.org/pdf/2411.17207) and analyzing the efficiency of NLP inspired tabular models.
+DeepTabular is a Python library for tabular deep learning. It includes models that leverage the Mamba (State Space Model) architecture, as well as other popular models like TabTransformer, FTTransformer, TabM and tabular ResNets. Check out our paper `Mambular: A Sequential Model for Tabular Deep Learning`, available [here](https://arxiv.org/abs/2408.06291). Also check out our paper introducing [TabulaRNN](https://arxiv.org/pdf/2411.17207) and analyzing the efficiency of NLP inspired tabular models.
⚡ What's New ⚡
@@ -48,10 +48,10 @@ Mambular is a Python library for tabular deep learning. It includes models that
# 🏃 Quickstart
-Similar to any sklearn model, Mambular models can be fit as easy as this:
+Similar to any sklearn model, DeepTabular models can be fit as easy as this:
```python
-from mambular.models import MambularClassifier
+from deeptabular.models import MambularClassifier
# Initialize and fit your model
model = MambularClassifier()
@@ -60,7 +60,7 @@ model.fit(X, y, max_epochs=150, lr=1e-04)
```
# 📖 Introduction
-Mambular is a Python package that brings the power of advanced deep learning architectures to tabular data, offering a suite of models for regression, classification, and distributional regression tasks. Designed with ease of use in mind, Mambular models adhere to scikit-learn's `BaseEstimator` interface, making them highly compatible with the familiar scikit-learn ecosystem. This means you can fit, predict, and evaluate using Mambular models just as you would with any traditional scikit-learn model, but with the added performance and flexibility of deep learning.
+DeepTabular is a Python package that brings the power of advanced deep learning architectures to tabular data, offering a suite of models for regression, classification, and distributional regression tasks. Designed with ease of use in mind, DeepTabular models adhere to scikit-learn's `BaseEstimator` interface, making them highly compatible with the familiar scikit-learn ecosystem. This means you can fit, predict, and evaluate using DeepTabular models just as you would with any traditional scikit-learn model, but with the added performance and flexibility of deep learning.
# 🤖 Models
@@ -94,13 +94,13 @@ Hence, they are available as e.g. `MambularRegressor`, `MambularClassifier` or `
# 📚 Documentation
-You can find the Mamba-Tabular API documentation [here](https://mambular.readthedocs.io/en/latest/).
+You can find the DeepTabular API documentation [here](https://deeptabular.readthedocs.io/en/latest/).
# 🛠️ Installation
-Install Mambular using pip:
+Install DeepTabular using pip:
```sh
-pip install mambular
+pip install deeptabular
```
If you want to use the original mamba and mamba2 implementations, additionally install mamba-ssm via:
@@ -120,7 +120,7 @@ pip install mamba-ssm
Preprocessing
-Mambular uses pretab preprocessing: https://github.com/OpenTabular/PreTab
+DeepTabular uses pretab preprocessing: https://github.com/OpenTabular/PreTab
Hence, datatypes etc. are detected automatically and all preprocessing methods from pretab as well as from Sklearn.preprocessing are available.
Additionally, you can specify that each feature is preprocessed differently, according to your requirements, by setting the `feature_preprocessing={}`argument during model initialization.
@@ -144,10 +144,10 @@ For an overview over all available methods: [pretab](https://github.com/OpenTabu
Fit a Model
-Fitting a model in mambular is as simple as it gets. All models in mambular are sklearn BaseEstimators. Thus the `.fit` method is implemented for all of them. Additionally, this allows for using all other sklearn inherent methods such as their built in hyperparameter optimization tools.
+Fitting a model in deeptabular is as simple as it gets. All models in deeptabular are sklearn BaseEstimators. Thus the `.fit` method is implemented for all of them. Additionally, this allows for using all other sklearn inherent methods such as their built in hyperparameter optimization tools.
```python
-from mambular.models import MambularClassifier
+from deeptabular.models import MambularClassifier
# Initialize and fit your model
model = MambularClassifier(
d_model=64,
@@ -243,12 +243,12 @@ Or use the built-in bayesian hpo simply by running:
best_params = model.optimize_hparams(X, y)
```
-This automatically sets the search space based on the default config from ``mambular.configs``. See the documentation for all params with regard to ``optimize_hparams()``. However, the preprocessor arguments are fixed and cannot be optimized here.
+This automatically sets the search space based on the default config from ``deeptabular.configs``. See the documentation for all params with regard to ``optimize_hparams()``. However, the preprocessor arguments are fixed and cannot be optimized here.
⚖️ Distributional Regression with MambularLSS
-MambularLSS allows you to model the full distribution of a response variable, not just its mean. This is crucial when understanding variability, skewness, or kurtosis is important. All Mambular models are available as distributional models.
+MambularLSS allows you to model the full distribution of a response variable, not just its mean. This is crucial when understanding variability, skewness, or kurtosis is important. All DeepTabular models are available as distributional models.
Key Features of MambularLSS:
@@ -277,10 +277,10 @@ These distribution classes make MambularLSS versatile in modeling various data t
Getting Started with MambularLSS:
-To integrate distributional regression into your workflow with `MambularLSS`, start by initializing the model with your desired configuration, similar to other Mambular models:
+To integrate distributional regression into your workflow with `MambularLSS`, start by initializing the model with your desired configuration, similar to other DeepTabular models:
```python
-from mambular.models import MambularLSS
+from deeptabular.models import MambularLSS
# Initialize the MambularLSS model
model = MambularLSS(
@@ -305,18 +305,18 @@ model.fit(
# 💻 Implement Your Own Model
-Mambular allows users to easily integrate their custom models into the existing logic. This process is designed to be straightforward, making it simple to create a PyTorch model and define its forward pass. Instead of inheriting from `nn.Module`, you inherit from Mambular's `BaseModel`. Each Mambular model takes three main arguments: the number of classes (e.g., 1 for regression or 2 for binary classification), `cat_feature_info`, and `num_feature_info` for categorical and numerical feature information, respectively. Additionally, you can provide a config argument, which can either be a custom configuration or one of the provided default configs.
+DeepTabular allows users to easily integrate their custom models into the existing logic. This process is designed to be straightforward, making it simple to create a PyTorch model and define its forward pass. Instead of inheriting from `nn.Module`, you inherit from DeepTabular's `BaseModel`. Each DeepTabular model takes three main arguments: the number of classes (e.g., 1 for regression or 2 for binary classification), `cat_feature_info`, and `num_feature_info` for categorical and numerical feature information, respectively. Additionally, you can provide a config argument, which can either be a custom configuration or one of the provided default configs.
-One of the key advantages of using Mambular is that the inputs to the forward passes are lists of tensors. While this might be unconventional, it is highly beneficial for models that treat different data types differently. For example, the TabTransformer model leverages this feature to handle categorical and numerical data separately, applying different transformations and processing steps to each type of data.
+One of the key advantages of using DeepTabular is that the inputs to the forward passes are lists of tensors. While this might be unconventional, it is highly beneficial for models that treat different data types differently. For example, the TabTransformer model leverages this feature to handle categorical and numerical data separately, applying different transformations and processing steps to each type of data.
-Here's how you can implement a custom model with Mambular:
+Here's how you can implement a custom model with DeepTabular:
1. **First, define your config:**
The configuration class allows you to specify hyperparameters and other settings for your model. This can be done using a simple dataclass.
```python
from dataclasses import dataclass
- from mambular.configs import BaseConfig
+ from deeptabular.configs import BaseConfig
@dataclass
class MyConfig(BaseConfig):
@@ -332,8 +332,8 @@ Here's how you can implement a custom model with Mambular:
Define your custom model just as you would for an `nn.Module`. The main difference is that you will inherit from `BaseModel` and use the provided feature information to construct your layers. To integrate your model into the existing API, you only need to define the architecture and the forward pass.
```python
- from mambular.base_models.utils import BaseModel
- from mambular.utils.get_feature_dimensions import get_feature_dimensions
+ from deeptabular.base_models.utils import BaseModel
+ from deeptabular.utils.get_feature_dimensions import get_feature_dimensions
import torch
import torch.nn
@@ -372,11 +372,11 @@ Here's how you can implement a custom model with Mambular:
return output
```
-3. **Leverage the Mambular API:**
- You can build a regression, classification, or distributional regression model that can leverage all of Mambular's built-in methods by using the following:
+3. **Leverage the DeepTabular API:**
+ You can build a regression, classification, or distributional regression model that can leverage all of DeepTabular's built-in methods by using the following:
```python
- from mambular.models.utils import SklearnBaseRegressor
+ from deeptabular.models.utils import SklearnBaseRegressor
class MyRegressor(SklearnBaseRegressor):
def __init__(self, **kwargs):
@@ -384,7 +384,7 @@ Here's how you can implement a custom model with Mambular:
```
4. **Train and evaluate your model:**
- You can now fit, evaluate, and predict with your custom model just like with any other Mambular model. For classification or distributional regression, inherit from `SklearnBaseClassifier` or `SklearnBaseLSS` respectively.
+ You can now fit, evaluate, and predict with your custom model just like with any other DeepTabular model. For classification or distributional regression, inherit from `SklearnBaseClassifier` or `SklearnBaseLSS` respectively.
```python
regressor = MyRegressor(numerical_preprocessing="ple")
diff --git a/mambular/__init__.py b/deeptabular/__init__.py
similarity index 100%
rename from mambular/__init__.py
rename to deeptabular/__init__.py
diff --git a/mambular/__version__.py b/deeptabular/__version__.py
similarity index 96%
rename from mambular/__version__.py
rename to deeptabular/__version__.py
index 81c7fdfd..0c2694fd 100644
--- a/mambular/__version__.py
+++ b/deeptabular/__version__.py
@@ -17,5 +17,5 @@
# The following line *must* be the last in the module, exactly as formatted:
-__version__ = "1.5.0"
+__version__ = "1.6.0"
diff --git a/mambular/arch_utils/__init__.py b/deeptabular/arch_utils/__init__.py
similarity index 100%
rename from mambular/arch_utils/__init__.py
rename to deeptabular/arch_utils/__init__.py
diff --git a/mambular/arch_utils/cnn_utils.py b/deeptabular/arch_utils/cnn_utils.py
similarity index 100%
rename from mambular/arch_utils/cnn_utils.py
rename to deeptabular/arch_utils/cnn_utils.py
diff --git a/mambular/arch_utils/data_aware_initialization.py b/deeptabular/arch_utils/data_aware_initialization.py
similarity index 100%
rename from mambular/arch_utils/data_aware_initialization.py
rename to deeptabular/arch_utils/data_aware_initialization.py
diff --git a/mambular/arch_utils/enode_utils.py b/deeptabular/arch_utils/enode_utils.py
similarity index 99%
rename from mambular/arch_utils/enode_utils.py
rename to deeptabular/arch_utils/enode_utils.py
index fa4d0673..4af760d1 100644
--- a/mambular/arch_utils/enode_utils.py
+++ b/deeptabular/arch_utils/enode_utils.py
@@ -1,7 +1,7 @@
import torch
import torch.nn as nn
import torch.nn.functional as F
-from mambular.arch_utils.layer_utils.sparsemax import sparsemax, sparsemoid
+from deeptabular.arch_utils.layer_utils.sparsemax import sparsemax, sparsemoid
from .data_aware_initialization import ModuleWithInit
from .numpy_utils import check_numpy
import numpy as np
diff --git a/mambular/arch_utils/get_norm_fn.py b/deeptabular/arch_utils/get_norm_fn.py
similarity index 100%
rename from mambular/arch_utils/get_norm_fn.py
rename to deeptabular/arch_utils/get_norm_fn.py
diff --git a/mambular/arch_utils/layer_utils/__init__.py b/deeptabular/arch_utils/layer_utils/__init__.py
similarity index 100%
rename from mambular/arch_utils/layer_utils/__init__.py
rename to deeptabular/arch_utils/layer_utils/__init__.py
diff --git a/mambular/arch_utils/layer_utils/attention_net_arch_utils.py b/deeptabular/arch_utils/layer_utils/attention_net_arch_utils.py
similarity index 100%
rename from mambular/arch_utils/layer_utils/attention_net_arch_utils.py
rename to deeptabular/arch_utils/layer_utils/attention_net_arch_utils.py
diff --git a/mambular/arch_utils/layer_utils/attention_utils.py b/deeptabular/arch_utils/layer_utils/attention_utils.py
similarity index 100%
rename from mambular/arch_utils/layer_utils/attention_utils.py
rename to deeptabular/arch_utils/layer_utils/attention_utils.py
diff --git a/mambular/arch_utils/layer_utils/batch_ensemble_layer.py b/deeptabular/arch_utils/layer_utils/batch_ensemble_layer.py
similarity index 100%
rename from mambular/arch_utils/layer_utils/batch_ensemble_layer.py
rename to deeptabular/arch_utils/layer_utils/batch_ensemble_layer.py
diff --git a/mambular/arch_utils/layer_utils/block_diagonal.py b/deeptabular/arch_utils/layer_utils/block_diagonal.py
similarity index 100%
rename from mambular/arch_utils/layer_utils/block_diagonal.py
rename to deeptabular/arch_utils/layer_utils/block_diagonal.py
diff --git a/mambular/arch_utils/layer_utils/embedding_layer.py b/deeptabular/arch_utils/layer_utils/embedding_layer.py
similarity index 100%
rename from mambular/arch_utils/layer_utils/embedding_layer.py
rename to deeptabular/arch_utils/layer_utils/embedding_layer.py
diff --git a/mambular/arch_utils/layer_utils/embedding_tree.py b/deeptabular/arch_utils/layer_utils/embedding_tree.py
similarity index 100%
rename from mambular/arch_utils/layer_utils/embedding_tree.py
rename to deeptabular/arch_utils/layer_utils/embedding_tree.py
diff --git a/mambular/arch_utils/layer_utils/importance.py b/deeptabular/arch_utils/layer_utils/importance.py
similarity index 100%
rename from mambular/arch_utils/layer_utils/importance.py
rename to deeptabular/arch_utils/layer_utils/importance.py
diff --git a/mambular/arch_utils/layer_utils/invariance_layer.py b/deeptabular/arch_utils/layer_utils/invariance_layer.py
similarity index 100%
rename from mambular/arch_utils/layer_utils/invariance_layer.py
rename to deeptabular/arch_utils/layer_utils/invariance_layer.py
diff --git a/mambular/arch_utils/layer_utils/normalization_layers.py b/deeptabular/arch_utils/layer_utils/normalization_layers.py
similarity index 100%
rename from mambular/arch_utils/layer_utils/normalization_layers.py
rename to deeptabular/arch_utils/layer_utils/normalization_layers.py
diff --git a/mambular/arch_utils/layer_utils/plr_layer.py b/deeptabular/arch_utils/layer_utils/plr_layer.py
similarity index 100%
rename from mambular/arch_utils/layer_utils/plr_layer.py
rename to deeptabular/arch_utils/layer_utils/plr_layer.py
diff --git a/mambular/arch_utils/layer_utils/poly_layer.py b/deeptabular/arch_utils/layer_utils/poly_layer.py
similarity index 100%
rename from mambular/arch_utils/layer_utils/poly_layer.py
rename to deeptabular/arch_utils/layer_utils/poly_layer.py
diff --git a/mambular/arch_utils/layer_utils/rotary_utils.py b/deeptabular/arch_utils/layer_utils/rotary_utils.py
similarity index 100%
rename from mambular/arch_utils/layer_utils/rotary_utils.py
rename to deeptabular/arch_utils/layer_utils/rotary_utils.py
diff --git a/mambular/arch_utils/layer_utils/sn_linear.py b/deeptabular/arch_utils/layer_utils/sn_linear.py
similarity index 100%
rename from mambular/arch_utils/layer_utils/sn_linear.py
rename to deeptabular/arch_utils/layer_utils/sn_linear.py
diff --git a/mambular/arch_utils/layer_utils/sparsemax.py b/deeptabular/arch_utils/layer_utils/sparsemax.py
similarity index 100%
rename from mambular/arch_utils/layer_utils/sparsemax.py
rename to deeptabular/arch_utils/layer_utils/sparsemax.py
diff --git a/mambular/arch_utils/learnable_ple.py b/deeptabular/arch_utils/learnable_ple.py
similarity index 100%
rename from mambular/arch_utils/learnable_ple.py
rename to deeptabular/arch_utils/learnable_ple.py
diff --git a/mambular/arch_utils/lstm_utils.py b/deeptabular/arch_utils/lstm_utils.py
similarity index 100%
rename from mambular/arch_utils/lstm_utils.py
rename to deeptabular/arch_utils/lstm_utils.py
diff --git a/mambular/arch_utils/mamba_utils/__init__.py b/deeptabular/arch_utils/mamba_utils/__init__.py
similarity index 100%
rename from mambular/arch_utils/mamba_utils/__init__.py
rename to deeptabular/arch_utils/mamba_utils/__init__.py
diff --git a/mambular/arch_utils/mamba_utils/init_weights.py b/deeptabular/arch_utils/mamba_utils/init_weights.py
similarity index 100%
rename from mambular/arch_utils/mamba_utils/init_weights.py
rename to deeptabular/arch_utils/mamba_utils/init_weights.py
diff --git a/mambular/arch_utils/mamba_utils/mamba_arch.py b/deeptabular/arch_utils/mamba_utils/mamba_arch.py
similarity index 100%
rename from mambular/arch_utils/mamba_utils/mamba_arch.py
rename to deeptabular/arch_utils/mamba_utils/mamba_arch.py
diff --git a/mambular/arch_utils/mamba_utils/mamba_original.py b/deeptabular/arch_utils/mamba_utils/mamba_original.py
similarity index 100%
rename from mambular/arch_utils/mamba_utils/mamba_original.py
rename to deeptabular/arch_utils/mamba_utils/mamba_original.py
diff --git a/mambular/arch_utils/mamba_utils/mambattn_arch.py b/deeptabular/arch_utils/mamba_utils/mambattn_arch.py
similarity index 100%
rename from mambular/arch_utils/mamba_utils/mambattn_arch.py
rename to deeptabular/arch_utils/mamba_utils/mambattn_arch.py
diff --git a/mambular/arch_utils/mlp_utils.py b/deeptabular/arch_utils/mlp_utils.py
similarity index 100%
rename from mambular/arch_utils/mlp_utils.py
rename to deeptabular/arch_utils/mlp_utils.py
diff --git a/mambular/arch_utils/neural_decision_tree.py b/deeptabular/arch_utils/neural_decision_tree.py
similarity index 100%
rename from mambular/arch_utils/neural_decision_tree.py
rename to deeptabular/arch_utils/neural_decision_tree.py
diff --git a/mambular/arch_utils/node_utils.py b/deeptabular/arch_utils/node_utils.py
similarity index 100%
rename from mambular/arch_utils/node_utils.py
rename to deeptabular/arch_utils/node_utils.py
diff --git a/mambular/arch_utils/numpy_utils.py b/deeptabular/arch_utils/numpy_utils.py
similarity index 100%
rename from mambular/arch_utils/numpy_utils.py
rename to deeptabular/arch_utils/numpy_utils.py
diff --git a/mambular/arch_utils/resnet_utils.py b/deeptabular/arch_utils/resnet_utils.py
similarity index 100%
rename from mambular/arch_utils/resnet_utils.py
rename to deeptabular/arch_utils/resnet_utils.py
diff --git a/mambular/arch_utils/rnn_utils.py b/deeptabular/arch_utils/rnn_utils.py
similarity index 100%
rename from mambular/arch_utils/rnn_utils.py
rename to deeptabular/arch_utils/rnn_utils.py
diff --git a/mambular/arch_utils/simple_utils.py b/deeptabular/arch_utils/simple_utils.py
similarity index 100%
rename from mambular/arch_utils/simple_utils.py
rename to deeptabular/arch_utils/simple_utils.py
diff --git a/mambular/arch_utils/transformer_utils.py b/deeptabular/arch_utils/transformer_utils.py
similarity index 100%
rename from mambular/arch_utils/transformer_utils.py
rename to deeptabular/arch_utils/transformer_utils.py
diff --git a/mambular/arch_utils/trompt_utils.py b/deeptabular/arch_utils/trompt_utils.py
similarity index 100%
rename from mambular/arch_utils/trompt_utils.py
rename to deeptabular/arch_utils/trompt_utils.py
diff --git a/mambular/base_models/__init__.py b/deeptabular/base_models/__init__.py
similarity index 100%
rename from mambular/base_models/__init__.py
rename to deeptabular/base_models/__init__.py
diff --git a/mambular/base_models/autoint.py b/deeptabular/base_models/autoint.py
similarity index 100%
rename from mambular/base_models/autoint.py
rename to deeptabular/base_models/autoint.py
diff --git a/mambular/base_models/enode.py b/deeptabular/base_models/enode.py
similarity index 100%
rename from mambular/base_models/enode.py
rename to deeptabular/base_models/enode.py
diff --git a/mambular/base_models/ft_transformer.py b/deeptabular/base_models/ft_transformer.py
similarity index 100%
rename from mambular/base_models/ft_transformer.py
rename to deeptabular/base_models/ft_transformer.py
diff --git a/mambular/base_models/mambatab.py b/deeptabular/base_models/mambatab.py
similarity index 100%
rename from mambular/base_models/mambatab.py
rename to deeptabular/base_models/mambatab.py
diff --git a/mambular/base_models/mambattn.py b/deeptabular/base_models/mambattn.py
similarity index 100%
rename from mambular/base_models/mambattn.py
rename to deeptabular/base_models/mambattn.py
diff --git a/mambular/base_models/mambular.py b/deeptabular/base_models/mambular.py
similarity index 100%
rename from mambular/base_models/mambular.py
rename to deeptabular/base_models/mambular.py
diff --git a/mambular/base_models/mlp.py b/deeptabular/base_models/mlp.py
similarity index 100%
rename from mambular/base_models/mlp.py
rename to deeptabular/base_models/mlp.py
diff --git a/mambular/base_models/modern_nca.py b/deeptabular/base_models/modern_nca.py
similarity index 100%
rename from mambular/base_models/modern_nca.py
rename to deeptabular/base_models/modern_nca.py
diff --git a/mambular/base_models/ndtf.py b/deeptabular/base_models/ndtf.py
similarity index 100%
rename from mambular/base_models/ndtf.py
rename to deeptabular/base_models/ndtf.py
diff --git a/mambular/base_models/node.py b/deeptabular/base_models/node.py
similarity index 100%
rename from mambular/base_models/node.py
rename to deeptabular/base_models/node.py
diff --git a/mambular/base_models/resnet.py b/deeptabular/base_models/resnet.py
similarity index 100%
rename from mambular/base_models/resnet.py
rename to deeptabular/base_models/resnet.py
diff --git a/mambular/base_models/saint.py b/deeptabular/base_models/saint.py
similarity index 100%
rename from mambular/base_models/saint.py
rename to deeptabular/base_models/saint.py
diff --git a/mambular/base_models/tabm.py b/deeptabular/base_models/tabm.py
similarity index 100%
rename from mambular/base_models/tabm.py
rename to deeptabular/base_models/tabm.py
diff --git a/mambular/base_models/tabr.py b/deeptabular/base_models/tabr.py
similarity index 100%
rename from mambular/base_models/tabr.py
rename to deeptabular/base_models/tabr.py
diff --git a/mambular/base_models/tabtransformer.py b/deeptabular/base_models/tabtransformer.py
similarity index 100%
rename from mambular/base_models/tabtransformer.py
rename to deeptabular/base_models/tabtransformer.py
diff --git a/mambular/base_models/tabularnn.py b/deeptabular/base_models/tabularnn.py
similarity index 100%
rename from mambular/base_models/tabularnn.py
rename to deeptabular/base_models/tabularnn.py
diff --git a/mambular/base_models/tangos.py b/deeptabular/base_models/tangos.py
similarity index 100%
rename from mambular/base_models/tangos.py
rename to deeptabular/base_models/tangos.py
diff --git a/mambular/base_models/trompt.py b/deeptabular/base_models/trompt.py
similarity index 100%
rename from mambular/base_models/trompt.py
rename to deeptabular/base_models/trompt.py
diff --git a/mambular/base_models/utils/__init__.py b/deeptabular/base_models/utils/__init__.py
similarity index 100%
rename from mambular/base_models/utils/__init__.py
rename to deeptabular/base_models/utils/__init__.py
diff --git a/mambular/base_models/utils/basemodel.py b/deeptabular/base_models/utils/basemodel.py
similarity index 100%
rename from mambular/base_models/utils/basemodel.py
rename to deeptabular/base_models/utils/basemodel.py
diff --git a/mambular/base_models/utils/lightning_wrapper.py b/deeptabular/base_models/utils/lightning_wrapper.py
similarity index 100%
rename from mambular/base_models/utils/lightning_wrapper.py
rename to deeptabular/base_models/utils/lightning_wrapper.py
diff --git a/mambular/base_models/utils/pretraining.py b/deeptabular/base_models/utils/pretraining.py
similarity index 100%
rename from mambular/base_models/utils/pretraining.py
rename to deeptabular/base_models/utils/pretraining.py
diff --git a/mambular/configs/__init__.py b/deeptabular/configs/__init__.py
similarity index 100%
rename from mambular/configs/__init__.py
rename to deeptabular/configs/__init__.py
diff --git a/mambular/configs/autoint_config.py b/deeptabular/configs/autoint_config.py
similarity index 100%
rename from mambular/configs/autoint_config.py
rename to deeptabular/configs/autoint_config.py
diff --git a/mambular/configs/base_config.py b/deeptabular/configs/base_config.py
similarity index 100%
rename from mambular/configs/base_config.py
rename to deeptabular/configs/base_config.py
diff --git a/mambular/configs/enode_config.py b/deeptabular/configs/enode_config.py
similarity index 100%
rename from mambular/configs/enode_config.py
rename to deeptabular/configs/enode_config.py
diff --git a/mambular/configs/fttransformer_config.py b/deeptabular/configs/fttransformer_config.py
similarity index 100%
rename from mambular/configs/fttransformer_config.py
rename to deeptabular/configs/fttransformer_config.py
diff --git a/mambular/configs/mambatab_config.py b/deeptabular/configs/mambatab_config.py
similarity index 100%
rename from mambular/configs/mambatab_config.py
rename to deeptabular/configs/mambatab_config.py
diff --git a/mambular/configs/mambattention_config.py b/deeptabular/configs/mambattention_config.py
similarity index 100%
rename from mambular/configs/mambattention_config.py
rename to deeptabular/configs/mambattention_config.py
diff --git a/mambular/configs/mambular_config.py b/deeptabular/configs/mambular_config.py
similarity index 100%
rename from mambular/configs/mambular_config.py
rename to deeptabular/configs/mambular_config.py
diff --git a/mambular/configs/mlp_config.py b/deeptabular/configs/mlp_config.py
similarity index 100%
rename from mambular/configs/mlp_config.py
rename to deeptabular/configs/mlp_config.py
diff --git a/mambular/configs/modernnca_config.py b/deeptabular/configs/modernnca_config.py
similarity index 100%
rename from mambular/configs/modernnca_config.py
rename to deeptabular/configs/modernnca_config.py
diff --git a/mambular/configs/ndtf_config.py b/deeptabular/configs/ndtf_config.py
similarity index 100%
rename from mambular/configs/ndtf_config.py
rename to deeptabular/configs/ndtf_config.py
diff --git a/mambular/configs/node_config.py b/deeptabular/configs/node_config.py
similarity index 100%
rename from mambular/configs/node_config.py
rename to deeptabular/configs/node_config.py
diff --git a/mambular/configs/resnet_config.py b/deeptabular/configs/resnet_config.py
similarity index 100%
rename from mambular/configs/resnet_config.py
rename to deeptabular/configs/resnet_config.py
diff --git a/mambular/configs/saint_config.py b/deeptabular/configs/saint_config.py
similarity index 100%
rename from mambular/configs/saint_config.py
rename to deeptabular/configs/saint_config.py
diff --git a/mambular/configs/tabm_config.py b/deeptabular/configs/tabm_config.py
similarity index 100%
rename from mambular/configs/tabm_config.py
rename to deeptabular/configs/tabm_config.py
diff --git a/mambular/configs/tabr_config.py b/deeptabular/configs/tabr_config.py
similarity index 100%
rename from mambular/configs/tabr_config.py
rename to deeptabular/configs/tabr_config.py
diff --git a/mambular/configs/tabtransformer_config.py b/deeptabular/configs/tabtransformer_config.py
similarity index 100%
rename from mambular/configs/tabtransformer_config.py
rename to deeptabular/configs/tabtransformer_config.py
diff --git a/mambular/configs/tabularnn_config.py b/deeptabular/configs/tabularnn_config.py
similarity index 100%
rename from mambular/configs/tabularnn_config.py
rename to deeptabular/configs/tabularnn_config.py
diff --git a/mambular/configs/tangos_config.py b/deeptabular/configs/tangos_config.py
similarity index 100%
rename from mambular/configs/tangos_config.py
rename to deeptabular/configs/tangos_config.py
diff --git a/mambular/configs/trompt_config.py b/deeptabular/configs/trompt_config.py
similarity index 100%
rename from mambular/configs/trompt_config.py
rename to deeptabular/configs/trompt_config.py
diff --git a/mambular/data_utils/__init__.py b/deeptabular/data_utils/__init__.py
similarity index 100%
rename from mambular/data_utils/__init__.py
rename to deeptabular/data_utils/__init__.py
diff --git a/mambular/data_utils/datamodule.py b/deeptabular/data_utils/datamodule.py
similarity index 100%
rename from mambular/data_utils/datamodule.py
rename to deeptabular/data_utils/datamodule.py
diff --git a/mambular/data_utils/dataset.py b/deeptabular/data_utils/dataset.py
similarity index 100%
rename from mambular/data_utils/dataset.py
rename to deeptabular/data_utils/dataset.py
diff --git a/mambular/models/__init__.py b/deeptabular/models/__init__.py
similarity index 100%
rename from mambular/models/__init__.py
rename to deeptabular/models/__init__.py
diff --git a/mambular/models/autoint.py b/deeptabular/models/autoint.py
similarity index 92%
rename from mambular/models/autoint.py
rename to deeptabular/models/autoint.py
index e668952c..1b01c941 100644
--- a/mambular/models/autoint.py
+++ b/deeptabular/models/autoint.py
@@ -15,7 +15,7 @@ class and uses the AutoInt model with the default AutoInt
configuration.
""",
examples="""
- >>> from mambular.models import AutoIntRegressor
+ >>> from deeptabular.models import AutoIntRegressor
>>> model = AutoIntRegressor(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -33,7 +33,7 @@ class AutoIntClassifier(SklearnBaseClassifier):
"""AutoInt Classifier. This class extends the SklearnBaseClassifier class
and uses the AutoInt model with the default AutoInt configuration.""",
examples="""
- >>> from mambular.models import AutoIntClassifier
+ >>> from deeptabular.models import AutoIntClassifier
>>> model = AutoIntClassifier(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -52,7 +52,7 @@ class AutoIntLSS(SklearnBaseLSS):
This class extends the SklearnBaseLSS class and uses the
AutoInt model with the default AutoInt configuration.""",
examples="""
- >>> from mambular.models import AutoIntLSS
+ >>> from deeptabular.models import AutoIntLSS
>>> model = AutoIntLSS(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train, family="normal")
>>> preds = model.predict(X_test)
diff --git a/mambular/models/enode.py b/deeptabular/models/enode.py
similarity index 93%
rename from mambular/models/enode.py
rename to deeptabular/models/enode.py
index 05f622b7..307f0892 100644
--- a/mambular/models/enode.py
+++ b/deeptabular/models/enode.py
@@ -14,7 +14,7 @@ class ENODERegressor(SklearnBaseRegressor):
with the default ENODE configuration.
""",
examples="""
- >>> from mambular.models import ENODERegressor
+ >>> from deeptabular.models import ENODERegressor
>>> model = ENODERegressor()
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -35,7 +35,7 @@ class ENODEClassifier(SklearnBaseClassifier):
with the default ENODE configuration.
""",
examples="""
- >>> from mambular.models import ENODEClassifier
+ >>> from deeptabular.models import ENODEClassifier
>>> model = ENODEClassifier()
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -56,7 +56,7 @@ class ENODELSS(SklearnBaseLSS):
with the default ENODE configuration.
""",
examples="""
- >>> from mambular.models import ENODELSS
+ >>> from deeptabular.models import ENODELSS
>>> model = ENODELSS()
>>> model.fit(X_train, y_train, family='normal')
>>> preds = model.predict(X_test)
diff --git a/mambular/models/fttransformer.py b/deeptabular/models/fttransformer.py
similarity index 92%
rename from mambular/models/fttransformer.py
rename to deeptabular/models/fttransformer.py
index 344938ba..8d31dcf6 100644
--- a/mambular/models/fttransformer.py
+++ b/deeptabular/models/fttransformer.py
@@ -15,7 +15,7 @@ class and uses the FTTransformer model with the default FTTransformer
configuration.
""",
examples="""
- >>> from mambular.models import FTTransformerRegressor
+ >>> from deeptabular.models import FTTransformerRegressor
>>> model = FTTransformerRegressor(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -35,7 +35,7 @@ class FTTransformerClassifier(SklearnBaseClassifier):
"""FTTransformer Classifier. This class extends the SklearnBaseClassifier class
and uses the FTTransformer model with the default FTTransformer configuration.""",
examples="""
- >>> from mambular.models import FTTransformerClassifier
+ >>> from deeptabular.models import FTTransformerClassifier
>>> model = FTTransformerClassifier(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -56,7 +56,7 @@ class FTTransformerLSS(SklearnBaseLSS):
This class extends the SklearnBaseLSS class and uses the
FTTransformer model with the default FTTransformer configuration.""",
examples="""
- >>> from mambular.models import FTTransformerLSS
+ >>> from deeptabular.models import FTTransformerLSS
>>> model = FTTransformerLSS(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train, family="normal")
>>> preds = model.predict(X_test)
diff --git a/mambular/models/mambatab.py b/deeptabular/models/mambatab.py
similarity index 100%
rename from mambular/models/mambatab.py
rename to deeptabular/models/mambatab.py
diff --git a/mambular/models/mambattention.py b/deeptabular/models/mambattention.py
similarity index 95%
rename from mambular/models/mambattention.py
rename to deeptabular/models/mambattention.py
index 62d39646..dfbb12b6 100644
--- a/mambular/models/mambattention.py
+++ b/deeptabular/models/mambattention.py
@@ -14,7 +14,7 @@ class MambAttentionRegressor(SklearnBaseRegressor):
with the default MambAttention configuration.
""",
examples="""
- >>> from mambular.models import MambAttentionRegressor
+ >>> from deeptabular.models import MambAttentionRegressor
>>> model = MambAttentionRegressor(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
diff --git a/mambular/models/mambular.py b/deeptabular/models/mambular.py
similarity index 92%
rename from mambular/models/mambular.py
rename to deeptabular/models/mambular.py
index 133031e0..ee41c07c 100644
--- a/mambular/models/mambular.py
+++ b/deeptabular/models/mambular.py
@@ -14,7 +14,7 @@ class MambularRegressor(SklearnBaseRegressor):
with the default Mambular configuration.
""",
examples="""
- >>> from mambular.models import MambularRegressor
+ >>> from deeptabular.models import MambularRegressor
>>> model = MambularRegressor(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -34,7 +34,7 @@ class MambularClassifier(SklearnBaseClassifier):
with the default Mambular configuration.
""",
examples="""
- >>> from mambular.models import MambularClassifier
+ >>> from deeptabular.models import MambularClassifier
>>> model = MambularClassifier(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -54,7 +54,7 @@ class MambularLSS(SklearnBaseLSS):
with the default Mambular configuration.
""",
examples="""
- >>> from mambular.models import MambularLSS
+ >>> from deeptabular.models import MambularLSS
>>> model = MambularLSS(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train, family='normal')
>>> preds = model.predict(X_test)
diff --git a/mambular/models/mlp.py b/deeptabular/models/mlp.py
similarity index 93%
rename from mambular/models/mlp.py
rename to deeptabular/models/mlp.py
index 5538ee56..a69a511a 100644
--- a/mambular/models/mlp.py
+++ b/deeptabular/models/mlp.py
@@ -14,7 +14,7 @@ class MLPRegressor(SklearnBaseRegressor):
with the default MLP configuration.
""",
examples="""
- >>> from mambular.models import MLPRegressor
+ >>> from deeptabular.models import MLPRegressor
>>> model = MLPRegressor(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -34,7 +34,7 @@ class MLPClassifier(SklearnBaseClassifier):
with the default MLP configuration.
""",
examples="""
- >>> from mambular.models import MLPClassifier
+ >>> from deeptabular.models import MLPClassifier
>>> model = MLPClassifier(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -54,7 +54,7 @@ class MLPLSS(SklearnBaseLSS):
with the default MLP configuration.
""",
examples="""
- >>> from mambular.models import MLPLSS
+ >>> from deeptabular.models import MLPLSS
>>> model = MLPLSS(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train, family='normal')
>>> preds = model.predict(X_test)
diff --git a/mambular/models/modern_nca.py b/deeptabular/models/modern_nca.py
similarity index 92%
rename from mambular/models/modern_nca.py
rename to deeptabular/models/modern_nca.py
index 1318ead2..dc6765f5 100644
--- a/mambular/models/modern_nca.py
+++ b/deeptabular/models/modern_nca.py
@@ -14,7 +14,7 @@ class ModernNCARegressor(SklearnBaseRegressor):
with the default ModernNCA configuration.
""",
examples="""
- >>> from mambular.models import ModernNCARegressor
+ >>> from deeptabular.models import ModernNCARegressor
>>> model = ModernNCARegressor(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -34,7 +34,7 @@ class ModernNCAClassifier(SklearnBaseClassifier):
with the default ModernNCA configuration.
""",
examples="""
- >>> from mambular.models import ModernNCAClassifier
+ >>> from deeptabular.models import ModernNCAClassifier
>>> model = ModernNCAClassifier(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -54,7 +54,7 @@ class ModernNCALSS(SklearnBaseLSS):
with the default ModernNCA configuration.
""",
examples="""
- >>> from mambular.models import ModernNCALSS
+ >>> from deeptabular.models import ModernNCALSS
>>> model = ModernNCALSS(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train, family='normal')
>>> preds = model.predict(X_test)
diff --git a/mambular/models/ndtf.py b/deeptabular/models/ndtf.py
similarity index 100%
rename from mambular/models/ndtf.py
rename to deeptabular/models/ndtf.py
diff --git a/mambular/models/node.py b/deeptabular/models/node.py
similarity index 93%
rename from mambular/models/node.py
rename to deeptabular/models/node.py
index 80e2ec0f..cd818c32 100644
--- a/mambular/models/node.py
+++ b/deeptabular/models/node.py
@@ -14,7 +14,7 @@ class NODERegressor(SklearnBaseRegressor):
with the default NODE configuration.
""",
examples="""
- >>> from mambular.models import NODERegressor
+ >>> from deeptabular.models import NODERegressor
>>> model = NODERegressor()
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -35,7 +35,7 @@ class NODEClassifier(SklearnBaseClassifier):
with the default NODE configuration.
""",
examples="""
- >>> from mambular.models import NODEClassifier
+ >>> from deeptabular.models import NODEClassifier
>>> model = NODEClassifier()
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -56,7 +56,7 @@ class NODELSS(SklearnBaseLSS):
with the default NODE configuration.
""",
examples="""
- >>> from mambular.models import NODELSS
+ >>> from deeptabular.models import NODELSS
>>> model = NODELSS()
>>> model.fit(X_train, y_train, family='normal')
>>> preds = model.predict(X_test)
diff --git a/mambular/models/resnet.py b/deeptabular/models/resnet.py
similarity index 92%
rename from mambular/models/resnet.py
rename to deeptabular/models/resnet.py
index 2f842ce7..ed1bb2aa 100644
--- a/mambular/models/resnet.py
+++ b/deeptabular/models/resnet.py
@@ -14,7 +14,7 @@ class ResNetRegressor(SklearnBaseRegressor):
with the default ResNet configuration.
""",
examples="""
- >>> from mambular.models import ResNetRegressor
+ >>> from deeptabular.models import ResNetRegressor
>>> model = ResNetRegressor()
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -34,7 +34,7 @@ class ResNetClassifier(SklearnBaseClassifier):
with the default ResNet configuration.
""",
examples="""
- >>> from mambular.models import ResNetClassifier
+ >>> from deeptabular.models import ResNetClassifier
>>> model = ResNetClassifier()
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -54,7 +54,7 @@ class ResNetLSS(SklearnBaseLSS):
with the default ResNet configuration.
""",
examples="""
- >>> from mambular.models import ResNetLSS
+ >>> from deeptabular.models import ResNetLSS
>>> model = ResNetLSS()
>>> model.fit(X_train, y_train, family='normal')
>>> preds = model.predict(X_test)
diff --git a/mambular/models/saint.py b/deeptabular/models/saint.py
similarity index 92%
rename from mambular/models/saint.py
rename to deeptabular/models/saint.py
index d1bce05f..44663bdc 100644
--- a/mambular/models/saint.py
+++ b/deeptabular/models/saint.py
@@ -15,7 +15,7 @@ class and uses the SAINT model with the default SAINT
configuration.
""",
examples="""
- >>> from mambular.models import SAINTRegressor
+ >>> from deeptabular.models import SAINTRegressor
>>> model = SAINTRegressor(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -33,7 +33,7 @@ class SAINTClassifier(SklearnBaseClassifier):
"""SAINT Classifier. This class extends the SklearnBaseClassifier class
and uses the SAINT model with the default SAINT configuration.""",
examples="""
- >>> from mambular.models import SAINTClassifier
+ >>> from deeptabular.models import SAINTClassifier
>>> model = SAINTClassifier(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -52,7 +52,7 @@ class SAINTLSS(SklearnBaseLSS):
This class extends the SklearnBaseLSS class and uses the
SAINT model with the default SAINT configuration.""",
examples="""
- >>> from mambular.models import SAINTLSS
+ >>> from deeptabular.models import SAINTLSS
>>> model = SAINTLSS(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train, family="normal")
>>> preds = model.predict(X_test)
diff --git a/mambular/models/tabm.py b/deeptabular/models/tabm.py
similarity index 93%
rename from mambular/models/tabm.py
rename to deeptabular/models/tabm.py
index e53a98cd..da5737b1 100644
--- a/mambular/models/tabm.py
+++ b/deeptabular/models/tabm.py
@@ -14,7 +14,7 @@ class TabMRegressor(SklearnBaseRegressor):
with the default TabM configuration.
""",
examples="""
- >>> from mambular.models import TabMRegressor
+ >>> from deeptabular.models import TabMRegressor
>>> model = TabMRegressor(ensemble_size=32, model_type='full')
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -34,7 +34,7 @@ class TabMClassifier(SklearnBaseClassifier):
with the default TabM configuration.
""",
examples="""
- >>> from mambular.models import TabMClassifier
+ >>> from deeptabular.models import TabMClassifier
>>> model = TabMClassifier(ensemble_size=32, model_type='full')
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -54,7 +54,7 @@ class TabMLSS(SklearnBaseLSS):
with the default TabM configuration.
""",
examples="""
- >>> from mambular.models import TabMLSS
+ >>> from deeptabular.models import TabMLSS
>>> model = TabMLSS(ensemble_size=32, model_type='full')
>>> model.fit(X_train, y_train, family='normal')
>>> preds = model.predict(X_test)
diff --git a/mambular/models/tabr.py b/deeptabular/models/tabr.py
similarity index 90%
rename from mambular/models/tabr.py
rename to deeptabular/models/tabr.py
index 05badb29..9172de72 100644
--- a/mambular/models/tabr.py
+++ b/deeptabular/models/tabr.py
@@ -14,7 +14,7 @@ class TabRRegressor(SklearnBaseRegressor):
with the default TabR configuration.
""",
examples="""
- >>> from mambular.models import TabRRegressor
+ >>> from deeptabular.models import TabRRegressor
>>> model = TabRRegressor()
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -33,7 +33,7 @@ class TabRClassifier(SklearnBaseClassifier):
with the default TabR configuration.
""",
examples="""
- >>> from mambular.models import TabRClassifier
+ >>> from deeptabular.models import TabRClassifier
>>> model = TabRClassifier()
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -52,7 +52,7 @@ class TabRLSS(SklearnBaseLSS):
with the default TabR configuration.
""",
examples="""
- >>> from mambular.models import TabRLSS
+ >>> from deeptabular.models import TabRLSS
>>> model = TabRLSS(d_model=64, family='normal')
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
diff --git a/mambular/models/tabtransformer.py b/deeptabular/models/tabtransformer.py
similarity index 92%
rename from mambular/models/tabtransformer.py
rename to deeptabular/models/tabtransformer.py
index 7573116a..15ddcb6d 100644
--- a/mambular/models/tabtransformer.py
+++ b/deeptabular/models/tabtransformer.py
@@ -14,7 +14,7 @@ class TabTransformerRegressor(SklearnBaseRegressor):
with the default TabTransformer configuration.
""",
examples="""
- >>> from mambular.models import TabTransformerRegressor
+ >>> from deeptabular.models import TabTransformerRegressor
>>> model = TabTransformerRegressor()
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -36,7 +36,7 @@ class TabTransformerClassifier(SklearnBaseClassifier):
with the default TabTransformer configuration.
""",
examples="""
- >>> from mambular.models import TabTransformerClassifier
+ >>> from deeptabular.models import TabTransformerClassifier
>>> model = TabTransformerClassifier()
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -58,7 +58,7 @@ class TabTransformerLSS(SklearnBaseLSS):
with the default TabTransformer configuration.
""",
examples="""
- >>> from mambular.models import TabTransformerLSS
+ >>> from deeptabular.models import TabTransformerLSS
>>> model = TabTransformerLSS()
>>> model.fit(X_train, y_train, family='normal')
>>> preds = model.predict(X_test)
diff --git a/mambular/models/tabularnn.py b/deeptabular/models/tabularnn.py
similarity index 95%
rename from mambular/models/tabularnn.py
rename to deeptabular/models/tabularnn.py
index aeeacd90..d0303832 100644
--- a/mambular/models/tabularnn.py
+++ b/deeptabular/models/tabularnn.py
@@ -15,7 +15,7 @@ class and uses the TabulaRNN model with the default TabulaRNN
configuration.
""",
examples="""
- >>> from mambular.models import TabulaRNNRegressor
+ >>> from deeptabular.models import TabulaRNNRegressor
>>> model = TabulaRNNRegressor(d_model=64)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -36,7 +36,7 @@ class and uses the TabulaRNN model with the default TabulaRNN
configuration.
""",
examples="""
- >>> from mambular.models import TabulaRNNClassifier
+ >>> from deeptabular.models import TabulaRNNClassifier
>>> model = TabulaRNNClassifier(d_model=64)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
diff --git a/mambular/models/tangos.py b/deeptabular/models/tangos.py
similarity index 92%
rename from mambular/models/tangos.py
rename to deeptabular/models/tangos.py
index 89f88f76..26f2dce2 100644
--- a/mambular/models/tangos.py
+++ b/deeptabular/models/tangos.py
@@ -14,7 +14,7 @@ class TangosRegressor(SklearnBaseRegressor):
with the default Tangos configuration.
""",
examples="""
- >>> from mambular.models import TangosRegressor
+ >>> from deeptabular.models import TangosRegressor
>>> model = TangosRegressor(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -34,7 +34,7 @@ class TangosClassifier(SklearnBaseClassifier):
with the default Tangos configuration.
""",
examples="""
- >>> from mambular.models import TangosClassifier
+ >>> from deeptabular.models import TangosClassifier
>>> model = TangosClassifier(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -54,7 +54,7 @@ class TangosLSS(SklearnBaseLSS):
with the default Tangos configuration.
""",
examples="""
- >>> from mambular.models import TangosLSS
+ >>> from deeptabular.models import TangosLSS
>>> model = TangosLSS(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train, family='normal')
>>> preds = model.predict(X_test)
diff --git a/mambular/models/trompt.py b/deeptabular/models/trompt.py
similarity index 92%
rename from mambular/models/trompt.py
rename to deeptabular/models/trompt.py
index e11a994f..cd96a6a8 100644
--- a/mambular/models/trompt.py
+++ b/deeptabular/models/trompt.py
@@ -15,7 +15,7 @@ class and uses the Trompt model with the default Trompt
configuration.
""",
examples="""
- >>> from mambular.models import TromptRegressor
+ >>> from deeptabular.models import TromptRegressor
>>> model = TromptRegressor(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -33,7 +33,7 @@ class TromptClassifier(SklearnBaseClassifier):
"""Trompt Classifier. This class extends the SklearnBaseClassifier class
and uses the Trompt model with the default Trompt configuration.""",
examples="""
- >>> from mambular.models import TromptClassifier
+ >>> from deeptabular.models import TromptClassifier
>>> model = TromptClassifier(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train)
>>> preds = model.predict(X_test)
@@ -52,7 +52,7 @@ class TromptLSS(SklearnBaseLSS):
This class extends the SklearnBaseLSS class and uses the
Trompt model with the default Trompt configuration.""",
examples="""
- >>> from mambular.models import TromptLSS
+ >>> from deeptabular.models import TromptLSS
>>> model = TromptLSS(d_model=64, n_layers=8)
>>> model.fit(X_train, y_train, family="normal")
>>> preds = model.predict(X_test)
diff --git a/mambular/models/utils/__init__.py b/deeptabular/models/utils/__init__.py
similarity index 100%
rename from mambular/models/utils/__init__.py
rename to deeptabular/models/utils/__init__.py
diff --git a/mambular/models/utils/sklearn_base_classifier.py b/deeptabular/models/utils/sklearn_base_classifier.py
similarity index 100%
rename from mambular/models/utils/sklearn_base_classifier.py
rename to deeptabular/models/utils/sklearn_base_classifier.py
diff --git a/mambular/models/utils/sklearn_base_lss.py b/deeptabular/models/utils/sklearn_base_lss.py
similarity index 100%
rename from mambular/models/utils/sklearn_base_lss.py
rename to deeptabular/models/utils/sklearn_base_lss.py
diff --git a/mambular/models/utils/sklearn_base_regressor.py b/deeptabular/models/utils/sklearn_base_regressor.py
similarity index 100%
rename from mambular/models/utils/sklearn_base_regressor.py
rename to deeptabular/models/utils/sklearn_base_regressor.py
diff --git a/mambular/models/utils/sklearn_parent.py b/deeptabular/models/utils/sklearn_parent.py
similarity index 100%
rename from mambular/models/utils/sklearn_parent.py
rename to deeptabular/models/utils/sklearn_parent.py
diff --git a/mambular/utils/__init__.py b/deeptabular/utils/__init__.py
similarity index 100%
rename from mambular/utils/__init__.py
rename to deeptabular/utils/__init__.py
diff --git a/mambular/utils/config_mapper.py b/deeptabular/utils/config_mapper.py
similarity index 100%
rename from mambular/utils/config_mapper.py
rename to deeptabular/utils/config_mapper.py
diff --git a/mambular/utils/distributional_metrics.py b/deeptabular/utils/distributional_metrics.py
similarity index 100%
rename from mambular/utils/distributional_metrics.py
rename to deeptabular/utils/distributional_metrics.py
diff --git a/mambular/utils/distributions.py b/deeptabular/utils/distributions.py
similarity index 100%
rename from mambular/utils/distributions.py
rename to deeptabular/utils/distributions.py
diff --git a/mambular/utils/docstring_generator.py b/deeptabular/utils/docstring_generator.py
similarity index 100%
rename from mambular/utils/docstring_generator.py
rename to deeptabular/utils/docstring_generator.py
diff --git a/mambular/utils/get_feature_dimensions.py b/deeptabular/utils/get_feature_dimensions.py
similarity index 100%
rename from mambular/utils/get_feature_dimensions.py
rename to deeptabular/utils/get_feature_dimensions.py
diff --git a/docs/api/base_models/BaseModels.rst b/docs/api/base_models/BaseModels.rst
index ac2866e0..abfaae57 100644
--- a/docs/api/base_models/BaseModels.rst
+++ b/docs/api/base_models/BaseModels.rst
@@ -1,35 +1,35 @@
-mambular.base_models
-====================
+deeptabular.base_models
+=======================
-.. autoclass:: mambular.base_models.BaseModel
+.. autoclass:: deeptabular.base_models.BaseModel
:members:
:no-inherited-members:
-.. autoclass:: mambular.base_models.TaskModel
+.. autoclass:: deeptabular.base_models.TaskModel
:members:
:no-inherited-members:
-.. autoclass:: mambular.base_models.Mambular
+.. autoclass:: deeptabular.base_models.Mambular
:members:
:no-inherited-members:
-.. autoclass:: mambular.base_models.MLP
+.. autoclass:: deeptabular.base_models.MLP
:members:
:no-inherited-members:
-.. autoclass:: mambular.base_models.ResNet
+.. autoclass:: deeptabular.base_models.ResNet
:members:
:no-inherited-members:
-.. autoclass:: mambular.base_models.FTTransformer
+.. autoclass:: deeptabular.base_models.FTTransformer
:members:
:no-inherited-members:
-.. autoclass:: mambular.base_models.TabTransformer
+.. autoclass:: deeptabular.base_models.TabTransformer
:members:
:no-inherited-members:
-.. autoclass:: mambular.base_models.TabulaRNN
+.. autoclass:: deeptabular.base_models.TabulaRNN
:members:
:no-inherited-members:
diff --git a/docs/api/configs/index.rst b/docs/api/configs/index.rst
index d5070b9c..afc38374 100644
--- a/docs/api/configs/index.rst
+++ b/docs/api/configs/index.rst
@@ -1,11 +1,11 @@
.. -*- mode: rst -*-
-.. currentmodule:: mambular.configs
+.. currentmodule:: deeptabular.configs
Configurations
==============
-This module provides default configurations for Mambular models. Each configuration is implemented as a dataclass, offering a structured way to define model-specific hyperparameters.
+This module provides default configurations for DeepTabular models. Each configuration is implemented as a dataclass, offering a structured way to define model-specific hyperparameters.
Mambular
--------
diff --git a/docs/api/data_utils/Datautils.rst b/docs/api/data_utils/Datautils.rst
index 18090de8..3ad6410b 100644
--- a/docs/api/data_utils/Datautils.rst
+++ b/docs/api/data_utils/Datautils.rst
@@ -1,8 +1,8 @@
-mambular.data_utils
-===================
+deeptabular.data_utils
+======================
-.. autoclass:: mambular.data_utils.MambularDataset
+.. autoclass:: deeptabular.data_utils.MambularDataset
:members:
-.. autoclass:: mambular.data_utils.MambularDataModule
+.. autoclass:: deeptabular.data_utils.MambularDataModule
:members:
diff --git a/docs/api/data_utils/index.rst b/docs/api/data_utils/index.rst
index 815e61c5..e617bc11 100644
--- a/docs/api/data_utils/index.rst
+++ b/docs/api/data_utils/index.rst
@@ -1,6 +1,6 @@
.. -*- mode: rst -*-
-.. currentmodule:: mambular.data_utils
+.. currentmodule:: deeptabular.data_utils
Data Utils
==========
diff --git a/docs/conf.py b/docs/conf.py
index 8fe41b4a..2484be0d 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -11,13 +11,13 @@
sys.path.insert(0, os.path.abspath("."))
sys.path.insert(0, os.path.abspath("../"))
-sys.path.insert(1, os.path.dirname(os.path.abspath("../")) + os.sep + "mambular")
+sys.path.insert(1, os.path.dirname(os.path.abspath("../")) + os.sep + "deeptabular")
-project = "mambular"
+project = "deeptabular"
project_copyright = "2024, BASF SE"
author = "Anton Frederik Thielmann, Manish Kumar, Christoph Weisser, Benjamin Saefken, Soheila Samiee"
-VERSION_PATH = "../mambular/__version__.py"
+VERSION_PATH = "../deeptabular/__version__.py"
with open(VERSION_PATH) as f:
lines = f.readlines()
for line in lines:
diff --git a/docs/examples/classification.md b/docs/examples/classification.md
index 994cef7f..3ff09b2c 100644
--- a/docs/examples/classification.md
+++ b/docs/examples/classification.md
@@ -1,12 +1,12 @@
# Classification
-This example demonstrates how use Classification module from the `mambular` package.
+This example demonstrates how use Classification module from the `deeptabular` package.
```python
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
-from mambular.models import MambularClassifier
+from deeptabular.models import MambularClassifier
# Set random seed for reproducibility
np.random.seed(0)
```
diff --git a/docs/examples/distributional.rst b/docs/examples/distributional.rst
index 8d9c47d2..5dd25b2e 100644
--- a/docs/examples/distributional.rst
+++ b/docs/examples/distributional.rst
@@ -3,7 +3,7 @@
Distributional
==============
-This example demonstrates how use Distributional from the `mambular` package.
+This example demonstrates how use Distributional from the `deeptabular` package.
.. literalinclude:: ../../examples/example_distributional.py
diff --git a/docs/examples/regression.rst b/docs/examples/regression.rst
index 418e5e43..1dcdc367 100644
--- a/docs/examples/regression.rst
+++ b/docs/examples/regression.rst
@@ -3,7 +3,7 @@
Regression
==========
-This example demonstrates how use Regression module from the `mambular` package.
+This example demonstrates how use Regression module from the `deeptabular` package.
.. literalinclude:: ../../examples/example_regression.py
diff --git a/docs/homepage.md b/docs/homepage.md
index c0f6dda4..b9a3114c 100644
--- a/docs/homepage.md
+++ b/docs/homepage.md
@@ -1,13 +1,13 @@
-# Mambular: Tabular Deep Learning Made Simple
+# DeepTabular: Tabular Deep Learning Made Simple
-Mambular is a Python library for tabular deep learning. It includes models that leverage the Mamba (State Space Model) architecture, as well as other popular models like TabTransformer, FTTransformer, TabM and tabular ResNets. Check out our paper `Mambular: A Sequential Model for Tabular Deep Learning`, available [here](https://arxiv.org/abs/2408.06291). Also check out our paper introducing [TabulaRNN](https://arxiv.org/pdf/2411.17207) and analyzing the efficiency of NLP inspired tabular models.
+DeepTabular is a Python library for tabular deep learning. It includes models that leverage the Mamba (State Space Model) architecture, as well as other popular models like TabTransformer, FTTransformer, TabM and tabular ResNets. Check out our paper `Mambular: A Sequential Model for Tabular Deep Learning`, available [here](https://arxiv.org/abs/2408.06291). Also check out our paper introducing [TabulaRNN](https://arxiv.org/pdf/2411.17207) and analyzing the efficiency of NLP inspired tabular models.
# 🏃 Quickstart
-Similar to any sklearn model, Mambular models can be fit as easy as this:
+Similar to any sklearn model, DeepTabular models can be fit as easy as this:
```python
-from mambular.models import MambularClassifier
+from deeptabular.models import MambularClassifier
# Initialize and fit your model
model = MambularClassifier()
@@ -16,7 +16,7 @@ model.fit(X, y, max_epochs=150, lr=1e-04)
```
# 📖 Introduction
-Mambular is a Python package that brings the power of advanced deep learning architectures to tabular data, offering a suite of models for regression, classification, and distributional regression tasks. Designed with ease of use in mind, Mambular models adhere to scikit-learn's `BaseEstimator` interface, making them highly compatible with the familiar scikit-learn ecosystem. This means you can fit, predict, and evaluate using Mambular models just as you would with any traditional scikit-learn model, but with the added performance and flexibility of deep learning.
+DeepTabular is a Python package that brings the power of advanced deep learning architectures to tabular data, offering a suite of models for regression, classification, and distributional regression tasks. Designed with ease of use in mind, DeepTabular models adhere to scikit-learn's `BaseEstimator` interface, making them highly compatible with the familiar scikit-learn ecosystem. This means you can fit, predict, and evaluate using DeepTabular models just as you would with any traditional scikit-learn model, but with the added performance and flexibility of deep learning.
# 🤖 Models
@@ -44,13 +44,13 @@ Hence, they are available as e.g. `MambularRegressor`, `MambularClassifier` or `
# 📚 Documentation
-You can find the Mamba-Tabular API documentation [here](https://mambular.readthedocs.io/en/latest/).
+You can find the DeepTabular API documentation [here](https://deeptabular.readthedocs.io/en/latest/).
# 🛠️ Installation
-Install Mambular using pip:
+Install DeepTabular using pip:
```sh
-pip install mambular
+pip install deeptabular
```
If you want to use the original mamba and mamba2 implementations, additionally install mamba-ssm via:
@@ -70,7 +70,7 @@ pip install mamba-ssm
Preprocessing
-Mambular simplifies data preprocessing with a range of tools designed for easy transformation of tabular data.
+DeepTabular simplifies data preprocessing with a range of tools designed for easy transformation of tabular data.
Data Type Detection and Transformation
@@ -90,10 +90,10 @@ Mambular simplifies data preprocessing with a range of tools designed for easy t
Fit a Model
-Fitting a model in mambular is as simple as it gets. All models in mambular are sklearn BaseEstimators. Thus, the `fit` method is implemented for all of them. Additionally, this allows for using all other sklearn inherent methods such as their built in hyperparameter optimization tools.
+Fitting a model in deeptabular is as simple as it gets. All models in deeptabular are sklearn BaseEstimators. Thus, the `fit` method is implemented for all of them. Additionally, this allows for using all other sklearn inherent methods such as their built in hyperparameter optimization tools.
```python
-from mambular.models import MambularClassifier
+from deeptabular.models import MambularClassifier
# Initialize and fit your model
model = MambularClassifier(
d_model=64,
@@ -171,12 +171,12 @@ Or use the built-in bayesian hpo simply by running:
best_params = model.optimize_hparams(X, y)
```
-This automatically sets the search space based on the default config from ``mambular.configs``. See the documentation for all params with regard to ``optimize_hparams()``. However, the preprocessor arguments are fixed and cannot be optimized here.
+This automatically sets the search space based on the default config from ``deeptabular.configs``. See the documentation for all params with regard to ``optimize_hparams()``. However, the preprocessor arguments are fixed and cannot be optimized here.
⚖️ Distributional Regression with MambularLSS
-MambularLSS allows you to model the full distribution of a response variable, not just its mean. This is crucial when understanding variability, skewness, or kurtosis is important. All Mambular models are available as distributional models.
+MambularLSS allows you to model the full distribution of a response variable, not just its mean. This is crucial when understanding variability, skewness, or kurtosis is important. All DeepTabular models are available as distributional models.
Key Features of MambularLSS:
@@ -203,10 +203,10 @@ These distribution classes make MambularLSS versatile in modeling various data t
Getting Started with MambularLSS:
-To integrate distributional regression into your workflow with `MambularLSS`, start by initializing the model with your desired configuration, similar to other Mambular models:
+To integrate distributional regression into your workflow with `MambularLSS`, start by initializing the model with your desired configuration, similar to other DeepTabular models:
```python
-from mambular.models import MambularLSS
+from deeptabular.models import MambularLSS
# Initialize the MambularLSS model
model = MambularLSS(
@@ -231,11 +231,11 @@ model.fit(
# 💻 Implement Your Own Model
-Mambular allows users to easily integrate their custom models into the existing logic. This process is designed to be straightforward, making it simple to create a PyTorch model and define its forward pass. Instead of inheriting from `nn.Module`, you inherit from Mambular's `BaseModel`. Each Mambular model takes three main arguments: the number of classes (e.g., 1 for regression or 2 for binary classification), `cat_feature_info`, and `num_feature_info` for categorical and numerical feature information, respectively. Additionally, you can provide a config argument, which can either be a custom configuration or one of the provided default configs.
+DeepTabular allows users to easily integrate their custom models into the existing logic. This process is designed to be straightforward, making it simple to create a PyTorch model and define its forward pass. Instead of inheriting from `nn.Module`, you inherit from DeepTabular's `BaseModel`. Each DeepTabular model takes three main arguments: the number of classes (e.g., 1 for regression or 2 for binary classification), `cat_feature_info`, and `num_feature_info` for categorical and numerical feature information, respectively. Additionally, you can provide a config argument, which can either be a custom configuration or one of the provided default configs.
-One of the key advantages of using Mambular is that the inputs to the forward passes are lists of tensors. While this might be unconventional, it is highly beneficial for models that treat different data types differently. For example, the TabTransformer model leverages this feature to handle categorical and numerical data separately, applying different transformations and processing steps to each type of data.
+One of the key advantages of using DeepTabular is that the inputs to the forward passes are lists of tensors. While this might be unconventional, it is highly beneficial for models that treat different data types differently. For example, the TabTransformer model leverages this feature to handle categorical and numerical data separately, applying different transformations and processing steps to each type of data.
-Here's how you can implement a custom model with Mambular:
+Here's how you can implement a custom model with DeepTabular:
1. **First, define your config:**
The configuration class allows you to specify hyperparameters and other settings for your model. This can be done using a simple dataclass.
@@ -255,8 +255,8 @@ Here's how you can implement a custom model with Mambular:
Define your custom model just as you would for an `nn.Module`. The main difference is that you will inherit from `BaseModel` and use the provided feature information to construct your layers. To integrate your model into the existing API, you only need to define the architecture and the forward pass.
```python
- from mambular.base_models import BaseModel
- from mambular.utils.get_feature_dimensions import get_feature_dimensions
+ from deeptabular.base_models import BaseModel
+ from deeptabular.utils.get_feature_dimensions import get_feature_dimensions
import torch
import torch.nn
@@ -285,11 +285,11 @@ Here's how you can implement a custom model with Mambular:
return output
```
-3. **Leverage the Mambular API:**
- You can build a regression, classification, or distributional regression model that can leverage all of Mambular's built-in methods by using the following:
+3. **Leverage the DeepTabular API:**
+ You can build a regression, classification, or distributional regression model that can leverage all of DeepTabular's built-in methods by using the following:
```python
- from mambular.models import SklearnBaseRegressor
+ from deeptabular.models import SklearnBaseRegressor
class MyRegressor(SklearnBaseRegressor):
def __init__(self, **kwargs):
@@ -297,7 +297,7 @@ Here's how you can implement a custom model with Mambular:
```
4. **Train and evaluate your model:**
- You can now fit, evaluate, and predict with your custom model just like with any other Mambular model. For classification or distributional regression, inherit from `SklearnBaseClassifier` or `SklearnBaseLSS` respectively.
+ You can now fit, evaluate, and predict with your custom model just like with any other DeepTabular model. For classification or distributional regression, inherit from `SklearnBaseClassifier` or `SklearnBaseLSS` respectively.
```python
regressor = MyRegressor(numerical_preprocessing="ple")
@@ -306,15 +306,15 @@ Here's how you can implement a custom model with Mambular:
# Custom Training
-If you prefer to setup custom training, preprocessing and evaluation, you can simply use the `mambular.base_models`.
+If you prefer to setup custom training, preprocessing and evaluation, you can simply use the `deeptabular.base_models`.
Just be careful that all basemodels expect lists of features as inputs. More precisely as list for numerical features and a list for categorical features. A custom training loop, with random data could look like this.
```python
import torch
import torch.nn as nn
import torch.optim as optim
-from mambular.base_models import Mambular
-from mambular.configs import DefaultMambularConfig
+from deeptabular.base_models import Mambular
+from deeptabular.configs import DefaultMambularConfig
# Dummy data and configuration
cat_feature_info = {
diff --git a/docs/installation.md b/docs/installation.md
index 174fecff..5cdc67b7 100644
--- a/docs/installation.md
+++ b/docs/installation.md
@@ -1,22 +1,22 @@
## Installation
-Please follow the steps below for installing `mambular`.
+Please follow the steps below for installing `deeptabular`.
### Install from the source:
```bash
-cd mamba-tabular
+cd DeepTabular
poetry install
```
-Note: Make sure you in the same directory where `setup.py` file resides.
+Note: Make sure you in the same directory where `pyproject.toml` file resides.
### Installation from PyPi:
The package is available on PyPi. You can install it using the following command:
```bash
-pip install -U mambular
+pip install -U deeptabular
```
-PyPi link: [mambular](https://pypi.org/project/mambular/)
+PyPi link: [deeptabular](https://pypi.org/project/deeptabular/)
diff --git a/docs/release.md b/docs/release.md
index b8196fb9..2ea0df8c 100644
--- a/docs/release.md
+++ b/docs/release.md
@@ -1,19 +1,19 @@
# Build and release
-The document outlines the steps to build and release the `mambular` package. At this point, it is assumed that the development and testing of the package have been completed successfully.
+The document outlines the steps to build and release the `deeptabular` package. At this point, it is assumed that the development and testing of the package have been completed successfully.
## 1. Test documentation
It is expected from the contributor to update the documentation as an when required along side the change in source code. Please use the below process to test the documentation:
```sh
-cd mambular/docs/
+cd DeepTabular/docs/
make doctest
```
Fix any docstring related issue, then proceed with next steps.
## 2. Version update
-The package version is mantained in `mambular/__version__.py` and `pyproject.toml` file. Increment the version according to the changes such as patch, minor, major or all.
+The package version is mantained in `deeptabular/__version__.py` and `pyproject.toml` file. Increment the version according to the changes such as patch, minor, major or all.
- The version number should be in the format `major.minor.patch`. For example, `1.0.1`.
@@ -24,7 +24,7 @@ The package version is mantained in `mambular/__version__.py` and `pyproject.tom
- Create a pull request from your `feature` branch to the `develop` branch.
- Once the pull request is approved and merged to develop. The maintainer will test the package and documentation. If everything is fine, the maintainer will proceed further to merge the changed to `master` and `release` branch.
-- Ideally content of `master` and `release` branch should be same. The `release` branch is used to publish the package to PyPi while `master` branch is used to publish the documentation to readthedocs and can be accesseed at [mambular.readthedocs.io](https://mambular.readthedocs.io/en/latest/).
+- Ideally content of `master` and `release` branch should be same. The `release` branch is used to publish the package to PyPi while `master` branch is used to publish the documentation to readthedocs and can be accesseed at [deeptabular.readthedocs.io](https://deeptabular.readthedocs.io/en/latest/).
## 4. Publish package to PyPi
diff --git a/examples/example_classification.py b/examples/example_classification.py
index 622398d5..e07f7f94 100644
--- a/examples/example_classification.py
+++ b/examples/example_classification.py
@@ -2,7 +2,7 @@
import pandas as pd
from sklearn.model_selection import train_test_split
-from mambular.models import MambularClassifier
+from deeptabular.models import MambularClassifier
# Set random seed for reproducibility
np.random.seed(0)
diff --git a/examples/example_distributional.py b/examples/example_distributional.py
index 2f35c707..a58e79c2 100644
--- a/examples/example_distributional.py
+++ b/examples/example_distributional.py
@@ -3,7 +3,7 @@
import pandas as pd
from sklearn.model_selection import train_test_split
-from mambular.models import MambularLSS
+from deeptabular.models import MambularLSS
# Set random seed for reproducibility
np.random.seed(0)
diff --git a/examples/example_regression.py b/examples/example_regression.py
index d7cef50f..e3786387 100644
--- a/examples/example_regression.py
+++ b/examples/example_regression.py
@@ -3,7 +3,7 @@
import pandas as pd
from sklearn.model_selection import train_test_split
-from mambular.models import MambularRegressor
+from deeptabular.models import MambularRegressor
# Set random seed for reproducibility
np.random.seed(0)
diff --git a/poetry.lock b/poetry.lock
index 3d476e77..fe8d3e33 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,4 +1,4 @@
-# This file is automatically @generated by Poetry 2.1.1 and should not be changed by hand.
+# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand.
[[package]]
name = "accelerate"
@@ -176,7 +176,7 @@ description = "Timeout context manager for asyncio programs"
optional = false
python-versions = ">=3.8"
groups = ["main"]
-markers = "python_version < \"3.11\""
+markers = "python_version == \"3.10\""
files = [
{file = "async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c"},
{file = "async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3"},
@@ -470,7 +470,7 @@ description = "Backport of PEP 654 (exception groups)"
optional = false
python-versions = ">=3.7"
groups = ["dev"]
-markers = "python_version < \"3.11\""
+markers = "python_version == \"3.10\""
files = [
{file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"},
{file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"},
@@ -1041,48 +1041,153 @@ files = [
[[package]]
name = "numpy"
-version = "1.26.4"
+version = "2.2.6"
description = "Fundamental package for array computing in Python"
optional = false
-python-versions = ">=3.9"
+python-versions = ">=3.10"
groups = ["main"]
-files = [
- {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"},
- {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"},
- {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"},
- {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"},
- {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"},
- {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"},
- {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"},
- {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"},
- {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"},
- {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"},
- {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"},
- {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"},
- {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"},
- {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"},
- {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"},
- {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"},
- {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"},
- {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"},
- {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"},
- {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"},
- {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"},
- {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"},
- {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"},
- {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"},
- {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"},
- {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"},
- {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"},
- {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"},
- {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"},
- {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"},
- {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"},
- {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"},
- {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"},
- {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"},
- {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"},
- {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"},
+markers = "python_version == \"3.10\""
+files = [
+ {file = "numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb"},
+ {file = "numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90"},
+ {file = "numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163"},
+ {file = "numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf"},
+ {file = "numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83"},
+ {file = "numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915"},
+ {file = "numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680"},
+ {file = "numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289"},
+ {file = "numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d"},
+ {file = "numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3"},
+ {file = "numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae"},
+ {file = "numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a"},
+ {file = "numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42"},
+ {file = "numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491"},
+ {file = "numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a"},
+ {file = "numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf"},
+ {file = "numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1"},
+ {file = "numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab"},
+ {file = "numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47"},
+ {file = "numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303"},
+ {file = "numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff"},
+ {file = "numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c"},
+ {file = "numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3"},
+ {file = "numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282"},
+ {file = "numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87"},
+ {file = "numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249"},
+ {file = "numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49"},
+ {file = "numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de"},
+ {file = "numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4"},
+ {file = "numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2"},
+ {file = "numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84"},
+ {file = "numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b"},
+ {file = "numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d"},
+ {file = "numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566"},
+ {file = "numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f"},
+ {file = "numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f"},
+ {file = "numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868"},
+ {file = "numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d"},
+ {file = "numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd"},
+ {file = "numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c"},
+ {file = "numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6"},
+ {file = "numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda"},
+ {file = "numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40"},
+ {file = "numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8"},
+ {file = "numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f"},
+ {file = "numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa"},
+ {file = "numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571"},
+ {file = "numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1"},
+ {file = "numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff"},
+ {file = "numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06"},
+ {file = "numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d"},
+ {file = "numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db"},
+ {file = "numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543"},
+ {file = "numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00"},
+ {file = "numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd"},
+]
+
+[[package]]
+name = "numpy"
+version = "2.3.4"
+description = "Fundamental package for array computing in Python"
+optional = false
+python-versions = ">=3.11"
+groups = ["main"]
+markers = "python_version >= \"3.11\""
+files = [
+ {file = "numpy-2.3.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e78aecd2800b32e8347ce49316d3eaf04aed849cd5b38e0af39f829a4e59f5eb"},
+ {file = "numpy-2.3.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7fd09cc5d65bda1e79432859c40978010622112e9194e581e3415a3eccc7f43f"},
+ {file = "numpy-2.3.4-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:1b219560ae2c1de48ead517d085bc2d05b9433f8e49d0955c82e8cd37bd7bf36"},
+ {file = "numpy-2.3.4-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:bafa7d87d4c99752d07815ed7a2c0964f8ab311eb8168f41b910bd01d15b6032"},
+ {file = "numpy-2.3.4-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:36dc13af226aeab72b7abad501d370d606326a0029b9f435eacb3b8c94b8a8b7"},
+ {file = "numpy-2.3.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a7b2f9a18b5ff9824a6af80de4f37f4ec3c2aab05ef08f51c77a093f5b89adda"},
+ {file = "numpy-2.3.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9984bd645a8db6ca15d850ff996856d8762c51a2239225288f08f9050ca240a0"},
+ {file = "numpy-2.3.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:64c5825affc76942973a70acf438a8ab618dbd692b84cd5ec40a0a0509edc09a"},
+ {file = "numpy-2.3.4-cp311-cp311-win32.whl", hash = "sha256:ed759bf7a70342f7817d88376eb7142fab9fef8320d6019ef87fae05a99874e1"},
+ {file = "numpy-2.3.4-cp311-cp311-win_amd64.whl", hash = "sha256:faba246fb30ea2a526c2e9645f61612341de1a83fb1e0c5edf4ddda5a9c10996"},
+ {file = "numpy-2.3.4-cp311-cp311-win_arm64.whl", hash = "sha256:4c01835e718bcebe80394fd0ac66c07cbb90147ebbdad3dcecd3f25de2ae7e2c"},
+ {file = "numpy-2.3.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ef1b5a3e808bc40827b5fa2c8196151a4c5abe110e1726949d7abddfe5c7ae11"},
+ {file = "numpy-2.3.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c2f91f496a87235c6aaf6d3f3d89b17dba64996abadccb289f48456cff931ca9"},
+ {file = "numpy-2.3.4-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:f77e5b3d3da652b474cc80a14084927a5e86a5eccf54ca8ca5cbd697bf7f2667"},
+ {file = "numpy-2.3.4-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:8ab1c5f5ee40d6e01cbe96de5863e39b215a4d24e7d007cad56c7184fdf4aeef"},
+ {file = "numpy-2.3.4-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:77b84453f3adcb994ddbd0d1c5d11db2d6bda1a2b7fd5ac5bd4649d6f5dc682e"},
+ {file = "numpy-2.3.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4121c5beb58a7f9e6dfdee612cb24f4df5cd4db6e8261d7f4d7450a997a65d6a"},
+ {file = "numpy-2.3.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:65611ecbb00ac9846efe04db15cbe6186f562f6bb7e5e05f077e53a599225d16"},
+ {file = "numpy-2.3.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dabc42f9c6577bcc13001b8810d300fe814b4cfbe8a92c873f269484594f9786"},
+ {file = "numpy-2.3.4-cp312-cp312-win32.whl", hash = "sha256:a49d797192a8d950ca59ee2d0337a4d804f713bb5c3c50e8db26d49666e351dc"},
+ {file = "numpy-2.3.4-cp312-cp312-win_amd64.whl", hash = "sha256:985f1e46358f06c2a09921e8921e2c98168ed4ae12ccd6e5e87a4f1857923f32"},
+ {file = "numpy-2.3.4-cp312-cp312-win_arm64.whl", hash = "sha256:4635239814149e06e2cb9db3dd584b2fa64316c96f10656983b8026a82e6e4db"},
+ {file = "numpy-2.3.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c090d4860032b857d94144d1a9976b8e36709e40386db289aaf6672de2a81966"},
+ {file = "numpy-2.3.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a13fc473b6db0be619e45f11f9e81260f7302f8d180c49a22b6e6120022596b3"},
+ {file = "numpy-2.3.4-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:3634093d0b428e6c32c3a69b78e554f0cd20ee420dcad5a9f3b2a63762ce4197"},
+ {file = "numpy-2.3.4-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:043885b4f7e6e232d7df4f51ffdef8c36320ee9d5f227b380ea636722c7ed12e"},
+ {file = "numpy-2.3.4-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4ee6a571d1e4f0ea6d5f22d6e5fbd6ed1dc2b18542848e1e7301bd190500c9d7"},
+ {file = "numpy-2.3.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fc8a63918b04b8571789688b2780ab2b4a33ab44bfe8ccea36d3eba51228c953"},
+ {file = "numpy-2.3.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:40cc556d5abbc54aabe2b1ae287042d7bdb80c08edede19f0c0afb36ae586f37"},
+ {file = "numpy-2.3.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ecb63014bb7f4ce653f8be7f1df8cbc6093a5a2811211770f6606cc92b5a78fd"},
+ {file = "numpy-2.3.4-cp313-cp313-win32.whl", hash = "sha256:e8370eb6925bb8c1c4264fec52b0384b44f675f191df91cbe0140ec9f0955646"},
+ {file = "numpy-2.3.4-cp313-cp313-win_amd64.whl", hash = "sha256:56209416e81a7893036eea03abcb91c130643eb14233b2515c90dcac963fe99d"},
+ {file = "numpy-2.3.4-cp313-cp313-win_arm64.whl", hash = "sha256:a700a4031bc0fd6936e78a752eefb79092cecad2599ea9c8039c548bc097f9bc"},
+ {file = "numpy-2.3.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:86966db35c4040fdca64f0816a1c1dd8dbd027d90fca5a57e00e1ca4cd41b879"},
+ {file = "numpy-2.3.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:838f045478638b26c375ee96ea89464d38428c69170360b23a1a50fa4baa3562"},
+ {file = "numpy-2.3.4-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:d7315ed1dab0286adca467377c8381cd748f3dc92235f22a7dfc42745644a96a"},
+ {file = "numpy-2.3.4-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:84f01a4d18b2cc4ade1814a08e5f3c907b079c847051d720fad15ce37aa930b6"},
+ {file = "numpy-2.3.4-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:817e719a868f0dacde4abdfc5c1910b301877970195db9ab6a5e2c4bd5b121f7"},
+ {file = "numpy-2.3.4-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85e071da78d92a214212cacea81c6da557cab307f2c34b5f85b628e94803f9c0"},
+ {file = "numpy-2.3.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2ec646892819370cf3558f518797f16597b4e4669894a2ba712caccc9da53f1f"},
+ {file = "numpy-2.3.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:035796aaaddfe2f9664b9a9372f089cfc88bd795a67bd1bfe15e6e770934cf64"},
+ {file = "numpy-2.3.4-cp313-cp313t-win32.whl", hash = "sha256:fea80f4f4cf83b54c3a051f2f727870ee51e22f0248d3114b8e755d160b38cfb"},
+ {file = "numpy-2.3.4-cp313-cp313t-win_amd64.whl", hash = "sha256:15eea9f306b98e0be91eb344a94c0e630689ef302e10c2ce5f7e11905c704f9c"},
+ {file = "numpy-2.3.4-cp313-cp313t-win_arm64.whl", hash = "sha256:b6c231c9c2fadbae4011ca5e7e83e12dc4a5072f1a1d85a0a7b3ed754d145a40"},
+ {file = "numpy-2.3.4-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:81c3e6d8c97295a7360d367f9f8553973651b76907988bb6066376bc2252f24e"},
+ {file = "numpy-2.3.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:7c26b0b2bf58009ed1f38a641f3db4be8d960a417ca96d14e5b06df1506d41ff"},
+ {file = "numpy-2.3.4-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:62b2198c438058a20b6704351b35a1d7db881812d8512d67a69c9de1f18ca05f"},
+ {file = "numpy-2.3.4-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:9d729d60f8d53a7361707f4b68a9663c968882dd4f09e0d58c044c8bf5faee7b"},
+ {file = "numpy-2.3.4-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bd0c630cf256b0a7fd9d0a11c9413b42fef5101219ce6ed5a09624f5a65392c7"},
+ {file = "numpy-2.3.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d5e081bc082825f8b139f9e9fe42942cb4054524598aaeb177ff476cc76d09d2"},
+ {file = "numpy-2.3.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:15fb27364ed84114438fff8aaf998c9e19adbeba08c0b75409f8c452a8692c52"},
+ {file = "numpy-2.3.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:85d9fb2d8cd998c84d13a79a09cc0c1091648e848e4e6249b0ccd7f6b487fa26"},
+ {file = "numpy-2.3.4-cp314-cp314-win32.whl", hash = "sha256:e73d63fd04e3a9d6bc187f5455d81abfad05660b212c8804bf3b407e984cd2bc"},
+ {file = "numpy-2.3.4-cp314-cp314-win_amd64.whl", hash = "sha256:3da3491cee49cf16157e70f607c03a217ea6647b1cea4819c4f48e53d49139b9"},
+ {file = "numpy-2.3.4-cp314-cp314-win_arm64.whl", hash = "sha256:6d9cd732068e8288dbe2717177320723ccec4fb064123f0caf9bbd90ab5be868"},
+ {file = "numpy-2.3.4-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:22758999b256b595cf0b1d102b133bb61866ba5ceecf15f759623b64c020c9ec"},
+ {file = "numpy-2.3.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:9cb177bc55b010b19798dc5497d540dea67fd13a8d9e882b2dae71de0cf09eb3"},
+ {file = "numpy-2.3.4-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:0f2bcc76f1e05e5ab58893407c63d90b2029908fa41f9f1cc51eecce936c3365"},
+ {file = "numpy-2.3.4-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:8dc20bde86802df2ed8397a08d793da0ad7a5fd4ea3ac85d757bf5dd4ad7c252"},
+ {file = "numpy-2.3.4-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5e199c087e2aa71c8f9ce1cb7a8e10677dc12457e7cc1be4798632da37c3e86e"},
+ {file = "numpy-2.3.4-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85597b2d25ddf655495e2363fe044b0ae999b75bc4d630dc0d886484b03a5eb0"},
+ {file = "numpy-2.3.4-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:04a69abe45b49c5955923cf2c407843d1c85013b424ae8a560bba16c92fe44a0"},
+ {file = "numpy-2.3.4-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e1708fac43ef8b419c975926ce1eaf793b0c13b7356cfab6ab0dc34c0a02ac0f"},
+ {file = "numpy-2.3.4-cp314-cp314t-win32.whl", hash = "sha256:863e3b5f4d9915aaf1b8ec79ae560ad21f0b8d5e3adc31e73126491bb86dee1d"},
+ {file = "numpy-2.3.4-cp314-cp314t-win_amd64.whl", hash = "sha256:962064de37b9aef801d33bc579690f8bfe6c5e70e29b61783f60bcba838a14d6"},
+ {file = "numpy-2.3.4-cp314-cp314t-win_arm64.whl", hash = "sha256:8b5a9a39c45d852b62693d9b3f3e0fe052541f804296ff401a72a1b60edafb29"},
+ {file = "numpy-2.3.4-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:6e274603039f924c0fe5cb73438fa9246699c78a6df1bd3decef9ae592ae1c05"},
+ {file = "numpy-2.3.4-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d149aee5c72176d9ddbc6803aef9c0f6d2ceeea7626574fc68518da5476fa346"},
+ {file = "numpy-2.3.4-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:6d34ed9db9e6395bb6cd33286035f73a59b058169733a9db9f85e650b88df37e"},
+ {file = "numpy-2.3.4-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:fdebe771ca06bb8d6abce84e51dca9f7921fe6ad34a0c914541b063e9a68928b"},
+ {file = "numpy-2.3.4-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:957e92defe6c08211eb77902253b14fe5b480ebc5112bc741fd5e9cd0608f847"},
+ {file = "numpy-2.3.4-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13b9062e4f5c7ee5c7e5be96f29ba71bc5a37fed3d1d77c37390ae00724d296d"},
+ {file = "numpy-2.3.4-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:81b3a59793523e552c4a96109dde028aa4448ae06ccac5a76ff6532a85558a7f"},
+ {file = "numpy-2.3.4.tar.gz", hash = "sha256:a7d018bfedb375a8d979ac758b120ba846a7fe764911a64465fd87b8729f4a6a"},
]
[[package]]
@@ -2107,7 +2212,7 @@ description = "A lil' TOML parser"
optional = false
python-versions = ">=3.8"
groups = ["dev"]
-markers = "python_version < \"3.11\""
+markers = "python_version == \"3.10\""
files = [
{file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"},
{file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"},
@@ -2454,5 +2559,5 @@ propcache = ">=0.2.0"
[metadata]
lock-version = "2.1"
-python-versions = ">=3.10, <=3.13"
-content-hash = "d3eb3f204a5889649705a5e817a9e1bf360c826100f73c637e299b1033cca003"
+python-versions = ">=3.10,<3.14"
+content-hash = "db6bdae055eb3aac67ee10e3cb523e517b56b5e42c2aa2e0cd3392c8600aaa14"
diff --git a/pyproject.toml b/pyproject.toml
index ea04c4a3..ea99383d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,21 +1,21 @@
[tool.poetry]
-name = "mambular"
+name = "deeptabular"
-version = "1.5.1"
+version = "1.6.0"
description = "A python package for tabular deep learning with mamba blocks."
authors = ["Anton Thielmann", "Manish Kumar", "Christoph Weisser"]
readme = "README.md"
-packages = [{ include = "mambular" }]
+packages = [{ include = "deeptabular" }]
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.dependencies]
-python = ">=3.10, <=3.13"
-numpy = "<=1.26.4"
+python = ">=3.10,<3.14"
+numpy = "^2.0.0"
pandas = "^2.0.3"
lightning = "^2.3.3"
scikit-learn = "^1.3.2"
@@ -38,10 +38,10 @@ docformatter = "^1.4"
[tool.poetry.urls]
-homepage = "https://github.com/basf/mamba-tabular"
-documentation = "https://mambular.readthedocs.io/en/"
-repository = "https://github.com/basf/mamba-tabular"
-package = "https://pypi.org/project/mambular/"
+homepage = "https://github.com/OpenTabular/DeepTabular"
+documentation = "https://deeptabular.readthedocs.io/"
+repository = "https://github.com/OpenTabular/DeepTabular"
+package = "https://pypi.org/project/deeptabular/"
# code quality tools
@@ -57,7 +57,7 @@ venv = ".venv"
[tool.ruff]
line-length = 120
target-version = "py310"
-exclude = ["*.ipynb", "mambular/arch_utils/mamba_utils.mamba_orginal.py"]
+exclude = ["*.ipynb", "deeptabular/arch_utils/mamba_utils.mamba_orginal.py"]
[tool.ruff.lint]
select = [
diff --git a/tests/test_base.py b/tests/test_base.py
index c5e99968..ba248d55 100644
--- a/tests/test_base.py
+++ b/tests/test_base.py
@@ -3,16 +3,16 @@
import torch
import os
import importlib
-from mambular.base_models.utils import BaseModel
+from deeptabular.base_models.utils import BaseModel
# Paths for models and configs
-MODEL_MODULE_PATH = "mambular.base_models"
-CONFIG_MODULE_PATH = "mambular.configs"
+MODEL_MODULE_PATH = "deeptabular.base_models"
+CONFIG_MODULE_PATH = "deeptabular.configs"
EXCLUDED_CLASSES = {"TabR"}
# Discover all models
model_classes = []
-for filename in os.listdir(os.path.dirname(__file__) + "/../mambular/base_models"):
+for filename in os.listdir(os.path.dirname(__file__) + "/../deeptabular/base_models"):
if filename.endswith(".py") and filename not in [
"__init__.py",
"basemodel.py",
diff --git a/tests/test_configs.py b/tests/test_configs.py
index 5299534a..9fb557c1 100644
--- a/tests/test_configs.py
+++ b/tests/test_configs.py
@@ -4,13 +4,13 @@
import os
import dataclasses
import typing
-from mambular.configs.base_config import BaseConfig # Ensure correct path
+from deeptabular.configs.base_config import BaseConfig # Ensure correct path
-CONFIG_MODULE_PATH = "mambular.configs"
+CONFIG_MODULE_PATH = "deeptabular.configs"
config_classes = []
-# Discover all config classes in mambular/configs/
-for filename in os.listdir(os.path.dirname(__file__) + "/../mambular/configs"):
+# Discover all config classes in deeptabular/configs/
+for filename in os.listdir(os.path.dirname(__file__) + "/../deeptabular/configs"):
if (
filename.endswith(".py")
and filename != "base_config.py"