async-kernel 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. async_kernel-0.1.0/.github/dependabot.yaml +16 -0
  2. async_kernel-0.1.0/.github/release.yml +27 -0
  3. async_kernel-0.1.0/.github/workflows/ci.yml +95 -0
  4. async_kernel-0.1.0/.github/workflows/enforce-label.yml +17 -0
  5. async_kernel-0.1.0/.github/workflows/new_release.yml +65 -0
  6. async_kernel-0.1.0/.github/workflows/publish-docs.yml +62 -0
  7. async_kernel-0.1.0/.github/workflows/publish-to-pypi.yml +117 -0
  8. async_kernel-0.1.0/.gitignore +15 -0
  9. async_kernel-0.1.0/.pre-commit-config.yaml +88 -0
  10. async_kernel-0.1.0/.vscode/launch.json +31 -0
  11. async_kernel-0.1.0/.vscode/settings.json +22 -0
  12. async_kernel-0.1.0/.vscode/spellright.dict +10 -0
  13. async_kernel-0.1.0/CHANGELOG.md +113 -0
  14. async_kernel-0.1.0/CONTRIBUTING.md +157 -0
  15. async_kernel-0.1.0/IPYTHON_LICENSE +30 -0
  16. async_kernel-0.1.0/LICENSE +22 -0
  17. async_kernel-0.1.0/PKG-INFO +94 -0
  18. async_kernel-0.1.0/README.md +52 -0
  19. async_kernel-0.1.0/_version.py +34 -0
  20. async_kernel-0.1.0/cliff.toml +95 -0
  21. async_kernel-0.1.0/docs/about/changelog.md +1 -0
  22. async_kernel-0.1.0/docs/about/contributing.md +1 -0
  23. async_kernel-0.1.0/docs/about/index.md +6 -0
  24. async_kernel-0.1.0/docs/about/license.md +1 -0
  25. async_kernel-0.1.0/docs/caller.ipynb +173 -0
  26. async_kernel-0.1.0/docs/commands.md +73 -0
  27. async_kernel-0.1.0/docs/contributing.md +1 -0
  28. async_kernel-0.1.0/docs/index.md +7 -0
  29. async_kernel-0.1.0/docs/javascripts/extra.js +0 -0
  30. async_kernel-0.1.0/docs/license.md +11 -0
  31. async_kernel-0.1.0/docs/notebooks/caller.ipynb +173 -0
  32. async_kernel-0.1.0/docs/notebooks/concurrency.ipynb +364 -0
  33. async_kernel-0.1.0/docs/notebooks/index.md +18 -0
  34. async_kernel-0.1.0/docs/notebooks/simple_example.ipynb +180 -0
  35. async_kernel-0.1.0/docs/overrides/main.html +15 -0
  36. async_kernel-0.1.0/docs/reference/asyncshell.md +1 -0
  37. async_kernel-0.1.0/docs/reference/caller.md +1 -0
  38. async_kernel-0.1.0/docs/reference/command.md +9 -0
  39. async_kernel-0.1.0/docs/reference/index.md +14 -0
  40. async_kernel-0.1.0/docs/reference/kernel.md +1 -0
  41. async_kernel-0.1.0/docs/reference/typing.md +1 -0
  42. async_kernel-0.1.0/docs/reference/utils.md +1 -0
  43. async_kernel-0.1.0/docs/stylesheets/extra.css +3 -0
  44. async_kernel-0.1.0/hatch_build.py +17 -0
  45. async_kernel-0.1.0/mkdocs.yml +175 -0
  46. async_kernel-0.1.0/pyproject.toml +235 -0
  47. async_kernel-0.1.0/src/async_kernel/__init__.py +34 -0
  48. async_kernel-0.1.0/src/async_kernel/__main__.py +4 -0
  49. async_kernel-0.1.0/src/async_kernel/asyncshell.py +313 -0
  50. async_kernel-0.1.0/src/async_kernel/caller.py +745 -0
  51. async_kernel-0.1.0/src/async_kernel/comm.py +116 -0
  52. async_kernel-0.1.0/src/async_kernel/command.py +158 -0
  53. async_kernel-0.1.0/src/async_kernel/compiler.py +96 -0
  54. async_kernel-0.1.0/src/async_kernel/debugger.py +584 -0
  55. async_kernel-0.1.0/src/async_kernel/iostream.py +65 -0
  56. async_kernel-0.1.0/src/async_kernel/kernel.py +997 -0
  57. async_kernel-0.1.0/src/async_kernel/kernelspec.py +129 -0
  58. async_kernel-0.1.0/src/async_kernel/resources/logo-32x32.png +0 -0
  59. async_kernel-0.1.0/src/async_kernel/resources/logo-64x64.png +0 -0
  60. async_kernel-0.1.0/src/async_kernel/resources/logo-svg.svg +265 -0
  61. async_kernel-0.1.0/src/async_kernel/typing.py +310 -0
  62. async_kernel-0.1.0/src/async_kernel/utils.py +116 -0
  63. async_kernel-0.1.0/tests/__init__.py +0 -0
  64. async_kernel-0.1.0/tests/conftest.py +116 -0
  65. async_kernel-0.1.0/tests/references.py +252 -0
  66. async_kernel-0.1.0/tests/test_caller.py +463 -0
  67. async_kernel-0.1.0/tests/test_comm.py +101 -0
  68. async_kernel-0.1.0/tests/test_command.py +222 -0
  69. async_kernel-0.1.0/tests/test_debugger.py +198 -0
  70. async_kernel-0.1.0/tests/test_iostream.py +38 -0
  71. async_kernel-0.1.0/tests/test_kernel.py +577 -0
  72. async_kernel-0.1.0/tests/test_kernelspec.py +18 -0
  73. async_kernel-0.1.0/tests/test_message_spec.py +265 -0
  74. async_kernel-0.1.0/tests/test_start_in_context.py +36 -0
  75. async_kernel-0.1.0/tests/test_typing.py +43 -0
  76. async_kernel-0.1.0/tests/test_utils.py +54 -0
  77. async_kernel-0.1.0/tests/utils.py +178 -0
  78. async_kernel-0.1.0/uv.lock +3020 -0
@@ -0,0 +1,16 @@
1
+ version: 2
2
+ updates:
3
+ # Maintain dependencies for GitHub Actions
4
+ - package-ecosystem: "github-actions"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "weekly"
8
+ groups:
9
+ actions:
10
+ patterns:
11
+ - "*"
12
+ # https://docs.astral.sh/uv/guides/integration/dependency-bots/#dependabot
13
+ - package-ecosystem: "uv"
14
+ directory: "/"
15
+ schedule:
16
+ interval: "weekly"
@@ -0,0 +1,27 @@
1
+ changelog:
2
+ exclude:
3
+ authors:
4
+ - dependabot
5
+ - pre-commit-ci
6
+ categories:
7
+ - title: 🏗️ Breaking Changes
8
+ labels:
9
+ - Semver-Major
10
+ - breaking-change
11
+ - title: 🚀 Features
12
+ labels:
13
+ - feature
14
+ - enhancement
15
+ - title: 🧪 Dependencies
16
+ labels:
17
+ - update
18
+ - title: 🐛 Fixes
19
+ labels:
20
+ - bug
21
+ - title: 🏭 Refactor
22
+ labels:
23
+ - refactor
24
+ - maintenance
25
+ - title: 📝 Documentation
26
+ labels:
27
+ - documentation
@@ -0,0 +1,95 @@
1
+ name: CI
2
+ run-name: CI for ${{ github.actor }} at ${{ github.ref }}
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches:
7
+ - main
8
+ jobs:
9
+ pre-commit:
10
+ name: Pre-commit
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v5
14
+ - uses: actions/setup-python@v5
15
+ with:
16
+ python-version: "3.x"
17
+ - uses: pre-commit/action@v3.0.1
18
+ test:
19
+ needs: pre-commit
20
+ runs-on: ${{ matrix.os }}
21
+ strategy:
22
+ fail-fast: false
23
+ matrix:
24
+ os: [ubuntu-latest, windows-latest, macos-latest]
25
+ python-version:
26
+ - "3.11"
27
+ - "3.12"
28
+ - "3.13"
29
+ steps:
30
+ - uses: actions/checkout@v5
31
+
32
+ - name: Install uv
33
+ uses: astral-sh/setup-uv@v6
34
+ with:
35
+ enable-cache: true
36
+ version: "latest"
37
+ python-version: ${{ matrix.python-version }}
38
+ - name: Checkout
39
+ uses: actions/checkout@v5
40
+
41
+ - name: Install the project
42
+ run: uv sync --locked --dev
43
+
44
+ - name: Run tests
45
+ timeout-minutes: 5
46
+ run: uv run pytest -vvl
47
+
48
+ - name: Type checking with basedpyright
49
+ run: uv run basedpyright
50
+
51
+ coverage:
52
+ needs: pre-commit
53
+ runs-on: ubuntu-latest
54
+ steps:
55
+ - uses: actions/checkout@v5
56
+
57
+ - name: Install uv
58
+ uses: astral-sh/setup-uv@v6
59
+ with:
60
+ version: "latest"
61
+
62
+ - name: Run tests with coverage
63
+ timeout-minutes: 5
64
+ run: uv run pytest --cov --cov-report=xml --junitxml=junit.xml -o junit_family=legacy --cov-fail-under=100
65
+
66
+ - name: Upload coverage reports to Codecov
67
+ if: ${{ !cancelled() }}
68
+ uses: codecov/codecov-action@v5
69
+ with:
70
+ token: ${{ secrets.CODECOV_TOKEN }}
71
+ slug: fleming79/async-kernel
72
+
73
+ - name: Upload test results to Codecov
74
+ if: ${{ !cancelled() }}
75
+ uses: codecov/test-results-action@v1
76
+ with:
77
+ token: ${{ secrets.CODECOV_TOKEN }}
78
+
79
+ docs:
80
+ needs: pre-commit
81
+ runs-on: ubuntu-latest
82
+ steps:
83
+ - uses: actions/checkout@v5
84
+
85
+ - name: Install uv
86
+ uses: astral-sh/setup-uv@v6
87
+ with:
88
+ version: "latest"
89
+
90
+ - name: Docs build strict
91
+ timeout-minutes: 5
92
+ run: |
93
+ uv sync --group docs
94
+ uv run async-kernel -a async-docs --shell.execute_request_timeout 0.1
95
+ uv run mkdocs build -s
@@ -0,0 +1,17 @@
1
+ name: Enforce PR label
2
+
3
+ concurrency:
4
+ group: label-${{ github.ref }}
5
+ cancel-in-progress: true
6
+
7
+ on:
8
+ pull_request:
9
+ types: [labeled, unlabeled, opened, edited, synchronize]
10
+ jobs:
11
+ enforce-label:
12
+ runs-on: ubuntu-latest
13
+ permissions:
14
+ pull-requests: write
15
+ steps:
16
+ - name: enforce-triage-label
17
+ uses: jupyterlab/maintainer-tools/.github/actions/enforce-label@v1
@@ -0,0 +1,65 @@
1
+ name: New release
2
+ # This workflow starts a new release. Trigger it manually from github ('workflow_dispatch').
3
+ # publish_to_pypi.yml is configured to after this workflow is completed (using 'workflow_run').
4
+ run-name: ${{ github.actor }} initiated a new release ${{ github.event.inputs.release_version }} 🚀
5
+ on:
6
+ workflow_dispatch:
7
+ inputs:
8
+ release_version:
9
+ description: "Version"
10
+ default: "0.1.0rc0"
11
+ pre_release:
12
+ description: "Pre-release"
13
+ type: boolean
14
+ default: true
15
+ env:
16
+ VERSION: ${{ github.event.inputs.release_version}}
17
+ BRANCH: releases/${{ github.event.inputs.release_version}}
18
+ TAG: v${{ github.event.inputs.release_version}}
19
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
20
+ jobs:
21
+ changelog:
22
+ name: Write changelog and merge into main
23
+ runs-on: ubuntu-latest
24
+ permissions:
25
+ contents: write
26
+ pull-requests: write
27
+ steps:
28
+ - name: Checkout
29
+ uses: actions/checkout@v5
30
+ with:
31
+ fetch-depth: 0
32
+ ref: main
33
+ - name: Install uv
34
+ uses: astral-sh/setup-uv@v6
35
+ with:
36
+ version: "latest"
37
+
38
+ - name: Create a new branch, generate the changelog and release notes.
39
+ run: |
40
+ git config user.name github-actions[bot]
41
+ git config user.email 41898282+github-actions[bot]@users.noreply.github.com
42
+ git checkout -b $BRANCH main
43
+ git tag $TAG
44
+ uvx git-cliff -o CHANGELOG.md --github-repo ${{ github.repository }} --github-token ${{ secrets.GITHUB_TOKEN }}
45
+ uvx git-cliff -o release_notes.md --github-repo ${{ github.repository }} --github-token ${{ secrets.GITHUB_TOKEN }} --current
46
+ git commit -am "Prepare for release $TAG"
47
+ git push https://${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git $BRANCH
48
+ git tag -d $TAG
49
+
50
+ - name: Create & merge pull request + Create release
51
+ # ref: https://cli.github.com/manual/gh_pr_create
52
+ run: |
53
+ gh pr create --head $BRANCH --title $VERSION --body 'Changelog for new release' --label release
54
+ gh pr merge --squash --delete-branch
55
+
56
+ - name: Create a new pre-release
57
+ # ref: https://cli.github.com/manual/gh_release
58
+ if: ${{github.event.inputs.pre_release}}
59
+ run: |
60
+ gh release create $TAG -F release_notes.md --prerelease
61
+
62
+ - name: Create a new release
63
+ if: ${{!github.event.inputs.pre_release}}
64
+ run: |
65
+ gh release create $TAG -F release_notes.md
@@ -0,0 +1,62 @@
1
+ name: Publish docs
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ workflow_run:
7
+ workflows:
8
+ - New release
9
+ workflow_dispatch:
10
+
11
+ permissions:
12
+ contents: write
13
+
14
+ concurrency:
15
+ group: "pages"
16
+ cancel-in-progress: true
17
+
18
+ jobs:
19
+ deploy:
20
+ name: Deploy dev or latest version
21
+ runs-on: ubuntu-latest
22
+ steps:
23
+ - uses: actions/checkout@v5
24
+ - name: Configure Git Credentials
25
+ run: |
26
+ git config user.name github-actions[bot]
27
+ git config user.email 41898282+github-actions[bot]@users.noreply.github.com
28
+
29
+ - name: Install uv
30
+ uses: astral-sh/setup-uv@v6
31
+ with:
32
+ version: "latest"
33
+
34
+ - name: Checkout
35
+ uses: actions/checkout@v5
36
+ with:
37
+ fetch-depth: 0
38
+
39
+ - name: Install the project
40
+ run: |
41
+ uv sync --group docs
42
+ uv run async-kernel -a async-docs --shell.execute_request_timeout 0.1 # The 'async-docs' kernel is specified as the kernel for mkdocs-jupyter
43
+
44
+ - name: Options
45
+ id: mike
46
+ run: |
47
+ version=$(git tag --points-at HEAD)
48
+ if [[ $version ]]; then
49
+ echo "version=$version" >> $GITHUB_OUTPUT
50
+ if [[ $version =~ .*[0-9].*[a-zA-Z] ]]; then
51
+ echo "alias=$version pre-release" >> $GITHUB_OUTPUT
52
+ else
53
+ echo "alias=release" >> $GITHUB_OUTPUT
54
+ fi
55
+ else
56
+ echo "version=dev" >> $GITHUB_OUTPUT
57
+ fi
58
+
59
+ - name: Deploy with mike 🚀
60
+ run: |
61
+ uv run mike deploy --push --update-aliases ${{steps.mike.outputs.version}} ${{steps.mike.outputs.alias}}
62
+ echo "Docs has been updated for version ${{steps.mike.outputs.version}} [view here](https://fleming79.github.io/async-kernel/${{steps.mike.outputs.version}}/)." >> $GITHUB_STEP_SUMMARY
@@ -0,0 +1,117 @@
1
+ name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI
2
+ # ref: https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/
3
+ # This workflow builds the distribution and uploads it to PyPI and TestPyPI
4
+ # It will only publish to PyPI when the head has a tag starting with 'v'.concurrency:
5
+ # This workflow is configured to start after a 'New release' workflow has been run ('workflow_run').
6
+ on:
7
+ push:
8
+ branches:
9
+ - main
10
+ release:
11
+ types: [published]
12
+ workflow_run:
13
+ workflows:
14
+ - New release
15
+ branches:
16
+ - main
17
+ types:
18
+ - completed
19
+ workflow_dispatch:
20
+
21
+ jobs:
22
+ build:
23
+ name: Build distribution 📦
24
+ runs-on: ubuntu-latest
25
+ outputs:
26
+ TAG: ${{ steps.tag_info.outputs.tag }}
27
+ steps:
28
+ - uses: actions/checkout@v5
29
+ with:
30
+ persist-credentials: false
31
+ # Fetch full history for setuptools-scm
32
+ fetch-depth: 0
33
+ ref: main
34
+ - uses: astral-sh/setup-uv@v6
35
+ - name: Build a binary wheel and a source tarball
36
+ run: uv build
37
+ - name: Store the distribution packages
38
+ uses: actions/upload-artifact@v4
39
+ with:
40
+ name: python-package-distributions
41
+ path: dist/
42
+ - id: tag_info
43
+ name: Tag info
44
+ run: echo "tag=$(git tag --points-at HEAD)" >> $GITHUB_OUTPUT
45
+
46
+ publish-to-pypi:
47
+ name: Publish Python 🐍 distribution 📦 to PyPI
48
+ needs:
49
+ - build
50
+ runs-on: ubuntu-latest
51
+ if: startsWith(needs.build.outputs.TAG, 'v') # only publish to PyPI when the head has a version tag
52
+ environment:
53
+ name: pypi
54
+ url: https://pypi.org/p/async-kernel
55
+ permissions:
56
+ id-token: write # IMPORTANT: mandatory for trusted publishing
57
+
58
+ steps:
59
+ - name: Download all the dists
60
+ uses: actions/download-artifact@v5
61
+ with:
62
+ name: python-package-distributions
63
+ path: dist/
64
+ - name: Publish distribution 📦 to PyPI
65
+ uses: pypa/gh-action-pypi-publish@release/v1
66
+
67
+ publish-to-testpypi:
68
+ name: Publish Python 🐍 distribution 📦 to TestPyPI
69
+ if: github.event_name == 'push'
70
+ needs:
71
+ - build
72
+ runs-on: ubuntu-latest
73
+
74
+ environment:
75
+ name: testpypi
76
+ url: https://test.pypi.org/p/async-kernel
77
+
78
+ permissions:
79
+ id-token: write # IMPORTANT: mandatory for trusted publishing
80
+
81
+ steps:
82
+ - name: Download all the dists
83
+ uses: actions/download-artifact@v5
84
+ with:
85
+ name: python-package-distributions
86
+ path: dist/
87
+ - name: Publish distribution 📦 to TestPyPI
88
+ uses: pypa/gh-action-pypi-publish@release/v1
89
+ with:
90
+ repository-url: https://test.pypi.org/legacy/
91
+
92
+ replace-release-files:
93
+ name: Replace github release files
94
+ needs:
95
+ - build
96
+ - publish-to-pypi
97
+ runs-on: ubuntu-latest
98
+ permissions:
99
+ contents: write
100
+ if: startsWith(needs.build.outputs.TAG, 'v') # only upload if there is a release
101
+ env:
102
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
103
+ steps:
104
+ - uses: actions/checkout@v5
105
+ with:
106
+ persist-credentials: false
107
+ # Fetch full history for setuptools-scm
108
+ fetch-depth: 0
109
+ ref: main
110
+ - name: Download all the dists
111
+ uses: actions/download-artifact@v5
112
+ with:
113
+ name: python-package-distributions
114
+ path: dist/
115
+ - name: Upload assets to release
116
+ # ref: https://cli.github.com/manual/gh_release_upload
117
+ run: gh release upload ${{needs.build.outputs.TAG}} ./dist/* --clobber
@@ -0,0 +1,15 @@
1
+ build
2
+ cover
3
+ dist
4
+ site
5
+ *.py[co]
6
+ __pycache__
7
+ *.egg-info
8
+ *.bak
9
+ .ipynb_checkpoints
10
+ .coverage
11
+ .cache
12
+ data_kernelspec
13
+ .pytest_cache
14
+ _version.py
15
+ release_notes.md
@@ -0,0 +1,88 @@
1
+ ci:
2
+ autoupdate_commit_msg: "chore: update pre-commit hooks"
3
+ autoupdate_schedule: weekly
4
+
5
+ exclude: CHANGELOG.md
6
+
7
+ repos:
8
+ - repo: https://github.com/pre-commit/pre-commit-hooks
9
+ rev: v6.0.0
10
+ hooks:
11
+ - id: check-case-conflict
12
+ - id: check-ast
13
+ - id: check-docstring-first
14
+ - id: check-executables-have-shebangs
15
+ - id: check-added-large-files
16
+ - id: check-case-conflict
17
+ - id: check-merge-conflict
18
+ - id: check-toml
19
+ - id: mixed-line-ending
20
+ - id: check-yaml
21
+ args: ["--unsafe"]
22
+ - id: debug-statements
23
+ - id: end-of-file-fixer
24
+
25
+ - repo: https://gitlab.com/bmares/check-json5
26
+ rev: v1.0.0
27
+ hooks:
28
+ - id: check-json5
29
+
30
+ - repo: https://github.com/python-jsonschema/check-jsonschema
31
+ rev: 0.33.3
32
+ hooks:
33
+ - id: check-github-workflows
34
+
35
+ - repo: https://github.com/executablebooks/mdformat
36
+ rev: 0.7.22
37
+ hooks:
38
+ - id: mdformat
39
+ additional_dependencies:
40
+ - mdformat-gfm
41
+ - mdformat-frontmatter
42
+ - mdformat-footnote
43
+ - mdformat-mkdocs
44
+
45
+ - repo: https://github.com/pre-commit/mirrors-prettier
46
+ rev: "v4.0.0-alpha.8"
47
+ hooks:
48
+ - id: prettier
49
+ types_or: [yaml, html, json]
50
+
51
+ - repo: https://github.com/adamchainz/blacken-docs
52
+ rev: "1.19.1"
53
+ hooks:
54
+ - id: blacken-docs
55
+ additional_dependencies: [black==23.7.0]
56
+
57
+ - repo: https://github.com/codespell-project/codespell
58
+ rev: "v2.4.1"
59
+ hooks:
60
+ - id: codespell
61
+ args: ["-L", "sur,nd"]
62
+
63
+ - repo: https://github.com/pre-commit/pygrep-hooks
64
+ rev: "v1.10.0"
65
+ hooks:
66
+ - id: rst-backticks
67
+ - id: rst-directive-colons
68
+ - id: rst-inline-touching-normal
69
+
70
+ - repo: https://github.com/astral-sh/ruff-pre-commit
71
+ rev: v0.12.10
72
+ hooks:
73
+ - id: ruff
74
+ types_or: [python, jupyter]
75
+ args: ["--fix", "--show-fixes"]
76
+ - id: ruff-format
77
+ types_or: [python, jupyter]
78
+
79
+ - repo: https://github.com/scientific-python/cookie
80
+ rev: "2025.05.02"
81
+ hooks:
82
+ - id: sp-repo-review
83
+ additional_dependencies: ["repo-review[cli]"]
84
+
85
+ - repo: https://github.com/kynan/nbstripout
86
+ rev: "0.8.1"
87
+ hooks:
88
+ - id: nbstripout
@@ -0,0 +1,31 @@
1
+ {
2
+ // Use IntelliSense to learn about possible attributes.
3
+ // Hover to view descriptions of existing attributes.
4
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
+ "version": "0.2.0",
6
+ "configurations": [
7
+ {
8
+ "name": "Python: Debug Tests",
9
+ "type": "debugpy",
10
+ "request": "launch",
11
+ "program": "${file}",
12
+ "purpose": ["debug-test"],
13
+ "console": "integratedTerminal",
14
+ "justMyCode": false, // Change as required. Note only one test config will work Ref: https://code.visualstudio.com/docs/python/testing#_debug-tests
15
+ "subProcess": true // Set this to false when debugging inside test_debugger.py
16
+ },
17
+ {
18
+ "name": "Python: Current File",
19
+ "type": "debugpy",
20
+ "request": "launch",
21
+ "program": "${file}",
22
+ "console": "integratedTerminal",
23
+ "cwd": "${workspaceFolder}",
24
+ "env": {
25
+ "PYTHONPATH": "${workspaceFolder}"
26
+ },
27
+ "justMyCode": true,
28
+ "args": ["-X dev", "Wd"]
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "python.testing.pytestArgs": ["tests"],
3
+ "python.testing.unittestEnabled": false,
4
+ "python.testing.pytestEnabled": true,
5
+ "python.analysis.typeCheckingMode": "off",
6
+ "editor.defaultFormatter": "charliermarsh.ruff",
7
+ "basedpyright.analysis.diagnosticMode": "workspace",
8
+ "yaml.schemas": {
9
+ "https://squidfunk.github.io/mkdocs-material/schema.json": "mkdocs.yml"
10
+ },
11
+ "yaml.customTags": [
12
+ "!ENV scalar",
13
+ "!ENV sequence",
14
+ "!relative scalar",
15
+ "tag:yaml.org,2002:python/name:material.extensions.emoji.to_svg",
16
+ "tag:yaml.org,2002:python/name:material.extensions.emoji.twemoji",
17
+ "tag:yaml.org,2002:python/name:pymdownx.superfences.fence_code_format",
18
+ "tag:yaml.org,2002:python/object/apply:pymdownx.slugs.slugify mapping"
19
+ ],
20
+ "spellright.language": ["en"],
21
+ "spellright.documentTypes": ["markdown", "plaintext"]
22
+ }
@@ -0,0 +1,10 @@
1
+ basedpyright
2
+ uv
3
+ Jupyter
4
+ anyio
5
+ asyncio
6
+ zmq
7
+ IPyKernel
8
+ anyio's
9
+ Asyc
10
+ Jupyterlab
@@ -0,0 +1,113 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.1.0] - 2025-08-28
9
+
10
+ ### <!-- 0 --> 🏗️ Breaking changes
11
+
12
+ - Caller.queue_call add argument send_nowait and convert to sync that optionally returns an awaitable. [#71](https://github.com/fleming79/async-kernel/pull/71)
13
+
14
+ ### <!-- 1 --> 🚀 Features
15
+
16
+ - Add anyio_backend_options and use uvloop by default [#70](https://github.com/fleming79/async-kernel/pull/70)
17
+
18
+ ### <!-- 5 --> 📝 Documentation
19
+
20
+ - Use mike for documentation versioning. [#67](https://github.com/fleming79/async-kernel/pull/67)
21
+
22
+ - Update docs, readme and project description. [#66](https://github.com/fleming79/async-kernel/pull/66)
23
+
24
+ ### <!-- 6 --> 🌀 Miscellaneous
25
+
26
+ - Drop matplotlib dependency. [#69](https://github.com/fleming79/async-kernel/pull/69)
27
+
28
+ ## [0.1.0-rc3] - 2025-08-26
29
+
30
+ ### <!-- 1 --> 🚀 Features
31
+
32
+ - Add more classifers and code coverage [#64](https://github.com/fleming79/async-kernel/pull/64)
33
+
34
+ ### <!-- 6 --> 🌀 Miscellaneous
35
+
36
+ - Prepare for release v0.1.0-rc3 [#65](https://github.com/fleming79/async-kernel/pull/65)
37
+
38
+ - Add workflow_run event because the release is not triggered if the release is created by another workflow. [#62](https://github.com/fleming79/async-kernel/pull/62)
39
+
40
+ ## [0.1.0-rc2] - 2025-08-26
41
+
42
+ ### <!-- 6 --> 🌀 Miscellaneous
43
+
44
+ - Prepare for release v0.1.0-rc2 [#61](https://github.com/fleming79/async-kernel/pull/61)
45
+
46
+ ## [0.1.0-rc1] - 2025-08-26
47
+
48
+ ### <!-- 5 --> 📝 Documentation
49
+
50
+ - Update licensing and contribution notes [#27](https://github.com/fleming79/async-kernel/pull/27)
51
+
52
+ ### <!-- 6 --> 🌀 Miscellaneous
53
+
54
+ - Prepare for release v0.1.0-rc1 [#60](https://github.com/fleming79/async-kernel/pull/60)
55
+
56
+ - Merge pull request #56 from fleming79/release/v0.1.0-rc1 [#56](https://github.com/fleming79/async-kernel/pull/56)
57
+
58
+ - Revise new release [#55](https://github.com/fleming79/async-kernel/pull/55)
59
+
60
+ - New release workflow in one step with publish option. [#51](https://github.com/fleming79/async-kernel/pull/51)
61
+
62
+ - Improve release workflow, update documentation and license info. [#29](https://github.com/fleming79/async-kernel/pull/29)
63
+
64
+ - Maintenance [#26](https://github.com/fleming79/async-kernel/pull/26)
65
+
66
+ ## [0.1.0-rc0] - 2025-08-24
67
+
68
+ ### <!-- 1 --> 🚀 Features
69
+
70
+ - First release [#18](https://github.com/fleming79/async-kernel/pull/18)
71
+
72
+ - Switch to vcs for versioning. [#2](https://github.com/fleming79/async-kernel/pull/2)
73
+
74
+ ### <!-- 2 --> 🐛 Fixes
75
+
76
+ - Use no-local-version in pyproject.toml instead. [#5](https://github.com/fleming79/async-kernel/pull/5)
77
+
78
+ - Use no-local-version on ci. [#4](https://github.com/fleming79/async-kernel/pull/4)
79
+
80
+ ### <!-- 5 --> 📝 Documentation
81
+
82
+ - Revise workflow to work with tags that start with 'v'. No longer sets the tag when writing the changelog. [#16](https://github.com/fleming79/async-kernel/pull/16)
83
+
84
+ - Switch to python installer to run git cliff. [#14](https://github.com/fleming79/async-kernel/pull/14)
85
+
86
+ - Revise changelog template. [#12](https://github.com/fleming79/async-kernel/pull/12)
87
+
88
+ - Do changelog as PR instead of push to main. [#8](https://github.com/fleming79/async-kernel/pull/8)
89
+
90
+ - Git cliff [#7](https://github.com/fleming79/async-kernel/pull/7)
91
+
92
+ - Fix mkdocs publishing [#6](https://github.com/fleming79/async-kernel/pull/6)
93
+
94
+ ### <!-- 6 --> 🌀 Miscellaneous
95
+
96
+ - Bugfix [#25](https://github.com/fleming79/async-kernel/pull/25)
97
+
98
+ - Update changelog [#24](https://github.com/fleming79/async-kernel/pull/24)
99
+
100
+ - Update changelog [#22](https://github.com/fleming79/async-kernel/pull/22)
101
+
102
+ - Release workflow changes [#21](https://github.com/fleming79/async-kernel/pull/21)
103
+
104
+ - Update release workflow to use a template that appends output from git-cliff [#17](https://github.com/fleming79/async-kernel/pull/17)
105
+
106
+ - Bump the actions group across 1 directory with 2 updates [#3](https://github.com/fleming79/async-kernel/pull/3)
107
+
108
+ [0.1.0]: https://github.com/fleming79/async-kernel/compare/v0.1.0-rc3..v0.1.0
109
+ [0.1.0-rc3]: https://github.com/fleming79/async-kernel/compare/v0.1.0-rc2..v0.1.0-rc3
110
+ [0.1.0-rc2]: https://github.com/fleming79/async-kernel/compare/v0.1.0-rc1..v0.1.0-rc2
111
+ [0.1.0-rc1]: https://github.com/fleming79/async-kernel/compare/v0.1.0-rc0..v0.1.0-rc1
112
+
113
+ <!-- generated by git-cliff -->