Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-jupyter-kernel-test for openSUSE:Factory checked in at 2023-02-05 19:23:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-jupyter-kernel-test (Old) and /work/SRC/openSUSE:Factory/.python-jupyter-kernel-test.new.4462 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jupyter-kernel-test" Sun Feb 5 19:23:15 2023 rev:3 rq:1063297 version:0.5.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-jupyter-kernel-test/python-jupyter-kernel-test.changes 2022-10-26 14:21:57.967888187 +0200 +++ /work/SRC/openSUSE:Factory/.python-jupyter-kernel-test.new.4462/python-jupyter-kernel-test.changes 2023-02-05 19:23:16.376621793 +0100 @@ -1,0 +2,7 @@ +Sun Feb 5 16:05:17 UTC 2023 - Ben Greiner <c...@bnavigator.de> + +- Update to 0.5.0 + * Fix client 8 compat #109 (@blink1073) + * CI and maintenance cleanups + +------------------------------------------------------------------- Old: ---- jupyter_kernel_test-0.4.5.tar.gz New: ---- jupyter_kernel_test-0.5.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-jupyter-kernel-test.spec ++++++ --- /var/tmp/diff_new_pack.4XrFcI/_old 2023-02-05 19:23:16.804624267 +0100 +++ /var/tmp/diff_new_pack.4XrFcI/_new 2023-02-05 19:23:16.808624291 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-jupyter-kernel-test # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: python-jupyter-kernel-test -Version: 0.4.5 +Version: 0.5.0 Release: 0 Summary: A tool for testing Jupyter kernels License: BSD-3-Clause ++++++ jupyter_kernel_test-0.4.5.tar.gz -> jupyter_kernel_test-0.5.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_kernel_test-0.4.5/.flake8 new/jupyter_kernel_test-0.5.0/.flake8 --- old/jupyter_kernel_test-0.4.5/.flake8 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_kernel_test-0.5.0/.flake8 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -[flake8] -ignore = E501, W503, E402 -builtins = c, get_config -exclude = - .cache, - .github, - docs, - setup.py -enable-extensions = G -extend-ignore = - G001, G002, G004, G200, G201, G202, - # black adds spaces around ':' - E203, -per-file-ignores = - # B011: Do not call assert False since python -O removes these calls - # F841 local variable 'foo' is assigned to but never used - test_*.py: B011, F841 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_kernel_test-0.4.5/.github/dependabot.yml new/jupyter_kernel_test-0.5.0/.github/dependabot.yml --- old/jupyter_kernel_test-0.4.5/.github/dependabot.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/jupyter_kernel_test-0.5.0/.github/dependabot.yml 2020-02-02 01:00:00.000000000 +0100 @@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "weekly" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_kernel_test-0.4.5/.github/workflows/check-release.yml new/jupyter_kernel_test-0.5.0/.github/workflows/check-release.yml --- old/jupyter_kernel_test-0.4.5/.github/workflows/check-release.yml 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_kernel_test-0.5.0/.github/workflows/check-release.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,29 +0,0 @@ -name: Check Release -on: - push: - branches: ["master"] - pull_request: - branches: ["*"] - -jobs: - check_release: - runs-on: ubuntu-latest - strategy: - matrix: - group: [check_release, link_check] - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Base Setup - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - - name: Install Dependencies - run: | - pip install -e . - - name: Check Release - if: ${{ matrix.group == 'check_release' }} - uses: jupyter-server/jupyter_releaser/.github/actions/check-release@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - - name: Run Link Check - if: ${{ matrix.group == 'link_check' }} - uses: jupyter-server/jupyter_releaser/.github/actions/check-links@v1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_kernel_test-0.4.5/.github/workflows/tests.yml new/jupyter_kernel_test-0.5.0/.github/workflows/tests.yml --- old/jupyter_kernel_test-0.4.5/.github/workflows/tests.yml 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_kernel_test-0.5.0/.github/workflows/tests.yml 2020-02-02 01:00:00.000000000 +0100 @@ -25,19 +25,21 @@ fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ["3.7", "3.10"] + python-version: ["3.7", "3.11"] include: - os: windows-latest python-version: "3.9" - os: macos-latest python-version: "3.8" + - os: ubuntu-latest + python-version: "3.10" env: OS: ${{ matrix.os }} steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Base setup uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 @@ -56,55 +58,41 @@ # run: | # conda install -c conda-forge xeus-cling - - name: Install dependencies - run: | - pip install -e .[test] - - name: Run the tests - run: python -m unittest -v || python -m unittest -v + run: hatch run test:test || hatch run test:test test_minimum_versions: name: Test Minimum Versions timeout-minutes: 20 runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - name: Base Setup - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + - uses: actions/checkout@v3 + - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 with: - python_version: "3.7" - - name: Install miniumum versions - uses: jupyterlab/maintainer-tools/.github/actions/install-minimums@v1 + dependency_type: minimum - name: Run the unit tests run: | - python -m unittest -v || python -m unittest -v + hatch run test:test || hatch run test:test test_prereleases: name: Test Prereleases runs-on: ubuntu-latest timeout-minutes: 20 steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Base Setup - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - - name: Install the Python dependencies - run: | - pip install --pre -e ".[test]" - - name: List installed packages - run: | - pip freeze - pip check + - uses: actions/checkout@v3 + - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + with: + dependency_type: pre - name: Run the tests run: | - python -m unittest -v || python -m unittest -v + hatch run test:test || hatch run test:test make_sdist: name: Make SDist runs-on: ubuntu-latest timeout-minutes: 10 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - uses: jupyterlab/maintainer-tools/.github/actions/make-sdist@v1 @@ -117,4 +105,51 @@ - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - uses: jupyterlab/maintainer-tools/.github/actions/test-sdist@v1 with: - test_command: "python -m unittest -v || python -m unittest -v" + test_command: hatch run test:test || hatch run test:test + + check_links: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@v3 + - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + - uses: jupyterlab/maintainer-tools/.github/actions/check-links@v1 + + test_lint: + name: Test Lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + - name: Run Linters + run: | + hatch run typing:test + hatch run lint:style + pipx run 'validate-pyproject[all]' pyproject.toml + + check_release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + - name: Check Release + uses: jupyter-server/jupyter_releaser/.github/actions/check-release@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + + tests_check: # This job does nothing and is only used for the branch protection + if: always() + needs: + - test + - test_lint + - check_release + - test_minimum_versions + - test_prereleases + - check_links + - test_sdist + runs-on: ubuntu-latest + steps: + - name: Decide whether the needed jobs succeeded or failed + uses: re-actors/alls-green@release/v1 + with: + jobs: ${{ toJSON(needs) }} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_kernel_test-0.4.5/.pre-commit-config.yaml new/jupyter_kernel_test-0.5.0/.pre-commit-config.yaml --- old/jupyter_kernel_test-0.4.5/.pre-commit-config.yaml 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_kernel_test-0.5.0/.pre-commit-config.yaml 2020-02-02 01:00:00.000000000 +0100 @@ -1,9 +1,9 @@ ci: - skip: [check-jsonschema] + autoupdate_schedule: monthly repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.3.0 + rev: v4.4.0 hooks: - id: end-of-file-fixer - id: check-case-conflict @@ -18,48 +18,26 @@ - id: check-builtin-literals - id: trailing-whitespace - - repo: https://github.com/psf/black - rev: 22.6.0 - hooks: - - id: black - args: ["--line-length", "100"] - - - repo: https://github.com/PyCQA/isort - rev: 5.10.1 - hooks: - - id: isort - files: \.py$ - args: [--profile=black] - - - repo: https://github.com/pre-commit/mirrors-prettier - rev: v2.7.1 + - repo: https://github.com/python-jsonschema/check-jsonschema + rev: 0.19.2 hooks: - - id: prettier + - id: check-github-workflows - - repo: https://github.com/asottile/pyupgrade - rev: v2.37.3 + - repo: https://github.com/executablebooks/mdformat + rev: 0.7.16 hooks: - - id: pyupgrade - args: [--py37-plus] - - - repo: https://github.com/PyCQA/doc8 - rev: v1.0.0 - hooks: - - id: doc8 - args: [--max-line-length=200] + - id: mdformat + additional_dependencies: + [mdformat-gfm, mdformat-frontmatter, mdformat-footnote] - - repo: https://github.com/pycqa/flake8 - rev: 5.0.4 + - repo: https://github.com/psf/black + rev: 22.12.0 hooks: - - id: flake8 - additional_dependencies: - ["flake8-bugbear==22.6.22", "flake8-implicit-str-concat==0.2.0"] + - id: black - - repo: https://github.com/sirosen/check-jsonschema - rev: 0.17.1 + - repo: https://github.com/charliermarsh/ruff-pre-commit + rev: v0.0.217 hooks: - - id: check-jsonschema - name: "Check GitHub Workflows" - files: ^\.github/workflows/ - types: [yaml] - args: ["--schemafile", "https://json.schemastore.org/github-workflow"] + - id: ruff + args: ["--fix"] + exclude: scripts diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_kernel_test-0.4.5/CHANGELOG.md new/jupyter_kernel_test-0.5.0/CHANGELOG.md --- old/jupyter_kernel_test-0.4.5/CHANGELOG.md 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_kernel_test-0.5.0/CHANGELOG.md 2020-02-02 01:00:00.000000000 +0100 @@ -2,6 +2,31 @@ <!-- <START NEW CHANGELOG ENTRY> --> +## 0.5.0 + +([Full Changelog](https://github.com/jupyter/jupyter_kernel_test/compare/v0.4.5...c3ffbd013b1cdd32d7273d4fbe9ee0ab61af7a1e)) + +### Maintenance and upkeep improvements + +- Upgrade lint [#126](https://github.com/jupyter/jupyter_kernel_test/pull/126) ([@blink1073](https://github.com/blink1073)) +- Adopt ruff and address lint [#123](https://github.com/jupyter/jupyter_kernel_test/pull/123) ([@blink1073](https://github.com/blink1073)) +- Use base setup dependency type [#120](https://github.com/jupyter/jupyter_kernel_test/pull/120) ([@blink1073](https://github.com/blink1073)) +- Fix test invocation [#118](https://github.com/jupyter/jupyter_kernel_test/pull/118) ([@blink1073](https://github.com/blink1073)) +- CI Cleanup [#117](https://github.com/jupyter/jupyter_kernel_test/pull/117) ([@blink1073](https://github.com/blink1073)) +- Bump actions/checkout from 2 to 3 [#115](https://github.com/jupyter/jupyter_kernel_test/pull/115) ([@dependabot](https://github.com/dependabot)) +- Add dependabot [#114](https://github.com/jupyter/jupyter_kernel_test/pull/114) ([@blink1073](https://github.com/blink1073)) +- Maintenance cleanup [#111](https://github.com/jupyter/jupyter_kernel_test/pull/111) ([@blink1073](https://github.com/blink1073)) +- Fix client 8 compat [#109](https://github.com/jupyter/jupyter_kernel_test/pull/109) ([@blink1073](https://github.com/blink1073)) +- Maintenance clean up [#106](https://github.com/jupyter/jupyter_kernel_test/pull/106) ([@blink1073](https://github.com/blink1073)) + +### Contributors to this release + +([GitHub contributors page for this release](https://github.com/jupyter/jupyter_kernel_test/graphs/contributors?from=2022-08-22&to=2023-01-27&type=c)) + +[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_kernel_test+involves%3Ablink1073+updated%3A2022-08-22..2023-01-27&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_kernel_test+involves%3Adependabot+updated%3A2022-08-22..2023-01-27&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_kernel_test+involves%3Apre-commit-ci+updated%3A2022-08-22..2023-01-27&type=Issues) + +<!-- <END NEW CHANGELOG ENTRY> --> + ## 0.4.5 ([Full Changelog](https://github.com/jupyter/jupyter_kernel_test/compare/v0.4.4...85c23f820f8127808f60dab6f5871e8d26c01192)) @@ -16,8 +41,6 @@ [@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_kernel_test+involves%3Ablink1073+updated%3A2022-08-19..2022-08-22&type=Issues) -<!-- <END NEW CHANGELOG ENTRY> --> - ## 0.4.4 ([Full Changelog](https://github.com/jupyter/jupyter_kernel_test/compare/v0.4.3...b723ce668df0de185f9b682d85379e515cfc012b)) @@ -25,26 +48,26 @@ ### Maintenance and upkeep improvements - Stop testing xeus cling [#97](https://github.com/jupyter/jupyter_kernel_test/pull/97) ([@blink1073](https://github.com/blink1073)) -- [pre-commit.ci] pre-commit autoupdate [#96](https://github.com/jupyter/jupyter_kernel_test/pull/96) ([@pre-commit-ci](https://github.com/pre-commit-ci)) +- \[pre-commit.ci\] pre-commit autoupdate [#96](https://github.com/jupyter/jupyter_kernel_test/pull/96) ([@pre-commit-ci](https://github.com/pre-commit-ci)) - Fix flake8 v5 compat [#95](https://github.com/jupyter/jupyter_kernel_test/pull/95) ([@blink1073](https://github.com/blink1073)) -- [pre-commit.ci] pre-commit autoupdate [#94](https://github.com/jupyter/jupyter_kernel_test/pull/94) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- [pre-commit.ci] pre-commit autoupdate [#92](https://github.com/jupyter/jupyter_kernel_test/pull/92) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- [pre-commit.ci] pre-commit autoupdate [#91](https://github.com/jupyter/jupyter_kernel_test/pull/91) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- [pre-commit.ci] pre-commit autoupdate [#90](https://github.com/jupyter/jupyter_kernel_test/pull/90) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- [pre-commit.ci] pre-commit autoupdate [#89](https://github.com/jupyter/jupyter_kernel_test/pull/89) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- [pre-commit.ci] pre-commit autoupdate [#88](https://github.com/jupyter/jupyter_kernel_test/pull/88) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- [pre-commit.ci] pre-commit autoupdate [#87](https://github.com/jupyter/jupyter_kernel_test/pull/87) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- [pre-commit.ci] pre-commit autoupdate [#86](https://github.com/jupyter/jupyter_kernel_test/pull/86) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- [pre-commit.ci] pre-commit autoupdate [#85](https://github.com/jupyter/jupyter_kernel_test/pull/85) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- [pre-commit.ci] pre-commit autoupdate [#84](https://github.com/jupyter/jupyter_kernel_test/pull/84) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- [pre-commit.ci] pre-commit autoupdate [#83](https://github.com/jupyter/jupyter_kernel_test/pull/83) ([@pre-commit-ci](https://github.com/pre-commit-ci)) +- \[pre-commit.ci\] pre-commit autoupdate [#94](https://github.com/jupyter/jupyter_kernel_test/pull/94) ([@pre-commit-ci](https://github.com/pre-commit-ci)) +- \[pre-commit.ci\] pre-commit autoupdate [#92](https://github.com/jupyter/jupyter_kernel_test/pull/92) ([@pre-commit-ci](https://github.com/pre-commit-ci)) +- \[pre-commit.ci\] pre-commit autoupdate [#91](https://github.com/jupyter/jupyter_kernel_test/pull/91) ([@pre-commit-ci](https://github.com/pre-commit-ci)) +- \[pre-commit.ci\] pre-commit autoupdate [#90](https://github.com/jupyter/jupyter_kernel_test/pull/90) ([@pre-commit-ci](https://github.com/pre-commit-ci)) +- \[pre-commit.ci\] pre-commit autoupdate [#89](https://github.com/jupyter/jupyter_kernel_test/pull/89) ([@pre-commit-ci](https://github.com/pre-commit-ci)) +- \[pre-commit.ci\] pre-commit autoupdate [#88](https://github.com/jupyter/jupyter_kernel_test/pull/88) ([@pre-commit-ci](https://github.com/pre-commit-ci)) +- \[pre-commit.ci\] pre-commit autoupdate [#87](https://github.com/jupyter/jupyter_kernel_test/pull/87) ([@pre-commit-ci](https://github.com/pre-commit-ci)) +- \[pre-commit.ci\] pre-commit autoupdate [#86](https://github.com/jupyter/jupyter_kernel_test/pull/86) ([@pre-commit-ci](https://github.com/pre-commit-ci)) +- \[pre-commit.ci\] pre-commit autoupdate [#85](https://github.com/jupyter/jupyter_kernel_test/pull/85) ([@pre-commit-ci](https://github.com/pre-commit-ci)) +- \[pre-commit.ci\] pre-commit autoupdate [#84](https://github.com/jupyter/jupyter_kernel_test/pull/84) ([@pre-commit-ci](https://github.com/pre-commit-ci)) +- \[pre-commit.ci\] pre-commit autoupdate [#83](https://github.com/jupyter/jupyter_kernel_test/pull/83) ([@pre-commit-ci](https://github.com/pre-commit-ci)) - Enable auto-label for bot PRs [#82](https://github.com/jupyter/jupyter_kernel_test/pull/82) ([@blink1073](https://github.com/blink1073)) -- [pre-commit.ci] pre-commit autoupdate [#81](https://github.com/jupyter/jupyter_kernel_test/pull/81) ([@pre-commit-ci](https://github.com/pre-commit-ci)) +- \[pre-commit.ci\] pre-commit autoupdate [#81](https://github.com/jupyter/jupyter_kernel_test/pull/81) ([@pre-commit-ci](https://github.com/pre-commit-ci)) - Run tests twice [#80](https://github.com/jupyter/jupyter_kernel_test/pull/80) ([@blink1073](https://github.com/blink1073)) - Use flit build backend [#79](https://github.com/jupyter/jupyter_kernel_test/pull/79) ([@blink1073](https://github.com/blink1073)) -- [pre-commit.ci] pre-commit autoupdate [#78](https://github.com/jupyter/jupyter_kernel_test/pull/78) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- [pre-commit.ci] pre-commit autoupdate [#77](https://github.com/jupyter/jupyter_kernel_test/pull/77) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- [pre-commit.ci] pre-commit autoupdate [#76](https://github.com/jupyter/jupyter_kernel_test/pull/76) ([@pre-commit-ci](https://github.com/pre-commit-ci)) +- \[pre-commit.ci\] pre-commit autoupdate [#78](https://github.com/jupyter/jupyter_kernel_test/pull/78) ([@pre-commit-ci](https://github.com/pre-commit-ci)) +- \[pre-commit.ci\] pre-commit autoupdate [#77](https://github.com/jupyter/jupyter_kernel_test/pull/77) ([@pre-commit-ci](https://github.com/pre-commit-ci)) +- \[pre-commit.ci\] pre-commit autoupdate [#76](https://github.com/jupyter/jupyter_kernel_test/pull/76) ([@pre-commit-ci](https://github.com/pre-commit-ci)) - Adopt flake8 and update ci [#75](https://github.com/jupyter/jupyter_kernel_test/pull/75) ([@blink1073](https://github.com/blink1073)) - Add git-blame-ignore-revs [#74](https://github.com/jupyter/jupyter_kernel_test/pull/74) ([@blink1073](https://github.com/blink1073)) - Adopt pre-commit [#73](https://github.com/jupyter/jupyter_kernel_test/pull/73) ([@blink1073](https://github.com/blink1073)) @@ -111,13 +134,19 @@ ### Maintenance and upkeep improvements - Prep for jupyter releaser usage [#59](https://github.com/jupyter/jupyter_kernel_test/pull/59) ([@blink1073](https://github.com/blink1073)) + - Test IR Kernel and Clean Up [#58](https://github.com/jupyter/jupyter_kernel_test/pull/58) ([@blink1073](https://github.com/blink1073)) + - Update for Jupyter Client 7 and GitHub Actions [#57](https://github.com/jupyter/jupyter_kernel_test/pull/57) ([@blink1073](https://github.com/blink1073)) + - Fix import issue with pytest [#46](https://github.com/jupyter/jupyter_kernel_test/pull/46) ([@martinRenou](https://github.com/martinRenou)) + - Use new kernel management modules [#41](https://github.com/jupyter/jupyter_kernel_test/pull/41) ([@takluyver](https://github.com/takluyver)) + - Replace COPYING.md with LICENCE file [#34](https://github.com/jupyter/jupyter_kernel_test/pull/34) ([@tgb417](https://github.com/tgb417)) - Fix custom test example in README [#49](https://github.com/jupyter/jupyter_kernel_test/pull/49) ([@kylebarron](https://github.com/kylebarron)) + - Fix readme [#45](https://github.com/jupyter/jupyter_kernel_test/pull/45) ([@martinRenou](https://github.com/martinRenou)) ### Contributors to this release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_kernel_test-0.4.5/PKG-INFO new/jupyter_kernel_test-0.5.0/PKG-INFO --- old/jupyter_kernel_test-0.4.5/PKG-INFO 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_kernel_test-0.5.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: jupyter_kernel_test -Version: 0.4.5 +Version: 0.5.0 Project-URL: Homepage, https://github.com/jupyter/jupyter_kernel_test Author-email: Jupyter Development Team <jupy...@googlegroups.com> License: Copyright (c) 2015-2021 Project Jupyter Contributors @@ -30,6 +30,7 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +License-File: LICENSE Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: BSD License Classifier: Programming Language :: Python :: 3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_kernel_test-0.4.5/jupyter_kernel_test/__init__.py new/jupyter_kernel_test-0.5.0/jupyter_kernel_test/__init__.py --- old/jupyter_kernel_test-0.4.5/jupyter_kernel_test/__init__.py 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_kernel_test-0.5.0/jupyter_kernel_test/__init__.py 2020-02-02 01:00:00.000000000 +0100 @@ -3,21 +3,31 @@ # Copyright (c) Jupyter Development Team. # Distributed under the terms of the Modified BSD License. +import inspect from queue import Empty from unittest import SkipTest, TestCase -from jupyter_client.manager import start_new_kernel +from jupyter_client.blocking.client import BlockingKernelClient +from jupyter_client.manager import KernelManager, start_new_kernel from jupyter_client.utils import run_sync from .msgspec_v5 import validate_message TIMEOUT = 15 -__version__ = "0.4.5" +__version__ = "0.5.0" + + +def ensure_sync(func): + if inspect.iscoroutinefunction(func): + return run_sync(func) + return func class KernelTests(TestCase): kernel_name = "python3" + kc: BlockingKernelClient + km: KernelManager @classmethod def setUpClass(cls): @@ -32,7 +42,9 @@ for channel in (self.kc.shell_channel, self.kc.iopub_channel): while True: try: - msg = run_sync(channel.get_msg)(timeout=0.1) + msg = ensure_sync(channel.get_msg)(timeout=0.1) + except TypeError: + msg = channel.get_msg(timeout=0.1) except Empty: break else: @@ -66,13 +78,13 @@ reply = self.get_non_kernel_info_reply(timeout=timeout) validate_message(reply, "execute_reply", msg_id) - busy_msg = run_sync(self.kc.iopub_channel.get_msg)(timeout=1) + busy_msg = ensure_sync(self.kc.iopub_channel.get_msg)(timeout=1) validate_message(busy_msg, "status", msg_id) self.assertEqual(busy_msg["content"]["execution_state"], "busy") output_msgs = [] while True: - msg = run_sync(self.kc.iopub_channel.get_msg)(timeout=0.1) + msg = ensure_sync(self.kc.iopub_channel.get_msg)(timeout=0.1) validate_message(msg, msg["msg_type"], msg_id) if msg["msg_type"] == "status": self.assertEqual(msg["content"]["execution_state"], "idle") @@ -88,7 +100,7 @@ def test_execute_stdout(self): if not self.code_hello_world: - raise SkipTest + raise SkipTest("No code hello world") self.flush_channels() reply, output_msgs = self.execute_helper(code=self.code_hello_world) @@ -109,7 +121,7 @@ def test_execute_stderr(self): if not self.code_stderr: - raise SkipTest + raise SkipTest("No code stderr") self.flush_channels() reply, output_msgs = self.execute_helper(code=self.code_stderr) @@ -126,7 +138,7 @@ False, "Expected one output message of type 'stream' and 'content.name'='stderr'" ) - completion_samples = [] + completion_samples: list = [] def get_non_kernel_info_reply(self, timeout=None): while True: @@ -136,7 +148,7 @@ def test_completion(self): if not self.completion_samples: - raise SkipTest + raise SkipTest("No completion samples") for sample in self.completion_samples: with self.subTest(text=sample["text"]): @@ -146,9 +158,9 @@ if "matches" in sample: self.assertEqual(set(reply["content"]["matches"]), set(sample["matches"])) - complete_code_samples = [] - incomplete_code_samples = [] - invalid_code_samples = [] + complete_code_samples: list = [] + incomplete_code_samples: list = [] + invalid_code_samples: list = [] def check_is_complete(self, sample, status): msg_id = self.kc.is_complete(sample) @@ -162,7 +174,7 @@ if not ( self.complete_code_samples or self.incomplete_code_samples or self.invalid_code_samples ): - raise SkipTest + raise SkipTest("Not testing is_complete") self.flush_channels() @@ -182,7 +194,7 @@ def test_pager(self): if not self.code_page_something: - raise SkipTest + raise SkipTest("No code page something") self.flush_channels() @@ -198,7 +210,7 @@ def test_error(self): if not self.code_generate_error: - raise SkipTest + raise SkipTest("No code generate error") self.flush_channels() @@ -207,11 +219,11 @@ self.assertEqual(len(output_msgs), 1) self.assertEqual(output_msgs[0]["msg_type"], "error") - code_execute_result = [] + code_execute_result: list = [] def test_execute_result(self): if not self.code_execute_result: - raise SkipTest + raise SkipTest("No code execute result") for sample in self.code_execute_result: with self.subTest(code=sample["code"]): @@ -233,13 +245,14 @@ self.assertIn(mime, msg["content"]["data"]) if "result" in sample: self.assertEqual(msg["content"]["data"][mime], sample["result"]) - assert found, "execute_result message not found" + if not found: + raise AssertionError("execute_result message not found") - code_display_data = [] + code_display_data: list = [] def test_display_data(self): if not self.code_display_data: - raise SkipTest + raise SkipTest("No code display data") for sample in self.code_display_data: with self.subTest(code=sample["code"]): @@ -256,7 +269,8 @@ else: continue self.assertIn(sample["mime"], msg["content"]["data"]) - assert found, "display_data message not found" + if not found: + raise AssertionError("display_data message not found") # this should match one of the values in code_execute_result code_history_pattern = "" @@ -278,7 +292,7 @@ def test_history(self): if not self.code_execute_result: - raise SkipTest + raise SkipTest("No code execute result") codes = [s["code"] for s in self.code_execute_result] _ = [s.get("result", "") for s in self.code_execute_result] @@ -288,7 +302,7 @@ with self.subTest(hist_access_type="tail"): if "tail" not in self.supported_history_operations: - raise SkipTest + raise SkipTest("History tail not suported") reply = self.history_helper(codes, output=False, raw=True, hist_access_type="tail", n=n) self.assertEqual(len(reply["content"]["history"]), n) self.assertEqual(len(reply["content"]["history"][0]), 3) @@ -303,9 +317,9 @@ with self.subTest(hist_access_type="range"): if "range" not in self.supported_history_operations: - raise SkipTest + raise SkipTest("History range not supported") if session is None: - raise SkipTest + raise SkipTest("No session") reply = self.history_helper( codes, output=False, @@ -321,9 +335,9 @@ with self.subTest(hist_access_type="search"): if not self.code_history_pattern: - raise SkipTest + raise SkipTest("No code history pattern") if "search" not in self.supported_history_operations: - raise SkipTest + raise SkipTest("History search not supported") with self.subTest(subsearch="normal"): reply = self.history_helper( @@ -359,7 +373,7 @@ def test_inspect(self): if not self.code_inspect_sample: - raise SkipTest + raise SkipTest("No code inspect sample") self.flush_channels() msg_id = self.kc.inspect(self.code_inspect_sample) @@ -374,7 +388,7 @@ def test_clear_output(self): if not self.code_clear_output: - raise SkipTest + raise SkipTest("No code clear output") self.flush_channels() reply, output_msgs = self.execute_helper(code=self.code_clear_output) @@ -387,4 +401,5 @@ found = True else: continue - assert found, "clear_output message not found" + if not found: + raise AssertionError("clear_output message not found") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_kernel_test-0.4.5/jupyter_kernel_test/msgspec_v5.py new/jupyter_kernel_test-0.5.0/jupyter_kernel_test/msgspec_v5.py --- old/jupyter_kernel_test-0.4.5/jupyter_kernel_test/msgspec_v5.py 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_kernel_test-0.5.0/jupyter_kernel_test/msgspec_v5.py 2020-02-02 01:00:00.000000000 +0100 @@ -11,7 +11,7 @@ # These fragments will be wrapped in the boilerplate for a valid JSON schema. # We also add a default 'required' containing all keys. -schema_fragments = {} +schema_fragments: dict = {} def get_msg_content_validator(msg_type, version_minor): @@ -110,7 +110,7 @@ } -def validate_message(msg, msg_type=None, parent_id=None): +def validate_message(msg, msg_type=None, parent_id=None): # noqa msg_structure_validator.validate(msg) msg_version_s = msg["header"]["version"] @@ -146,7 +146,7 @@ try: status = msg["content"]["status"] except KeyError as e: - raise ValidationError(str(e)) + raise ValidationError(str(e)) from None if status == "error": content_vdor = get_error_reply_validator(version_minor) elif status == "abort": diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_kernel_test-0.4.5/pyproject.toml new/jupyter_kernel_test-0.5.0/pyproject.toml --- old/jupyter_kernel_test-0.4.5/pyproject.toml 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_kernel_test-0.5.0/pyproject.toml 2020-02-02 01:00:00.000000000 +0100 @@ -5,6 +5,7 @@ [project] name = "jupyter_kernel_test" license = { file = "LICENSE" } +readme = "README.rst" classifiers = [ "License :: OSI Approved :: BSD License", "Intended Audience :: Developers", @@ -22,10 +23,6 @@ name = "Jupyter Development Team" email = "jupy...@googlegroups.com" -[project.readme] -file = "README.rst" -content-type = "text/x-rst" - [project.urls] Homepage = "https://github.com/jupyter/jupyter_kernel_test" @@ -38,19 +35,72 @@ [tool.hatch.version] path = "jupyter_kernel_test/__init__.py" -[tool.jupyter-releaser] -skip = ["check-links"] +[tool.hatch.envs.test] +features = ["test"] +[tool.hatch.envs.test.scripts] +test = "python -m unittest -v {args}" + +[tool.hatch.envs.typing] +features = [ "test"] +dependencies = ["mypy>=0.990"] +[tool.hatch.envs.typing.scripts] +test = "mypy --install-types --non-interactive {args:jupyter_kernel_test}" -[tool.tbump.version] -current = "0.4.5" -regex = ''' - (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+) - ((?P<channel>a|b|rc|.dev)(?P<release>\d+))? -''' - -[tool.tbump.git] -message_template = "Bump to {new_version}" -tag_template = "v{new_version}" +[tool.hatch.envs.lint] +dependencies = [ + "black[jupyter]==22.12.0", + "mdformat>0.7", + "mdformat-gfm>=0.3.5", + "ruff==0.0.217" +] +detached = true +[tool.hatch.envs.lint.scripts] +style = [ + "ruff {args:.}", + "black --check --diff {args:.}", + "mdformat --check {args:*.md}" +] +fmt = [ + "black {args:.}", + "ruff --fix {args:.}", + "mdformat {args:*.md}" +] -[[tool.tbump.file]] -src = "jupyter_kernel_test/__init__.py" +[tool.mypy] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_untyped_decorators = true +no_implicit_optional = true +no_implicit_reexport = true +pretty = true +show_error_context = true +show_error_codes = true +strict_equality = true +strict_optional = true +warn_unused_configs = true +warn_redundant_casts = true +warn_return_any = true +warn_unused_ignores = true + +[tool.black] +line-length = 100 +skip-string-normalization = true +target-version = ["py37"] + +[tool.ruff] +target-version = "py37" +line-length = 100 +select = [ + "A", "B", "C", "E", "F", "FBT", "I", "N", "Q", "RUF", "S", "T", + "UP", "W", "YTT", +] +ignore = [ + # FBT002 Boolean default value in function definition + "FBT002", "FBT003", +] +unfixable = [ + # Don't touch print statements + "T201", + # Don't touch noqa lines + "RUF100", +] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_kernel_test-0.4.5/test_irkernel.py new/jupyter_kernel_test-0.5.0/test_irkernel.py --- old/jupyter_kernel_test-0.4.5/test_irkernel.py 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_kernel_test-0.5.0/test_irkernel.py 2020-02-02 01:00:00.000000000 +0100 @@ -20,7 +20,7 @@ try: cls.km, cls.kc = jkt.start_new_kernel(kernel_name=cls.kernel_name) except NoSuchKernel: - raise unittest.SkipTest("No ir kernel installed") + raise unittest.SkipTest("No ir kernel installed") from None language_name = "R" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_kernel_test-0.4.5/test_xeus_cling.py new/jupyter_kernel_test-0.5.0/test_xeus_cling.py --- old/jupyter_kernel_test-0.4.5/test_xeus_cling.py 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_kernel_test-0.5.0/test_xeus_cling.py 2020-02-02 01:00:00.000000000 +0100 @@ -19,7 +19,7 @@ try: cls.km, cls.kc = jkt.start_new_kernel(kernel_name=cls.kernel_name) except NoSuchKernel: - raise unittest.SkipTest("Xeus-Cling Kernel not installed") + raise unittest.SkipTest("Xeus-Cling Kernel not installed") from None language_name = "c++"