refactor(ir): move ibis.sequence() to api.py (#3025)
* Move ibis.sequence() to api.py * Clean up case builders * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix value order with set predicate * Additional operations with ValueLust arguments * Set ordering in impala and clickhouse tests * Set ordering in impala and clickhouse tests * Pre-commit fix * Remove TODO notest Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
refactor(signature.py): remove the need of Argument constructor (#3047
) * Signature refactor * Signature refactor * Signature refactor * Signature refactor * Examples * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix visualization * Flake8 * Restore ValueList rules * Cleanup * Fix impala udf creation * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Linting * Address review comments * Add test for argument reordering * Finalize * Restore docstring * ABC Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
refactor(rules.py): remove most operation constructors (#3046)
* refactor: remove most operation constructors * refactor: reuse sort_key logic * refactor: remove custom constructor for CrossJoin entirely * refactor: bring back `prefixes` check for backcompat * refactor: remove column_name_from * fix: handle the empty schema case in _table_to_array * refactor: move _flatten to util.py and add tests * fix: check for ScalarExpr in named_literal_expression * fix: allow only columns for group by keys * refactor: move literal to map_to * style: rename named_literal_expression to named_literal * refactor: remove ir.TableExpr refs in rules * refactor: deepcopy the default to optional to prevent mutation * fix: make sure set test doesn't depend on ordering of expected output * test: add test for copying default value
* Add renovate.json * chore: update renovate config * chore: fix renovate schedule * chore: run around the clock * chore: prevent setup.py from being used in renovate * chore: run renovate during non-business hours * chore: always use chore(deps) for renovate PRs * fix: use the right extends function * chore: don't make everything a chore: deps * chore(renovate.json): use the widening strategy In theory the `widen` strategy avoids removing support for dependency lower bounds. * chore(deps): remove a few pins Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: Phillip Cloud <417981+cpcloud@users.noreply.github.com>
ci: add workflow to automatically update setup.py (#3054)
This commit adds a workflow that runs whenever dependency-relevant files change, and will attempt to regenerate `setup.py` and push a commit to any PRs made to master from branches in the `ibis-project/ibis` repo.
chore(deps): update dependency flake8 to v4 (#3064)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
chore(deps): update dependency pytest-cov to v3 (#3065)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
chore(deps): update dependency setuptools to v58 (#3066)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
chore(deps): update dependency sphinx-rtd-theme to v1 (#3067)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
fix(deps): update dependency clickhouse-driver to ^0.1 || ^0.2.0 (#3061)
* fix(deps): update dependency clickhouse-driver to ^0.1 || ^0.2.0 * chore(setup.py): update Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore(deps): lock file maintenance (#3069)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
chore(deps): update dependency mypy to v0.910 (#3056)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
ci: generate conda lock files in CI (#3077)
* ci: generate conda lock files in CI * ci: use the right mamba-version field * ci: use mamba * chore(deps): lock file maintenance * ci: set the python version when generating lock files * ci: add cpython specificity to conda lock gen * style: don't append, just generate the file anew * ci: move back to without a build * ci: fan out conda lock gen * ci: use dispatching for relocking conda lock files * ci: fix commit message typo * chore(poetry.lock): maintenance * ci: remove conda_lock from CI * ci: ignore lock files in review [skip ci] * ci: update secrets * ci: put the lock files in the right place
chore(deps): update peter-evans/slash-command-dispatch action to v2 (#…
…3081) Co-authored-by: Renovate Bot <bot@renovateapp.com>
ci: use git push instead of github action for lock file PR update com…
…mits (#3080) * ci: use git push instead of github action for lock file PR update commits * ci: fix commit message * ci: don't fail the job if no files have changed * ci: split steps
ci: pull first when updating conda lock files (#3083)
* ci: pull first when updating conda lock files * ci: use the most robust pull strategy when updating conda lock files
chore(deps): widen geoalchemy2 version (#3073)
* chore(deps): widen geoalchemy2 version * chore(deps): lock file maintenance * build: fix geoalchemy2 case for conda lock * chore(conda-lock/*-3.9.lock): relock * chore(conda-lock/*-3.8.lock): relock * chore(conda-lock/*-3.7.lock): relock Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
fix: execute materialized joins in the pandas and dask backends (#3086)
* fix: execute materialized joins in the pandas and dask backends * docs: release note
chore(deps): widen geopandas version (#3072)
* ci: widen geopandas dependency version * chore(poetry.lock): maintenance * chore(setup.py): regenerate * chore(conda-lock/*-3.9.lock): relock * chore(conda-lock/*-3.8.lock): relock * chore(conda-lock/*-3.7.lock): relock Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore(deps): lock file maintenance (#3089)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
fix(deps): update dependency pyarrow to v6 (#3092)
* fix(deps): update dependency pyarrow to v6 * chore(setup.py): update * chore(conda-lock): relock Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
refactor: split operations.py into subpackage and submodules (#3088)
* refactor: split up operations into categorical modules * docs(ci): fix notebook import * docs: release note * refactor: remove public for not-previously-public APIs * fix: fix ops._to_sort_key call * chore(poetry.lock): maintenance
chore(poetry.lock): regenerate (#3099)
* chore(poetry.lock): regenerate * chore(poetry.lock): refresh * chore(conda-lock): relock * ci: disable the new installer for 3.7 * ci: disable cache on py37 * ci: use more cache * ci: use json for comparison * ci: cache when no special deps given Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
[pre-commit.ci] pre-commit autoupdate (#3101)
updates: - [github.com/psf/black: 21.9b0 → 21.10b0](psf/black@21.9b0...21.10b0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
FIX: Pandas and Dask backends fail when adjusted context is not a sup…
…erset of original context (#3104)
refactor(ir): Don't bypass argument coercion and validation for user …
…defined functions (#3001) * Inherit slots instead of redefining them * Don't bypass argument coercion and validation for user defined functions * Update return type's attribute name * Use VectorizedUDF base * Add tests * Remove/rewrite scalar udf tests * Remove test from dask backend
feat(ci): More readable workflow job titles (#3111)
* More readable workflow job titles (hopefully) * Use single quotes * Fix HDF5 build title * Extend python build matrix for ibis core * Fix docs build named as benchmark; add auto cancellation for PRs * Dummy change to test auto cancellation * Install cytoolz only if python < 3.10 * Regenerate setup.py * Update poetry lock * Update poetry lock
chore(deps): lock file maintenance (#3113)
* chore(deps): lock file maintenance * chore(conda-lock): relock Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
[pre-commit.ci] pre-commit autoupdate (#3114)
updates: - [github.com/PyCQA/isort: 5.9.3 → 5.10.0](PyCQA/isort@5.9.3...5.10.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
refactor(ir): Remove ir.ExprList, ops.ExpressionList and ibis.expr_li…
…st() (#3112) * Remove ir.ExprList, ops.ExpressionList and ibis.expr_list() * Fix clickhouse test case * Fix impala and postgres tests * Support summary prefix * Test for summary prefix * Add release note * Remove TODO note * Support suffix * Simplify prefix/suffix handling