prompt-lists 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (227) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +6 -0
  3. data/Gemfile.lock +26 -0
  4. data/LICENSE +33 -0
  5. data/README.md +9 -0
  6. data/lib/prompt_lists.rb +69 -0
  7. data/lists/animal/all.yml +1872 -0
  8. data/lists/animal/bird.yml +918 -0
  9. data/lists/animal/deep-sea.yml +74 -0
  10. data/lists/animal/dinosaur.yml +93 -0
  11. data/lists/animal/dog-breed.yml +670 -0
  12. data/lists/animal/insect.yml +133 -0
  13. data/lists/animal/mammal.yml +186 -0
  14. data/lists/animal/popular.yml +145 -0
  15. data/lists/animal/sea.yml +89 -0
  16. data/lists/architecture/architect.yml +190 -0
  17. data/lists/architecture/extreme-location.yml +49 -0
  18. data/lists/architecture/famous-building.yml +126 -0
  19. data/lists/architecture/home.yml +22 -0
  20. data/lists/architecture/interior-design.yml +39 -0
  21. data/lists/architecture/interior-keywords.yml +104 -0
  22. data/lists/architecture/material.yml +103 -0
  23. data/lists/architecture/style-detailed.yml +104 -0
  24. data/lists/architecture/style.yml +202 -0
  25. data/lists/architecture/term.yml +130 -0
  26. data/lists/art/painting-keyword.yml +74 -0
  27. data/lists/art/painting-technique.yml +98 -0
  28. data/lists/art/pattern.yml +104 -0
  29. data/lists/art/sculpture.yml +74 -0
  30. data/lists/art/style.yml +64 -0
  31. data/lists/art/type.yml +193 -0
  32. data/lists/artist/all.yml +1762 -0
  33. data/lists/artist/common.yml +416 -0
  34. data/lists/artist/concept.yml +37 -0
  35. data/lists/artist/dark.yml +19 -0
  36. data/lists/artist/illustrator.yml +60 -0
  37. data/lists/artist/painter.yml +42 -0
  38. data/lists/artist/with-really-strong-affects.yml +31 -0
  39. data/lists/artist/with-strong-affects.yml +151 -0
  40. data/lists/audio/sound-effect.yml +254 -0
  41. data/lists/audio/voice.yml +102 -0
  42. data/lists/business/brand.yml +291 -0
  43. data/lists/character/action.yml +53 -0
  44. data/lists/character/anime.yml +169 -0
  45. data/lists/character/child.yml +58 -0
  46. data/lists/character/coming-of-age.yml +55 -0
  47. data/lists/character/famous.yml +375 -0
  48. data/lists/character/fantasy.yml +56 -0
  49. data/lists/character/general.yml +109 -0
  50. data/lists/character/monster.yml +116 -0
  51. data/lists/character/romantic.yml +43 -0
  52. data/lists/character/scifi.yml +55 -0
  53. data/lists/character/superhero.yml +101 -0
  54. data/lists/character/supervillain.yml +98 -0
  55. data/lists/cinematic/animation-studio.yml +68 -0
  56. data/lists/cinematic/animation.yml +19 -0
  57. data/lists/cinematic/coloring.yml +39 -0
  58. data/lists/cinematic/director.yml +51 -0
  59. data/lists/cinematic/effect.yml +38 -0
  60. data/lists/cinematic/genre.yml +180 -0
  61. data/lists/cinematic/keyword.yml +24 -0
  62. data/lists/cinematic/moment.yml +220 -0
  63. data/lists/cinematic/movie.yml +147 -0
  64. data/lists/cinematic/shot.yml +58 -0
  65. data/lists/color/all.yml +50 -0
  66. data/lists/color/depth.yml +14 -0
  67. data/lists/color/modifier.yml +58 -0
  68. data/lists/color/pair.yml +29 -0
  69. data/lists/color/palette.yml +77 -0
  70. data/lists/color/perception.yml +25 -0
  71. data/lists/fashion/accessory.yml +157 -0
  72. data/lists/fashion/cultural.yml +102 -0
  73. data/lists/fashion/designer.yml +107 -0
  74. data/lists/fashion/feminine.yml +156 -0
  75. data/lists/fashion/hair-feminine.yml +104 -0
  76. data/lists/fashion/hair-masculine.yml +104 -0
  77. data/lists/fashion/masculine.yml +177 -0
  78. data/lists/fashion/outfit-feminine.yml +65 -0
  79. data/lists/fashion/scifi.yml +54 -0
  80. data/lists/fashion/type.yml +54 -0
  81. data/lists/feeling/all.yml +491 -0
  82. data/lists/feeling/creepy.yml +43 -0
  83. data/lists/feeling/loved.yml +110 -0
  84. data/lists/feeling/melancholy.yml +49 -0
  85. data/lists/feeling/unnerved.yml +46 -0
  86. data/lists/food/bakery.yml +157 -0
  87. data/lists/food/bbq.yml +28 -0
  88. data/lists/food/breakfast.yml +73 -0
  89. data/lists/food/cuisine.yml +104 -0
  90. data/lists/food/fast.yml +149 -0
  91. data/lists/food/fruit.yml +113 -0
  92. data/lists/geography/city.yml +22959 -0
  93. data/lists/geography/country.yml +203 -0
  94. data/lists/geography/ethnic-group.yml +1062 -0
  95. data/lists/geography/language.yml +615 -0
  96. data/lists/geography/nationality.yml +210 -0
  97. data/lists/geography/territory.yml +83 -0
  98. data/lists/interaction/couple-negative.yml +54 -0
  99. data/lists/interaction/couple.yml +53 -0
  100. data/lists/interaction/crowd.yml +48 -0
  101. data/lists/interaction/group.yml +54 -0
  102. data/lists/interaction/individual-detailed.yml +198 -0
  103. data/lists/interaction/individual.yml +408 -0
  104. data/lists/keyword/detailed.yml +44 -0
  105. data/lists/keyword/epic.yml +113 -0
  106. data/lists/keyword/genre.yml +49 -0
  107. data/lists/keyword/glitch.yml +42 -0
  108. data/lists/keyword/modifier.yml +73 -0
  109. data/lists/keyword/negative.yml +73 -0
  110. data/lists/keyword/prayer.yml +53 -0
  111. data/lists/keyword/trending.yml +22 -0
  112. data/lists/keyword/unusual.yml +48 -0
  113. data/lists/music/artist.yml +100 -0
  114. data/lists/music/bpm.yml +24 -0
  115. data/lists/music/composer.yml +176 -0
  116. data/lists/music/drop.yml +24 -0
  117. data/lists/music/dynamic.yml +75 -0
  118. data/lists/music/feature.yml +189 -0
  119. data/lists/music/genre.yml +290 -0
  120. data/lists/music/harmony.yml +24 -0
  121. data/lists/music/instrument.yml +194 -0
  122. data/lists/music/key.yml +24 -0
  123. data/lists/music/melody.yml +81 -0
  124. data/lists/music/mode.yml +41 -0
  125. data/lists/music/mood.yml +103 -0
  126. data/lists/music/percussive.yml +135 -0
  127. data/lists/music/recording.yml +57 -0
  128. data/lists/music/rhythm.yml +13 -0
  129. data/lists/music/song-section.yml +23 -0
  130. data/lists/music/vocal.yml +104 -0
  131. data/lists/nature/area-of-natural-beauty.yml +618 -0
  132. data/lists/nature/flower.yml +501 -0
  133. data/lists/nature/scene-modifier.yml +35 -0
  134. data/lists/nature/scene.yml +68 -0
  135. data/lists/nature/texture.yml +153 -0
  136. data/lists/nature/tree.yml +144 -0
  137. data/lists/nature/tropical-houseplant.yml +90 -0
  138. data/lists/nature/weather.yml +130 -0
  139. data/lists/nature/wood.yml +52 -0
  140. data/lists/people/beautiful-feminine.yml +30 -0
  141. data/lists/people/beautiful-masculine.yml +91 -0
  142. data/lists/people/body-type.yml +101 -0
  143. data/lists/people/celebrity.yml +641 -0
  144. data/lists/people/common.yml +18 -0
  145. data/lists/people/couple.yml +21 -0
  146. data/lists/people/dance.yml +103 -0
  147. data/lists/people/expression.yml +434 -0
  148. data/lists/people/eye-color.yml +30 -0
  149. data/lists/people/festival.yml +43 -0
  150. data/lists/people/group.yml +46 -0
  151. data/lists/people/hobby.yml +281 -0
  152. data/lists/people/job.yml +604 -0
  153. data/lists/people/pose-portrait.yml +29 -0
  154. data/lists/people/pose.yml +153 -0
  155. data/lists/photography/camera.yml +170 -0
  156. data/lists/photography/film.yml +84 -0
  157. data/lists/photography/landscape-keyword.yml +70 -0
  158. data/lists/photography/landscape-subject-detailed.yml +145 -0
  159. data/lists/photography/landscape-subject.yml +114 -0
  160. data/lists/photography/lens.yml +70 -0
  161. data/lists/photography/light.yml +124 -0
  162. data/lists/photography/photographer.yml +948 -0
  163. data/lists/photography/portrait-photographer.yml +68 -0
  164. data/lists/photography/summer-scene.yml +34 -0
  165. data/lists/photography/summer-tropical-beach.yml +54 -0
  166. data/lists/photojournalism/news-extreme.yml +54 -0
  167. data/lists/photojournalism/news-normal.yml +43 -0
  168. data/lists/photojournalism/news-specific.yml +24 -0
  169. data/lists/photojournalism/style-protest.yml +24 -0
  170. data/lists/photojournalism/types.yml +73 -0
  171. data/lists/places/home.yml +87 -0
  172. data/lists/places/public.yml +78 -0
  173. data/lists/places/room.yml +35 -0
  174. data/lists/plot/action.yml +54 -0
  175. data/lists/plot/arthouse.yml +54 -0
  176. data/lists/plot/fantasy.yml +54 -0
  177. data/lists/plot/general.yml +97 -0
  178. data/lists/plot/horror.yml +53 -0
  179. data/lists/plot/musical.yml +54 -0
  180. data/lists/plot/romance.yml +53 -0
  181. data/lists/plot/scifi-cyberpunk.yml +54 -0
  182. data/lists/plot/scifi.yml +173 -0
  183. data/lists/plot/war.yml +54 -0
  184. data/lists/science/astronomy.yml +34 -0
  185. data/lists/science/chemical-element.yml +122 -0
  186. data/lists/science/geometry.yml +93 -0
  187. data/lists/science/medical-images.yml +24 -0
  188. data/lists/set/describe-style.yml +17760 -0
  189. data/lists/set/describe-subject.yml +255734 -0
  190. data/lists/set/parti.yml +1639 -0
  191. data/lists/thing/adjective.yml +54 -0
  192. data/lists/thing/city.yml +193 -0
  193. data/lists/thing/everyday.yml +228 -0
  194. data/lists/thing/fantasy.yml +130 -0
  195. data/lists/thing/gadget.yml +405 -0
  196. data/lists/thing/icon.yml +115 -0
  197. data/lists/thing/office.yml +53 -0
  198. data/lists/thing/scary.yml +193 -0
  199. data/lists/thing/sci-fi.yml +192 -0
  200. data/lists/thing/space.yml +141 -0
  201. data/lists/thing/summer.yml +52 -0
  202. data/lists/time/century.yml +16 -0
  203. data/lists/time/day-of-year.yml +369 -0
  204. data/lists/time/decade.yml +15 -0
  205. data/lists/time/era.yml +91 -0
  206. data/lists/time/time-of-day.yml +34 -0
  207. data/lists/time/year.yml +205 -0
  208. data/lists/typography/feature.yml +46 -0
  209. data/lists/typography/font-type.yml +45 -0
  210. data/lists/typography/font.yml +68 -0
  211. data/lists/typography/style.yml +57 -0
  212. data/lists/typography/word-art.yml +104 -0
  213. data/lists/vehicle/car.yml +309 -0
  214. data/lists/vehicle/classic-car.yml +148 -0
  215. data/lists/vehicle/famous-car.yml +42 -0
  216. data/lists/vehicle/fast-car.yml +81 -0
  217. data/lists/vehicle/type.yml +104 -0
  218. data/lists/video-game/action.yml +300 -0
  219. data/lists/video-game/designer.yml +54 -0
  220. data/lists/video-game/engine.yml +54 -0
  221. data/lists/video-game/game.yml +306 -0
  222. data/lists/video-game/region.yml +104 -0
  223. data/lists/word/adjective.yml +4984 -0
  224. data/lists/word/adverb.yml +1802 -0
  225. data/lists/word/noun.yml +24393 -0
  226. data/lists/word/verb.yml +9954 -0
  227. metadata +299 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: c0719a4ca57aa5a503c6b75a3738ab02fa9b5e7b1e39f04342df11e331d60f8b
4
+ data.tar.gz: 2d06005433ed1af9caf552d4a70ece60bffff996ce67e04105ac2113c0a8c478
5
+ SHA512:
6
+ metadata.gz: a11c80a4b2df1b536f0f21a2c982f7671c3d5fb27e553b7be30f17028138c9ae53a843704b221e33f639ad537fcfbf9f3730502b4c74ff3fd4a28817e8949322
7
+ data.tar.gz: 32eebde5492e826b64d77113cdac16d752c38668e415d19965d75524ca800b2eac32d6b3d2e516159d59084d1866d451334621eb05d09bc11e03e9dea284403d
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ # Specify your gem's dependencies in replicate-ruby.gemspec
6
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,26 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ prompt-lists (0.0.1)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ byebug (11.1.3)
10
+ coderay (1.1.3)
11
+ method_source (1.1.0)
12
+ pry (0.14.2)
13
+ coderay (~> 1.1)
14
+ method_source (~> 1.0)
15
+
16
+ PLATFORMS
17
+ arm64-darwin-22
18
+ ruby
19
+
20
+ DEPENDENCIES
21
+ byebug
22
+ prompt-lists!
23
+ pry
24
+
25
+ BUNDLED WITH
26
+ 2.5.5
data/LICENSE ADDED
@@ -0,0 +1,33 @@
1
+ Word lists from Spicy-Proton
2
+ https://github.com/schmich/spicy-proton
3
+ Copyright (c) 2017 Chris Schmich
4
+
5
+ ---
6
+
7
+ Cities lists from Datasets
8
+ https://github.com/datasets/world-cities
9
+ Licensed under the Creative Common Attribution License
10
+
11
+ ---
12
+
13
+ The MIT License (MIT)
14
+
15
+ Copyright (c) 2024 @dreamingtulpa
16
+
17
+ Permission is hereby granted, free of charge, to any person obtaining a copy
18
+ of this software and associated documentation files (the "Software"), to deal
19
+ in the Software without restriction, including without limitation the rights
20
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
21
+ copies of the Software, and to permit persons to whom the Software is
22
+ furnished to do so, subject to the following conditions:
23
+
24
+ The above copyright notice and this permission notice shall be included in
25
+ all copies or substantial portions of the Software.
26
+
27
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
28
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
29
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
30
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
31
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
32
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
33
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # Lists for prompts
2
+
3
+ Categorised lists of things for AI image and media generation for prompt
4
+ generation on [PROMPTCACHE](https://promptcache.com).
5
+
6
+ ## Installation
7
+
8
+ ```ruby
9
+ gem "prompt-lists"
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'yaml'
4
+
5
+ module PromptLists
6
+ VERSION = '0.0.1'
7
+
8
+ class List
9
+ def initialize(file_paths)
10
+ @sublists = file_paths.map do |file_path|
11
+ id = File.basename(file_path, ".yml").gsub("-", "_").to_sym
12
+ Hash[id, file_path]
13
+ end
14
+ end
15
+
16
+ def method_missing(method_name, *args)
17
+ sublist = @sublists.find { |sublist| sublist.key?(method_name) }
18
+ if sublist
19
+ Sublist.new(sublist.values[0])
20
+ else
21
+ super
22
+ end
23
+ end
24
+
25
+ def respond_to_missing?(method_name, include_private = false)
26
+ sublist = @sublists.find { |sublist| sublist.key?(method_name) }
27
+ sublist || super
28
+ end
29
+ end
30
+
31
+ class Sublist
32
+ def initialize(file_path)
33
+ @file_path = file_path
34
+ @content = File.read(@file_path)
35
+ if @content =~ /^(---\s*\n.*?\n?)^(---\s*$\n?)/m
36
+ @items = @content[($1.size + $2.size)..-1].split("\n")
37
+ @metadata = YAML.load($1)
38
+ end
39
+ @metadata = (@metadata || {})
40
+ end
41
+ attr_accessor :metadata, :items
42
+ end
43
+
44
+ class << self
45
+ def method_missing(method_name, *args)
46
+ list_name = method_name.to_s
47
+ if list_exists?(list_name)
48
+ result = load_list(list_name)
49
+ List.new(result)
50
+ else
51
+ super
52
+ end
53
+ end
54
+
55
+ def respond_to_missing?(method_name, include_private = false)
56
+ list_exists?(method_name.to_s) || super
57
+ end
58
+
59
+ private
60
+
61
+ def load_list(list_name)
62
+ Dir["lists/#{list_name}/*.yml"]
63
+ end
64
+
65
+ def list_exists?(list_name)
66
+ Dir.exist?("lists/#{list_name}")
67
+ end
68
+ end
69
+ end