
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
jupyter_kernel_test
is a tool for testing Jupyter_ kernels. It tests kernels
for successful code execution and conformance with the Jupyter Messaging Protocol
_
(currently 5.0).
Install it with pip (python3.4 or greater required)::
pip3 install jupyter_kernel_test
To use it, you need to write a (python) unittest
file containing code
samples in the relevant language which test various parts of the messaging protocol.
A short example is given below, and you can also refer to the
test_ipykernel.py
and test_irkernel.py
files for complete examples.
Some parts of the messaging protocol are relevant only to the browser-based notebook (rich display) or console interfaces (code completeness, history searching). Only parts of the spec for which you provide code samples are tested.
Run this file directly using python, or use nosetests
or py.test
to find
and run it.
.. code-block:: python
import unittest
import jupyter_kernel_test
class MyKernelTests(jupyter_kernel_test.KernelTests):
# Required --------------------------------------
# The name identifying an installed kernel to run the tests against
kernel_name = "mykernel"
# language_info.name in a kernel_info_reply should match this
language_name = "mylanguage"
# Optional --------------------------------------
# Code in the kernel's language to write "hello, world" to stdout
code_hello_world = "print 'hello, world'"
# Pager: code that should display something (anything) in the pager
code_page_something = "help(something)"
# Samples of code which generate a result value (ie, some text
# displayed as Out[n])
code_execute_result = [{"code": "6*7", "result": "42"}]
# Samples of code which should generate a rich display output, and
# the expected MIME type
code_display_data = [{"code": "show_image()", "mime": "image/png"}]
# You can also write extra tests. We recommend putting your kernel name
# in the method name, to avoid clashing with any tests that
# jupyter_kernel_test adds in the future.
def test_mykernel_stderr(self):
self.flush_channels()
reply, output_msgs = self.execute_helper(code='print_err "oops"')
self.assertEqual(output_msgs[0]["header"]["msg_type"], "stream")
self.assertEqual(output_msgs[0]["content"]["name"], "stderr")
self.assertEqual(output_msgs[0]["content"]["text"], "oops\n")
if __name__ == "__main__":
unittest.main()
The following aspects of the messaging protocol are not explicitly tested:
comm_open
, comm_msg
, comm_close
input_request
, input_reply
shutdown_request
, shutdown_reply
load
, edit
, ask_exit
silent
, store_history
and stop_on_error
.. _Jupyter: http://jupyter.org .. _Jupyter Messaging Protocol: https://jupyter-client.readthedocs.io/en/latest/messaging.html
FAQs
Unknown package
We found that jupyter-kernel-test demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.