Giter Club home page Giter Club logo

jupyter-php's Introduction

Jupyter-PHP

Author Software License Packagist Version

Introduction

Jupyter-PHP is a PHP kernel for Jupyter. This project is inspired on https://github.com/dawehner/jupyter-php, some bits of code from the old IPython kernel have been used in this new Jupyter kernel.

In addition to the Jupyter compatibility, the new Jupyter-PHP adds a lot of improvements, like the integration with PsySH in order to provide:

  • "memory": the old kernel was unable to keep variables to allow reuse them later.
  • online documentation with the doc command. Not yet implemented
  • code introspection with the ls command. Not yet implemented
  • errors introspection with the wtf command. Not yet implemented

Getting started

The recommended way is to go to the Jupyter-PHP installer's page and follow its instructions.

Learn more

  • Chat Room : If you want to have a real-time chat with other Jupyter-PHP users or developers, you can do it here.
  • Group / Mail List : If a chat room isn't enough to post your doubts or ideas, you can join to our mail list.

How to contribute

  • First of all, you can take a look on the bugtracker and decide if there is something that you want to do ๐Ÿ˜‰ . If you think there are missing improvements in this file, then you are invited to modify the TODO list.
  • You can also send us bug reports using the same bugtracker.
  • If you are really interested on helping to improve Litipk\BigNumbers, we recommend to read the contributing guidelines.

License

Jupyter-PHP is licensed under the MIT License.

jupyter-php's People

Contributors

bstoney avatar castarco avatar thomasjm avatar wogsland avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jupyter-php's Issues

Can't install on win64 php7.0.10

When I run: php jupyter-php-installer.phar install
it throws:
ERROR: Error while trying to download Jupyter-PHP dependencies with Composer.
when I run: php jupyter-php-installer.phar install -v
it says:
The Jupyter-PHP kernel has been successfully installed.
but there is no single trail of php kernel

Per-notebook composer autoloading?

It would be nice to allow install per-notebook packages using composer, with automatically enabled autoloading for those per-notebook packages.

BUT, we have to confirm in first place if that's even possible:

  • Confirm the possibility of attaching some metadata to notebook files, like directory paths, to store related vendor packages.
  • In case it's possible, implement this nice feature.

Add PsySH commands support

It would be nice to add support to some PsySH commands:

  • doc command: online documentation.
  • ls command: for introspection.
  • wtf command: errors introspection, for debugging.

Design a logo

It would be awesome to have a logo for this project ^_^ . Anyone around here with artistic aptitudes?

Improve documentation

Some things should be better documented

  • Jupyter install process. People without experience with Jupyter and/or Python would need easier to read and follow documentation than the official one. This should cover:
    • Required system packages list
    • Required PIP packages list
    • Step by step guide.
  • PHP-ZMQ extension install guide.
  • Install process without using the installer to aid development.

Add "complex objects" representation support

Some kernels like IPython allow sending complex objects to the Jupyter Notebook, like tables, plots, or even interactive widgets. It would be nice to add those capabilities to the Jupyter-PHP kernel.

  • tables and/or "dataframes" support.
  • plots support.
  • interactive plots support. Nice dream.

PHP Double output

Hello;

After installing the PHP kernel, jupyter repeats the output returned by the PHP interpreter.
Please refer to the the attached image.

repeated

This issue happens on both an Ubuntu 16.04 and Fedoea 25 machines.

ERROR: Unable to find the composer executable.

ERROR: Unable to find the composer executable.

By just trying:

root@server:~# ./jupyter-php-installer.phar install
root@server:~# uname -a
Linux 4.4.0-042stab120.20 #1 SMP Fri Mar 10 16:52:50 MSK 2017 x86_64 x86_64 x86_64 GNU/Linux
root@server:~# php -v
PHP 7.0.18-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.18-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies

Anybody knows how to fix the error?

Jupyter-PHP is unable to render HTML

How can render and display HTML in output?
I try this codes:

header("Content-Type: text/html; charset=utf-8");
echo "Hi <b>world!</b>";

But have this in output:

Hi <b>world!</b>

In other words, what is the equivalent of the following python commands in Jupyter-PHP?

from IPython.core.display import display, HTML
display(HTML('<h1>Hello, world!</h1>'))

Fix `kernel_info_request` timeout

Jupyter Notebook shows a timeout message every time a Jupyter-PHP kernel is started. The timeout is related with the kerne_info_request request. In theory, the kernel is responding with a kernel_info_reply message, but for some reason this message is not arriving to (or not being accepted by) the kernel.

EDIT: This also causes missing syntax highlighting because Jupyter does not receive the needed info to use it in Pygments.

Add charts & plots support

Thanks for great project.

Can use graphical chart and plot in the Jupyter-PHP be like matplotlib and Plotly library of jupyter python?
For example include Google Charts, chartjs, highcharts,... projects.

In other words, what is the equivalent of the following python commands in Jupyter-PHP?

import matplotlib.pyplot as plt
%matplotlib inline
plt.bar(range(0, 5), [10, 5, 13, 1, 20])

Error on "Writing composer.json"

php ./jupyter-php-installer.phar install -vvv

Writing composer.json

[Composer\Json\JsonValidationException]
"./composer.json" does not match the expected JSON schema:

ERROR: Error while trying to download Jupyter-PHP dependencies with Composer.

Hi there!

I want to use php in jupyterlab, but I encountered the following problem during the installation process. Does anyone know how to solve this?
Thank you very much.

ERROR: Error while trying to download Jupyter-PHP dependencies with Composer.

# cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 10 (buster)"

# jupyter --version
Selected Jupyter core packages...
IPython          : 7.30.1
ipykernel        : 6.6.0
ipywidgets       : 7.6.5
jupyter_client   : 7.1.0
jupyter_core     : 4.9.1
jupyter_server   : 1.13.1
jupyterlab       : 3.2.5
nbclient         : 0.5.9
nbconvert        : 6.3.0
nbformat         : 5.1.3
notebook         : 6.4.6
qtconsole        : 5.2.2
traitlets        : 5.1.1

# php --version
PHP 7.3.31-1~deb10u1 (cli) (built: Oct 24 2021 15:18:08) ( NTS )

# composer --version
Composer version 2.1.14 2021-11-30 10:51:43

# php -i | grep -i zmq
/etc/php/7.3/cli/conf.d/20-zmq.ini
zmq
ZMQ extension => enabled
ZMQ extension version => 1.1.3
libzmq version => 4.3.1

Below is the complete error.

# php jupyter-php-installer.phar install
ERROR: Error while trying to download Jupyter-PHP dependencies with Composer.

# php jupyter-php-installer.phar install -vvv


                                                                                                                                                                           
  [InvalidArgumentException]                                                                                                                                               
  The package name jupyter-php-instance is invalid, it should be lowercase and have a vendor name, a forward slash, and a package name, matching: [a-z0-9_.-]+/[a-z0-9_.-  
  ]+                                                                                                                                                                       
                                                                                                                                                                           

init [--name NAME] [--description DESCRIPTION] [--author AUTHOR] [--type [TYPE]] [--homepage HOMEPAGE] [--require REQUIRE] [--require-dev REQUIRE-DEV] [-s|--stability STABILITY] [-l|--license LICENSE] [--repository REPOSITORY] [-a|--autoload AUTOLOAD]


ERROR: Error while trying to download Jupyter-PHP dependencies with Composer.

Send logs to stdout by default

This is what all the other kernels seem to be doing. Could have options that redirect it to a file, but sending it by default also helps in log capture when running on the cloud (see also http://12factor.net/) which is useful for installs like paws.wmflabs.org (where I'm hoping to get this installed!)

annoying kernel error msg while typing in hydrogen atom

I have installed Jupyter-PHP everything is fine but i get this annoying error msg each keyword I type in my atom .
OS: Ubuntu 16.04

[2017-08-12 14:39:57] ShellMessagesHandler.DEBUG: Received message {"processId":10003,"zmqIds":"dealer23dcb0af-5552-49bd-9cdb-61ff2de89398","hmac":"84f6449c65446f5a1eddfcf08dd9abb0284adffdbeea28dddd520b193327ba64","header":{"username":"evil_reaper","session":"00000000-0000-0000-0000-000000000000","msg_type":"complete_request","msg_id":"complete_b5eea831-619f-49ff-997d-f61c93f9d3b4","date":"2017-08-12T09:09:57.213Z","version":"5.0"},"parentHeader":"{}","metadata":"{}","content":{"code":"$en","text":"$en","line":"$en","cursor_pos":3}} [] [2017-08-12 14:39:57] ShellMessagesHandler.ERROR: Unknown message type {"processId":10003,"header":{"username":"evil_reaper","session":"00000000-0000-0000-0000-000000000000","msg_type":"complete_request","msg_id":"complete_b5eea831-619f-49ff-997d-f61c93f9d3b4","date":"2017-08-12T09:09:57.213Z","version":"5.0"}} []

install fails on FreeBSD

Running php ./jupyter-php-installer.phar install I get the following error:

ERROR: Error while trying to download Jupyter-PHP dependencies with Composer.

If I run the composer install with the composer.json from the repository it install the dependencies without any problem.
Any idea on how to make this work?
Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.