asimov-dataset-cli 25.0.0.dev.4

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 (4) hide show
  1. checksums.yaml +7 -0
  2. data/VERSION +1 -0
  3. data/bin/asimov-dataset +126 -0
  4. metadata +131 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 5646ac2b6fdc789383890f13ab7700179b2f1dc657df55e0fa300bbdb80b9a98
4
+ data.tar.gz: cef23812efd65a2a476249ba0e1168ef7c647eabcc8560de6a13f4fbd02cf09b
5
+ SHA512:
6
+ metadata.gz: eab483c99428b6ffb3654da5f331041d0bde92ad73bf672fca4ee8f6eee838a96ecacaaa50d1fe8110fbd83270ce1d2109b1877e7eeab0e02f7a37e4ba69f08d
7
+ data.tar.gz: 9ab543528c65802c82ecc6b620ac2b443e2a53d21c9409b84cb6b3adaef8fd5cb324fb8cbdea3bc21e75d775defe2ae2ed2613131eb00370ca9285a399d3b1c9
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 25.0.0.dev.4
@@ -0,0 +1,126 @@
1
+ #!/usr/bin/env ruby
2
+ require "bundler/setup"
3
+
4
+ require "asimov/config"
5
+ require "asimov/dataset"
6
+ require "dry/cli"
7
+
8
+ trap(:SIGINT) { abort "" }
9
+
10
+ module ASIMOV::Dataset; end
11
+
12
+ module ASIMOV::Dataset::CLI
13
+ extend Dry::CLI::Registry
14
+
15
+ class Help < Dry::CLI::Command
16
+ desc "Print help"
17
+
18
+ argument :command, type: :string, desc: "Command"
19
+ option :format, type: :string, default: "text", aliases: %w(-o), values: %w(text json), desc: "Format"
20
+
21
+ def call(command: nil, format:, **)
22
+ # TODO
23
+ end
24
+ end # Help
25
+
26
+ class Clear < Dry::CLI::Command
27
+ desc "Clear a dataset"
28
+
29
+ argument :datasets, type: :array, required: true, desc: "Dataset names"
30
+ option :signer, type: :string, default: ENV['NEAR_SIGNER'], desc: "Signing account"
31
+
32
+ def call(datasets:, signer: nil, **)
33
+ datasets.each do |dataset|
34
+ dataset = ASIMOV::Protocol::Dataset.parse(dataset).freeze
35
+ signer = ASIMOV::Protocol::Account.parse(signer || dataset.account).freeze
36
+
37
+ result = NEAR::CLI.new.call_function(
38
+ dataset.account,
39
+ 'rdf_clear',
40
+ "\x00\x00".b, # TODO
41
+ signer:,
42
+ )
43
+ end
44
+ end
45
+ end # Clear
46
+
47
+ class Clone < Dry::CLI::Command
48
+ desc "Clone a dataset"
49
+
50
+ argument :id, type: :string, required: true, desc: "Dataset ID"
51
+
52
+ def call(id:, **)
53
+ # TODO
54
+ end
55
+ end # Clone
56
+
57
+ class Create < Dry::CLI::Command
58
+ desc "Create a dataset"
59
+
60
+ argument :datasets, type: :array, required: true, desc: "Dataset names"
61
+ option :signer, type: :string, default: ENV['NEAR_SIGNER'], desc: "Signing account"
62
+
63
+ def call(datasets:, signer: nil, **)
64
+ # TODO
65
+ end
66
+ end # Create
67
+
68
+ class Export < Dry::CLI::Command
69
+ desc "Export a dataset"
70
+
71
+ argument :id, type: :string, required: true, desc: "Dataset ID"
72
+ option :format, type: :string, default: "kdl", aliases: %w(-o), values: %w(json kdl yaml), desc: "Format"
73
+
74
+ def call(id:, format: nil, **)
75
+ # TODO
76
+ end
77
+ end # Export
78
+
79
+ class Import < Dry::CLI::Command
80
+ desc "Import a dataset"
81
+
82
+ def call(**)
83
+ # TODO
84
+ end
85
+ end # Import
86
+
87
+ class List < Dry::CLI::Command
88
+ desc "List available datasets"
89
+
90
+ def call(**)
91
+ # TODO
92
+ end
93
+ end # List
94
+
95
+ class Remove < Dry::CLI::Command
96
+ desc "Remove a dataset"
97
+
98
+ argument :id, type: :string, required: true, desc: "Dataset ID"
99
+
100
+ def call(id:, **)
101
+ # TODO
102
+ end
103
+ end # Remove
104
+
105
+ class Rename < Dry::CLI::Command
106
+ desc "Rename a dataset"
107
+
108
+ argument :id, type: :string, required: true, desc: "Dataset ID"
109
+
110
+ def call(id:, **)
111
+ # TODO
112
+ end
113
+ end # Rename
114
+
115
+ register :help.to_s, Help, aliases: %w()
116
+ register :clear.to_s, Clear, aliases: %w()
117
+ register :clone.to_s, Clone, aliases: %w(cp copy)
118
+ register :create.to_s, Create, aliases: %w(new)
119
+ register :export.to_s, Export, aliases: %w(show info describe)
120
+ register :import.to_s, Import, aliases: %w(download)
121
+ register :list.to_s, List, aliases: %w(ls dir)
122
+ register :remove.to_s, Remove, aliases: %w(rm)
123
+ register :rename.to_s, Rename, aliases: %w(mv)
124
+ end # ASIMOV::Dataset::CLI
125
+
126
+ Dry::CLI.new(ASIMOV::Dataset::CLI).call
metadata ADDED
@@ -0,0 +1,131 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: asimov-dataset-cli
3
+ version: !ruby/object:Gem::Version
4
+ version: 25.0.0.dev.4
5
+ platform: ruby
6
+ authors:
7
+ - ASIMOV Protocol
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 2025-02-15 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: rake
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '13'
19
+ type: :development
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '13'
26
+ - !ruby/object:Gem::Dependency
27
+ name: rspec
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '3.12'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '3.12'
40
+ - !ruby/object:Gem::Dependency
41
+ name: yard
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0.9'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0.9'
54
+ - !ruby/object:Gem::Dependency
55
+ name: asimov-config
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - '='
59
+ - !ruby/object:Gem::Version
60
+ version: 25.0.0.dev.4
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - '='
66
+ - !ruby/object:Gem::Version
67
+ version: 25.0.0.dev.4
68
+ - !ruby/object:Gem::Dependency
69
+ name: asimov-dataset
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - '='
73
+ - !ruby/object:Gem::Version
74
+ version: 25.0.0.dev.4
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - '='
80
+ - !ruby/object:Gem::Version
81
+ version: 25.0.0.dev.4
82
+ - !ruby/object:Gem::Dependency
83
+ name: dry-cli
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '1.2'
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '1.2'
96
+ description: ''
97
+ email: support@asimov.so
98
+ executables:
99
+ - asimov-dataset
100
+ extensions: []
101
+ extra_rdoc_files: []
102
+ files:
103
+ - VERSION
104
+ - bin/asimov-dataset
105
+ homepage: https://cli.asimov.so
106
+ licenses:
107
+ - Unlicense
108
+ metadata:
109
+ bug_tracker_uri: https://github.com/asimov-platform/asimov-cli/issues
110
+ changelog_uri: https://github.com/asimov-platform/asimov-cli/blob/master/CHANGES.md
111
+ documentation_uri: https://github.com/asimov-platform/asimov-cli/blob/master/README.md
112
+ homepage_uri: https://cli.asimov.so
113
+ source_code_uri: https://github.com/asimov-platform/asimov-cli
114
+ rdoc_options: []
115
+ require_paths:
116
+ - lib
117
+ required_ruby_version: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '3.2'
122
+ required_rubygems_version: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ requirements: []
128
+ rubygems_version: 3.6.2
129
+ specification_version: 4
130
+ summary: ASIMOV Command-Line Interface (CLI)
131
+ test_files: []