quicopt 0.1.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.
@@ -0,0 +1,235 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="387.05728mm"
6
+ height="387.05728mm"
7
+ viewBox="0 0 387.05729 387.05728"
8
+ version="1.1"
9
+ id="svg10831"
10
+ inkscape:version="1.2 (dc2aeda, 2022-05-15)"
11
+ sodipodi:docname="Quicopt_Icon_White.svg"
12
+ inkscape:export-filename="Quicopt_Icon_White.png"
13
+ inkscape:export-xdpi="96"
14
+ inkscape:export-ydpi="96"
15
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
16
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
17
+ xmlns="http://www.w3.org/2000/svg"
18
+ xmlns:svg="http://www.w3.org/2000/svg">
19
+ <sodipodi:namedview
20
+ id="namedview10833"
21
+ pagecolor="#dddddd"
22
+ bordercolor="#eeeeee"
23
+ borderopacity="1"
24
+ inkscape:showpageshadow="0"
25
+ inkscape:pageopacity="0"
26
+ inkscape:pagecheckerboard="0"
27
+ inkscape:deskcolor="#cfcfcf"
28
+ inkscape:document-units="mm"
29
+ showgrid="false"
30
+ inkscape:zoom="0.11851533"
31
+ inkscape:cx="2590.3822"
32
+ inkscape:cy="-923.93111"
33
+ inkscape:window-width="1720"
34
+ inkscape:window-height="1331"
35
+ inkscape:window-x="0"
36
+ inkscape:window-y="30"
37
+ inkscape:window-maximized="0"
38
+ inkscape:current-layer="layer1" />
39
+ <defs
40
+ id="defs10828">
41
+ <rect
42
+ x="487.95303"
43
+ y="-701.96753"
44
+ width="4400.1377"
45
+ height="2234.3113"
46
+ id="rect576-3-5-7" />
47
+ <rect
48
+ x="487.95303"
49
+ y="-701.96753"
50
+ width="4400.1377"
51
+ height="2234.3113"
52
+ id="rect576-3-5-7-9" />
53
+ <rect
54
+ x="487.95303"
55
+ y="-701.96753"
56
+ width="4400.1377"
57
+ height="2234.3113"
58
+ id="rect576-3-5-7-93" />
59
+ <rect
60
+ x="487.95303"
61
+ y="-701.96753"
62
+ width="4400.1377"
63
+ height="2234.3113"
64
+ id="rect576-3-5-7-93-4" />
65
+ <rect
66
+ x="487.95303"
67
+ y="-701.96753"
68
+ width="4400.1377"
69
+ height="2234.3113"
70
+ id="rect576-3-5-7-6" />
71
+ <rect
72
+ x="487.95303"
73
+ y="-701.96753"
74
+ width="4400.1377"
75
+ height="2234.3113"
76
+ id="rect576-3-5-7-1" />
77
+ </defs>
78
+ <g
79
+ inkscape:label="Layer 1"
80
+ inkscape:groupmode="layer"
81
+ id="layer1"
82
+ transform="translate(-1416.4286,799.56866)">
83
+ <path
84
+ id="rect1792-7-6-0"
85
+ style="fill:none;stroke:#ffffff;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
86
+ d="m 1742.7238,-561.38334 -132.6975,132.6975 -177.4973,-177.4973 177.4973,-177.4972 177.4972,177.4972 v 0 l -33.486,33.486" />
87
+ <path
88
+ id="rect1792-4-8-1-7"
89
+ style="fill:none;stroke:#ffffff;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
90
+ d="m 1659.2108,-644.05394 37.8706,37.8706 v 0 l -87.0549,87.0548 -87.0548,-87.0548 87.0548,-87.0548 37.8706,37.8705" />
91
+ <g
92
+ id="g1276">
93
+ <circle
94
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:6.31155;stroke-dasharray:none;stroke-opacity:1"
95
+ id="path2616-0-7-0-1-6-1-7-2"
96
+ cx="803.48047"
97
+ cy="-1660.6344"
98
+ r="8"
99
+ transform="rotate(45)" />
100
+ <circle
101
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:6.31155;stroke-dasharray:none;stroke-opacity:1"
102
+ id="path2616-0-7-0-1-6-1-7-6-4"
103
+ cx="756.65234"
104
+ cy="-1660.6344"
105
+ r="8"
106
+ transform="rotate(45)" />
107
+ <circle
108
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:6.31155;stroke-dasharray:none;stroke-opacity:1"
109
+ id="path2616-0-7-0-1-6-1-7-6-8-8"
110
+ cx="709.82422"
111
+ cy="-1660.6344"
112
+ r="8"
113
+ transform="rotate(45)" />
114
+ <circle
115
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:6.31155;stroke-dasharray:none;stroke-opacity:1"
116
+ id="path2616-0-7-0-1-6-1-7-6-8-4-3"
117
+ cx="803.48047"
118
+ cy="-1613.8654"
119
+ r="8"
120
+ transform="rotate(45)" />
121
+ <circle
122
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:6.31155;stroke-dasharray:none;stroke-opacity:1"
123
+ id="path2616-0-7-0-1-6-1-7-6-8-4-6-5"
124
+ cx="803.48047"
125
+ cy="-1567.0969"
126
+ r="8"
127
+ transform="rotate(45)" />
128
+ <circle
129
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:6.31155;stroke-dasharray:none;stroke-opacity:1"
130
+ id="path2616-0-7-0-1-6-3-7-1-0"
131
+ cx="616.3623"
132
+ cy="-1660.6344"
133
+ r="8"
134
+ transform="rotate(45)" />
135
+ <circle
136
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:6.31155;stroke-dasharray:none;stroke-opacity:1"
137
+ id="path2616-0-7-0-1-6-3-3-4-3-0"
138
+ cx="616.3623"
139
+ cy="-1473.5769"
140
+ r="8"
141
+ transform="rotate(45)" />
142
+ <circle
143
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:6.31155;stroke-dasharray:none;stroke-opacity:1"
144
+ id="path2616-0-7-0-1-6-3-3-5-5-4-6"
145
+ cx="803.48047"
146
+ cy="-1473.5769"
147
+ r="8"
148
+ transform="rotate(45)" />
149
+ <circle
150
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:6.31155;stroke-dasharray:none;stroke-opacity:1"
151
+ id="path2616-0-7-0-1-6-1-7-6-0-3"
152
+ cx="756.65234"
153
+ cy="-1473.5769"
154
+ r="8"
155
+ transform="rotate(45)" />
156
+ <circle
157
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:6.31155;stroke-dasharray:none;stroke-opacity:1"
158
+ id="path2616-0-7-0-1-6-1-7-5-3"
159
+ cx="616.3623"
160
+ cy="-1613.8654"
161
+ r="8"
162
+ transform="rotate(45)" />
163
+ </g>
164
+ <path
165
+ id="rect1792-4-5-2-5-2"
166
+ style="fill:none;stroke:#ffffff;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
167
+ d="m 1509.9525,-638.37444 100.0738,-100.0738 132.2651,132.2651 v 0 l -132.2651,132.2651 -132.2651,-132.2651 20.8776,-20.8775" />
168
+ <g
169
+ id="g1264">
170
+ <circle
171
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:12.6231;stroke-dasharray:none;stroke-opacity:1"
172
+ id="path2616-0-7-0-1-7-1-4"
173
+ cx="584.38916"
174
+ cy="-1692.5226"
175
+ r="16"
176
+ transform="rotate(45)" />
177
+ <circle
178
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:12.6231;stroke-dasharray:none;stroke-opacity:1"
179
+ id="path2616-0-75-3-1-0"
180
+ cx="835.36426"
181
+ cy="-1567.0969"
182
+ r="16"
183
+ transform="rotate(45)" />
184
+ <circle
185
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:12.6231;stroke-dasharray:none;stroke-opacity:1"
186
+ id="path2616-0-2-2-0"
187
+ cx="584.38916"
188
+ cy="-1567.0969"
189
+ r="16"
190
+ transform="rotate(45)" />
191
+ <circle
192
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:12.6231;stroke-dasharray:none;stroke-opacity:1"
193
+ id="path2616-0-0-7-6-0"
194
+ cx="709.82422"
195
+ cy="-1692.5226"
196
+ r="16"
197
+ transform="rotate(45)" />
198
+ <circle
199
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:12.6231;stroke-dasharray:none;stroke-opacity:1"
200
+ id="path2616-0-5-1-6-3"
201
+ cx="709.82422"
202
+ cy="-1441.3708"
203
+ r="16"
204
+ transform="rotate(45)" />
205
+ <circle
206
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:12.6231;stroke-dasharray:none;stroke-opacity:1"
207
+ id="path2616-0-7-00-5-2"
208
+ cx="835.36426"
209
+ cy="-1441.3708"
210
+ r="16"
211
+ transform="rotate(45)" />
212
+ <circle
213
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:12.6231;stroke-dasharray:none;stroke-opacity:1"
214
+ id="path2616-0-7-0-9-4-8"
215
+ cx="835.36426"
216
+ cy="-1692.5226"
217
+ r="16"
218
+ transform="rotate(45)" />
219
+ <circle
220
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:12.6231;stroke-dasharray:none;stroke-opacity:1"
221
+ id="path2616-0-7-0-1-6-4-1-8-7"
222
+ cx="584.38916"
223
+ cy="-1441.3708"
224
+ r="16"
225
+ transform="rotate(45)" />
226
+ <circle
227
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:12.6231;stroke-dasharray:none;stroke-opacity:1"
228
+ id="path2616-5-0-1"
229
+ cx="709.82422"
230
+ cy="-1567.0969"
231
+ r="16"
232
+ transform="rotate(45)" />
233
+ </g>
234
+ </g>
235
+ </svg>
@@ -0,0 +1,17 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ # SPDX-FileCopyrightText: (c) 2026 Tim Bode, PGI-12, Forschungszentrum Jülich
3
+ # frozen_string_literal: true
4
+
5
+ # Copy the brand marks out alongside the stylesheets.
6
+ #
7
+ # YARD only copies files it knows about — the ones named in its stylesheet and
8
+ # javascript lists — so an image referenced from CSS never reaches the output
9
+ # directory unless it is registered here. The theming itself is entirely in
10
+ # css/common.css, which YARD ships as an explicit override hook and loads into
11
+ # both the main pages and the class-list iframe.
12
+ def generate_assets
13
+ super
14
+ %w[css/quicopt-icon-color.svg css/quicopt-icon-white.svg].each do |mark|
15
+ asset(mark, file(mark, true))
16
+ end
17
+ end
metadata ADDED
@@ -0,0 +1,72 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: quicopt
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Tim Bode
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: google-protobuf
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '4.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '4.0'
26
+ description: Author an optimization model in a small native Ruby DSL, encode it to
27
+ the versioned Quicopt wire IR, and solve it on the Quicopt service.
28
+ email:
29
+ - 9047234+timbode@users.noreply.github.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - ".yardopts"
35
+ - LICENSE
36
+ - README.md
37
+ - lib/quicopt.rb
38
+ - lib/quicopt/client.rb
39
+ - lib/quicopt/model.rb
40
+ - lib/quicopt/modeler/v1/program_pb.rb
41
+ - lib/quicopt/version.rb
42
+ - lib/quicopt/wire.rb
43
+ - proto/quicopt/modeler/v1/program.proto
44
+ - templates/default/fulldoc/html/css/common.css
45
+ - templates/default/fulldoc/html/css/quicopt-icon-color.svg
46
+ - templates/default/fulldoc/html/css/quicopt-icon-white.svg
47
+ - templates/default/fulldoc/html/setup.rb
48
+ homepage: https://github.com/timbode/quicopt-ruby
49
+ licenses:
50
+ - Apache-2.0
51
+ metadata:
52
+ source_code_uri: https://github.com/timbode/quicopt-ruby
53
+ rubygems_mfa_required: 'true'
54
+ rdoc_options: []
55
+ require_paths:
56
+ - lib
57
+ required_ruby_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 3.2.0
62
+ required_rubygems_version: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ requirements: []
68
+ rubygems_version: 3.6.9
69
+ specification_version: 4
70
+ summary: Ruby client for the Quicopt service — author models, emit the Quicopt wire
71
+ IR.
72
+ test_files: []