html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue
https://github.com/pydata/xarray/issues/66#issuecomment-38004488,https://api.github.com/repos/pydata/xarray/issues/66,38004488,MDEyOklzc3VlQ29tbWVudDM4MDA0NDg4,4194485,2014-03-19T00:08:03Z,2014-03-19T00:08:03Z,NONE,"Here's an elementary example of using HDF5 memory images to pass self-describing binary data between processes using pytables:
``` python
import numpy as np
import os
import tables
pipe_name = '/tmp/my-pipe'
driver = ""H5FD_CORE""
my_array_name = ""My array""
my_attribute = ""Drummer is cool!""
my_title = ""My title""
def child():
h5_file = tables.open_file(""in-memory"", title=my_title, mode=""w"",
driver=driver, driver_core_backing_store=0)
h5_file.create_array(h5_file.root, ""array"",
np.array([0., -1., 1., -2., 2.]),
title=my_array_name)
h5_file.root.array.attrs.my_attribute = my_attribute
image = h5_file.get_file_image()
h5_file.close()
pipeout = open(pipe_name, 'w')
pipeout.write(image)
pipeout.flush()
def parent():
pipein = open(pipe_name, 'r')
image = pipein.read()
h5_file = tables.open_file(""in-memory"", mode=""r"", driver=driver,
driver_core_image=image,
driver_core_backing_store=0)
print(""my_title is \""%s\""."" % h5_file.title)
print(""my_attribute is \""%s\""."" % h5_file.root.array.attrs.my_attribute)
print(""my_array_name is \""%s\""."" % h5_file.root.array.title)
print(""array data is \""%s\""."" % str(h5_file.root.array[:]))
h5_file.close()
if not os.path.exists(pipe_name):
os.mkfifo(pipe_name)
pid = os.fork()
if pid:
parent()
else:
child()
```
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,29453809