cnvrg 0.0.1414 → 0.0.1418
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.
- checksums.yaml +4 -4
- data/lib/cnvrg/Images.rb +7 -11
- data/lib/cnvrg/cli.rb +126 -47
- data/lib/cnvrg/datafiles.rb +1 -1
- data/lib/cnvrg/files.rb +3 -3
- data/lib/cnvrg/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e5e43e32a2a764d0177be682b7957bdaa6c184b
|
4
|
+
data.tar.gz: a1bd77092a713f3f6edb16f0f2bbb998d3a795d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f60c19507e5eed03dd015ec4d8d03694cf518692057ba969b64cc62a2208d50e02007ace23c0d82740ffe263f685271610ba58f87d22a6866c0bd2d4021ab54a
|
7
|
+
data.tar.gz: 8049f800636d14a9de359dd580bece4a28cf6422304e65d17862e5aa85b83604aa9bf798c70b322c2bbcbafc6a40e3bf1659dbb6823d2050f044cd6b58468fef
|
data/lib/cnvrg/Images.rb
CHANGED
@@ -172,9 +172,10 @@ module Cnvrg
|
|
172
172
|
def create_container(port=7654, is_remote=false)
|
173
173
|
begin
|
174
174
|
image_settings = {
|
175
|
-
'Image' => "#{@image_name}
|
175
|
+
'Image' => "#{@image_name}:latest",
|
176
176
|
'User' => 'ds',
|
177
|
-
'Cmd' => '/
|
177
|
+
'Cmd' => '/usr/local/cnvrg/run_ipython.sh',
|
178
|
+
'WorkingDir' => '/home/ds/notebooks',
|
178
179
|
'ExposedPorts' => {
|
179
180
|
'8888/tcp' => {},
|
180
181
|
},
|
@@ -187,9 +188,6 @@ module Cnvrg
|
|
187
188
|
},
|
188
189
|
},
|
189
190
|
}
|
190
|
-
# if !is_remote
|
191
|
-
# image_settings['HostConfig'].merge!({ 'Binds' => ["#{@working_dir}:/home/ds/notebooks"]})
|
192
|
-
# end
|
193
191
|
container = Docker::Container.create(image_settings)
|
194
192
|
container.start()
|
195
193
|
netrc = File.open(File.expand_path('~')+"/.netrc", "rb")
|
@@ -199,10 +197,6 @@ module Cnvrg
|
|
199
197
|
p = container.exec(command, tty: true)
|
200
198
|
command = ["/bin/bash", "-lc", "sudo chown -R ds /home/ds/.netrc"]
|
201
199
|
p = container.exec(command, tty: true)
|
202
|
-
command = ["/bin/bash", "-lc", "mkdir /home/ds/.cnvrg"]
|
203
|
-
container.exec(command, tty: true)
|
204
|
-
command = ["/bin/bash", "-lc", "mkdir /home/ds/.cnvrg/tmp"]
|
205
|
-
container.exec(command, tty: true)
|
206
200
|
config = File.open(File.expand_path('~')+"/.cnvrg/config.yml", "rb")
|
207
201
|
config_content = config.read
|
208
202
|
container.store_file("/home/ds/.cnvrg/config.yml", config_content)
|
@@ -249,11 +243,13 @@ module Cnvrg
|
|
249
243
|
|
250
244
|
end
|
251
245
|
|
252
|
-
def remote_notebook(notebook_path, instance_type, kernel)
|
246
|
+
def remote_notebook(notebook_path, instance_type, kernel,data,data_commit)
|
253
247
|
response = Cnvrg::API.request("users/#{@owner}/images/#{@image_slug}/remote_notebook", 'POST', {dir: notebook_path,
|
254
248
|
project_slug: @project_slug,
|
255
249
|
instance_type: instance_type,
|
256
|
-
kernel: kernel
|
250
|
+
kernel: kernel,
|
251
|
+
dataset_slug:data,
|
252
|
+
dataset_commit: data_commit})
|
257
253
|
return response
|
258
254
|
end
|
259
255
|
|
data/lib/cnvrg/cli.rb
CHANGED
@@ -759,7 +759,7 @@ module Cnvrg
|
|
759
759
|
end
|
760
760
|
|
761
761
|
desc 'init_data_container', 'Init dataset directory', :hide => true
|
762
|
-
method_option :login_content, :type => :string, :aliases => ["
|
762
|
+
method_option :login_content, :type => :string, :aliases => ["-l"], :default => ""
|
763
763
|
|
764
764
|
def init_data_container(container)
|
765
765
|
begin
|
@@ -2794,7 +2794,10 @@ module Cnvrg
|
|
2794
2794
|
method_option :gpu, :type => :boolean, :aliases => ["--gpu"], :default => false
|
2795
2795
|
method_option :gpuxl, :type => :boolean, :aliases => ["--gpuxl"], :default => false
|
2796
2796
|
method_option :gpuxxl, :type => :boolean, :aliases => ["--gpuxxl"], :default => false
|
2797
|
-
method_option :image, :type => :string, :aliases => ["
|
2797
|
+
method_option :image, :type => :string, :aliases => ["-i","--image"], :default => ""
|
2798
|
+
method_option :data, :type => :string, :aliases => ["-d", "--data"], :default => ""
|
2799
|
+
method_option :data_commit, :type => :string, :aliases => ["--data_commit"], :default => ""
|
2800
|
+
|
2798
2801
|
|
2799
2802
|
desc 'notebook', 'starts a notebook session remotely or locally'
|
2800
2803
|
|
@@ -2803,7 +2806,8 @@ module Cnvrg
|
|
2803
2806
|
notebook_dir = options["notebook_dir"]
|
2804
2807
|
kernel = options["kernel"]
|
2805
2808
|
image = options["image"]
|
2806
|
-
|
2809
|
+
data = options["data"]
|
2810
|
+
data_commit = options["data_commit"]
|
2807
2811
|
if local
|
2808
2812
|
invoke :run_notebook, [], :notebook_dir => notebook_dir, :remote => false, :kernel => kernel, :image => image
|
2809
2813
|
return
|
@@ -2812,7 +2816,8 @@ module Cnvrg
|
|
2812
2816
|
"gpu" => options["gpu"], "gpuxl" => options["gpuxl"], "gpuxxl" => options["gpuxxl"]}
|
2813
2817
|
instance_type = get_instance_type(instances)
|
2814
2818
|
|
2815
|
-
invoke :remote_notebook, [], :notebook_dir => notebook_dir, :kernel => kernel, :machine_type => instance_type, :image => image
|
2819
|
+
invoke :remote_notebook, [], :notebook_dir => notebook_dir, :kernel => kernel, :machine_type => instance_type, :image => image,
|
2820
|
+
:data=> data, :data_commit => data_commit
|
2816
2821
|
return
|
2817
2822
|
|
2818
2823
|
end
|
@@ -2825,6 +2830,9 @@ module Cnvrg
|
|
2825
2830
|
method_option :machine_type, :type => :string, :default => ""
|
2826
2831
|
method_option :kernel, :type => :string, :aliases => ["--kernel", "-k"], :default => ""
|
2827
2832
|
method_option :image, :type => :string, :aliases => ["-i"], :default => ""
|
2833
|
+
method_option :data, :type => :string, :aliases => ["-d", "--data"], :default => ""
|
2834
|
+
method_option :data_commit, :type => :string, :aliases => ["--data_commit"], :default => ""
|
2835
|
+
|
2828
2836
|
|
2829
2837
|
|
2830
2838
|
def remote_notebook()
|
@@ -2836,6 +2844,8 @@ module Cnvrg
|
|
2836
2844
|
notebook_dir = options["notebook_dir"]
|
2837
2845
|
instance_type = options["machine_type"] || nil
|
2838
2846
|
kernel = options["kernel"] || nil
|
2847
|
+
data = options["data"]
|
2848
|
+
data_commit = options["data_commit"]
|
2839
2849
|
|
2840
2850
|
|
2841
2851
|
begin
|
@@ -2862,7 +2872,7 @@ module Cnvrg
|
|
2862
2872
|
invoke :sync, [false], []
|
2863
2873
|
|
2864
2874
|
|
2865
|
-
res = @image.remote_notebook(notebook_dir, instance_type, kernel)
|
2875
|
+
res = @image.remote_notebook(notebook_dir, instance_type, kernel,data,data_commit)
|
2866
2876
|
if Cnvrg::CLI.is_response_success(res)
|
2867
2877
|
if res["result"]["machine"] == -1
|
2868
2878
|
say "There are no available machines", Thor::Shell::Color::BLUE
|
@@ -3063,7 +3073,7 @@ module Cnvrg
|
|
3063
3073
|
notebook_dir = options["notebook_dir"]
|
3064
3074
|
remote = options["remote"] || false
|
3065
3075
|
kernel = options["kernel"] || ""
|
3066
|
-
|
3076
|
+
notebooks_pid = nil
|
3067
3077
|
|
3068
3078
|
if notebook_dir.empty?
|
3069
3079
|
notebook_dir = project_dir
|
@@ -3071,25 +3081,60 @@ module Cnvrg
|
|
3071
3081
|
|
3072
3082
|
notebook_dir = project_dir+ notebook_dir
|
3073
3083
|
end
|
3074
|
-
say "Linking notebook directory to: #{File.basename notebook_dir}", Thor::Shell::Color::BLUE
|
3075
3084
|
choose_image = options["image"]
|
3076
3085
|
|
3077
3086
|
if !choose_image.nil? and !choose_image.empty?
|
3078
3087
|
invoke :set_image, [choose_image]
|
3079
3088
|
end
|
3089
|
+
|
3080
3090
|
image = is_project_with_docker(Dir.pwd)
|
3091
|
+
if !image
|
3092
|
+
jupyter_installed = `which jupyter`
|
3093
|
+
if !$?.success?
|
3094
|
+
say "Could not find jupyter, Is it installed?", Thor::Shell::Color::RED
|
3095
|
+
exit(1)
|
3096
|
+
end
|
3097
|
+
|
3098
|
+
|
3099
|
+
cmd = "jupyter-notebook --port=8888"
|
3100
|
+
PTY.spawn(cmd) do |stdout, stdin, pid, stderr|
|
3101
|
+
begin
|
3102
|
+
notebooks_pid = pid
|
3103
|
+
stdout.each do |line|
|
3104
|
+
puts line
|
3105
|
+
|
3106
|
+
end
|
3107
|
+
|
3108
|
+
rescue Errno::EIO => e
|
3109
|
+
# break
|
3110
|
+
rescue Errno::ENOENT
|
3111
|
+
log_end(1, "command #{cmd} isn't valid")
|
3112
|
+
|
3113
|
+
|
3114
|
+
say "command \"#{cmd}\" couldn't be executed, verify command is valid", Thor::Shell::Color::RED
|
3115
|
+
rescue PTY::ChildExited
|
3116
|
+
log_end(1, "proccess exited")
|
3117
|
+
say "The process exited!", Thor::Shell::Color::RED
|
3118
|
+
rescue => e
|
3119
|
+
log_end(-1, e.message)
|
3120
|
+
say "Error occurred,aborting", Thor::Shell::Color::RED
|
3121
|
+
exit(0)
|
3122
|
+
|
3123
|
+
end
|
3124
|
+
|
3125
|
+
|
3126
|
+
end
|
3127
|
+
|
3128
|
+
end
|
3129
|
+
|
3081
3130
|
if image and image.is_docker and !remote
|
3082
3131
|
container= image.get_container
|
3083
3132
|
if !container
|
3084
|
-
|
3085
|
-
say "Couldn't create container with image #{image.image_name}:#{image.image_tag}", Thor::Shell::Color::RED
|
3133
|
+
say "Couldn't start docker container", Thor::Shell::Color::RED
|
3086
3134
|
exit(1)
|
3135
|
+
|
3087
3136
|
end
|
3088
|
-
else
|
3089
|
-
say "Project is not configured with any image", Thor::Shell::Color::RED
|
3090
|
-
exit(1)
|
3091
3137
|
|
3092
|
-
end
|
3093
3138
|
if options["verbose"]
|
3094
3139
|
say "Syncing project before running", Thor::Shell::Color::BLUE
|
3095
3140
|
say 'Checking for new updates from remote version', Thor::Shell::Color::BLUE
|
@@ -3116,7 +3161,7 @@ module Cnvrg
|
|
3116
3161
|
container.exec(command, tty: true)
|
3117
3162
|
container.stop()
|
3118
3163
|
container.start()
|
3119
|
-
|
3164
|
+
sleep(7)
|
3120
3165
|
@note = Experiment.new(@project.owner, @project.slug)
|
3121
3166
|
port = image.container_port()
|
3122
3167
|
|
@@ -3128,8 +3173,13 @@ module Cnvrg
|
|
3128
3173
|
exit(1)
|
3129
3174
|
end
|
3130
3175
|
|
3131
|
-
|
3132
|
-
|
3176
|
+
result = ""
|
3177
|
+
list.each do |r|
|
3178
|
+
if r.include? "http"
|
3179
|
+
result = r
|
3180
|
+
end
|
3181
|
+
end
|
3182
|
+
token = result.to_s.split("::")[0].to_s.match(/(token=)(.+)\s/)[2]
|
3133
3183
|
|
3134
3184
|
# machine_activity = @note.get_machine_activity(project_dir)
|
3135
3185
|
|
@@ -3149,20 +3199,9 @@ module Cnvrg
|
|
3149
3199
|
log_end(1, "can't start notebook server")
|
3150
3200
|
exit(1)
|
3151
3201
|
end
|
3202
|
+
end
|
3203
|
+
|
3152
3204
|
|
3153
|
-
# jup =verify_software_installed("jupyter-notebook")
|
3154
|
-
# logs = `#{jup} --no-browser --ip=0.0.0.0 --notebook-dir=#{notebook_dir}`
|
3155
|
-
# url = URI.extract(logs).reject { |x| x if !x.include? "http" }.uniq![0]
|
3156
|
-
# if !url.empty?
|
3157
|
-
# check = Helpers.checkmark()
|
3158
|
-
#
|
3159
|
-
# say "#{check} Notebook server started successfully, view notebook in url: #{url}", Thor::Shell::Color::GREEN
|
3160
|
-
# log_end(0)
|
3161
|
-
# else
|
3162
|
-
# say "Couldn't start notebook server", Thor::Shell::Color::RED
|
3163
|
-
# log_end(1, "can't start notebook server")
|
3164
|
-
# exit(1)
|
3165
|
-
# end
|
3166
3205
|
rescue => e
|
3167
3206
|
log_end(-1, e.message)
|
3168
3207
|
say "Error occurd, aborting", Thor::Shell::Color::RED
|
@@ -3170,12 +3209,20 @@ module Cnvrg
|
|
3170
3209
|
container.stop()
|
3171
3210
|
end
|
3172
3211
|
rescue SignalException
|
3173
|
-
|
3174
|
-
|
3175
|
-
|
3212
|
+
if !notebooks_pid.nil?
|
3213
|
+
::Process.kill(0,notebooks_pid)
|
3214
|
+
say "#{check} Notebook has stopped successfully", Thor::Shell::Color::GREEN
|
3215
|
+
|
3216
|
+
|
3217
|
+
invoke :sync, [false], []
|
3218
|
+
else
|
3219
|
+
log_end(-1)
|
3220
|
+
|
3221
|
+
if container
|
3222
|
+
container.stop()
|
3223
|
+
end
|
3176
3224
|
end
|
3177
|
-
|
3178
|
-
exit(1)
|
3225
|
+
|
3179
3226
|
end
|
3180
3227
|
|
3181
3228
|
|
@@ -3676,9 +3723,9 @@ module Cnvrg
|
|
3676
3723
|
end
|
3677
3724
|
|
3678
3725
|
desc '', '', :hide => true
|
3679
|
-
method_option :login, :type => :string, :aliases => ["-l"
|
3680
|
-
method_option :app_dir, :type => :string, :aliases => ["-d"
|
3681
|
-
method_option :cmd, :type => :string, :aliases => ["-c"
|
3726
|
+
method_option :login, :type => :string, :aliases => ["-l"], :default => ""
|
3727
|
+
method_option :app_dir, :type => :string, :aliases => ["-d"], :default => "/home/ds/notebooks"
|
3728
|
+
method_option :cmd, :type => :string, :aliases => ["-c"], :default => "/usr/local/cnvrg/run_ipython.sh"
|
3682
3729
|
|
3683
3730
|
|
3684
3731
|
def config_remote(image_name, port=7654, tensport=6006)
|
@@ -3719,11 +3766,11 @@ module Cnvrg
|
|
3719
3766
|
container.start()
|
3720
3767
|
command = ["/bin/bash", "-lc", "sudo echo -e \"#{login_content}\" >/home/ds/.netrc"]
|
3721
3768
|
container.exec(command, tty: true)
|
3722
|
-
command = ["/bin/bash", "-lc", "mkdir /home/ds/.cnvrg"]
|
3723
|
-
container.exec(command, tty: true)
|
3724
|
-
command = ["/bin/bash", "-lc", "mkdir /home/ds/.cnvrg/tmp"]
|
3725
|
-
container.exec(command, tty: true)
|
3726
|
-
command = ["/bin/bash", "-lc", "sudo chown -R ds
|
3769
|
+
# command = ["/bin/bash", "-lc", "mkdir /home/ds/.cnvrg"]
|
3770
|
+
# container.exec(command, tty: true)
|
3771
|
+
# command = ["/bin/bash", "-lc", "mkdir /home/ds/.cnvrg/tmp"]
|
3772
|
+
# container.exec(command, tty: true)
|
3773
|
+
command = ["/bin/bash", "-lc", "sudo chown -R ds:ds /home/ds/.netrc"]
|
3727
3774
|
container.exec(command, tty: true)
|
3728
3775
|
command = ["/bin/bash", "-lc", "sudo chmod 0600 /home/ds/.netrc"]
|
3729
3776
|
container.exec(command, tty: true)
|
@@ -3740,6 +3787,25 @@ module Cnvrg
|
|
3740
3787
|
end
|
3741
3788
|
end
|
3742
3789
|
|
3790
|
+
|
3791
|
+
desc '', '', :hide => true
|
3792
|
+
method_option :login, :type => :string, :aliases => ["-l"], :default => ""
|
3793
|
+
|
3794
|
+
def config_netrc(container)
|
3795
|
+
|
3796
|
+
login_content = options["login"]
|
3797
|
+
|
3798
|
+
container = Docker::Container.get(container)
|
3799
|
+
command = ["/bin/bash", "-lc", "sudo echo -e \"#{login_content}\" >/home/ds/.netrc"]
|
3800
|
+
container.exec(command, tty: true)
|
3801
|
+
command = ["/bin/bash", "-lc", "sudo chown -R ds:ds /home/ds/.netrc"]
|
3802
|
+
container.exec(command, tty: true)
|
3803
|
+
command = ["/bin/bash", "-lc", "sudo chmod 0600 /home/ds/.netrc"]
|
3804
|
+
container.exec(command, tty: true)
|
3805
|
+
say "OK"
|
3806
|
+
|
3807
|
+
end
|
3808
|
+
|
3743
3809
|
desc '', '', :hide => true
|
3744
3810
|
method_option :login, :type => :string, :aliases => ["-l", "--l"], :default => ""
|
3745
3811
|
method_option :app_dir, :type => :string, :aliases => ["-d", "--d"], :default => "/home/ds/notebooks"
|
@@ -3950,7 +4016,6 @@ module Cnvrg
|
|
3950
4016
|
end
|
3951
4017
|
end
|
3952
4018
|
|
3953
|
-
|
3954
4019
|
return dir_path
|
3955
4020
|
|
3956
4021
|
else
|
@@ -4072,7 +4137,7 @@ module Cnvrg
|
|
4072
4137
|
|
4073
4138
|
desc 'pull_image', 'downloads and loads an image'
|
4074
4139
|
|
4075
|
-
def
|
4140
|
+
def pull_image(image_name)
|
4076
4141
|
begin
|
4077
4142
|
verify_logged_in(false)
|
4078
4143
|
log_start(__method__, args, options)
|
@@ -4085,8 +4150,18 @@ module Cnvrg
|
|
4085
4150
|
path = download_image(image_name, image["slug"])
|
4086
4151
|
if path
|
4087
4152
|
say "Building image", Thor::Shell::Color::BLUE
|
4088
|
-
Docker.options[:read_timeout]=
|
4089
|
-
image = Docker::Image.build_from_dir(path, {'dockerfile' => 'Dockerfile', 't' => "#{image_name}:
|
4153
|
+
Docker.options[:read_timeout]=216000
|
4154
|
+
image = Docker::Image.build_from_dir(path, {'dockerfile' => 'Dockerfile.cpu', 't' => "#{image_name}:latest"}) do |v|
|
4155
|
+
begin
|
4156
|
+
if (log = JSON.parse(v)) && log.has_key?("stream")
|
4157
|
+
next if log["stream"].starts_with? "Step"
|
4158
|
+
$stdout.puts log["stream"]
|
4159
|
+
end
|
4160
|
+
rescue
|
4161
|
+
end
|
4162
|
+
|
4163
|
+
end
|
4164
|
+
|
4090
4165
|
if not image.nil?
|
4091
4166
|
FileUtils.rm_rf(path)
|
4092
4167
|
checks = Helpers.checkmark()
|
@@ -4095,11 +4170,13 @@ module Cnvrg
|
|
4095
4170
|
return image
|
4096
4171
|
log_end(0)
|
4097
4172
|
else
|
4173
|
+
|
4098
4174
|
say "Could not build image", Thor::Shell::Color::RED
|
4099
4175
|
log_end(1, "Could build image")
|
4100
4176
|
return false
|
4101
4177
|
end
|
4102
4178
|
else
|
4179
|
+
|
4103
4180
|
say "Could not download image", Thor::Shell::Color::RED
|
4104
4181
|
log_end(1, "Could build image")
|
4105
4182
|
return false
|
@@ -4127,7 +4204,9 @@ module Cnvrg
|
|
4127
4204
|
#
|
4128
4205
|
# end
|
4129
4206
|
# end
|
4130
|
-
rescue
|
4207
|
+
rescue => e
|
4208
|
+
|
4209
|
+
|
4131
4210
|
say "Couldn't build image", Thor::Shell::Color::RED
|
4132
4211
|
|
4133
4212
|
rescue SignalException
|
data/lib/cnvrg/datafiles.rb
CHANGED
@@ -254,7 +254,7 @@ module Cnvrg
|
|
254
254
|
|
255
255
|
end
|
256
256
|
|
257
|
-
if !s4cmd_suc or !s4cmd_install_suc
|
257
|
+
if !s4cmd_suc or !s4cmd_suc or !s4cmd_install_suc
|
258
258
|
s3 = Aws::S3::Resource.new(
|
259
259
|
:access_key_id => URLcrypt.decrypt(upload_resp["result"]["sts_a"]),
|
260
260
|
:secret_access_key => URLcrypt.decrypt(upload_resp["result"]["sts_s"]),
|
data/lib/cnvrg/files.rb
CHANGED
@@ -229,11 +229,11 @@ module Cnvrg
|
|
229
229
|
|
230
230
|
s4cmd=`pip freeze |grep s4cmd > /dev/null 2>&1` ; s4cmd_suc=$?.success?
|
231
231
|
if !s4cmd_suc
|
232
|
-
`pip install s4cmd > /dev/null 2>&1`
|
232
|
+
`pip install s4cmd > /dev/null 2>&1` ; s4cmd_install_suc=$?.success?
|
233
233
|
end
|
234
234
|
|
235
235
|
end
|
236
|
-
if !
|
236
|
+
if !s4cmd_suc or !s4cmd_suc or !s4cmd_install_suc
|
237
237
|
s3 = Aws::S3::Resource.new(
|
238
238
|
:access_key_id => URLcrypt.decrypt(upload_resp["result"]["sts_a"]),
|
239
239
|
:secret_access_key => URLcrypt.decrypt(upload_resp["result"]["sts_s"]),
|
@@ -251,7 +251,7 @@ module Cnvrg
|
|
251
251
|
s4cmd_body = ""
|
252
252
|
s4cmd_http_object.start do |http|
|
253
253
|
response = http.request s4cmd_request
|
254
|
-
s4cmd_body = response.
|
254
|
+
s4cmd_body = response.read_bodyo
|
255
255
|
end
|
256
256
|
s4cmd_new_body = s4cmd_body.gsub(" self.client = self.boto3.client('s3',
|
257
257
|
aws_access_key_id=aws_access_key_id,
|
data/lib/cnvrg/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cnvrg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.1418
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yochay Ettun
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-06-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -359,7 +359,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
359
359
|
version: '0'
|
360
360
|
requirements: []
|
361
361
|
rubyforge_project:
|
362
|
-
rubygems_version: 2.6.
|
362
|
+
rubygems_version: 2.6.12
|
363
363
|
signing_key:
|
364
364
|
specification_version: 4
|
365
365
|
summary: A CLI tool for interacting with cnvrg.io.
|