diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a7eeb16..af7c18c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,7 +10,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ['3.8', '3.9', '3.10', '3.11'] + python-version: ['3.10', '3.11', '3.12', '3.13'] steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} @@ -19,7 +19,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | - python -m pip install --upgrade pip==22.0.4 + python -m pip install --upgrade pip pip install -r requirements.txt pip install -r requirements_test.txt pip install --no-cache-dir . @@ -41,10 +41,10 @@ jobs: - name: Set up Python uses: actions/setup-python@v2 with: - python-version: '3.9' + python-version: '3.10' - name: Install dependencies run: | - python -m pip install --upgrade pip==20.2.4 + python -m pip install --upgrade pip pip install setuptools wheel twine - name: Build and publish env: diff --git a/.github/workflows/test_prs.yml b/.github/workflows/test_prs.yml index 943e7f9..d0382bd 100644 --- a/.github/workflows/test_prs.yml +++ b/.github/workflows/test_prs.yml @@ -11,7 +11,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ['3.8', '3.9', '3.10', '3.11'] + python-version: ['3.10', '3.11', '3.12', '3.13'] steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} @@ -20,7 +20,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | - python -m pip install --upgrade pip==22.0.4 + python -m pip install --upgrade pip pip install -r requirements.txt pip install -r requirements_test.txt pip install --no-cache-dir . @@ -41,10 +41,10 @@ jobs: pull-requests: write steps: - uses: actions/checkout@v3 - - name: Set up Python 3.8 + - name: Set up Python 3.10 uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: "3.10" - name: Install dependencies run: | diff --git a/mindsdb_sdk/__about__.py b/mindsdb_sdk/__about__.py index 54f8c9b..8f09988 100755 --- a/mindsdb_sdk/__about__.py +++ b/mindsdb_sdk/__about__.py @@ -1,6 +1,6 @@ __title__ = 'mindsdb_sdk' __package_name__ = 'mindsdb_sdk' -__version__ = '3.4.9' +__version__ = '3.4.10' __description__ = "MindsDB Python SDK, provides an SDK to use a remote mindsdb instance" __email__ = "jorge@mindsdb.com" __author__ = 'MindsDB Inc' diff --git a/mindsdb_sdk/models.py b/mindsdb_sdk/models.py index 49818e6..99caeaf 100644 --- a/mindsdb_sdk/models.py +++ b/mindsdb_sdk/models.py @@ -341,6 +341,7 @@ def describe(self, type: str = None) -> Union[pd.DataFrame, Query]: identifier = self._get_identifier() if type is not None: identifier.parts.append(type) + identifier.is_quoted.append(False) ast_query = Describe(identifier) sql = ast_query.to_string() diff --git a/requirements.txt b/requirements.txt index 17f62dd..72a42ee 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ requests pandas >= 1.3.5 -mindsdb-sql-parser == 0.10.0 +mindsdb-sql-parser == 0.13.7 docstring-parser >= 0.7.3 tenacity >= 8.0.1 openai >= 1.74.1 diff --git a/tests/test_sdk.py b/tests/test_sdk.py index b1687cf..b9105ce 100644 --- a/tests/test_sdk.py +++ b/tests/test_sdk.py @@ -107,11 +107,11 @@ def check_model(self, model, database, mock_post): assert call_args[1]['json']['params'] == params # check prediction - assert (pred_df == pd.DataFrame(data_out)).all().bool() + assert pred_df.equals(pd.DataFrame(data_out)) # predict using dict - pred_df = model.predict({ 'a': 1 }) - assert (pred_df == pd.DataFrame(data_out)).all().bool() + pred_df = model.predict({'a': 1}) + assert pred_df.equals(pd.DataFrame(data_out)) # using deferred query response_mock(mock_post, pd.DataFrame(data_out)) # will be used sql/query @@ -121,7 +121,7 @@ def check_model(self, model, database, mock_post): check_sql_call(mock_post, f'SELECT m.* FROM (SELECT * FROM {query.database} (select a from t1)) AS t JOIN {model.project.name}.{model_name} AS m USING x="1"') - assert (pred_df == pd.DataFrame(data_out)).all().bool() + assert pred_df.equals(pd.DataFrame(data_out)) # using table table0 = database.tables.tbl0 @@ -129,7 +129,7 @@ def check_model(self, model, database, mock_post): check_sql_call(mock_post, f'SELECT m.* FROM (SELECT * FROM {table0.db.name}.tbl0) AS t JOIN {model.project.name}.{model_name} AS m') - assert (pred_df == pd.DataFrame(data_out)).all().bool() + assert pred_df.equals(pd.DataFrame(data_out)) # time series prediction @@ -138,7 +138,7 @@ def check_model(self, model, database, mock_post): check_sql_call(mock_post, f'SELECT m.* FROM (SELECT * FROM {query.database} (select * from t1 where type="house" and saledate>latest)) as t JOIN {model.project.name}.{model_name} AS m') - assert (pred_df == pd.DataFrame(data_out)).all().bool() + assert pred_df.equals(pd.DataFrame(data_out)) # ----------- model managing -------------- response_mock( @@ -524,7 +524,7 @@ def check_database(self, database, mock_post): check_sql_call(mock_post, sql) - assert (data == result).all().bool() + assert data.equals(result) # test tables response_mock(mock_post, pd.DataFrame([{'name': 't1'}])) @@ -990,7 +990,7 @@ def check_database(self, database, mock_post): check_sql_call(mock_post, sql) - assert (data == result).all().bool() + assert data.equals(result) # test tables response_mock(mock_post, pd.DataFrame([{'name': 't1'}]))