Metadata-Version: 2.4
Name: bgipykernel
Version: 0.1.1
Summary: Alternative IPythonKernel with concurrent cell running in jupyter using %bg and await
Project-URL: Homepage, https://github.com/drorspei/bgipykernel
Project-URL: Repository, https://github.com/drorspei/bgipykernel
Author-email: Dror Speiser <drorspei@gmail.com>
License: MIT
License-File: LICENSE.txt
Keywords: %bg,ipykernel,ipython,jupyter
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.8
Description-Content-Type: text/markdown

# bgipykernel - %bg in jupyter

Install using `pip install bgipykernel`

Add the following line to your `ipython_kernel_config.py` file:

```
c.IPKernelApp.kernel_class = 'bgipykernel.NoAsyncLockBgIPythonKernel'
```

if you can't find your config file, run `ipython profile locate`.

## features

Move running cells to the background by running `%bg`

-

Kill background cells using `%kill`

-

See what cells are running in the background using `%jobs`

-

Run multiple cells with `await` concurrently

-

## available configurations

* If you just want to use `await` in multiple cells concurrently, use `bgipykernel.NoAsyncLockIPythonKernel`
* If you just want `%bg, use `bgipykernel.BgIPythonKernel`
* If oyu want both, use `bgipykernel.NoAsyncLockBgIPythonKernel`

## trouble

When using a `%bg` variant (i.e. `BgIPythonKernel` or `NoAsyncLockBgIPythonKernel`), interrupting the kernel can only happen at the byte code level, meaning functions like `time.sleep` don't get interrupted. 
