{ "cells": [ { "cell_type": "markdown", "metadata": { "kernel": "SoS" }, "source": [ "This notebook demos how to use Python and Julia in the same notebook using [SoS](https://vatlab.github.io/sos-docs) as the super kernel that communicates with the Python and Julia kernels, and exchange variables between them. Note that SoS is by itself based on Python 3 so it is good enough to have SoS and Julia for the features demonstrated in this notebook." ] }, { "cell_type": "markdown", "metadata": { "kernel": "SoS" }, "source": [ "### Use of multiple kernels" ] }, { "cell_type": "markdown", "metadata": { "kernel": "SoS" }, "source": [ "The following are versions of Julia and Python used in this notebook, but a `%sessioninfo` magic shown at the end of this notebook is recommended for this purpose." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "kernel": "Julia" }, "outputs": [ { "data": { "text/plain": [ "v\"0.6.3\"" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "VERSION" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "kernel": "Python3" }, "outputs": [ { "data": { "text/plain": [ "'3.6.6 |Anaconda, Inc.| (default, Jun 28 2018, 11:07:29) \\n[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)]'" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import sys\n", "sys.version" ] }, { "cell_type": "markdown", "metadata": { "kernel": "Python3" }, "source": [ "### An example of data exchange between Julia and Python kernels" ] }, { "cell_type": "markdown", "metadata": { "kernel": "Julia" }, "source": [ "Let us start from the example of [this notebook](https://github.com/binder-examples/julia-python/blob/master/python-and-julia.ipynb), which allows calling Python functions from Julia in a very nice way. It is almost painstaking to achieve the same effect in SoS, but let us do it in the SoS way anyway:" ] }, { "cell_type": "markdown", "metadata": { "kernel": "Python3" }, "source": [ "So we first create an array in Julia. Because SoS cannot yet handle the `StepRangeLen` type of Julia, let us create an `Array`" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "kernel": "Julia" }, "outputs": [], "source": [ "t = Array(linspace(0, 2*pi,1000)); # use the julia `linspace` and `pi`" ] }, { "cell_type": "markdown", "metadata": { "kernel": "Julia" }, "source": [ "We then transfer this `Array` to Python2 as a `numpy.array`," ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "kernel": "Python3" }, "outputs": [], "source": [ "%get t --from Julia\n", "import numpy as np\n", "s = 3*t + 4*np.cos(2*t) # use the numpy cosine" ] }, { "cell_type": "markdown", "metadata": { "kernel": "Python3" }, "source": [ "Then back to Julia to apply `sin.`" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "kernel": "Julia", "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "1000-element Array{Float64,1}:\n", " -0.756802\n", " -0.768798\n", " -0.780133\n", " -0.790831\n", " -0.800913\n", " -0.810404\n", " -0.819324\n", " -0.827696\n", " -0.835542\n", " -0.842882\n", " -0.849738\n", " -0.856128\n", " -0.862072\n", " ⋮ \n", " -0.575016\n", " -0.595685\n", " -0.615473\n", " -0.634393\n", " -0.652464\n", " -0.669704\n", " -0.68613 \n", " -0.701765\n", " -0.716627\n", " -0.73074 \n", " -0.744124\n", " -0.756802" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%get s --from Python3\n", "s = sin.(s)" ] }, { "cell_type": "markdown", "metadata": { "kernel": "Julia" }, "source": [ "Then to Python3 to plot" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "kernel": "Python3" }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%get s --from Julia\n", "\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "fig = plt.gcf() # **** WATCH THIS VARIABLE ****\n", "plt.plot(t, s, color=\"red\", linewidth=2.0, linestyle=\"--\", label=\"sin(3t+4.cos(2t))\")" ] }, { "cell_type": "markdown", "metadata": { "kernel": "SoS" }, "source": [ "The SoS way is less convenient but it has the advantage of smoother learning curve. Basically, you are using two authentic Jupyter kernels with no additional syntax or library to learn, other than the `%get` magic to exchange variables between the two kernels." ] }, { "cell_type": "markdown", "metadata": { "kernel": "Python3" }, "source": [ "### Transfer DataFrame between Julia, Python, and SoS" ] }, { "cell_type": "markdown", "metadata": { "kernel": "Python3" }, "source": [ "Just to demonstrate the transfer of dataframes between kernels, let us create a `DataFrame` in Julia" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "kernel": "Julia", "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
AB
11.00.841471
21.020.852108
31.040.862404
41.060.872355
51.080.881958
61.10.891207
71.120.9001
81.140.908633
91.160.916803
101.180.924606
111.20.932039
121.220.939099
131.240.945784
141.260.95209
151.280.958016
161.30.963558
171.320.968715
181.340.973485
191.360.977865
201.380.981854
211.40.98545
221.420.988652
231.440.991458
241.460.993868
251.480.995881
261.50.997495
271.520.99871
281.540.999526
291.560.999942
301.580.999958
" ], "text/plain": [ "451×2 DataFrames.DataFrame\n", "│ Row │ A │ B │\n", "├─────┼──────┼───────────┤\n", "│ 1 │ 1.0 │ 0.841471 │\n", "│ 2 │ 1.02 │ 0.852108 │\n", "│ 3 │ 1.04 │ 0.862404 │\n", "│ 4 │ 1.06 │ 0.872355 │\n", "│ 5 │ 1.08 │ 0.881958 │\n", "│ 6 │ 1.1 │ 0.891207 │\n", "│ 7 │ 1.12 │ 0.9001 │\n", "│ 8 │ 1.14 │ 0.908633 │\n", "│ 9 │ 1.16 │ 0.916803 │\n", "│ 10 │ 1.18 │ 0.924606 │\n", "│ 11 │ 1.2 │ 0.932039 │\n", "⋮\n", "│ 440 │ 9.78 │ -0.347799 │\n", "│ 441 │ 9.8 │ -0.366479 │\n", "│ 442 │ 9.82 │ -0.385013 │\n", "│ 443 │ 9.84 │ -0.403393 │\n", "│ 444 │ 9.86 │ -0.421612 │\n", "│ 445 │ 9.88 │ -0.439662 │\n", "│ 446 │ 9.9 │ -0.457536 │\n", "│ 447 │ 9.92 │ -0.475227 │\n", "│ 448 │ 9.94 │ -0.492728 │\n", "│ 449 │ 9.96 │ -0.510032 │\n", "│ 450 │ 9.98 │ -0.527132 │\n", "│ 451 │ 10.0 │ -0.544021 │" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "using DataFrames\n", "df = DataFrame(A = 1:.02:10, B= sin.(1:.02:10))" ] }, { "cell_type": "markdown", "metadata": { "kernel": "Julia" }, "source": [ "We can pass it to the SoS kernel where a `%preview` magic can be used to display the dataframe in a searchable and sortable table," ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "kernel": "SoS", "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
%preview df
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
> df: DataFrame of shape (451, 2)
" ], "text/plain": [ ">>> df:\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Only the first 200 of the 451 records are previewed. Use option --limit to set a new limit.

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
  A   B  
01.000.841471
11.020.852108
21.040.862404
31.060.872355
41.080.881958
51.100.891207
61.120.900100
71.140.908633
81.160.916803
91.180.924606
101.200.932039
111.220.939099
121.240.945784
131.260.952090
141.280.958016
151.300.963558
161.320.968715
171.340.973485
181.360.977865
191.380.981854
201.400.985450
211.420.988652
221.440.991458
231.460.993868
241.480.995881
251.500.997495
261.520.998710
271.540.999526
281.560.999942
291.580.999958
301.600.999574
311.620.998790
321.640.997606
331.660.996024
341.680.994043
351.700.991665
361.720.988890
371.740.985719
381.760.982154
391.780.978197
401.800.973848
411.820.969109
421.840.963983
431.860.958471
441.880.952576
451.900.946300
461.920.939645
471.940.932615
481.960.925212
491.980.917438
502.000.909297
512.020.900793
522.040.891929
532.060.882707
542.080.873133
552.100.863209
562.120.852940
572.140.842330
582.160.831383
592.180.820104
602.200.808496
612.220.796565
622.240.784316
632.260.771753
642.280.758881
652.300.745705
662.320.732231
672.340.718465
682.360.704411
692.380.690075
702.400.675463
712.420.660581
722.440.645435
732.460.630031
742.480.614374
752.500.598472
762.520.582331
772.540.565956
782.560.549355
792.580.532535
802.600.515501
812.620.498262
822.640.480823
832.660.463191
842.680.445375
852.700.427380
862.720.409214
872.740.390885
882.760.372399
892.780.353764
902.800.334988
912.820.316078
922.840.297041
932.860.277886
942.880.258619
952.900.239249
962.920.219784
972.940.200230
982.960.180596
992.980.160890
1003.000.141120
1013.020.121293
1023.040.101418
1033.060.081502
1043.080.061554
1053.100.041581
1063.120.021591
1073.140.001593
1083.16-0.018406
1093.18-0.038398
1103.20-0.058374
1113.22-0.078327
1123.24-0.098249
1133.26-0.118131
1143.28-0.137966
1153.30-0.157746
1163.32-0.177462
1173.34-0.197108
1183.36-0.216675
1193.38-0.236155
1203.40-0.255541
1213.42-0.274825
1223.44-0.293998
1233.46-0.313054
1243.48-0.331985
1253.50-0.350783
1263.52-0.369441
1273.54-0.387951
1283.56-0.406306
1293.58-0.424498
1303.60-0.442520
1313.62-0.460366
1323.64-0.478027
1333.66-0.495497
1343.68-0.512769
1353.70-0.529836
1363.72-0.546691
1373.74-0.563327
1383.76-0.579738
1393.78-0.595917
1403.80-0.611858
1413.82-0.627554
1423.84-0.642999
1433.86-0.658186
1443.88-0.673111
1453.90-0.687766
1463.92-0.702146
1473.94-0.716246
1483.96-0.730058
1493.98-0.743579
1504.00-0.756802
1514.02-0.769723
1524.04-0.782336
1534.06-0.794636
1544.08-0.806618
1554.10-0.818277
1564.12-0.829609
1574.14-0.840609
1584.16-0.851273
1594.18-0.861597
1604.20-0.871576
1614.22-0.881206
1624.24-0.890484
1634.26-0.899405
1644.28-0.907967
1654.30-0.916166
1664.32-0.923998
1674.34-0.931461
1684.36-0.938551
1694.38-0.945266
1704.40-0.951602
1714.42-0.957558
1724.44-0.963131
1734.46-0.968319
1744.48-0.973119
1754.50-0.977530
1764.52-0.981550
1774.54-0.985178
1784.56-0.988411
1794.58-0.991249
1804.60-0.993691
1814.62-0.995735
1824.64-0.997381
1834.66-0.998628
1844.68-0.999476
1854.70-0.999923
1864.72-0.999971
1874.74-0.999619
1884.76-0.998867
1894.78-0.997715
1904.80-0.996165
1914.82-0.994216
1924.84-0.991869
1934.86-0.989125
1944.88-0.985986
1954.90-0.982453
1964.92-0.978526
1974.94-0.974208
1984.96-0.969501
1994.98-0.964405
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%preview -n df\n", "%get df --from Julia" ] }, { "cell_type": "markdown", "metadata": { "kernel": "SoS" }, "source": [ "even generate a scatterplot with tooltips (move your cursor to the points to see):" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "kernel": "SoS" }, "outputs": [ { "data": { "text/html": [ "
%preview df
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
> df: DataFrame of shape (451, 2)
" ], "text/plain": [ ">>> df:\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n", "
\n", "\n", "\n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%preview df -n -s scatterplot A B" ] }, { "cell_type": "markdown", "metadata": { "kernel": "SoS" }, "source": [ "You can plot the dataframe in SoS using `matplotlib` (remember, SoS is based on Python3)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "kernel": "SoS" }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "plt.plot(df['A'], df['B'])" ] }, { "cell_type": "markdown", "metadata": { "kernel": "SoS" }, "source": [ "Or transfer to the Python3 kernel if you wish:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "kernel": "Python3", "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%get df\n", "plt.plot(df['A'], df['B'])" ] }, { "cell_type": "markdown", "metadata": { "kernel": "Python3" }, "source": [ "### Session Info" ] }, { "cell_type": "markdown", "metadata": { "kernel": "Python3" }, "source": [ "As a good practice, all SoS Notebook should ends with a `%sessioninfo` magic to show the session information of all kernels used in the notebook, and/or a `%revisions` magic to show revisions of the notebook." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "kernel": "SoS" }, "outputs": [ { "data": { "text/html": [ "

SoS

\n", "\n", "\n", "\n", "\n", "
SoS Version
0.16.12
\n", "

Julia

\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
Kernel
julia-0.6
Language
Julia
Julia Version 0.6.3\n",
       "Commit d55cadc350 (2018-05-28 20:20 UTC)\n",
       "Platform Info:\n",
       "  OS: macOS (x86_64-apple-darwin14.5.0)\n",
       "  CPU: Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz\n",
       "  WORD_SIZE: 64\n",
       "\n",
       "  uname: Darwin 17.4.0 Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 x86_64 i386\n",
       "Memory: 32.0 GB (541.734375 MB free)\n",
       "Uptime: 946297.0 sec\n",
       "Load Avg: \n",
       " 3.634765625  3.09228515625  3.03857421875\n",
       "Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz: \n",
       "          speed         user         nice          sys         idle          irq\n",
       "#1-12  3500 MHz    3216700 s          0 s    3255575 s  107086561 s          0 s\n",
       "\n",
       "  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)\n",
       "  LAPACK: libopenblas64_\n",
       "  LIBM: libopenlibm\n",
       "  LLVM: libLLVM-3.9.1 (ORCJIT, ivybridge)\n",
       "Environment:\n",
       "  LDFLAGS = -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs\n",
       "  TERM = xterm-color\n",
       "  CPPFLAGS = -D_FORTIFY_SOURCE=2 -mmacosx-version-min=10.9\n",
       "  CDPATH = .:/Users/bpeng1:/Users/bpeng1/research/Projects\n",
       "  CXXFLAGS = -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -std=c++14 -fmessage-length=0\n",
       "  PATH = /Applications/Julia-0.6.app/Contents/Resources/julia/bin:/Applications/Julia-0.6.app/Contents/Resources/julia/bin:/Users/bpeng1/anaconda3/envs/sos/bin:/usr/local/opt/icu4c/sbin:/usr/local/opt/icu4c/bin:/Users/bpeng1/.npm-packages/bin:/Applications/MacVim.app/Contents/bin:/Applications/Julia-0.6.app/Contents/Resources/julia/bin:/Applications/Octave.app/Contents/Resources/usr/bin/:/Users/bpeng1/perl5/bin:/usr/local/bin:/Users/bpeng1/anaconda3/envs/sos/bin:/usr/local/opt/icu4c/sbin:/usr/local/opt/icu4c/bin:/Users/bpeng1/.npm-packages/bin:/Applications/MacVim.app/Contents/bin:/Applications/Julia-0.6.app/Contents/Resources/julia/bin:/Applications/Octave.app/Contents/Resources/usr/bin/:/Users/bpeng1/perl5/bin:/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin\n",
       "  DEBUG_CXXFLAGS = -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -std=c++14 -fmessage-length=0 -Og -g -Wall -Wextra\n",
       "  DEBUG_FFLAGS = -march=nocona -mtune=core2 -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -march=nocona -mtune=core2 -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments\n",
       "  XPC_FLAGS = 0x0\n",
       "  HOME = /Users/bpeng1\n",
       "  FORTRANFLAGS = -march=nocona -mtune=core2 -ftree-vectorize -fPIC -fstack-protector -O2 -pipe\n",
       "  CFLAGS = -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe\n",
       "  DEBUG_CFLAGS = -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra\n",
       "  LDFLAGS_LD = -pie -headerpad_max_install_names -dead_strip_dylibs\n",
       "  FFLAGS = -march=nocona -mtune=core2 -ftree-vectorize -fPIC -fstack-protector -O2 -pipe\n",
       "  FONTCONFIG_PATH = /Applications/Julia-0.6.app/Contents/Resources/julia/etc/fonts\n",
       "\n",
       "Package Directory: /Users/bpeng1/.julia/v0.6\n",
       "5 required packages:\n",
       "\n",
       " - DataFrames                    0.11.7\n",
       " - Feather                       0.4.0\n",
       " - IJulia                        1.10.0\n",
       " - NamedArrays                   0.7.0\n",
       " - RDatasets                     0.4.0\n",
       "32 additional packages:\n",
       " - Arrow                         0.1.2\n",
       " - BinaryProvider                0.3.3\n",
       " - CSV                           0.2.5\n",
       " - CategoricalArrays             0.3.13\n",
       " - CodecZlib                     0.4.4\n",
       " - Combinatorics                 0.6.0\n",
       " - Compat                        1.2.0\n",
       " - Conda                         1.0.2\n",
       " - DataStreams                   0.3.6\n",
       " - DataStructures                0.8.4\n",
       " - FileIO                        0.9.1\n",
       " - FlatBuffers                   0.3.2\n",
       " - InternedStrings               0.6.2\n",
       " - IterTools                     0.2.1\n",
       " - JSON                          0.17.2\n",
       " - MbedTLS                       0.5.13\n",
       " - Missings                      0.2.10\n",
       " - Mocking                       0.5.7\n",
       " - NamedTuples                   4.0.2\n",
       " - Nullables                     0.0.8\n",
       " - Polynomials                   0.4.0\n",
       " - RData                         0.4.0\n",
       " - Reexport                      0.1.0\n",
       " - SHA                           0.5.7\n",
       " - SoftGlobalScope               1.0.7\n",
       " - SortingAlgorithms             0.2.1\n",
       " - StatsBase                     0.23.1\n",
       " - TimeZones                     0.8.0\n",
       " - TranscodingStreams            0.5.4\n",
       " - VersionParsing                1.1.3\n",
       " - WeakRefStrings                0.4.7\n",
       " - ZMQ                           0.6.4\n",
       "
\n", "

Python3

\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
Kernel
python3
Language
Python3
Version
3.6.6 |Anaconda, Inc.| (default, Jun 28 2018, 11:07:29) \n",
       "[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)]
numpy
1.15.0
\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%sessioninfo" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "kernel": "SoS" }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "
RevisionAuthorDateMessage
8fdd03aChris Holdgraf2018-10-09adding SOS files
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%revisions" ] } ], "metadata": { "kernelspec": { "display_name": "SoS", "language": "sos", "name": "sos" }, "language_info": { "codemirror_mode": "sos", "file_extension": ".sos", "mimetype": "text/x-sos", "name": "sos", "nbconvert_exporter": "sos_notebook.converter.SoS_Exporter", "pygments_lexer": "sos" }, "sos": { "kernels": [ [ "Julia", "julia-0.6", "Julia", "#ebd8eb" ], [ "Python3", "python3", "Python3", "#FFD91A" ], [ "SoS", "sos", "", "" ] ], "panel": { "displayed": true, "height": 0, "style": "side" }, "version": "0.16.13" } }, "nbformat": 4, "nbformat_minor": 2 }