iruby 0.3 → 0.7.0

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 (72) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ubuntu.yml +62 -0
  3. data/CHANGES.md +203 -0
  4. data/Gemfile +3 -1
  5. data/LICENSE +1 -1
  6. data/README.md +137 -87
  7. data/Rakefile +36 -10
  8. data/ci/Dockerfile.base.erb +41 -0
  9. data/ci/Dockerfile.main.erb +7 -0
  10. data/ci/requirements.txt +1 -0
  11. data/docker/setup.sh +15 -0
  12. data/docker/test.sh +7 -0
  13. data/iruby.gemspec +14 -18
  14. data/lib/iruby.rb +14 -8
  15. data/lib/iruby/backend.rb +38 -10
  16. data/lib/iruby/command.rb +67 -15
  17. data/lib/iruby/display.rb +77 -41
  18. data/lib/iruby/event_manager.rb +40 -0
  19. data/lib/iruby/formatter.rb +3 -3
  20. data/lib/iruby/input.rb +6 -6
  21. data/lib/iruby/input/README.md +299 -0
  22. data/lib/iruby/input/autoload.rb +1 -1
  23. data/lib/iruby/input/builder.rb +4 -4
  24. data/lib/iruby/input/button.rb +2 -2
  25. data/lib/iruby/input/cancel.rb +1 -1
  26. data/lib/iruby/input/checkbox.rb +3 -3
  27. data/lib/iruby/input/date.rb +3 -3
  28. data/lib/iruby/input/field.rb +2 -2
  29. data/lib/iruby/input/file.rb +3 -3
  30. data/lib/iruby/input/form.rb +6 -6
  31. data/lib/iruby/input/label.rb +4 -4
  32. data/lib/iruby/input/multiple.rb +10 -10
  33. data/lib/iruby/input/popup.rb +2 -2
  34. data/lib/iruby/input/radio.rb +6 -6
  35. data/lib/iruby/input/select.rb +8 -8
  36. data/lib/iruby/input/textarea.rb +1 -1
  37. data/lib/iruby/input/widget.rb +2 -2
  38. data/lib/iruby/jupyter.rb +77 -0
  39. data/lib/iruby/kernel.rb +204 -36
  40. data/lib/iruby/ostream.rb +29 -8
  41. data/lib/iruby/session.rb +117 -0
  42. data/lib/iruby/session/cztop.rb +4 -0
  43. data/lib/iruby/session_adapter.rb +72 -0
  44. data/lib/iruby/session_adapter/cztop_adapter.rb +45 -0
  45. data/lib/iruby/session_adapter/ffirzmq_adapter.rb +55 -0
  46. data/lib/iruby/session_adapter/pyzmq_adapter.rb +77 -0
  47. data/lib/iruby/session_adapter/test_adapter.rb +49 -0
  48. data/lib/iruby/utils.rb +13 -2
  49. data/lib/iruby/version.rb +1 -1
  50. data/run-test.sh +12 -0
  51. data/tasks/ci.rake +65 -0
  52. data/test/helper.rb +136 -0
  53. data/test/integration_test.rb +22 -11
  54. data/test/iruby/backend_test.rb +37 -0
  55. data/test/iruby/command_test.rb +207 -0
  56. data/test/iruby/event_manager_test.rb +92 -0
  57. data/test/iruby/jupyter_test.rb +27 -0
  58. data/test/iruby/kernel_test.rb +185 -0
  59. data/test/iruby/mime_test.rb +50 -0
  60. data/test/iruby/multi_logger_test.rb +1 -5
  61. data/test/iruby/session_adapter/cztop_adapter_test.rb +20 -0
  62. data/test/iruby/session_adapter/ffirzmq_adapter_test.rb +20 -0
  63. data/test/iruby/session_adapter/session_adapter_test_base.rb +27 -0
  64. data/test/iruby/session_adapter_test.rb +91 -0
  65. data/test/iruby/session_test.rb +48 -0
  66. data/test/run-test.rb +19 -0
  67. metadata +120 -50
  68. data/.travis.yml +0 -16
  69. data/CHANGES +0 -143
  70. data/CONTRIBUTORS +0 -19
  71. data/lib/iruby/session/rbczmq.rb +0 -68
  72. data/test/test_helper.rb +0 -5
data/CONTRIBUTORS DELETED
@@ -1,19 +0,0 @@
1
- Carlos Agarie <carlos.agarie@gmail.com>
2
- Damián Silvani <munshkr@gmail.com>
3
- Dangyi Liu <LeedyPKU@gmail.com>
4
- Daniel Mendler <mail@daniel-mendler.de>
5
- Dimitris Zorbas <zorbash@skroutz.gr>
6
- Domitry <domitry@gmail.com>
7
- Jan Vlnas <git@jan.vlnas.cz>
8
- John Woods <jwoods@vt.edu>
9
- Josh Adams <josh@isotope11.com>
10
- Julia Evans <julia@jvns.ca>
11
- martin sarsale <martin@properati.com>
12
- Matthias Bussonnier <bussonniermatthias@gmail.com>
13
- Michael Hauser-Raspe <michael.hauser-raspe@cantab.net>
14
- MinRK <benjaminrk@gmail.com>
15
- Naoki Nishida <domitry@gmail.com>
16
- Robby Clements <rclements@isotope11.com>
17
- Spacewander <spacewanderlzx@gmail.com>
18
- Takahiro Satoh <zalt50cc@gmail.com>
19
- Robert Haines <robert.haines@manchester.ac.uk>
@@ -1,68 +0,0 @@
1
- require 'rbczmq'
2
-
3
- module IRuby
4
- class Session
5
- include SessionSerialize
6
-
7
- def initialize(config)
8
- c = ZMQ::Context.new
9
-
10
- connection = "#{config['transport']}://#{config['ip']}:%d"
11
- reply_socket = c.socket(:ROUTER)
12
- reply_socket.bind(connection % config['shell_port'])
13
-
14
- pub_socket = c.socket(:PUB)
15
- pub_socket.bind(connection % config['iopub_port'])
16
-
17
- stdin_socket = c.socket(:ROUTER)
18
- stdin_socket.bind(connection % config['stdin_port'])
19
-
20
- Thread.new do
21
- begin
22
- hb_socket = c.socket(:REP)
23
- hb_socket.bind(connection % config['hb_port'])
24
- ZMQ.proxy(hb_socket, hb_socket)
25
- rescue Exception => e
26
- IRuby.logger.fatal "Kernel heartbeat died: #{e.message}\n#{e.backtrace.join("\n")}"
27
- end
28
- end
29
-
30
- @sockets = {
31
- publish: pub_socket, reply: reply_socket, stdin: stdin_socket
32
- }
33
-
34
- @session = SecureRandom.uuid
35
- unless config['key'].to_s.empty? || config['signature_scheme'].to_s.empty?
36
- raise 'Unknown signature scheme' unless config['signature_scheme'] =~ /\Ahmac-(.*)\Z/
37
- @hmac = OpenSSL::HMAC.new(config['key'], OpenSSL::Digest.new($1))
38
- end
39
- end
40
-
41
- # Build and send a message
42
- def send(socket, type, content)
43
- idents =
44
- if socket == :reply && @last_recvd_msg
45
- @last_recvd_msg[:idents]
46
- else
47
- type == :stream ? "stream.#{content[:name]}" : type
48
- end
49
- header = {
50
- msg_type: type,
51
- msg_id: SecureRandom.uuid,
52
- username: 'kernel',
53
- session: @session,
54
- version: '5.0'
55
- }
56
- @sockets[socket].send_message(ZMQ::Message(*serialize(idents, header, content)))
57
- end
58
-
59
- # Receive a message and decode it
60
- def recv(socket)
61
- @last_recvd_msg = unserialize(@sockets[socket].recv_message)
62
- end
63
-
64
- def recv_input
65
- unserialize(@sockets[:stdin].recv_message)[:content]["value"]
66
- end
67
- end
68
- end
data/test/test_helper.rb DELETED
@@ -1,5 +0,0 @@
1
- require 'iruby'
2
- require 'minitest/autorun'
3
-
4
- class IRubyTest < Minitest::Test
5
- end