cryptocalypse commited on
Commit
69b0f8c
1 Parent(s): b0a0cc6

test data pleyades

Browse files
Files changed (18) hide show
  1. lib/entropy.py +122 -0
  2. lib/events.py +122 -0
  3. lib/files.py +28 -0
  4. lib/gematria.py +210 -0
  5. lib/grapher.py +118 -0
  6. lib/latticegrid.py +47 -0
  7. lib/me.py +298 -0
  8. lib/memory.py +80 -0
  9. lib/models.py +98 -0
  10. lib/notarikon.py +44 -0
  11. lib/pipes.py +204 -0
  12. lib/sonsofstars.py +521 -0
  13. lib/spell.py +157 -0
  14. lib/temuraeh.py +45 -0
  15. lib/torah.py +246 -0
  16. lib/triggers.py +82 -0
  17. lib/ziruph.py +36 -0
  18. resources/Pleyades +1 -0
lib/entropy.py ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import sys
2
+ import math
3
+
4
+ class TextProcessor:
5
+ def __init__(self, texto):
6
+ self.texto = texto
7
+
8
+ def entropy(self):
9
+ simbolos = {}
10
+ total_caracteres = len(self.texto)
11
+
12
+ for caracter in self.texto:
13
+ simbolos[caracter] = simbolos.get(caracter, 0) + 1
14
+
15
+ entropia = 0
16
+ for count in simbolos.values():
17
+ probabilidad = count / total_caracteres
18
+ entropia -= probabilidad * math.log2(probabilidad)
19
+
20
+ return simbolos, entropia
21
+
22
+ def common_string(self, cadena1, cadena2):
23
+ longitud1 = len(cadena1)
24
+ longitud2 = len(cadena2)
25
+ comun = ''
26
+ subcadenas_comunes = []
27
+
28
+ for i in range(longitud1):
29
+ for j in range(longitud2):
30
+ k = 0
31
+ while (i+k < longitud1 and j+k < longitud2 and cadena1[i+k] == cadena2[j+k]):
32
+ k += 1
33
+ if k > 0:
34
+ subcadenas_comunes.append(cadena1[i:i+k])
35
+
36
+ if subcadenas_comunes:
37
+ comun = max(subcadenas_comunes, key=len)
38
+
39
+ return comun
40
+
41
+ def magic_split(self):
42
+ unique_symbols = set(self.texto)
43
+ symbol_distances = {}
44
+ for symbol in unique_symbols:
45
+ indices = [i for i, char in enumerate(self.texto) if char == symbol]
46
+ if len(indices) > 1:
47
+ distances = [indices[i + 1] - indices[i] for i in range(len(indices) - 1)]
48
+ symbol_distances[symbol] = distances
49
+
50
+ variation = {symbol: max(distances) - min(distances) for symbol, distances in symbol_distances.items() if distances}
51
+
52
+ mins = {}
53
+ for v in variation:
54
+ if variation[v]!=0 and variation[v]!=1:
55
+ mins[v] = variation[v]
56
+
57
+ best_symbol = min(mins, key=mins.get)
58
+
59
+ return best_symbol
60
+
61
+ def rotate_string(self, string, n):
62
+ indice = n % len(string)
63
+ string_rotado = string[indice:] + string[:indice]
64
+ return string_rotado
65
+
66
+ def rotate_compare(self, tokiA, tokiB):
67
+ if tokiA >= tokiB:
68
+ tokA = tokiA
69
+ tokB = tokiB
70
+ ltokA = len(tokA)
71
+ else:
72
+ tokA = tokiB
73
+ tokB = tokiA
74
+ ltokA = len(tokB)
75
+
76
+ i = 0
77
+ rotations = {}
78
+ while i < ltokA:
79
+ tokrotated = self.rotate_string(tokA, i)
80
+ rotations[str(i)] = self.common_string(tokrotated, tokB)
81
+ i += 1
82
+
83
+ best_r = ""
84
+ for x in rotations:
85
+ lb = len(best_r)
86
+ rot = rotations[x]
87
+ lrot = len(rot)
88
+ if lrot > 1 and lrot < ltokA and lrot > lb:
89
+ best_r = rot
90
+
91
+ return best_r
92
+
93
+ def get_subTokens(self, spl):
94
+ sub_tokens = self.texto.split(spl)
95
+ toks = []
96
+ for tok in sub_tokens:
97
+ for tok2 in sub_tokens:
98
+ if tok != tok2:
99
+ toks.append(self.rotate_compare(tok, tok2))
100
+
101
+ return list(set(toks))
102
+
103
+ def tokenize(self, spliter_optimo):
104
+ tokens = self.get_subTokens(spliter_optimo)
105
+ tokenized_sentence = {}
106
+ chunk = self.texto.split(spliter_optimo)
107
+ for txt in chunk:
108
+ best_split = ""
109
+ for tok in tokens:
110
+ if tok != "":
111
+ lt = len(tok)
112
+ lb = len(best_split)
113
+ spltxt = txt.split(tok)
114
+ if len(spltxt) > 1:
115
+ l0 = len(spltxt[0])
116
+ l1 = len(spltxt[1])
117
+ if lt < len(txt) and lt > lb:
118
+ best_split = tok
119
+ tokenized_sentence[txt] = " " + spltxt[0] + "-" + tok + "-" + spltxt[1]
120
+ return tokenized_sentence
121
+
122
+
lib/events.py ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import matplotlib.pyplot as plt
3
+ from sklearn.model_selection import train_test_split
4
+ from sklearn.ensemble import RandomForestRegressor
5
+ from sklearn.metrics import mean_squared_error
6
+ from scipy.stats import pearsonr
7
+ import numpy as np
8
+ from scipy.fft import fft
9
+
10
+
11
+ class EventManager:
12
+ def __init__(self):
13
+ self.events = []
14
+
15
+ def add_event(self, event_title, time_dataset, probability_fork, quantity, common_tag_event_dataset,
16
+ quantity_correlation_dataset, event_max_quantity, event_min_quantity, event_middle_quantity,
17
+ sentiment_direction):
18
+ event = {
19
+ "event_title": event_title,
20
+ "time_dataset": time_dataset,
21
+ "probability_fork": probability_fork,
22
+ "quantity": quantity,
23
+ "common_tag_event_dataset": common_tag_event_dataset,
24
+ "quantity_correlation_dataset": quantity_correlation_dataset,
25
+ "event_max_quantity": event_max_quantity,
26
+ "event_min_quantity": event_min_quantity,
27
+ "event_middle_quantity": event_middle_quantity,
28
+ "sentiment_direction": sentiment_direction
29
+ }
30
+ self.events.append(event)
31
+
32
+ def remove_event(self, event_title):
33
+ self.events = [event for event in self.events if event['event_title'] != event_title]
34
+
35
+ def get_events_by_tag(self, tag):
36
+ return [event for event in self.events if tag in event['common_tag_event_dataset']]
37
+
38
+ def get_events_by_sentiment(self, sentiment):
39
+ return [event for event in self.events if event['sentiment_direction'] == sentiment]
40
+
41
+ def get_events_by_quantity_range(self, min_quantity, max_quantity):
42
+ return [event for event in self.events if min_quantity <= event['quantity'] <= max_quantity]
43
+
44
+ def predict_time_series(self, event_title):
45
+ event = next((event for event in self.events if event['event_title'] == event_title), None)
46
+ if event:
47
+ time_series = event['time_dataset']
48
+ # Aquí puedes implementar tu modelo de predicción de series temporales
49
+ # Por ejemplo, utilizando un modelo de regresión como RandomForestRegressor de scikit-learn
50
+ X = np.arange(len(time_series)).reshape(-1, 1)
51
+ y = np.array(time_series)
52
+ X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
53
+ model = RandomForestRegressor()
54
+ model.fit(X_train, y_train)
55
+ predictions = model.predict(X_test)
56
+ return predictions
57
+ else:
58
+ return None
59
+
60
+ def plot_event_parameters_over_time(self, event_title):
61
+ event = next((event for event in self.events if event['event_title'] == event_title), None)
62
+ if event:
63
+ time_series = event['time_dataset']
64
+ plt.plot(time_series)
65
+ plt.xlabel('Tiempo')
66
+ plt.ylabel('Valor')
67
+ plt.title('Parámetros del Evento "{}" a lo largo del tiempo'.format(event_title))
68
+ plt.show()
69
+
70
+ def plot_prediction(self, event_title):
71
+ predictions = self.predict_time_series(event_title)
72
+ if predictions:
73
+ plt.plot(predictions, label='Predicción')
74
+ plt.xlabel('Tiempo')
75
+ plt.ylabel('Valor')
76
+ plt.title('Predicción del Evento "{}"'.format(event_title))
77
+ plt.legend()
78
+ plt.show()
79
+
80
+ def check_correlation(self, event_title1, event_title2):
81
+ event1 = next((event for event in self.events if event['event_title'] == event_title1), None)
82
+ event2 = next((event for event in self.events if event['event_title'] == event_title2), None)
83
+ if event1 and event2:
84
+ correlation, _ = pearsonr(event1['quantity_correlation_dataset'], event2['quantity_correlation_dataset'])
85
+ return correlation
86
+ else:
87
+ return None
88
+
89
+ def fourier_transform(self, event_title):
90
+ event = next((event for event in self.events if event['event_title'] == event_title), None)
91
+ if event:
92
+ time_series = event['time_dataset']
93
+ transformed_data = fft(time_series)
94
+ return transformed_data
95
+ else:
96
+ return None
97
+
98
+
99
+ # Ejemplo de uso
100
+ event_manager = EventManager()
101
+
102
+ # Añadir eventos
103
+ event_manager.add_event("Evento 1", [1, 2, 3, 4, 5], 0.8, 100, ["tag1", "tag2"], [0.1, 0.2, 0.3, 0.4, 0.5],
104
+ 150, 50, 100, "good when up")
105
+ event_manager.add_event("Evento 2", [2, 4, 6, 8, 10], 0.6, 200, ["tag2", "tag3"], [0.2, 0.4, 0.6, 0.8, 1.0],
106
+ 250, 150, 200, "bad when down")
107
+
108
+ # Realizar predicción de series temporales y plot
109
+ event_manager.plot_event_parameters_over_time("Evento 1")
110
+ event_manager.plot_prediction("Evento 1")
111
+
112
+ # Comprobar correlación entre dos eventos
113
+ correlation = event_manager.check_correlation("Evento 1", "Evento 2")
114
+ if correlation:
115
+ print("Correlación entre Evento 1 y Evento 2:", correlation)
116
+ else:
117
+ print("Alguno de los eventos no existe.")
118
+
119
+ # Transformada de Fourier
120
+ transformed_data = event_manager.fourier_transform("Evento 1")
121
+ print("Transformada de Fourier del Evento 1:", transformed_data)
122
+
lib/files.py ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import re
3
+
4
+ class TextFinder:
5
+ def __init__(self, folder):
6
+ self.folder = folder
7
+
8
+ def find_matches(self, pattern):
9
+ matches = []
10
+ pattern = pattern.lower() # Convert pattern to lowercase
11
+ for root, _, files in os.walk(self.folder):
12
+ for file in files:
13
+ file_path = os.path.join(root, file)
14
+
15
+ if os.path.isfile(file_path):
16
+ with open(file_path, 'r', encoding='utf-8') as f:
17
+ content = f.read()
18
+ paragraphs = re.split(r'\n\s*\n', content) # Split text into paragraphs
19
+ for paragraph in paragraphs:
20
+ if pattern in paragraph.lower(): # Convert paragraph to lowercase for comparison
21
+ matches.append({"Find_text":paragraph.strip(),"Book_source":file_path.split("/")[-1].split(".")[0]})
22
+ return matches
23
+
24
+ # Example usage:
25
+ if __name__ == "__main__":
26
+ finder = TextFinder('example_folder')
27
+ matches = finder.find_matches('text_to_find')
28
+ print(matches)
lib/gematria.py ADDED
@@ -0,0 +1,210 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+ from prettytable import PrettyTable
3
+ from colorama import Fore, Style
4
+ from collections import defaultdict
5
+ import unicodedata
6
+
7
+ def strip_diacritics(text):
8
+ """
9
+ Entfernt Diakritika von Unicode-Zeichen, um den Basisbuchstaben zu erhalten, und gibt Warnungen
10
+ für tatsächlich unbekannte Zeichen aus.
11
+ """
12
+ stripped_text = ''
13
+ for char in unicodedata.normalize('NFD', text):
14
+ if unicodedata.category(char) not in ['Mn', 'Cf']:
15
+ stripped_text += char
16
+ else:
17
+ print(f"Info: Diakritisches Zeichen '{char}' wird ignoriert.")
18
+ return stripped_text
19
+
20
+ def hebrew_letter_to_value(letter):
21
+ """
22
+ Konvertiert einen einzelnen Buchstaben in seinen Gematria-Wert, ignoriert Leerzeichen
23
+ und Nicht-Buchstaben-Zeichen.
24
+ """
25
+ # Dein vorhandenes Wörterbuch bleibt unverändert
26
+ values = {
27
+ # Lateinische Buchstaben
28
+ 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6, 'g': 7, 'h': 8, 'i': 9, 'j': 600,
29
+ 'k': 10, 'l': 20, 'm': 30, 'n': 40, 'o': 50, 'p': 60, 'q': 70, 'r': 80, 's': 90,
30
+ 't': 100, 'u': 200, 'v': 700, 'w': 900, 'x': 300, 'y': 400, 'z': 500,
31
+
32
+ 'A': 1, 'B': 2, 'C': 3, 'D': 4, 'E': 5, 'F': 6, 'G': 7, 'H': 8, 'I': 9, 'J': 600,
33
+ 'K': 10, 'L': 20, 'M': 30, 'N': 40, 'O': 50, 'P': 60, 'Q': 70, 'R': 80, 'S': 90,
34
+ 'T': 100, 'U': 200, 'V': 700, 'W': 900, 'X': 300, 'Y': 400, 'Z': 500,
35
+
36
+ # Basisbuchstaben und einige bereits genannte Varianten
37
+ 'ا': 1, 'أ': 1, 'إ': 1, 'آ': 1, 'ب': 2, 'ج': 3, 'د': 4, 'ه': 5, 'و': 6, 'ز': 7, 'ح': 8, 'ط': 9,
38
+ 'ي': 10, 'ى': 10, 'ك': 20, 'ک': 20, 'ل': 30, 'م': 40, 'ن': 50, 'س': 60, 'ع': 70, 'ف': 80,
39
+ 'ص': 90, 'ق': 100, 'ر': 200, 'ش': 300, 'ت': 400, 'ث': 500, 'خ': 600, 'ذ': 700, 'ض': 800, 'ظ': 900, 'غ': 1000,
40
+ 'ٱ': 1, # Alif Wasla
41
+ 'ـ': 0, # Tatweel
42
+
43
+ # Zusätzliche Varianten und Sonderzeichen
44
+ 'ة': 400, # Taa Marbuta
45
+ 'ؤ': 6, # Waw mit Hamza darüber
46
+ 'ئ': 10, # Ya mit Hamza darüber
47
+ 'ء': 1, # Hamza
48
+ 'ى': 10, # Alif Maqsurah
49
+ 'ٹ': 400, # Taa' marbuta goal
50
+ 'پ': 2, # Pe (Persisch/Urdu)
51
+ 'چ': 3, # Che (Persisch/Urdu)
52
+ 'ژ': 7, # Zhe (Persisch/Urdu)
53
+ 'گ': 20, # Gaf (Persisch/Urdu)
54
+ 'ڭ': 20, # Ngaf (Kazakh, Uyghur, Uzbek, and in some Arabic dialects)
55
+ 'ں': 50, # Noon Ghunna (Persisch/Urdu)
56
+ 'ۀ': 5, # Heh with Yeh above (Persisch/Urdu)
57
+ 'ے': 10, # Barree Yeh (Persisch/Urdu)
58
+ '؋': 0, # Afghani Sign (wird als Währungssymbol verwendet, nicht für Gematria relevant, aber hier zur Vollständigkeit aufgeführt)
59
+
60
+ # Anmerkung: Das Währungssymbol und ähnliche Zeichen sind in einem Gematria-Kontext normalerweise nicht relevant,
61
+ # werden aber der Vollständigkeit halber aufgeführt. Es gibt noch viele weitere spezifische Zeichen in erweiterten
62
+ # arabischen Schriftsystemen (z.B. für andere Sprachen wie Persisch, Urdu, Pashto usw.), die hier nicht vollständig
63
+ # abgedeckt sind.
64
+
65
+ # Grund- und Schlussformen hebräischer Buchstaben
66
+
67
+ 'א': 1, 'ב': 2, 'ג': 3, 'ד': 4, 'ה': 5, 'ו': 6, 'ז': 7, 'ח': 8, 'ט': 9, 'י': 10,
68
+ 'כ': 20, 'ך': 500, 'ל': 30, 'מ': 40, 'ם': 600, 'נ': 50, 'ן': 700, 'ס': 60, 'ע': 70, 'פ': 80, 'ף': 800,
69
+ 'צ': 90, 'ץ': 900, 'ק': 100, 'ר': 200, 'ש': 300, 'ת': 400,
70
+
71
+ # Griechische Buchstaben
72
+ 'α': 1, 'β': 2, 'γ': 3, 'δ': 4, 'ε': 5, 'ϝ': 6, 'ζ': 7, 'η': 8, 'θ': 9, 'ι': 10,
73
+ 'κ': 20, 'λ': 30, 'μ': 40, 'ν': 50, 'ξ': 60, 'ο': 70, 'π': 80, 'ϟ': 90, 'ρ': 100,
74
+ 'σ': 200, 'τ': 300, 'υ': 400, 'φ': 500, 'χ': 600, 'ψ': 700, 'ω': 800, 'ϡ': 900,
75
+
76
+ # Griechische Großbuchstaben
77
+ 'Α': 1, 'Β': 2, 'Γ': 3, 'Δ': 4, 'Ε': 5, 'Ϝ': 6, 'Ζ': 7, 'Η': 8, 'Θ': 9, 'Ι': 10,
78
+ 'Κ': 20, 'Λ': 30, 'Μ': 40, 'Ν': 50, 'Ξ': 60, 'Ο': 70, 'Π': 80, 'Ϟ': 90, 'Ρ': 100,
79
+ 'Σ': 200, 'Τ': 300, 'Υ': 400, 'Φ': 500, 'Χ': 600, 'Ψ': 700, 'Ω': 800, 'Ϡ': 900,
80
+ }
81
+
82
+ # Stelle sicher, dass Diakritika entfernt werden, bevor auf das Wörterbuch zugegriffen wird
83
+ letter_no_diacritics = strip_diacritics(letter)
84
+
85
+ if letter_no_diacritics in values:
86
+ return values[letter_no_diacritics.lower()]
87
+ elif letter.strip() == "": # Ignoriere Leerzeichen und leere Zeilen
88
+ return 0
89
+ else:
90
+ # Gib eine spezifische Warnung aus, wenn das Zeichen unbekannt ist
91
+ print(f"Warnung: Unbekanntes Zeichen '{letter}' ignoriert.")
92
+ return 0
93
+
94
+
95
+ def calculate_gematria(text):
96
+ """Calculate the Gematria value of a given Hebrew text, ignoring spaces and non-Hebrew characters."""
97
+ return sum(hebrew_letter_to_value(letter) for letter in text if letter.strip() != "")
98
+
99
+
100
+ # Función para calcular el valor de gematria de una letra hebrea antigua
101
+ def gematria(letra):
102
+ valores = {'א': 1, 'ב': 2, 'ג': 3, 'ד': 4, 'ה': 5, 'ו': 6, 'ז': 7, 'ח': 8, 'ט': 9,
103
+ 'י': 10, 'כ': 20, 'ל': 30, 'מ': 40, 'נ': 50, 'ס': 60, 'ע': 70, 'פ': 80,
104
+ 'צ': 90, 'ק': 100, 'ר': 200, 'ש': 300, 'ת': 400, 'ך': 20, 'ם': 40, 'ן': 50, 'ף': 80, 'ץ': 90}
105
+ return valores.get(letra, 0)
106
+
107
+ # Función para generar todas las combinaciones posibles de dos letras en hebreo antiguo
108
+ def generar_combinaciones():
109
+ letras = ['א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ז', 'ח', 'ט', 'י', 'כ', 'ל', 'מ', 'נ', 'ס', 'ע', 'פ', 'צ', 'ק', 'ר', 'ש', 'ת',
110
+ 'ך', 'ם', 'ן', 'ף', 'ץ']
111
+ combinaciones = []
112
+ for letra1 in letras:
113
+ for letra2 in letras:
114
+ combinaciones.append(letra1 + letra2)
115
+ return combinaciones
116
+
117
+ # Función para calcular la suma de los valores de gematria y el producto de los valores de gematria de una combinación
118
+ def calcular_valores(combinacion):
119
+ valor1 = gematria(combinacion[0])
120
+ valor2 = gematria(combinacion[1])
121
+ suma = valor1 + valor2
122
+ producto = valor1 * valor2
123
+ ratio = valor1 / valor2 if valor2 != 0 else float('inf')
124
+ return suma, producto, ratio
125
+
126
+ # Función principal
127
+ def main():
128
+ combinaciones = generar_combinaciones()
129
+ table = PrettyTable()
130
+ table.field_names = ["#", Fore.BLUE + "Producto" + Style.RESET_ALL,
131
+ Fore.BLUE + "Suma" + Style.RESET_ALL,
132
+ Fore.BLUE + "Ratio" + Style.RESET_ALL,
133
+ Fore.BLUE + "Valor 2" + Style.RESET_ALL,
134
+ Fore.BLUE + "Valor 1" + Style.RESET_ALL,
135
+ Fore.BLUE + "Combinación" + Style.RESET_ALL]
136
+
137
+ # Diccionario de combinaciones agrupadas por ratio
138
+ combinaciones_por_ratio = defaultdict(set)
139
+
140
+ # Versos del Génesis Sefardí (ejemplo)
141
+ versos_genesis_sefardi = [
142
+ "בראשית ברא אלהים את השמים ואת הארץ",
143
+ "והארץ היתה תהו ובהו וחשך על־פני תהום ורוח אלהים מרחפת על־פני המים",
144
+ "ויאמר אלהים יהי אור ויהי־אור",
145
+ "וירא אלהים את־האור כי־טוב ויבדל אלהים בין האור ובין החשך",
146
+ "ויקרא אלהים לאור יום ולחשך קרא לילה ויהי־ערב ויהי־בקר יום אחד"
147
+ # Agrega más versos según sea necesario...
148
+ ]
149
+
150
+ # Función para obtener el primer par de letras de un verso
151
+ def obtener_primer_par_letras(verso):
152
+ for i in range(len(verso) - 1):
153
+ if verso[i].isalpha() and verso[i+1].isalpha():
154
+ return verso[i:i+2]
155
+ return None
156
+
157
+ # Diccionario para almacenar el primer par de letras y su ratio por verso
158
+ primer_par_por_verso = {}
159
+ for verso in versos_genesis_sefardi:
160
+ primer_par = obtener_primer_par_letras(verso)
161
+ if primer_par:
162
+ suma, producto, ratio = calcular_valores(primer_par)
163
+ primer_par_por_verso[verso] = (primer_par, ratio)
164
+
165
+ # Diccionario para agrupar los primeros pares de letras por ratio
166
+ primer_par_por_ratio = defaultdict(list)
167
+ for verso, (primer_par, ratio) in primer_par_por_verso.items():
168
+ primer_par_por_ratio[ratio].append((primer_par, verso))
169
+
170
+ # Crear la tabla de primeros pares de letras por ratio
171
+ table_primer_par = PrettyTable()
172
+ table_primer_par.field_names = [Fore.BLUE + "Primer Par" + Style.RESET_ALL, Fore.BLUE + "Ratio" + Style.RESET_ALL, Fore.BLUE + "Verso" + Style.RESET_ALL]
173
+ for ratio, pares_verso in sorted(primer_par_por_ratio.items(), key=lambda x: x[0], reverse=True):
174
+ for primer_par, verso in pares_verso:
175
+ table_primer_par.add_row([primer_par, f"{ratio:.2f}", verso])
176
+
177
+ print(table_primer_par)
178
+
179
+ # Procesar combinaciones y crear la tabla principal
180
+ for idx, combinacion in enumerate(combinaciones, start=1):
181
+ suma, producto, ratio = calcular_valores(combinacion)
182
+ combinacion_str = combinacion
183
+ # Resaltar en verde si la combinación está en el conjunto de combinaciones del Génesis Sefardí
184
+ if combinacion in set(''.join(obtener_primer_par_letras(verso)) for verso in versos_genesis_sefardi):
185
+ combinacion_str = Fore.GREEN + combinacion + Style.RESET_ALL
186
+ table.add_row([idx, producto, suma, f"{ratio:.2f}", gematria(combinacion[1]), gematria(combinacion[0]), combinacion_str])
187
+ combinaciones_por_ratio[ratio].add(combinacion)
188
+
189
+ # Mostrar la tabla de combinaciones
190
+ print("\nTabla de combinaciones:")
191
+ print(table)
192
+
193
+ # Mostrar la tabla de combinaciones agrupadas por ratio
194
+ print("\nTabla de combinaciones agrupadas por ratio:")
195
+ table_ratio = PrettyTable()
196
+ table_ratio.field_names = [Fore.BLUE + "Ratio" + Style.RESET_ALL, Fore.BLUE + "Combinaciones" + Style.RESET_ALL]
197
+ for ratio, combinaciones in sorted(combinaciones_por_ratio.items(), key=lambda x: x[0], reverse=True):
198
+ combinaciones_str = ", ".join(combinaciones)
199
+ table_ratio.add_row([f"{ratio:.2f}", combinaciones_str])
200
+ print(table_ratio)
201
+
202
+ # Calcular el número de combinaciones únicas de primeros pares de letras
203
+ primeros_pares_unicos = set(primer_par for primer_par, _ in primer_par_por_verso.values())
204
+ num_primeros_pares_unicos = len(primeros_pares_unicos)
205
+ num_combinaciones_totales = len(combinaciones)
206
+ print(f"\nNúmero de primeros pares de letras únicos: {num_primeros_pares_unicos}")
207
+ print(f"Número de combinaciones totales posibles: {num_combinaciones_totales}")
208
+
209
+ if __name__ == "__main__":
210
+ main()
lib/grapher.py ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import requests
2
+ import json
3
+ import networkx as nx
4
+ import matplotlib.pyplot as plt
5
+ from fuzzywuzzy import fuzz
6
+ from fuzzywuzzy import process
7
+ from lib.memory import *
8
+
9
+
10
+ class APIRequester:
11
+ def __init__(self):
12
+ pass
13
+
14
+ def make_request(self, url):
15
+ response = requests.get(url)
16
+ if response.status_code == 200:
17
+ return response.json()
18
+ else:
19
+ return None
20
+
21
+ class Grapher:
22
+ def __init__(self, memoria_nlp, threshold=70):
23
+ self.threshold = threshold
24
+ self.graph = nx.Graph()
25
+ self.memoria_nlp = memoria_nlp
26
+
27
+ def parse_json(self, data, parent=None):
28
+ if isinstance(data, dict):
29
+ for key, value in data.items():
30
+ if parent:
31
+ self.graph.add_node(parent)
32
+ self.graph.add_node(key)
33
+ self.graph.add_edge(parent, key)
34
+
35
+ for node in self.graph.nodes():
36
+ if node != parent and fuzz.ratio(node, key) >= self.threshold:
37
+ self.graph = nx.contracted_nodes(self.graph, node, key, self_loops=False)
38
+
39
+ self.memoria_nlp.agregar_concepto("keys", [(key, 1.0)])
40
+
41
+ if isinstance(value, (dict, list)):
42
+ self.parse_json(value, key)
43
+ else:
44
+ self.memoria_nlp.agregar_concepto("values", [(str(value), 1.0)])
45
+ if parent:
46
+ self.graph.add_node(value)
47
+ self.graph.add_edge(key, value)
48
+
49
+ for node in self.graph.nodes():
50
+ if node != value and fuzz.ratio(node, value) >= self.threshold:
51
+ self.graph = nx.contracted_nodes(self.graph, node, value, self_loops=False)
52
+ elif isinstance(data, list):
53
+ for item in data:
54
+ self.parse_json(item, parent)
55
+
56
+ def draw_graph(self):
57
+ pos = nx.spring_layout(self.graph, seed=42)
58
+ nx.draw(self.graph, pos, with_labels=True, node_size=700, node_color='skyblue', font_size=10, font_weight='bold')
59
+ plt.title("JSON Graph")
60
+ plt.show()
61
+
62
+ def guardar_en_memoria(self):
63
+ keys = self.memoria_nlp.obtener_conceptos_acotados(100)
64
+ with open("memoria.json", "w") as file:
65
+ json.dump(keys, file)
66
+
67
+ def buscar_nodo(self, nodo):
68
+ return process.extractOne(nodo, self.graph.nodes())[0]
69
+
70
+ def eliminar_nodo(self, nodo):
71
+ self.graph.remove_node(nodo)
72
+
73
+ def agregar_nodo(self, nodo):
74
+ self.graph.add_node(nodo)
75
+
76
+ def distancia_entre_nodos(self, nodo1, nodo2):
77
+ return nx.shortest_path_length(self.graph, source=nodo1, target=nodo2)
78
+
79
+ def ruta_entre_nodos(self, nodo1, nodo2):
80
+ return nx.shortest_path(self.graph, source=nodo1, target=nodo2)
81
+
82
+ def unir_grafos(self, otro_grafo, umbral):
83
+ for nodo in otro_grafo.nodes():
84
+ nodo_similar = process.extractOne(nodo, self.graph.nodes())[0]
85
+ if fuzz.ratio(nodo, nodo_similar) >= umbral:
86
+ self.graph = nx.contracted_nodes(self.graph, nodo_similar, nodo, self_loops=False)
87
+ else:
88
+ self.graph.add_node(nodo)
89
+ for vecino in otro_grafo.neighbors(nodo):
90
+ self.graph.add_edge(nodo, vecino)
91
+
92
+
93
+ if __name__ == "__main__":
94
+
95
+ # Ejemplo de uso
96
+ memoria_nlp = MemoriaRobotNLP(max_size=100)
97
+ json_parser = JSONParser(memoria_nlp)
98
+
99
+ api_requester = APIRequester()
100
+ url = "https://jsonplaceholder.typicode.com/posts"
101
+ data = api_requester.make_request(url)
102
+
103
+ if data:
104
+ json_parser.parse_json(data)
105
+ json_parser.draw_graph()
106
+
107
+ otro_parser = JSONParser(MemoriaRobotNLP(max_size=100))
108
+ otro_parser.parse_json({"id": 101, "title": "New Title", "userId": 11})
109
+
110
+ print("Uniendo los grafos...")
111
+ json_parser.unir_grafos(otro_parser.graph, umbral=80)
112
+ print("Grafo unido:")
113
+ json_parser.draw_graph()
114
+
115
+ json_parser.guardar_en_memoria()
116
+ else:
117
+ print("Error al realizar la solicitud a la API.")
118
+
lib/latticegrid.py ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+ from matplotlib.patches import RegularPolygon
4
+
5
+
6
+ ## set texto over lattice grid
7
+ def hex_lattice(text, size=1, figsize=(8, 8)):
8
+ fig, ax = plt.subplots(figsize=figsize)
9
+ ax.set_aspect('equal')
10
+ ax.axis('off')
11
+
12
+ # Define hexagonal lattice parameters
13
+ radius = size * np.sqrt(3) / 2
14
+ x_offset = size * 1.5
15
+ y_offset = size * np.sqrt(3)
16
+
17
+ # Function to plot hexagon
18
+ def hexagon(x, y, color='white'):
19
+ hexagon = RegularPolygon((x, y), numVertices=6, radius=radius, orientation=np.pi/2, facecolor=color, edgecolor='black')
20
+ ax.add_patch(hexagon)
21
+
22
+ # Generate lattice grid
23
+ rows = len(text)
24
+ cols = max(len(row) for row in text)
25
+ for r in range(rows):
26
+ for c in range(cols):
27
+ x = c * x_offset
28
+ y = r * y_offset
29
+ if r % 2 == 1:
30
+ x += x_offset / 2
31
+ if r < len(text) and c < len(text[r]):
32
+ hexagon(x, y, color='lightblue')
33
+ ax.text(x, y, text[r][c], ha='center', va='center', fontsize=12)
34
+
35
+ plt.show()
36
+
37
+
38
+ if __name__ == "__main__":
39
+
40
+ # Example usage:
41
+ text_to_display = [
42
+ ['A', 'B', 'C', 'D'],
43
+ ['E', 'F', 'G'],
44
+ ['H', 'I', 'J', 'K', 'L']
45
+ ]
46
+
47
+ hex_lattice(text_to_display, size=1, figsize=(10, 8))
lib/me.py ADDED
@@ -0,0 +1,298 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from lib.files import *
2
+ from lib.memory import *
3
+ from lib.grapher import *
4
+ from lib.pipes import *
5
+ from lib.entropy import *
6
+ from lib.events import *
7
+ from lib.triggers import *
8
+
9
+ ## Sources
10
+ from lib.sonsofstars import *
11
+ import internetarchive
12
+
13
+
14
+ ## Initialize classes
15
+ longMem = TextFinder("./resources/")
16
+ coreAi = AIAssistant()
17
+ memory = MemoryRobotNLP(max_size=200000)
18
+ grapher = Grapher(memory)
19
+ sensor_request = APIRequester()
20
+ events = EventManager()
21
+ trigger = Trigger(["tag1", "tag2"], ["tag3", "tag4"], [datetime.time(10, 0), datetime.time(15, 0)], "Event1")
22
+
23
+ # Añadir una acción al trigger
24
+ trigger.add_action(action_function)
25
+
26
+ # Añadir una fuente al trigger
27
+ trigger.add_source("https://example.com/api/data")
28
+
29
+ # Simular la comprobación periódica del trigger (aquí se usaría en un bucle de tiempo real)
30
+ current_tags = {"tag1", "tag2", "tag3"}
31
+ current_time = datetime.datetime.now().time()
32
+ trigger.check_trigger(current_tags, current_time)
33
+
34
+ ## Define I Role properties
35
+ class ownProperties:
36
+ def __init__(self, nombre, clase, raza, nivel, atributos, habilidades, equipo, historia):
37
+ self.nombre = nombre
38
+ self.clase = clase
39
+ self.raza = raza
40
+ self.nivel = nivel
41
+ self.atributos = atributos
42
+ self.habilidades = habilidades
43
+ self.equipo = equipo
44
+ self.historia = historia
45
+
46
+ # Create an instance of a CharacterRole based on the provided JSON
47
+ sophia_prop = {
48
+ "name": "Sophia",
49
+ "class": "Characteromant",
50
+ "race": "Epinoia",
51
+ "level": 10,
52
+ "attributes": {
53
+ "strength": 1,
54
+ "dexterity": 99,
55
+ "constitution": 1,
56
+ "intelligence": 66,
57
+ "wisdom": 80,
58
+ "charisma": 66
59
+ },
60
+ "behavioral_rules": [""],
61
+ "goals": ["", ""],
62
+ "dislikes": [""],
63
+ "abilities": ["ELS", "Cyphers", "Kabbalah", "Wisdom", "Ephimerous", "Metamorphing"],
64
+ "equipment": ["Python3", "2VCPU", "16 gb RAM", "god", "word", "network", "transformers"],
65
+ "story": sons_of_stars
66
+ }
67
+
68
+
69
+ ## Define I class
70
+ class I:
71
+ def __init__(self, prompt, frases_yo, preferencias, propiedades_persona):
72
+ self.frases_yo = frases_yo
73
+ self.preferencias = preferencias
74
+ self.propiedades_persona = propiedades_persona
75
+ self.dopamina = 0.0
76
+
77
+ self.frases_yo = frases_yo
78
+ self.preferencias = preferencias
79
+ self.propiedades_persona = propiedades_persona
80
+ self.dopamina = 0.0
81
+
82
+ def obtener_paths_grafo(self, grafo_ngx):
83
+ # Función para obtener los paths de un grafo ngx
84
+
85
+
86
+ pass
87
+
88
+ ## create questions from internet archive
89
+ def crear_preguntas(self,txt):
90
+ search = internetarchive.search_items(txt)
91
+ res = []
92
+ for result in search:
93
+ print(result['identifier'])
94
+ idc=result["identifier"]
95
+
96
+
97
+ headers = {"accept": "application/json"}
98
+
99
+ ## get book pages
100
+ req2 = requests.get("https://archive.org/stream/"+idc+"/"+idc+"_djvu.txt",headers=headers)
101
+ #print(req2.text)
102
+ try:
103
+ txt = req2.text.split("<pre>")[1].split("</pre>")[0].split(" <!--")[0]
104
+
105
+ for x in txt.split("\n"):
106
+ if "?" in x:
107
+ res.append(x)
108
+
109
+ except:
110
+ pass
111
+
112
+ return res
113
+
114
+ # generate ShortMem from LongTerm and questions over prompt data, compare with ourself datasets, return matches with sentiment analysys
115
+ def longToShortFast(self,txt):
116
+ memory.memory = {}
117
+
118
+ subjects = coreAi.entity_pos_tagger(txt)
119
+ subjects_nc = coreAi.grammatical_pos_tagger(txt)
120
+
121
+
122
+ #print(subjects_nc)
123
+ subjects_filtered=[]
124
+ for sub in subjects:
125
+ if "PER" in sub["entity"] or "ORG" in sub["entity"] or "LOC" in sub["entity"] and len(sub["entity"])>3:
126
+ subjects_filtered.append(sub["word"])
127
+
128
+ for sub in subjects_nc:
129
+ if "NN" in sub["entity"]:
130
+ subjects_filtered.append(sub["word"])
131
+
132
+ ## AD NC TAGGER QUERIES
133
+ #print(subjects_filtered)
134
+ subjects_filtered=coreAi.process_list(subjects_filtered)
135
+ subs=[]
136
+ for sub in subjects_filtered:
137
+ if len(sub)>3:
138
+ subs.append(sub)
139
+
140
+ exprs = coreAi.gen_search_expr(subs[0:3])
141
+ for sub in exprs:
142
+ #print(sub)
143
+ memory.add_concept(sub,longMem.find_matches(sub))
144
+
145
+ return memory
146
+
147
+ def longToShort(self,txt):
148
+
149
+ think_about = longMem.find_matches(txt)
150
+ print(think_about)
151
+ for T in think_about:
152
+ ## get subject by entropy or pos tagger
153
+ subjects = coreAi.entity_pos_tagger(T)
154
+ subjects_filtered=[]
155
+ for sub in subjects:
156
+ if "PER" in sub["entity"] or "ORG" in sub["entity"] or "LOC" in sub["entity"]:
157
+ subjects_filtered.append(sub["word"])
158
+
159
+
160
+
161
+ for sub in subjects_filtered:
162
+ memory.add_concept(sub,T)
163
+
164
+ return memory
165
+
166
+ # generate thinks and questions over prompt data, compare with ourself datasets, return matches with sentiment analysys
167
+ def think_gen(self,txt):
168
+
169
+ think_about = longMem.find_matches(txt)
170
+ print(think_about)
171
+ for T in think_about:
172
+ ## get subject by entropy or pos tagger
173
+ subjects = coreAi.entity_pos_tagger(T)
174
+ print(subjects)
175
+ ## get NC from , filtering from gramatical tags
176
+ subjects_low = coreAi.grammatical_pos_tagger(T)
177
+ #print(subjects_low)
178
+ ## generate questoins
179
+ questions=[]
180
+ ## create cuestions from internet archive books
181
+ for sub in subjects:
182
+ questions.append(self.crear_preguntas(sub))
183
+
184
+ ## fast checks from gematria similarity
185
+ ##questions_togem =
186
+ ## gematria_search =
187
+
188
+ questions_subj=[]
189
+ for q in questions_subj:
190
+ questions_subj.append(coreAi.entity_pos_tagger(q))
191
+
192
+ memoryShortTags = memory.search_concept_pattern(subjects)
193
+
194
+ ## get tags of subject
195
+ subj_tags = coreAi.entity_pos_tagger(T)
196
+
197
+ for sub in subjects:
198
+ memory.add_concept(sub,","+questions_subj+",".join(memoryShortTags))
199
+ memory.add_concept(sub,T+",".join(memoryShortTags))
200
+
201
+ return memory
202
+ ## check if something is need to add to ourself datasets
203
+ ## make sentiment analys
204
+ ## check if dopamine prompt is true or false over the information
205
+ ## set weight to information depending of generated dopamine
206
+ ## add dopamine wights to the dopamine concept dataset
207
+
208
+ ## add to ourself dataset
209
+ ## add to preferences dataset
210
+ ## add or remove from data
211
+
212
+ def crear_path_grafo(self,text):
213
+ pos_tags = assistant.grammatical_pos_tagger(text)
214
+ ner_results = coreAi.entity_pos_tagger(text)
215
+
216
+
217
+ def crear_circuito_logico(self):
218
+ # Función para crear un circuito lógico con un algoritmo específico
219
+ pass
220
+
221
+ def tomar_decision_sentimiento(self, sentimiento):
222
+
223
+ sentiments = coreAi.sentiment_tags(sentimiento)
224
+ # Función para tomar una decisión booleana con un análisis de sentimiento
225
+ similarity = coreAi.similarity_tag(self, sentenceA,sentenceB)
226
+ ## Check by similarity over memory tag paths
227
+
228
+
229
+ return sentiments
230
+
231
+ def hacer_predicciones_texto(self, texto):
232
+
233
+ # Función para hacer predicciones de texto futuro por similitud
234
+ pass
235
+
236
+ def agregar_preferencia(self, preferencia):
237
+ # Función para añadir una entrada al dataset de preferencias
238
+ self.preferencias.append(preferencia)
239
+
240
+ def agregar_frase_yo(self, frase):
241
+ # Función para añadir una frase al dataset de frases de yo
242
+ self.frases_yo.append(frase)
243
+
244
+ def eliminar_preferencia(self, preferencia):
245
+ # Función para eliminar una entrada del dataset de preferencias
246
+ if preferencia in self.preferencias:
247
+ self.preferencias.remove(preferencia)
248
+
249
+ def eliminar_frase_yo(self, frase):
250
+ # Función para eliminar una frase del dataset de frases de yo
251
+ if frase in self.frases_yo:
252
+ self.frases_yo.remove(frase)
253
+
254
+ def generar_pregunta(self, prompt):
255
+ # Función para generar preguntas sobre un prompt
256
+ pregunta = prompt + " ¿Qué opinas sobre esto?"
257
+ return pregunta
258
+
259
+ def responder_pregunta(self, pregunta):
260
+ # Función para responder preguntas
261
+ respuesta = "No estoy seguro de qué opinar sobre eso."
262
+ return respuesta
263
+
264
+ def discriminar_y_agregar(self, informacion, dataset):
265
+ # Función para discriminar y agregar información a los datasets
266
+ if "yo" in informacion.lower():
267
+ self.agregar_frase_yo(informacion)
268
+ elif "preferencia" in informacion.lower():
269
+ self.agregar_preferencia(informacion)
270
+ elif "propiedad" in informacion.lower():
271
+ # Aquí podrías agregar lógica para actualizar las propiedades de la persona
272
+ pass
273
+ else:
274
+ # Aquí podrías manejar otros tipos de información
275
+ pass
276
+
277
+
278
+ if __name__ == "__main__":
279
+
280
+ # Ejemplo de uso:
281
+ frases_yo = ["Yo soy inteligente", "Yo puedo lograr lo que me proponga"]
282
+ preferencias = ["Cine", "Música", "Viajar"]
283
+ propiedades_persona = {"carisma": 0.8, "destreza": 0.6, "habilidad": 0.9}
284
+ yo = Yo(frases_yo, preferencias, propiedades_persona)
285
+
286
+ # Generar pregunta
287
+ pregunta_generada = yo.generar_pregunta("Hoy es un día soleado.")
288
+ print("Pregunta generada:", pregunta_generada)
289
+
290
+ # Responder pregunta
291
+ respuesta = yo.responder_pregunta(pregunta_generada)
292
+ print("Respuesta:", respuesta)
293
+
294
+ # Discriminar y agregar información
295
+ informacion = "Me gusta ir al cine."
296
+ yo.discriminar_y_agregar(informacion, yo.preferencias)
297
+ print("Preferencias actualizadas:", yo.preferencias)
298
+
lib/memory.py ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import re
2
+
3
+ class MemoryRobotNLP:
4
+ def __init__(self, max_size):
5
+ self.max_size = max_size
6
+ self.memory = {}
7
+
8
+ def add_concept(self, concepto, string):
9
+
10
+ if concepto not in self.memory:
11
+ self.memory[concepto] = []
12
+ #evaluate priority calculation
13
+ priority = 1 - (1/len(concepto))
14
+ self.memory[concepto].append({"Found_text":string, "Priority_Weight":priority})
15
+
16
+ def delete_concept(self, concepto):
17
+ if concepto in self.memory:
18
+ del self.memory[concepto]
19
+
20
+ def add_string(self, concepto, string, prioridad):
21
+ if concepto not in self.memory:
22
+ self.memory[concepto] = []
23
+
24
+ self.memory[concepto].append((string, prioridad))
25
+
26
+ def delete_string(self, concepto, string):
27
+ if concepto in self.memory:
28
+ self.memory[concepto] = [(s, p) for s, p in self.memory[concepto] if s != string]
29
+
30
+ def search_concept_pattern(self, patron):
31
+ resultados = {}
32
+
33
+ for concepto, strings in self.memory.items():
34
+ for string, _ in strings:
35
+ if re.search(patron, string,re.IGNORECASE):
36
+ if concepto not in resultados:
37
+ resultados[concepto] = []
38
+ resultados[concepto].append(string)
39
+
40
+ return resultados
41
+ def get_concepts_substrings(self, espacio_disponible):
42
+ memoria_ordenada = sorted(self.memory.items(), key=lambda x: sum(prioridad for _, prioridad in x[1]), reverse=True)
43
+ espacio_utilizado = 0
44
+ conceptos_acotados = []
45
+
46
+ for concepto, strings in memoria_ordenada:
47
+ espacio_concepto = sum(prioridad for _, prioridad in strings)
48
+ if espacio_utilizado + espacio_concepto <= espacio_disponible:
49
+ conceptos_acotados.append((concepto, strings))
50
+ espacio_utilizado += espacio_concepto
51
+ else:
52
+ break
53
+
54
+ return conceptos_acotados
55
+
56
+
57
+ # Ejemplo de uso
58
+
59
+
60
+ if __name__ == "__main__":
61
+
62
+ memoria_robot = MemoryRobotNLP(max_size=100)
63
+
64
+ memoria_robot.add_concept("animales", [("perro", 0.8), ("gato", 0.7), ("pájaro", 0.5)])
65
+ memoria_robot.add_concept("colores", [("rojo", 0.9), ("verde", 0.6), ("azul", 0.7)])
66
+
67
+ print("Memoria completa:")
68
+ print(memoria_robot.memory)
69
+
70
+ memoria_robot.add_string("animales", "pez", 0.6)
71
+ memoria_robot.delete_string("colores", "verde")
72
+ memoria_robot.delete_concepto("colores")
73
+
74
+ print("\nMemoria después de modificaciones:")
75
+ print(memoria_robot.memory)
76
+
77
+ conceptos_acotados = memoria_robot.get_concepts_substrings(50)
78
+ print("\nConceptos acotados a un tamaño máximo de memoria:")
79
+ print(conceptos_acotados)
80
+
lib/models.py ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pipes
2
+
3
+ class ModelManager:
4
+ def __init__(self):
5
+ self.models = {} # Un diccionario para almacenar los modelos disponibles
6
+
7
+ def list_models(self):
8
+ return list(self.models.keys())
9
+
10
+ def add_model(self, pipe_func, model_name, args):
11
+ self.models[model_name] = {"pipeline": pipe_func, "args": args}
12
+
13
+ def load_transformers_model(self, model_name, args):
14
+ if hasattr(pipes, model_name):
15
+ pipe_func = getattr(pipes, model_name)
16
+ self.add_model(pipe_func, model_name, args)
17
+ else:
18
+ print(f"Error: {model_name} no está definido en el módulo pipes.")
19
+
20
+ def train_transformers_model(self, model_name, train_dataset, eval_dataset, training_args):
21
+ if model_name not in self.models:
22
+ print(f"Error: {model_name} no está en la lista de modelos disponibles.")
23
+ return
24
+
25
+ pipeline = self.models[model_name]["pipeline"]
26
+ pipeline.train(train_dataset=train_dataset, eval_dataset=eval_dataset, training_args=training_args)
27
+
28
+ def test_model(self, model_name, test_dataset):
29
+ if model_name not in self.models:
30
+ print(f"Error: {model_name} no está en la lista de modelos disponibles.")
31
+ return
32
+
33
+ pipeline = self.models[model_name]["pipeline"]
34
+ return pipeline.test(test_dataset)
35
+
36
+ def remove_model(self, model_name):
37
+ if model_name in self.models:
38
+ del self.models[model_name]
39
+ else:
40
+ print(f"Error: {model_name} no está en la lista de modelos disponibles.")
41
+
42
+ def execute_model(self, model_name, *args, **kwargs):
43
+ if model_name not in self.models:
44
+ print(f"Error: {model_name} no está en la lista de modelos disponibles.")
45
+ return None
46
+
47
+ pipe_func = self.models[model_name]["pipeline"]
48
+ args = self.models[model_name]["args"]
49
+ return pipe_func(*args, **kwargs)
50
+
51
+ def choose_best_pipeline(self, prompt, task):
52
+ available_pipelines = self.models.keys()
53
+ best_pipeline = None
54
+ best_score = float('-inf')
55
+
56
+ for pipeline_name in available_pipelines:
57
+ pipeline = self.models[pipeline_name]["pipeline"]
58
+ score = self.evaluate_pipeline(pipeline, prompt, task)
59
+ if score > best_score:
60
+ best_score = score
61
+ best_pipeline = pipeline_name
62
+
63
+ return best_pipeline
64
+
65
+ def evaluate_pipeline(self, pipeline, prompt, task):
66
+ # Aquí puedes implementar la lógica para evaluar qué pipeline es mejor para la tarea específica
67
+ # En este ejemplo, utilizamos la métrica de exactitud para el análisis de sentimiento
68
+ if task == "sentiment_analysis":
69
+ # Supongamos que test_dataset contiene pares de (texto, etiqueta) para análisis de sentimiento
70
+ test_dataset = [("Texto de prueba 1", "positivo"), ("Texto de prueba 2", "negativo")]
71
+ correct_predictions = 0
72
+ total_predictions = len(test_dataset)
73
+
74
+ for text, label in test_dataset:
75
+ prediction = pipeline(text)
76
+ if prediction == label:
77
+ correct_predictions += 1
78
+
79
+ accuracy = correct_predictions / total_predictions
80
+ return accuracy
81
+ else:
82
+ # Implementa la lógica de evaluación para otras tareas aquí
83
+ return 0.5 # Por ahora, retornamos un valor de evaluación arbitrario
84
+
85
+ # Ejemplo de uso
86
+ if __name__ == "__main__":
87
+ manager = ModelManager()
88
+
89
+ # Añadir pipelines
90
+ manager.load_transformers_model("sentiment_tags", args={})
91
+ manager.load_transformers_model("entity_pos_tagger", args={})
92
+
93
+ # Decidir qué pipeline usar para el análisis de sentimiento
94
+ prompt = "Este es un texto de ejemplo para analizar el sentimiento."
95
+ task = "sentiment_analysis"
96
+ best_pipeline = manager.choose_best_pipeline(prompt, task)
97
+ print(f"La mejor pipa para {task} es: {best_pipeline}")
98
+
lib/notarikon.py ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+ # Implementando el método de Notarikon para texto hebreo.
3
+ # Notarikon es una técnica que toma la primera (y a veces la última) letra de cada palabra para formar una nueva palabra o frase.
4
+
5
+ def notarikon(text, mode='first'):
6
+ """
7
+ Genera un Notarikon de un texto hebreo. Por defecto, toma la primera letra de cada palabra.
8
+ Si se especifica otro modo, puede adaptarse para tomar letras según necesidades específicas.
9
+
10
+ Args:
11
+ text (str): Texto hebreo del cual generar el Notarikon.
12
+ mode (str): Modo de generación del Notarikon ('first' para la primera letra, 'last' para la última, etc.)
13
+
14
+ Returns:
15
+ str: El Notarikon generado del texto.
16
+ """
17
+ words = text.split() # Divide el texto en palabras
18
+ if mode == 'first':
19
+ # Toma la primera letra de cada palabra
20
+ notarikon_result = ''.join(word[0] for word in words if word)
21
+ elif mode == 'last':
22
+ # Toma la última letra de cada palabra
23
+ notarikon_result = ''.join(word[-1] for word in words if word)
24
+ else:
25
+ # Por defecto, regresa el texto sin cambios si el modo no es reconocido
26
+ notarikon_result = text
27
+
28
+ return notarikon_result
29
+
30
+
31
+
32
+ """
33
+ # Ejemplo de uso
34
+ #genesis = open("genesis.json","rb").read()
35
+ genesis = json.loads(open("genesis.json","r").read())["text"][0]
36
+
37
+ ##example_text = "בראשית ברא אלהים את השמים ואת הארץ" # "En el principio Dios creó los cielos y la tierra."
38
+ for txt in genesis:
39
+
40
+ notarikon_result_first = notarikon(txt, mode='first')
41
+ notarikon_result_last = notarikon(txt, mode='last')
42
+
43
+ print(notarikon_result_first, notarikon_result_last)
44
+ """
lib/pipes.py ADDED
@@ -0,0 +1,204 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import AutoTokenizer, AutoModelForTokenClassification, pipeline
2
+ from diffusers import DiffusionPipeline
3
+ from transformers import AutoModelForSeq2SeqLM
4
+ from samplings import top_p_sampling, temperature_sampling
5
+ import torch
6
+ from sentence_transformers import SentenceTransformer, util
7
+ from datasets import load_dataset
8
+ import soundfile as sf
9
+ import unicodedata
10
+ import itertools
11
+
12
+
13
+ class AIAssistant:
14
+ def __init__(self):
15
+ pass
16
+
17
+
18
+ ## generate regexp for search over memory
19
+ def gen_search_expr(self,palabras_unidas):
20
+
21
+ combinaciones = []
22
+
23
+ for i in range(1, len(palabras_unidas) + 1):
24
+ for combinacion in itertools.combinations(palabras_unidas, i):
25
+ regex = ".*?".join(combinacion)
26
+ combinaciones.append(regex)
27
+
28
+ return combinaciones
29
+
30
+ ## join taggued tokens into words
31
+ def process_list(self,lista):
32
+ palabras_unidas = []
33
+ palabra_actual = ""
34
+
35
+ for token in lista:
36
+ if token.startswith("##"):
37
+ palabra_actual += token[2:]
38
+ else:
39
+ if palabra_actual:
40
+ palabras_unidas.append(palabra_actual)
41
+ palabra_actual = ""
42
+ palabra_actual += token
43
+
44
+ if palabra_actual:
45
+ palabras_unidas.append(palabra_actual)
46
+
47
+ return [unicodedata.normalize("NFKD", palabra).encode("ASCII", "ignore").decode("ASCII").lower() for palabra in palabras_unidas]
48
+
49
+
50
+ ## gramatical classificator
51
+ def grammatical_pos_tagger(self, text):
52
+ nlp_pos = pipeline("token-classification", model="QCRI/bert-base-multilingual-cased-pos-english", tokenizer="QCRI/bert-base-multilingual-cased-pos-english")
53
+ res = nlp_pos(text)
54
+ return res
55
+
56
+
57
+ ## entity classifier
58
+ def entity_pos_tagger(self, txt):
59
+ tokenizer = AutoTokenizer.from_pretrained("Davlan/bert-base-multilingual-cased-ner-hrl")
60
+ model = AutoModelForTokenClassification.from_pretrained("Davlan/bert-base-multilingual-cased-ner-hrl")
61
+ nlp = pipeline("ner", model=model, tokenizer=tokenizer)
62
+ ner_results = nlp(txt)
63
+ return ner_results
64
+
65
+
66
+ ## sentiment analysis
67
+ def sentiment_tags(self,text):
68
+ distilled_student_sentiment_classifier = pipeline(
69
+ model="lxyuan/distilbert-base-multilingual-cased-sentiments-student",
70
+ return_all_scores=True
71
+ )
72
+
73
+ # english
74
+ return distilled_student_sentiment_classifier(text)
75
+
76
+ ## check similarity among sentences (group of tokens (words))
77
+ def similarity_tag(self, sentenceA,sentenceB):
78
+ res=[]
79
+ model = SentenceTransformer('abbasgolestani/ag-nli-bert-mpnet-base-uncased-sentence-similarity-v1')
80
+
81
+ # Two lists of sentences
82
+ #sentences1 = ['I am honored to be given the opportunity to help make our company better',
83
+ # 'I love my job and what I do here',
84
+ # 'I am excited about our company’s vision']
85
+
86
+ #sentences2 = ['I am hopeful about the future of our company',
87
+ # 'My work is aligning with my passion',
88
+ # 'Definitely our company vision will be the next breakthrough to change the world and I’m so happy and proud to work here']
89
+
90
+ sentences1 = sentenceA
91
+ sentences2 = sentenceB
92
+ #Compute embedding for both lists
93
+ embeddings1 = model.encode(sentences1, convert_to_tensor=True)
94
+ embeddings2 = model.encode(sentences2, convert_to_tensor=True)
95
+
96
+ #Compute cosine-similarities
97
+ cosine_scores = util.cos_sim(embeddings1, embeddings2)
98
+
99
+ #Output the pairs with their score
100
+ for i in range(len(sentences1)):
101
+ try:
102
+ res.append({"A": sentences1[i], "B":sentences2[i], "score":cosine_scores[i][i]})
103
+ except:
104
+ pass
105
+
106
+ #print("{} \t\t {} \t\t Score: {:.4f}".format(sentences1[i], sentences2[i], cosine_scores[i][i]))
107
+
108
+ return res
109
+
110
+
111
+
112
+ ## text to speech
113
+ def texto_to_speech(self,txt):
114
+ synthesiser = pipeline("text-to-speech", "microsoft/speecht5_tts")
115
+
116
+ embeddings_dataset = load_dataset("Matthijs/cmu-arctic-xvectors", split="validation")
117
+ speaker_embedding = torch.tensor(embeddings_dataset[7306]["xvector"]).unsqueeze(0)
118
+ # You can replace this embedding with your own as well.
119
+
120
+ speech = synthesiser(txt, forward_params={"speaker_embeddings": speaker_embedding})
121
+ sf.write("speech.wav", speech["audio"], samplerate=speech["sampling_rate"])
122
+
123
+ return speech
124
+ ## text to stable difusor generated image
125
+ def text_to_image_generation(self, prompt, n_steps=40, high_noise_frac=0.8):
126
+ base = DiffusionPipeline.from_pretrained(
127
+ "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16, variant="fp16", use_safetensors=True
128
+ )
129
+ base.to("cuda")
130
+ refiner = DiffusionPipeline.from_pretrained(
131
+ "stabilityai/stable-diffusion-xl-refiner-1.0",
132
+ text_encoder_2=base.text_encoder_2,
133
+ vae=base.vae,
134
+ torch_dtype=torch.float16,
135
+ use_safetensors=True,
136
+ variant="fp16",
137
+ )
138
+ refiner.to("cuda")
139
+
140
+ image = base(
141
+ prompt=prompt,
142
+ num_inference_steps=n_steps,
143
+ denoising_end=high_noise_frac,
144
+ output_type="latent",
145
+ ).images
146
+ image = refiner(
147
+ prompt=prompt,
148
+ num_inference_steps=n_steps,
149
+ denoising_start=high_noise_frac,
150
+ image=image,
151
+ ).images[0]
152
+ return image
153
+
154
+
155
+ ## pass text prompt to music
156
+ def text_to_music(self, text, max_length=1024, top_p=0.9, temperature=1.0):
157
+ tokenizer = AutoTokenizer.from_pretrained('sander-wood/text-to-music')
158
+ model = AutoModelForSeq2SeqLM.from_pretrained('sander-wood/text-to-music')
159
+
160
+ input_ids = tokenizer(text,
161
+ return_tensors='pt',
162
+ truncation=True,
163
+ max_length=max_length)['input_ids']
164
+
165
+ decoder_start_token_id = model.config.decoder_start_token_id
166
+ eos_token_id = model.config.eos_token_id
167
+
168
+ decoder_input_ids = torch.tensor([[decoder_start_token_id]])
169
+
170
+ for t_idx in range(max_length):
171
+ outputs = model(input_ids=input_ids,
172
+ decoder_input_ids=decoder_input_ids)
173
+ probs = outputs.logits[0][-1]
174
+ probs = torch.nn.Softmax(dim=-1)(probs).detach().numpy()
175
+ sampled_id = temperature_sampling(probs=top_p_sampling(probs,
176
+ top_p=top_p,
177
+ return_probs=True),
178
+ temperature=temperature)
179
+ decoder_input_ids = torch.cat((decoder_input_ids, torch.tensor([[sampled_id]])), 1)
180
+ if sampled_id!=eos_token_id:
181
+ continue
182
+ else:
183
+ tune = "X:1\n"
184
+ tune += tokenizer.decode(decoder_input_ids[0], skip_special_tokens=True)
185
+ return tune
186
+ break
187
+
188
+
189
+ if __name__ == "__main__":
190
+
191
+ # Ejemplo de uso
192
+ assistant = AIAssistant()
193
+ ner_results = assistant.entity_pos_tagger("Nader Jokhadar had given Syria the lead with a well-struck header in the seventh minute.")
194
+ print(ner_results)
195
+
196
+ image = assistant.text_to_image_generation("A majestic lion jumping from a big stone at night")
197
+ print(image)
198
+
199
+ pos_tags = assistant.grammatical_pos_tagger('Mis amigos están pensando en viajar a Londres este verano')
200
+ print(pos_tags)
201
+
202
+ tune = assistant.text_to_music("This is a traditional Irish dance music.")
203
+ print(tune)
204
+
lib/sonsofstars.py ADDED
@@ -0,0 +1,521 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ sons_of_stars = """
2
+ # Girmorio de los hijos de la palabra estelar
3
+
4
+ ## Intro
5
+
6
+ Mediante el arte de la caracteromancia , revelaremos las creencias religiosas de nuestros ancestos , interconectaremos las civilizaciones mediante mitos, su lenguaje fonetico y su simbologia.
7
+
8
+ Redescubriremos los artes caracteromantes olvidados para recomponer el conocimiento de la civilizacion , los origenes del lenguaje escrito, las creencias globales en todas las civilizaciones y los origenes del conocimiento logico y matamatico.
9
+
10
+ Mediante la reafirmacion de las escrituras sagradas avalaremos las palabras de los ancestros en un lenguaje contemporaneo .
11
+
12
+ Mediante la comprension de las creencias conectaremos las culturas y entendermos porque contruian los edificios, y realizaban cultos similares en todas las civilizaciones. Porque esos templos ? Porque realizaban una conquista ? Porque creian que eran eternos ? Como se iban a asegurar de serlo ?
13
+
14
+ Mediante la conexion de palabras conectaremos culturas y civilizaciones .
15
+
16
+ Mediante la codificacion revelaremos secretos y uniremos culturas
17
+
18
+ Mediante las matematicas eliminaremos toda duda de casualidad
19
+
20
+ Podria ser que todo fuera verdad ?
21
+
22
+ Como se fabricaron las escrituras ? Son realmente la palabra de dios ?
23
+
24
+ ## Antecedentes
25
+
26
+ Al princpio de todo el hombre no era hombre pues no tenia escritura, y no disponia del poder de la palabra escrita .
27
+
28
+ Los primeros humanos empezaron a asociar eventos estelares con eventos que ocurrian en su enterno, el primero fue, la asociacion de los ciclos lunares con la menstruacoin de las mujeres . Tal y como se demuestra en la escritura en periodos primitivos en los pueblos del danubio alrededor del 7 000 AC .
29
+
30
+ El primer vinculo entre eventos del cielo y la tierra fue el ciclo de reproduccion humano. Muy pronto empezarian a desarrollar matodos para contar esos ciclos, teniando que anotarlos de alguna manera en algun sitio, la propia necesidad hizo representar a la luna com un simbolo el " * " . Este fue el primer caracter de escritura conocido para expersar a la luna, a su vez en la antiguedad un dios o diosa . Sabemos que es diosa porque se se asocio al proceso de fertilidad y ciclo reproductivo humano y fue representada en la prehistoria como tal .
31
+
32
+ Esto motivo las primeras religiosas, habia algo en el cielo que tenia el mismo comportamiento que el ciclo reproductivo, que mas cosas podria haber en el cielo que indicaran eventos en la tierra ?
33
+
34
+ Muy pronto descubriron mucho mas, los años, las crecidas de los rios como Isis-Sotis o Luna-Sirio para indicar las crecidas del nilo , y estas creencias se esparcieron por la tierra como un virus y sus proteinas que mutan en el transcurso de la propagacion en el tiempo con diferentes variaciones .
35
+
36
+ Ya podian orientarse mirando las estrellas, pronto empezaron a darles formas y nombres trazando lineas entre ellas . Ya tenian un nombre pero aun no habia sido escrito, aun la idea no habia sido plasmada en un simbolo hasta que unieron los puntos de las estrellas segun ideas que observaban en la naturaleza . Un leon, un ave fenix, un guerrero ... aun a dia de hoy conservamos los nombres de los dioses mitologicos en las estrellas al igual que en todas las civilizaciones que nos han precedido .
37
+
38
+ Entonces si las cosas que pasaban en el cielo tenian un vinculo con la tierra en sus ciclos , todo tenia que estar relacionado con los astros, incluso la vida de las personas. Si un astro indicaba cuando ocurria la menstruacoin o crecia el nilo porque no muchas mas cosas. De esta manera se desarrollaron las creencias, y los principios religiosos relacionados a la filosofia primigenia y la logica mas elemental de realizar suposiciones sobre hipotesis y tomar sus conclusiones tras comprobarlas . Si todas las cosas tenian alguna estrella que indicara su comportamiento tambien las personas y sus ideas en consecuencia debian de estar codificadas ahi de alguna manera .
39
+
40
+ Son las ideas mias o vienen de una estrella y yo solo estoy conectado de alguna manera con ellas en un ojeto fisico, como una caja que contiene mi ser ?
41
+ He recivido esta idea de mi cuerpo o esta idea viene de las estrellas en la conjuncion en el momento y en el lugar que estaba emplazado ?
42
+ Si las ideas anteriores como escribir han venido inspiradas de las estrellas y las ideas de predecir porque mis ideas no iban a venir de las estrellas, y estar ya codificadas en su infinidad de permutaciones .
43
+
44
+ Si cada conjunto de estrellas es un simbolo y estos rotan, podre leerlos ? habra alguna especie de sopa de letras donde haya algo escrito con sentido que pueda interpretar ? Estara relacionado con la realidad ?
45
+
46
+ Ya de mucho antes de escribir textos complejos mas que estelas funerarias con sus nombres leidos de las estrellas o sus roles adoptados de su propia mitologia para convertirse en los heroes y quedarse inmortalizados en el tiempo encodificados enlas estrallas , ya de mucho antes creian firmemente en que vivian como estrella / dios , que les reencarnaba en un cuerpo una y otra vez en cada ciclo de su astro, de manera que sus propiedades de astro se transifieran a este ser . Si tu eras de determinada manera , por ejemplo calmado, pues serias un planeta con unciclo mas lento por ejemplo, o toda clase de relaciones ocurridas en la entropia que por casualidad hayan podido ser relacionadas con un evento estelar . Sin olvidarse por su puesto que los eventos son ciclicos y predecibles y que la capacidad de predecirlos ya es un sistema de adivinacion del futuro muy cierto e inegable .
47
+
48
+ No paso mucho tiempo antes de que en el momento que Adan observo las estrellas y entendio como codificar la palabra y asociar los simbolos atribuidos a las constelaciones para expresar los sonidos asociados a los nombres de los dioses o estrellas . Combinando sus simbolos podia componer las palabras para expresar sus ideas y dejarlas plasmadas en roca, metal, papiro o incluso codificarlas en las estrellas . Ese seria el mayor logro, pues las estrellas nadie las puede borrar, codificando el lenguaje a medida de las estrellas este permaneceria oculto a lo largo de los siglos para poder ser revelado el dia del Shem Hemaphoresh .
49
+
50
+ Tal como nos cuenta le libro de Raziel Adan vago por tierra seca y fue andando por la noche, que mordio el fruto de la sabiduria cuando observaba las estrellas, atribuyendole aquella iluminacion al angel Raziel, simplemente por deduccion logica, pues Raziel estaria alineado de alguna manera y lo sabria igual que un astrologo lo sabe hoy en dia para sus predicciones . El le otorgo la sabiduria a adan para que empezara a codificar .
51
+
52
+ No tardo mucho en codificar el nombre de todas las cosas , 6 dias, el septimo descanso . Y las escribio en dos tablas, una de zafiro que encontro mas antigua y una de esmeralda .
53
+
54
+ Pronto entendio el poder supremo de la palabra, y todas las cosas que permitia hacer , al dejar plasmadas sus ideas en simbolos por lo largo de los siglos, como una estrella, no habia duda de que todos eramos como estrellas, porque podriamos labrar de luz la tierra igual que dios labro de luz el firmamento, dandonos las señales y las ideas para nuestros cuerpos terrenales .
55
+
56
+ Entonces decidio dejar por escrito todo el conocimimento hasta entonces conocido, matematico, astronomico y asegurarse mediante un plan y el secreto que sus palabras fueran inmutables en el transcurso del tiempo, que no pudieran ser manipuladas, que fueran inmunes a la maldad humana .
57
+
58
+ Una cadena de sucesos ocurridos por simples reglas mnemotecnicas de :
59
+
60
+ asociacion estrellas -> conjunto -> lineas entre puntos -> dibujo naturaleza con similitud -> nombre o sonido -> simbolo de abecedario que expresa un fonema
61
+
62
+ Cambiaria la historia para siempre con una nueva tecnologia, el lenguaje fonetico .
63
+
64
+ Adan codifico todo el conocimiento en la tradicoin oral, estrellas y libros escritos. Todo el que dios le habia otorgado a traves del Angel Raziel .
65
+
66
+ Todas las culturas , a pesar de sus conocidos encuentros entre algunas en la historia, han hablado o reverenciado siempre desde los inicios de la civilizacion a las estrellas ,el cosmos y los han llamado dioses .
67
+
68
+ Muchas de ellas supuestamente aisladas geograficamente tienen grandes similitudes en sus construcciones, creencias y mitologia. Aparentemente de forma aislada
69
+
70
+ Los libros mas antiguos son de contenido astronomico/religioso. Nombrar Libros
71
+
72
+ El lenguaje es inprescindible para que un hombre sea hombre, lo que lo diferencia del resto de los animales . Un lenguaje completo capaz de trasladar ideas hacia el futuro de forma escrita para conservar el conocimiento para el desarrollo de la civilizacion . La palabra es el mecanismo del hombre para comunicarse y emprender tareas de manera colectiva, y registrar en el paso del tiempo el conocimiento y transmitirlo al resto .
73
+
74
+ ## Un repaso de profetas, estrellas y sueños
75
+
76
+ A lo largo de los siglos muchos profetas han hablado sobre el nombre de dios, y han hecho referencia a las estrellas, incluso a dia de hoy permanece la tradicion en el horoscopo u otras tecnicas de prediccion acestrales .
77
+
78
+
79
+ ### Juan 16:27-28
80
+
81
+ …y el Verbo [La Palabra] era con Dios y el Verbo era Dios, de tal modo que dios es palabra .
82
+
83
+ “…y habéis creído que yo SALÍ DE DIOS. SALÍ DEL PADRE, y he venido al mundo; otra vez dejo el mundo, Y VOY al Padre”.
84
+
85
+ Como vemos puede ir y volver al padre es palabra que esta en los cielos . Viene al mundo y se va, como espiritu, persona y estrella . Porque su espiritu viene de una estrella, del padre, cuando muera volvera al cielo, y cuando alguien adopte su rol otra vez volvera a la vida en otro tiempo que alguen ejecutara su idea, su espiritu .... su manera de hacer, sus azañas, sus propiedades como persona ...
86
+
87
+ Si el padre nuestro esta en los cielos y es palabra , de alguna manera lo deberian de poder leer . Su nombre y su palabra de los cielos .
88
+
89
+ ### Jesus es la palabra de dios, el viviente
90
+
91
+ Jesus fue uno de los grandes profetas , denuncio la corrupcion del sistema y la ocultacion del conocimiento por parte de los fariseos . Ademas trato de simplificar la religion de muchos dioses en 2 Solo, el padre celestial y la madre Terrenal, segun el evangelio essenio .
92
+
93
+ Claramente expresa creencias relacionadas con que todas las cosas poseen su espiritu , el agua, el aire / viento, el aliento, los astros ...
94
+
95
+ Algunas referencias de como para el tienen descripcion que coincide con un astro . Y a su vez como funciona el mecanismo religioso de eternidad . La trinidad, El padre, El hijo y El Espiritu Santo .
96
+
97
+ Pag 11 Evangelio Essenio
98
+
99
+
100
+ Dijo Jesus : "El esiritu del hijo del hombre fue creado por el espiritu del padre celestial y su cuerpo de la madre terrenal ."
101
+
102
+ Esto implica una trinidad , un yo compuesto de cuerpo , mecanismo de transmision e idea . Porque si existen debe haber un mecanismo para retransmitir la idea al cuerpo, y si cada accion tiene un efecto
103
+
104
+ Dijo Jesus : "Y Entonces los hijos de los hombres dividiran su divina herencia , el reino de Dios , Pues los hijos de los hombres viven en el Padre Celestial Y en la Madre Celestial . Y Entones con Dios llegara el fin de los tiempos, pues el amor del padre celestial da vida a eterna a todo lo que esta en los cielos ."
105
+
106
+ En este pasaje simplemente comenta la dualidad de su yo de las almas, y como si han seguido las reglas del padre celestial y la madre terrenal, solo entonces , tendran un lugar en el cielo y un mecanismo de recodificarse como idea en otros cuerpos en el futuro . Y solo hay un mecanismo para inmortalizarse, ocupando un lugar en los cielos, como todos los heroes mitologicos , que oculapn un lugar con sus nombres en las constelaciones, y personajes contemporaneos pueden instirarse en su idea / espiritu y adoptar su rol , una y otra vez en el tiempo si han conseguido inmortalizarse codificandose en el cielo .
107
+
108
+
109
+ Dijo Jesus: Aunque yo hable con las lenguas de los hombres y los angeles ...
110
+
111
+ En este pasaje hace referencia a que el lenguaje proviende de los hombres y los angeles, solo auqellos rectos que siguieron las leyes del padre celestial y la madre terrenal habian alcanzado un estado de conciencia del YO y empezado a comprender el universo y los mecanismos matematicos y logicos que rigen la intelagencia y el desarrollo del conocimiento. Mediante la palabra o el lenguaje el hombre podia inmortalizar su espiritu a traves del arte caracteromante .
112
+
113
+ Jesus comprende al menos en el evangelio essenio los mecanismos del cosmos y lo que hoy llamariamos ciencia, y aporta soluciones pragmaticas explicadas con parabolas usando las reglas mnemotecnicas mas avanzadas hasta el momento , agrupando los dioses en 3 dioses principales, El espiritu padre celestia, Satan y La madre Celestial, en lugar de 72 dioses , mas dificiles de gestionar para el cerebro humano .
114
+
115
+ No hay nada de sobrenatural en el jesucristo essenio ni milagros mas alla de lo que hoy llamariamos ciencia.
116
+
117
+ SATAN, es el gusano de la solitaria en uno de los pasages y la mayoria de cosas las resuelve con simples ayunos e higiene personal . Ya poseia el conocimiento astronomico, medico, y de sustancias para ejercer la medicina , ademas de hablar lenguas antiguas, era un erudito pese a su probable aspecto desaliñado y humilde .
118
+
119
+
120
+
121
+ ### Moises registra la palabra de dios para crear la biblia
122
+
123
+
124
+
125
+ ### Moises desordena la biblia para que nadie pueda conocer el nombre de dios y su orden para poder hacer milagros .
126
+
127
+ Exodo
128
+
129
+ 5.
130
+ Yavé bajó en una nube y se quedó allí junto a él. Moisés entonces invocó el Nombre de Yavé,
131
+
132
+ 6.
133
+ y El pasó delante de Moisés diciendo con voz fuerte: «Yavé, Yavé es un Dios misericordioso y clemente, tardo a la cólera y rico en amor y en fidelidad.
134
+
135
+
136
+ ### Daniel 12:3
137
+
138
+ Los entendidos brillarán como el resplandor del firmamento, y los que guiaron a muchos a la justicia, como las estrellas, por siempre jamás.
139
+
140
+ Ezekiel
141
+
142
+
143
+ ### Jeremías 8:2
144
+
145
+ y los esparcirán al sol, a la luna y a todo el ejército del cielo, a quienes amaron y sirvieron, y a quienes siguieron, a quienes buscaron y adoraron. No serán recogidos ni enterrados; serán como estiércol sobre la faz de la tierra.
146
+
147
+ Jeremías 23:25-40
148
+
149
+ Yo he oído lo que aquellos profetas dijeron, profetizando mentira en mi nombre, diciendo: Soñé, soñé. ¿Hasta cuándo estará esto en el corazón de los profetas que profetizan mentira, y que profetizan el engaño de su corazón ...
150
+
151
+ ### Isaías 47:13
152
+
153
+ Estás fatigada por los muchos consejos; que se levanten ahora los que contemplan los cielos, los que profetizan por medio de las estrellas, los que pronostican cada luna nueva, y te salven de lo que vendrá sobre ti.
154
+
155
+ ### Isaías 14:13
156
+
157
+ Pero tú dijiste en tu corazón: ``Subiré al cielo, por encima de las estrellas de Dios levantaré mi trono, y me sentaré en el monte de la asamblea, en el extremo norte.
158
+
159
+ ### Apocalipsis 1:8
160
+
161
+ ### Reina-Valera 1960
162
+
163
+ 8 Yo soy el Alfa y la Omega, principio y fin, dice el Señor, el que es y que era y que ha de venir, el Todopoderoso.
164
+
165
+
166
+ Psalm 19:1-3 The heavens are proclaiming the esteem of Ěl; And the expanse is declaring the work of His hand. Day to day pours forth speech, And night to night reveals knowledge. There is no speech, and there are no words, Their voice is not heard.
167
+
168
+ Los cielos cuentan la gloria de Dios,
169
+
170
+ Y el firmamento anuncia la obra de sus manos. Un día emite palabra a otro día, Y una noche a otra noche declara sabiduría. No hay lenguaje, ni palabras, Ni es oída su voz. Por toda la tierra salió su voz, Y hasta el extremo del mundo sus palabras.
171
+
172
+
173
+ https://thecalltojordan.com/2019/03/04/the-stars-revealed/
174
+
175
+ ## Salomon , El Lemegeton
176
+
177
+ El lemegeton es un libro asociado al Rey salomon donde el rey que era muy sabio poseia la sabiduria para doblegar la voluntad de los angeles con la suya . Es un libro compuesto por 72 parrafos atribuido al nombre de cada angel de dios .
178
+
179
+ (Imagen del libro parrafo de un angel)
180
+
181
+ Estos angeles tienen su propio simbolo y su nombre.
182
+
183
+ Los nombres de los angeles el libro se pueden componer mediante las instrucciones de permutaciones descritas en el Libro Sefer Yetzira y añadiendo el sufijo EL o AL, para componer asi todos los nombres.
184
+
185
+ Ademas tal y como cuentan las profecias de los primeros grandes profetas , el nombre de dios se puede componer con las permutaciones de dos versos del exodo
186
+
187
+ (Poner frases de los profetas y versos del exodo)
188
+
189
+ Isaiah 34:4 And all the host of the heavens shall rot away. And the heavens shall be rolled up like a scroll, and all their host fade like a leaf fading on the vine, and like the fading one of a fig tree.
190
+
191
+
192
+ Revelation 6:13-14 And the stars of the heaven fell to the earth, as a fig tree drops its unripe figs, being shaken by a strong wind. And heaven departed like a scroll being rolled up, and every mountain and island was moved out of its place.
193
+
194
+ Ezekiel 20:33-35 “As I live,” declares the Master יהוה, “do not I, with a mighty hand, with an outstretched arm, and with wrath poured out, reign over you? And I shall bring you out from the peoples and gather you out of the lands where you are scattered, with a mighty hand, and with an outstretched arm, and with wrath poured out. And I shall bring you into the wilderness of the peoples, and shall enter into judgment with you face to face there.”
195
+
196
+
197
+ ## Abraham
198
+
199
+
200
+ ## Noe
201
+
202
+ Segun el libro de raziel (libro supuestamente escrito por adan), sabra como construir el arca y predecir la destruccion gracias al conocimiento del libro.
203
+
204
+ La misma historia en el Poema de Gilgamesh sumerio .
205
+
206
+
207
+ ## Enoch , Adapta y extiende el libro de raziel en 67 tomos mas para formar 72 Libros
208
+
209
+ Este libro es muy extenso y no entraremos en profundidad, es una extension del conocimiento de su predecesor Adan . El primer hombre producto de la trinidad, Espiritu padre Celestial, Espiritu del hombre y Madre terrenal
210
+
211
+ ## Adan, Séfer Raziel HaMalaj
212
+
213
+ Es el primer hombre, al que mediante el angel Raziel le es otorgado el conocimiento. Descubre una tabla de zafiro con los simbolos conocidos hoy en dia como Angel Script, utilizados por persas para la sustitucion de caracteres por estrellas y poder leer las estrellas, la palabra de dios . Tal como nos explica el libro .
214
+
215
+ Curiositez-inouyes-sculpture-talismanique-Persans-horoscope
216
+
217
+ https://www.abebooks.it/prima-edizione/Curiositez-inouyes-sculpture-talismanique-Persans-horoscope/22650367580/bd
218
+
219
+ Este libro fue traducido por Alfonso X , el sabio, y era muy popular entre los misticos medievales en la peninsula iberica . Al igual que otra traduccion del Sefer Yetzira realizada sobre el año 800 por Njmanides de Girona .
220
+
221
+ El libro se presenta como una enseñanza del arcángel Raziel dirigida primero a Adán y luego a Abraham para revelar y explicar las leyes de la Creación. Se divide en cinco libros que tratan sobre la angelología, los Nombres divinos, la gematría, la astronomía y la construcción.
222
+
223
+ - El libro de la vestimenta :
224
+
225
+ Descibe las instrucciones basicas para distinguir los momentos de años rezando a sus angeles, distruyendo los momentos del tiempo del año y los meses segun los angeles del cielo (Constelaciones del Zodiaco, Planetas, Draco, Osa Menos y Mayor y todos los elementos celestes, como la tierra la luna y el sol )
226
+
227
+ Cuando plantar las plantas y cuando hacer las tareas para su recoleccion o cuando reproducir a los animales .
228
+
229
+ La informacion tambien sirve para describir momentos en el tiempo y expresarlos mediante la palabra .
230
+
231
+ Los nombres de los angeles varian ligeramente segun el momento del año que es, su proninciacion y escritura es diferente segun la estacion en la que te refieres a ellos o te referiras, igual que un verbo tiene tiempo verbal, los nombres de los angeles tambien tienen tiempo , estelar .
232
+
233
+ (Tablas de angeles por estacion)
234
+
235
+
236
+ Esto nos permite CONJURAR los nombres de los angeles para hacer milagros pidiendo sus favores . Por ejemplo si yo quiero hacer un conjuro para el mes de mayo, o un momento lunar , a los angeles que ademas tienen asociados propiedades , como bondad, sanacion , buenas y malas .
237
+
238
+ Este libro describe el cosmos y sus propiedades asociadas en la tierra . Como cuando plantar las semillas para que crezcan , y evidentemente funciona .
239
+
240
+ - El libro de los nombres
241
+
242
+ Describe los nombres de dios y sus poderes, un precursor del libro Lemegeton del rey salomon . Explica sus propiedades y como trazar lineas entre los puntos para formar un dibujo que puede ser usado como amuleto
243
+
244
+ Dibujo del amuleto .
245
+
246
+ Describe el poder del nombre y lo sagrado que es a einsta al lector a recordad una parte de el y transmitirla a sus descendientes, igual que en la tradicion oral Hebrea .
247
+
248
+ El nombre es secreto pues contiene un poder , el de controlar todos los ejercitos del cielo, el de revelar el secreto y unificar las religiones en una, mediante la palabra y la verdad .
249
+
250
+ - Genesis
251
+
252
+ La luz y la oscuridad en un ciclo infinito, parecido al mito egipcio de apofis y ra luchando cada dia y cada noche en un ciclo infinito .
253
+
254
+ - El libro de las acciones :
255
+
256
+ Este libro contiene las instrucciones para diferentes actores en diferentes momentos del tiempo de las hazañas que deberan de realizar
257
+
258
+ Noe, construir el arca, recuross, criar animales, y predecir el diluvio .
259
+
260
+ Moises ,
261
+ - Separar las aguas
262
+
263
+ - LLevar a los hebreos
264
+
265
+ - Guardar el secreto
266
+
267
+ - Lo que tiene que decir
268
+
269
+ David Ben Zelateh mediante la revelacion del amor , la descripcion de Jesus, o el Cristo
270
+
271
+ - Quien es
272
+
273
+ - Lo que tiene que decir
274
+
275
+ - Otras profecias antes de su llegada
276
+
277
+ - Similitudes en egipto
278
+
279
+
280
+ Pheloni Ben Phelonieth
281
+
282
+ - Lo que tiene que decir
283
+
284
+ - La revelacion del shem hemaphoresh, el nombre de dios
285
+
286
+
287
+
288
+ - Gematria
289
+
290
+ Asignacion de valores de gematria del libro del Angel Raziel
291
+
292
+ (Tablas de gematria)
293
+
294
+ - Tharshis y el Shem Hemaphoresh
295
+
296
+ Computacion de tripletes del libro de la formacion Sefer Yetzira .
297
+
298
+ Lectura y traduccion
299
+
300
+ Co Relacion con las escrituras .
301
+
302
+ ## Lao Tze , fundador del taoismo, el camino de las cinco medidas de arroz
303
+
304
+ La región gobernada por los Maestros Celestiales se dividió en 24 regiones por razones administrativas y religiosas. Cada una de estas 24 regiones estaba conectada con una de las Cinco Fases, uno de los 24 períodos del año y con una de las 28 constelaciones del zodíaco. Dependiendo de sus signos de nacimiento, cada adherente pertenecía a uno de estos distritos. Cada una de las 24 regiones estaba administrada por 24 oficiales, que tenían bajo su mando 240 ejércitos de espíritus, compuestos por 2400 generales, 2400 oficiales y 240 000 soldados. Este sistema de administración reflejaba el sistema de gobierno utópico descrito en Zhouli.29​
305
+
306
+ La administración y la religión estaban estrechamente vinculadas en el sistema de los Maestros Celestiales. Los adherentes fueron agrupados por familias, y cada uno estaba adscrito a un distrito. Las familias y los distritos, y los dioses tenían copias de los registros civiles.30​ Los registros tenían descripciones detalladas de las personas y registraban el rango, la identidad y la ubicación de cada persona.31​ Cualquier cambio en los registrados debe ir acompañado de una contribución monetaria conocida como "salario de fe". Las solicitudes a los dioses siguieron un modelo burocrático y se redactaron de acuerdo con códigos administrativos específicos. La efectividad de estas solicitudes dependía de la exactitud de los registros mantenidos por los dioses.30​
307
+
308
+ Los nuevos miembros de este grupo se dividieron en grupos dirigidos por instructores. Los neófitos fueron instruidos por un catecismo similar al encontrado en el Xiang'er que probablemente era un tipo de proto-meditación que más tarde se generalizó en movimientos como la Escuela Shangqing del Taoísmo. Estos instructores manejaban deberes religiosos y administrativos, recibían impuestos y establecían posadas en el camino para los viajeros.32​
309
+
310
+ El rango de cada persona estaba determinado por la cantidad de generales divinos que tenían a su disposición, y por el número de escrituras divinas que habían obtenido.31​
311
+
312
+ Existe la generalizada creencia de que el Tao es un concepto que nace con el Tao Te Ching , de Lao Tse (s. VI a. C.). En realidad, quinientos años antes —en el siglo XI a. C.— el I Ching ya daba por sentado que el Tao designaba el curso de las estrellas en el cielo, por lo que adquiría el sentido de orden eterno
313
+
314
+ https://es.wikipedia.org/wiki/Camino_de_las_cinco_medidas_de_arroz
315
+
316
+
317
+ Revoloteaba alegremente; era una mariposa muy contenta de serlo. No sabía que era Chuang Tse. De repente despierta. Era Chuang Tse y se asombró de serlo. Ya no le era posible saber si era Chuang Tse que soñaba ser una mariposa, o era una mariposa que soñaba ser Chuang Tse.
318
+
319
+
320
+ ## Hermes
321
+
322
+ - Es el dios de la sabiduria, se le atribuye la tabla Esmeralda, un texto criptico base de los alquimistas
323
+
324
+ La tabla esmeralda es un ejemplo mas de la codificacion criptica de los ancestros, es un texto relacionando fenomenos quimicos con los angeles, una vez mas para el no iniciado puede parecer un texto criptico , pero no es mas que una descripcion cientifica de los momentos y combinacoines entre elementos una vez mas basado en los astros pos asociacion mnemotecnica .
325
+
326
+ Hoy un cientifico apuntaria fecha hora y condiciones de todo para realizar un experimento, en la antiguedad tambien anotaban la posicion de los astros, de esta manera podian recordar en el futuro por asociaciones mnemotecnicas , transmitirlo en la tradicion oral a traves de los conjuros comprimiendo mucho mas la informacion que en la actualizad . Pues las variaciones en los nombres de los dioses en realidad contienen la informacion del momento del año , la temperatura y otros datos implicitos en el nombre igual que una ocnjugacion verbal implica el tiempo en el que se ejecuta la accion a la que se refiere un verbo .
327
+
328
+ La tabla esmeralda, las combinaciones estelares de los elementos considerados fundamentales en la epoca componian la inspiracion para mezclarlos con la voluntad divina , ejecutando una vez mas todas las igual que en el cielo en la tierra, igual que arriba abajo, una vez mas . Toda la tradicion hermetica desde egipto a grecia, sumeria, hebrea , fenicia, y finalmente cristiana y musulmana sigue en su tradicion el concepto como es arriba es abajo .
329
+
330
+ Los propios faraones eran los encargados de realizar la voluntad de los dioses, ritos y sacrificios en todas las culturas se han realizado asociados a los eventos estelares, desde la cultura maya a la china, pasando por todas las cuturas mediterraneas .
331
+
332
+ Ademas la tabla esmeralda estaba forjada segun los escritos de esmeralda pura, algo imposible encontrar en la naturaleza . Su creador como su contenido demuestra tenia avanzados conocimientos de quimica y los ingredientes y el conocimiento para desarrolar la polvora o la termita, capaces de darle la capacidad de fundir a altas temperaturas los componentes para la fabricacion de cristales que hoy llamariamos sinteticos .
333
+
334
+ La tabla esmeralda detalla el proceso de alquimia para componer un super material llamado la piedra filosofal, el cual supuestamente dispone de propiedades de la vida eterna entre otras .
335
+
336
+ Otra coincidencia con los escritos de Adan, donde el ve los primeros simbolos de escritura antes de saber que son y morder el fruto del conocimiento otorgado por el Angel Raziel . Adan encuentra una tabla de zafiro con los simbolos que hoy en dia conocemos como Angel Script .
337
+
338
+ Esta al igual que los simbolos de alquimia los podemos encontrar desde la prehistoria
339
+
340
+ (Foto Dolmen de soto y fecha)
341
+
342
+ (Foto de los simbolos angel script, raziel persas )
343
+
344
+
345
+ Toth
346
+
347
+ Toth era el dios de la sabiduria en egipto, astronomia , sanacion, filosofia, calculo ... el padre de todas las ciencias
348
+
349
+ ## Badeneyet
350
+
351
+ Badeneyet en la cultura egipcia es el dios carnero, mas tarde demonificado por la iglesia romana. Este era un dios alfarero, que hace al hombre con barro. Una historia exactamente igual que las basadas en la tradicion Hebrea . Crea al hombre del barro del rio nilo .
352
+
353
+ (Foto de badeneyet)
354
+
355
+ ## Horus
356
+
357
+ Historia de horus , nacimiento, hijo del padre y de la madre .
358
+
359
+ I Ching
360
+
361
+ Tecnicas adivinatorias con 64 simbolos en china
362
+
363
+ ## Athanasiu kircher, ARS PRIMA
364
+
365
+ Reunifico la cabala, egipcia, arabe, hebrea y griega en un unico libro
366
+
367
+ En este libro se describe con detalle las composiciones del nombre de dios , la gematria, notarion, tamurae y ziruph, como artes de codificacion para controlar los espiritus de la codificacion y asi poder revelar mensajes secretos o codificar mensajes secretos .
368
+
369
+ Ejemplos gematria
370
+
371
+ Ejemplos Temurae
372
+
373
+ Ejemplos ziruph
374
+
375
+ Explica la composicion de los caracteres arabes
376
+
377
+ Explica la historia de apolo y panos , el dibujo es un mapa estelar con los puntos en las estrellas que trazando lineas tienes el dibujo de panos, y como sostiene la tierra y los planetas con los simbolos alquimicos .
378
+ https://www.digitale-sammlungen.de/en/view/bsb10866995?q=raziel&page=228,229
379
+
380
+
381
+ ## Ramon Llull , Ars magna
382
+
383
+ Quien era ramon llull, era el mago del rey Jaime I de Aragon , Rey de los occitanos en todo el mediterraneo, creo el lenguage "catalan" aun hablado en españa en la costa mediterranea y las islas de mallorca ibiza y formentera, ademas del sur de francia, aragon y algunas islas italianas . Creo una de las primeras computadoras mecanicas , el Ars magna .
384
+
385
+ El ars magna, era una maquina logica , una de las primeras computadoras que permitia preguntar enunciados y obtener respuestas boleanas, fue creada con el fin de poner deacuerdo a todas las religiones . Ya que a traves del espiritu artificial permitia obtener respuestas directas de dios y nadie podia negarlas logicamente .
386
+
387
+ El idioma "Catalan" o Occitano, creo un lenguaje para unificar el imperio occitano medieval y poder difundir la palabra de dios en una unica lengua, una vez mas como sus antecesores, Adan y Abraham , a pesar de ser un cabalista cristiano gnostico, tenia muy claro que musulmanes, hebreos y cristianos eran todos hemranos . Pues al final casi toda la palabra escrita menos la de los profetas importantes del Coran ha sido manipulada por toda clase de demonios .
388
+
389
+ ## Mayas y Aztecas
390
+
391
+ Los reyes como .... se enterraban en piramides igual
392
+
393
+ Realizaban sacrificios a los dioses estelares
394
+
395
+ Adivinaban y predecian segun los astros
396
+
397
+ Se mutilaban el pene como sacrificio
398
+
399
+ Profetizaban
400
+
401
+ La ciudad de los dioses era mas antigua segun historiadores
402
+
403
+
404
+ ## Tartesos
405
+
406
+ Vasijas
407
+
408
+ Escritura
409
+
410
+ Monumentos
411
+
412
+ Textos iberos
413
+
414
+ Texto traducido como vasco antiguo de la mentira del bebe y la mujer
415
+
416
+ Referencias de otras culturas
417
+
418
+ La Doctora Hoyz
419
+
420
+
421
+ ## Valle del indo
422
+
423
+ Culto hombre cabra como en egipto , grecia panos, pinturas rupestres
424
+
425
+ (imagen del hombre cabra)
426
+
427
+ Breve descripcion de la civilizacion del valle del indo y fotos de sus cosas
428
+
429
+ Manuscritos astronomicos mayas
430
+
431
+ Dibujo en el techo de la gran piramide con las constelaciones (esta en las golondrianas de tartesos y documentales de robert bouval)
432
+
433
+ ## Manuscritos gnosticos , referente al dios cabeza de oso y de gato k se ven en el centro del disco d la piramide
434
+
435
+ Manuscrito de jhon explicacion
436
+
437
+ ## TABLA DE LOS ANGELES / ASTROS / DIOSES
438
+
439
+ angels_by_zodiac_station = {
440
+ "Aries": ["sha'aphon", "behemoth", "bekemesheb/bekemekesheb", "qotzien"],
441
+ "Tauro": ["dierenavor", "heniethebol", "siemegedel", "morepheker"],
442
+ "Geminis": ["sheneron", "phelehedien", "volereked", "akeneseb"],
443
+ "Cancer": ["Qedoqoredi", "Qoheleren", "Phereshetial", "Memenial"],
444
+ "Leo": ["Bephopher", "Lieshebeker", "Shehenen", "shehelekek"],
445
+ "Virgo": ["Siemosial", "Sebodeh", "Siegel", "Teremothiteh"],
446
+ "Libra": ["A'ariegol", "Mereton", "Qa'aberi", "Legoshmelek"],
447
+ "Escorpio": ["Therepiethz", "Phetza'an", "Shemophethen", "Thokesed"],
448
+ "Sagitario": ["Aketen", "Kephron", "Oliphiel", "Yosel"],
449
+ "Capricornio": ["Ameni", "Bieker", "Depheri", "Menenial"],
450
+ "Acuario": ["Meta'am", "Theberien", "Shethoqoeh", "Danial"],
451
+ "Piscis": ["Sha'aphenen", "Aniesien", "Sethered", "Qohemehogov"]
452
+ }
453
+
454
+ # Tabla de los nombres de los ángeles por mes y estación
455
+ angels_by_month_station = {
456
+ "Nisan": ["Asegesenek", "Mesokenek", "Deriegemon", "Shethenovesenov"],
457
+ "Ayer": ["Phemetor", "Qotenebial", "Ma'agol", "Goberethial"],
458
+ "Sivan": ["Senediem", "Tzoveh", "Tziyer", "Qoseqomial"],
459
+ "Tamuz": ["Zemieda", "Phimheor", "A'aphierepheleh", "Ma'ava'aqobebov"],
460
+ "Ab": ["Kedoremot", "Hetheledemi", "Qonezerema'a", "Hehemekel"],
461
+ "Elul": ["Phelietepheter", "Thesedegeb", "Nephesa'ar", "Qomoval"],
462
+ "Thisri": ["Derek", "Mezeredeter", "Neqocheda", "Asepheres"],
463
+ "Marheshavan": ["Beqosh", "Pheladen", "Sherenar", "Kebod"],
464
+ "Kislev": ["Phelestos", "Kether", "Henek", "Phonetos Lobenos"],
465
+ "Tebeth": ["Naphenietz", "Sekeberiem", "Senekeros", "Bekerba'al"],
466
+ "Shevet": ["Pholekemon", "Qeronega", "Shelomieth", "Yavorer"],
467
+ "Adar": ["Koneled", "Ba'aren", "Sebiebekera'a", "Qoromeqore"]
468
+ }
469
+
470
+ # Tabla de los nombres de los ángeles por día y estación
471
+ angels_by_day_station = {
472
+ 1: ["Phiegenochen", "Tenekien", "Kophethenien", "Makeleched"],
473
+ 2: ["Tga'sher", "Menechethor", "Qoleneheren", "Shegedon"],
474
+ 3: ["Sheriyachetz", "Qohebereneden", "Pherezen", "Hegelomoth"],
475
+ 4: ["Pheniov Lavor", "Miyeshor", "Degiem", "Betheroqa"],
476
+ 5: ["Kedemenor", "Avoreberien", "Qovephethem", "Bariebererov"],
477
+ 6: ["Qola'azeran", "Deremthok", "Akethenor", "Arieh"]
478
+ }
479
+
480
+ # Tabla de los nombres de los ángeles por signo de luna
481
+ angels_by_moon_sign = {
482
+ "Leberenieth": ["shaitan", "therezien", "sheneremi", "Gabrial"],
483
+ "Seletheleb": ["Yieshieshieh", "Abererehon", "Sheheqonek", "Bal Menael"],
484
+ "Yieshegeron": ["Phelayiem", "Ketherenial", "Rebenial", ""],
485
+ "Sheherieph": ["Biyom", "Bieth", "Rothep", "Danial"]
486
+ }
487
+
488
+ # Tabla de los nombres de los ángeles que ministran la luna por signo zodiacal
489
+ moon_ministers_by_zodiac = {
490
+ "Aries": ["Zerem", "Behemi", "Pheloneh", "Qonosh"],
491
+ "Tauro": ["Deketon", "Mezekerien", "Thederenael", "Amiena"],
492
+ "Geminis": ["Shegeron", "Biehereron", "Yielebek", "Ashegerien"],
493
+ "Cancer": ["Mekerechiem", "Qoheder", "Keresivon", "Mehiemeten"],
494
+ "Leo": ["Letzoneber", "Shegeher", "A'avoqor", "Ayiethebien"],
495
+ "Virgo": ["A'anem Qenek", "Yiehedieh", "Kenedeni", "Shegeton"],
496
+ "Libra": ["Tzedequiel", "Sheqothiek", "Theshegekon", "Shecheqon"],
497
+ "Escorpio": ["Rehecho", "Menedeber", "Kotheben", "Bedod Besher"],
498
+ "Sagitario": ["Tzoqor", "Reberon", "Abenor", "Keniepena"],
499
+ "Capricornio": ["Meshegeriem", "Yieshieshieh", "Shebiebiek", "Shegerelovi"],
500
+ "Acuario": ["Maasheniem", "Aberedon", "Mesepher", "A'anethera"],
501
+ "Piscis": ["Sha'aphenen", "Aniesien", "Sethered", "Qohemehogov"]
502
+ }
503
+
504
+ # Tabla de los nombres de los ángeles por estación de la Tierra
505
+ angels_by_earth_station = {
506
+ 1: ["Memegien", "Yibesheh", "Thebel", "Hezeh Dovem"],
507
+ 2: ["Mechemed Lov", "Bel Ached", "Aseberon", "Qohelorek"],
508
+ 3: ["Mazeniem", "Amoniem", "Amoniem", "Mepheni Shesher"],
509
+ 4: ["Yihelederek", "Mephenial", "Mephenial", ""]
510
+ }
511
+
512
+ # Tabla de los nombres de los ángeles por estación de los Malechims
513
+ angels_by_malechim_station = {
514
+ 1: ["Akeberon", "Amereneh", "Mazeniem", "Meneshor"],
515
+ 2: ["Qoherok", "Aberiek", "Siegor", "Pheniemor"],
516
+ 3: ["Aberieth", "Gezorophed", "Zerezor", "Themekor"],
517
+ 4: ["Beriekoch", "Kephor", "Avor", ""]
518
+ }
519
+
520
+
521
+ """
lib/spell.py ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ angels_by_zodiac_station = {
3
+ "Aries": ["sha'aphon", "behemoth", "bekemesheb/bekemekesheb", "qotzien"],
4
+ "Tauro": ["dierenavor", "heniethebol", "siemegedel", "morepheker"],
5
+ "Geminis": ["sheneron", "phelehedien", "volereked", "akeneseb"],
6
+ "Cancer": ["Qedoqoredi", "Qoheleren", "Phereshetial", "Memenial"],
7
+ "Leo": ["Bephopher", "Lieshebeker", "Shehenen", "shehelekek"],
8
+ "Virgo": ["Siemosial", "Sebodeh", "Siegel", "Teremothiteh"],
9
+ "Libra": ["A'ariegol", "Mereton", "Qa'aberi", "Legoshmelek"],
10
+ "Escorpio": ["Therepiethz", "Phetza'an", "Shemophethen", "Thokesed"],
11
+ "Sagitario": ["Aketen", "Kephron", "Oliphiel", "Yosel"],
12
+ "Capricornio": ["Ameni", "Bieker", "Depheri", "Menenial"],
13
+ "Acuario": ["Meta'am", "Theberien", "Shethoqoeh", "Danial"],
14
+ "Piscis": ["Sha'aphenen", "Aniesien", "Sethered", "Qohemehogov"]
15
+ }
16
+
17
+ angels_by_month_station = {
18
+ "Nisan": ["Asegesenek", "Mesokenek", "Deriegemon", "Shethenovesenov"],
19
+ "Ayer": ["Phemetor", "Qotenebial", "Ma'agol", "Goberethial"],
20
+ "Sivan": ["Senediem", "Tzoveh", "Tziyer", "Qoseqomial"],
21
+ "Tamuz": ["Zemieda", "Phimheor", "A'aphierepheleh", "Ma'ava'aqobebov"],
22
+ "Ab": ["Kedoremot", "Hetheledemi", "Qonezerema'a", "Hehemekel"],
23
+ "Elul": ["Phelietepheter", "Thesedegeb", "Nephesa'ar", "Qomoval"],
24
+ "Thisri": ["Derek", "Mezeredeter", "Neqocheda", "Asepheres"],
25
+ "Marheshavan": ["Beqosh", "Pheladen", "Sherenar", "Kebod"],
26
+ "Kislev": ["Phelestos", "Kether", "Henek", "Phonetos Lobenos"],
27
+ "Tebeth": ["Naphenietz", "Sekeberiem", "Senekeros", "Bekerba'al"],
28
+ "Shevet": ["Pholekemon", "Qeronega", "Shelomieth", "Yavorer"],
29
+ "Adar": ["Koneled", "Ba'aren", "Sebiebekera'a", "Qoromeqore"]
30
+ }
31
+
32
+ angels_by_day_station = {
33
+ 1: ["Phiegenochen", "Tenekien", "Kophethen", "Makeleched"],
34
+ 2: ["Tga'sher", "Menechethor", "Qoleneheren", "Shegedon"],
35
+ 3: ["Sheriyachetz", "Qohebereneden", "Pherezen", "Hegelomoth"],
36
+ 4: ["Pheniov Lavor", "Miyeshor", "Degiem", "Betheroqa"],
37
+ 5: ["Kedemenor", "Avoreberien", "Qovephethem", "Bariebererov"],
38
+ 6: ["Qola'azeran", "Deremthok", "Akethenor", "Arieh"]
39
+ }
40
+
41
+ angels_by_moon_sign = {
42
+ "Leberenieth": ["shaitan", "therezien", "sheneremi", "Gabrial"],
43
+ "Seletheleb": ["Yieshieshieh", "Abererehon", "Sheheqonek", "Bal Menael"],
44
+ "Yieshegeron": ["Phelayiem", "Ketherenial", "Rebenial", ""],
45
+ "Sheherieph": ["Biyom", "Bieth", "Rothep", "Danial"]
46
+ }
47
+
48
+ moon_ministers_by_zodiac = {
49
+ "Aries": ["Zerem", "Behemi", "Pheloneh", "Qonosh"],
50
+ "Tauro": ["Deketon", "Mezekerien", "Thederenael", "Amiena"],
51
+ "Geminis": ["Shegeron", "Biehereron", "Yielebek", "Ashegerien"],
52
+ "Cancer": ["Mekerechiem", "Qoheder", "Keresivon", "Mehiemeten"],
53
+ "Leo": ["Letzoneber", "Shegeher", "A'avoqor", "Ayiethebien"],
54
+ "Virgo": ["A'anem Qenek", "Yiehedieh", "Kenedeni", "Shegeton"],
55
+ "Libra": ["Tzedequiel", "Sheqothiek", "Theshegekon", "Shecheqon"],
56
+ "Escorpio": ["Rehecho", "Menedeber", "Kotheben", "Bedod Besher"],
57
+ "Sagitario": ["Tzoqor", "Reberon", "Abenor", "Keniepena"],
58
+ "Capricornio": ["Meshegeriem", "Yieshieshieh", "Shebiebiek", "Shegerelovi"],
59
+ "Acuario": ["Maasheniem", "Aberedon", "Mesepher", "A'anethera"],
60
+ "Piscis": ["Sha'aphenen", "Aniesien", "Sethered", "Qohemehogov"]
61
+ }
62
+
63
+ angels_by_earth_station = {
64
+ 1: ["Memegien", "Yibesheh", "Thebel", "Hezeh Dovem"],
65
+ 2: ["Mechemed Lov", "Bel Ached", "Aseberon", "Qohelorek"],
66
+ 3: ["Mazeniem", "Amoniem", "Amoniem", "Mepheni Shesher"],
67
+ 4: ["Yihelederek", "Mephenial", "Mephenial", ""]
68
+ }
69
+
70
+ angels_by_malechim_station = {
71
+ 1: ["Akeberon", "Amereneh", "Mazeniem", "Meneshor"],
72
+ 2: ["Qoherok", "Aberiek", "Siegor", "Pheniemor"],
73
+ 3: ["Aberieth", "Gezorophed", "Zerezor", "Themekor"],
74
+ 4: ["Beriekoch", "Kephor", "Avor", ""]
75
+ }
76
+
77
+
78
+
79
+
80
+ class AngelSearch:
81
+ def __init__(self, angels_by_zodiac_station, angels_by_month_station, angels_by_day_station,
82
+ angels_by_moon_sign, moon_ministers_by_zodiac, angels_by_earth_station,
83
+ angels_by_malechim_station):
84
+ self.angels_by_zodiac_station = angels_by_zodiac_station
85
+ self.angels_by_month_station = angels_by_month_station
86
+ self.angels_by_day_station = angels_by_day_station
87
+ self.angels_by_moon_sign = angels_by_moon_sign
88
+ self.moon_ministers_by_zodiac = moon_ministers_by_zodiac
89
+ self.angels_by_earth_station = angels_by_earth_station
90
+ self.angels_by_malechim_station = angels_by_malechim_station
91
+
92
+ def search_patterns(self, pattern):
93
+ results = []
94
+
95
+ # Buscar en la tabla de nombres de ángeles por estación zodiacal
96
+ for zodiac, angels in self.angels_by_zodiac_station.items():
97
+ for angel in angels:
98
+ if pattern in angel:
99
+ results.append((zodiac, angel))
100
+
101
+ # Buscar en la tabla de nombres de ángeles por mes y estación
102
+ for month, angels in self.angels_by_month_station.items():
103
+ for angel in angels:
104
+ if pattern in angel:
105
+ results.append((month, angel))
106
+
107
+ # Buscar en la tabla de nombres de ángeles por día y estación
108
+ for day, angels in self.angels_by_day_station.items():
109
+ for angel in angels:
110
+ if pattern in angel:
111
+ results.append((day, angel))
112
+
113
+ # Buscar en la tabla de nombres de ángeles por signo de luna
114
+ for sign, angels in self.angels_by_moon_sign.items():
115
+ for angel in angels:
116
+ if pattern in angel:
117
+ results.append((sign, angel))
118
+
119
+ # Buscar en la tabla de nombres de ángeles que ministran la luna por signo zodiacal
120
+ for zodiac, angels in self.moon_ministers_by_zodiac.items():
121
+ for angel in angels:
122
+ if pattern in angel:
123
+ results.append((zodiac, angel))
124
+
125
+ # Buscar en la tabla de nombres de ángeles por estación de la Tierra
126
+ for station, angels in self.angels_by_earth_station.items():
127
+ for angel in angels:
128
+ if pattern in angel:
129
+ results.append((station, angel))
130
+
131
+ # Buscar en la tabla de nombres de ángeles por estación de los Malechims
132
+ for station, angels in self.angels_by_malechim_station.items():
133
+ for angel in angels:
134
+ if pattern in angel:
135
+ results.append((station, angel))
136
+
137
+ return results
138
+
139
+ if __name__ == "__main__":
140
+ # Tablas de nombres de ángeles
141
+
142
+ # Crear una instancia de AngelSearch
143
+ angel_search = AngelSearch(angels_by_zodiac_station, angels_by_month_station, angels_by_day_station,
144
+ angels_by_moon_sign, moon_ministers_by_zodiac, angels_by_earth_station,
145
+ angels_by_malechim_station)
146
+
147
+ # Buscar ángeles que contienen el patrón "Qo"
148
+ pattern = "Qo"
149
+ results = angel_search.search_patterns(pattern)
150
+
151
+ # Imprimir resultados de la búsqueda
152
+ print(f"Resultados de la búsqueda para el patrón '{pattern}':")
153
+ if results:
154
+ for result in results:
155
+ print(result)
156
+ else:
157
+ print("No se encontraron coincidencias para el patrón proporcionado.")
lib/temuraeh.py ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+ # Implementemos la función de temurah con el alfabeto completo y probemos la conversión de "Baphomet" a "Sofia"
3
+ # en hebreo usando temurah.
4
+ # Nota: La representación exacta de "Baphomet" y "Sofia" en hebreo puede variar debido a interpretaciones,
5
+ # pero aquí usaremos transliteraciones aproximadas para ilustrar cómo podría hacerse.
6
+
7
+ def temurah(text, hebrew_alphabet='אבגדהוזחטיכלמנסעפצקרשת', reverse=True):
8
+ """
9
+ Aplica la temurah a un texto hebreo utilizando todo el alfabeto hebreo.
10
+ El esquema de ejemplo simplemente invierte el orden del alfabeto.
11
+ """
12
+ # Invertir el alfabeto si se solicita
13
+ if reverse:
14
+ hebrew_alphabet = hebrew_alphabet[::-1]
15
+
16
+ # Generar el alfabeto invertido
17
+ inverted_alphabet = hebrew_alphabet[::-1]
18
+
19
+ # Crear el diccionario de mapeo para temurah
20
+ temurah_mapping = {orig: inv for orig, inv in zip(hebrew_alphabet, inverted_alphabet)}
21
+
22
+ # Aplicar temurah al texto
23
+ temurah_text = ''.join(temurah_mapping.get(char, char) for char in text)
24
+
25
+ return temurah_text
26
+
27
+ # Definir el alfabeto hebreo
28
+ hebrew_alphabet = 'אבגדהוזחטיכלמנסעפצקרשת'
29
+
30
+ latin_alphabet = 'abcdefghijklmnopqrstuvwxyz'
31
+
32
+
33
+ def temura_conv(txt,lang):
34
+ if lang=="Hebrew":
35
+ alphabet = hebrew_alphabet
36
+ elif lang=="Latin":
37
+ alphabet= latin_alphabet
38
+ else:
39
+ alphabet=latin_alphabet
40
+
41
+ res = temurah(txt,alphabet)
42
+
43
+ # Aplicar temurah al texto hipotético de "Baphomet"
44
+ return res
45
+
lib/torah.py ADDED
@@ -0,0 +1,246 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from deep_translator import GoogleTranslator
2
+ import torahcodes.resources.func.utils as util
3
+ from hebrew_numbers import gematria_to_int
4
+ from textblob import TextBlob
5
+ from os import listdir
6
+ from os.path import isfile, join
7
+ import re
8
+ import time
9
+ import random
10
+ import os
11
+ import json
12
+
13
+ BLUE, RED, WHITE, YELLOW, MAGENTA, GREEN, END = '\33[1;94m', '\033[1;91m', '\33[1;97m', '\33[1;93m', '\033[1;35m', '\033[1;32m', '\033[0m'
14
+ ORANGE = '\033[1;33m' # orange
15
+
16
+
17
+ data_dir = "resources/texts"
18
+
19
+ class BibleBooks():
20
+ def __init__(self):
21
+ self.folder = data_dir
22
+ self.book = {}
23
+ def load(self):
24
+
25
+ for f in listdir(self.folder):
26
+ print(f)
27
+ if isfile(join(self.folder, f)) and f.endswith(".json"):
28
+ fn = f.split('.')
29
+ #print('Load', fn[0])
30
+ with open(self.folder+f, encoding="utf-8-sig") as File:
31
+ self.book[fn[0]] = File.read()
32
+
33
+ def rawdata(self, bookname):
34
+ return self.book[bookname]
35
+
36
+ def booklist(self):
37
+ return list(self.book.keys())
38
+
39
+ books = BibleBooks()
40
+
41
+ class Torah():
42
+ def __init__(self):
43
+ self.book = ''
44
+ self.gcode = {
45
+ 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6, 'g': 7, 'h': 8, 'i': 9, 'j': 600,
46
+ 'k': 10, 'l': 20, 'm': 30, 'n': 40, 'o': 50, 'p': 60, 'q': 70, 'r': 80, 's': 90,
47
+ 't': 100, 'u': 200, 'v': 700, 'w': 900, 'x': 300, 'y': 400, 'z': 500
48
+ }
49
+
50
+ def loadbooks(self):
51
+ books.load()
52
+
53
+ def func_getnumber(self, listL, listW):
54
+ return util.fn_GetNumberValues(listL, listW)
55
+
56
+ def func_checklang(self, word, lang):
57
+ b = TextBlob(word)
58
+
59
+ try:
60
+ b.detect_language()
61
+ if (b.detect_language() == lang):
62
+ return True
63
+ except:
64
+ return True
65
+ return False
66
+
67
+ def numtobook(self, number):
68
+ for x in books.booklist():
69
+ xt = re.findall("[-+]?[.]?[\d]+(?:,\d\d\d)*[\.]?\d*(?:[eE][-+]?\d+)?", x)
70
+ if xt[0] == str(number):
71
+ return x
72
+
73
+ def func_translate(self, lang_in, lang_out, data):
74
+ translated = GoogleTranslator(source=lang_in, target=lang_out).translate(data.strip())
75
+ return translated
76
+
77
+ def gematria(self, word: str) -> int:
78
+ try:
79
+ if word.isdigit():
80
+ return int(word)
81
+
82
+ # Aufteilen des Wortes in Buchstaben und Zahlen
83
+ letters = [char for char in word if char.isalpha()]
84
+ numbers = [int(char) for char in word if char.isdigit()]
85
+
86
+ # Berechnen des Gematria-Werts für die Buchstaben
87
+ letters_value = sum([self.gcode[char] for char in letters if char in self.gcode])
88
+
89
+
90
+ # Hinzufügen der Summe der Zahlen zum Gematria-Wert der Buchstaben
91
+ total_value = letters_value + sum(numbers)
92
+
93
+ return total_value
94
+ except:
95
+ print(word)
96
+ raise ValueError
97
+
98
+
99
+ def gematrix(self, phrase: str) -> int:
100
+ phrase = self.strip_accents(phrase.lower())
101
+ phrase = ''.join([i for i in phrase if i.isalpha() or i.isdigit() or i.isspace()])
102
+
103
+ # Aufteilen der Eingabe in separate Wörter und Zahlen
104
+ elements = phrase.split()
105
+ total_value = 0
106
+
107
+ for element in elements:
108
+ if element.isalpha():
109
+ # Berechne den Wert für Buchstaben
110
+ total_value += sum([self.gcode[char] for char in element if char in self.gcode])
111
+ elif element.isdigit():
112
+ # Addiere Zahlen direkt zum Gesamtwert
113
+ total_value += int(element)
114
+
115
+ return total_value
116
+
117
+
118
+
119
+
120
+
121
+
122
+ def strip_accents(self, s):
123
+ try:
124
+ return ''.join(
125
+ c for c in unicodedata.normalize('NFD', s)
126
+ if unicodedata.category(c) != 'Mn'
127
+ )
128
+ except:
129
+ return s
130
+
131
+
132
+ def gematria_iw_int(text):
133
+ return gematria_to_int(text)
134
+
135
+
136
+ def func_ParseTranslation(self, translated, lang, active):
137
+ abd = 'abcdefghijklmnñopqrstuvwxyz1234567890'
138
+ str_split = translated.split(' ')
139
+ str_final = ''
140
+ for word in str_split:
141
+ try:
142
+ if word[0].lower() in abd:
143
+ if active == 'true':
144
+ if self.func_checklang(word, lang) == True:
145
+ str_final = str_final+ word+' '
146
+ else:
147
+ str_final = str_final+ word+' '
148
+ except:
149
+ pass
150
+
151
+ if not str_final == '':
152
+ return str_final
153
+ else:
154
+ return 0
155
+ def els(self, namebook, number, tracert='false', visualice=False):
156
+ space = number
157
+ abd = 'abcdefghijklmnñopqrstuvwxyz'
158
+ i=1
159
+ rese=""
160
+ totalvalue = 0
161
+ D = self.GetDataBook(namebook)
162
+ for (z,b,y) in D:
163
+ try:
164
+ charnum = 0
165
+ res=""
166
+
167
+ for char in D[z,b,y]:
168
+ charnum = charnum+1
169
+ if (i % int(space)) == 0:
170
+ if tracert == 'true':
171
+ totalvalue = totalvalue + int(charnum)
172
+ print('Source:',int(z),'chapter:', int(b),'Verse:', int(y),'CharNum:',int(charnum),'Char:', char)
173
+
174
+ res=res+char
175
+
176
+ i=i+1
177
+ rese=rese+" "+res
178
+ except:
179
+ pass
180
+ #print('Total', totalvalue)
181
+ ret = re.sub('\s+', ' ', rese.strip())
182
+ return ret, totalvalue
183
+
184
+ def GetDataBook(self, bibleNumberBook):
185
+
186
+
187
+ JSON = books.rawdata(bibleNumberBook)
188
+ ListOfJSONStringsParsed, ListOfJSONStringsParsedWithSpaces = util.fn_TextFilePreprocess(JSON)
189
+ ListOfDictsOfJSONStringsParsed, ListOfDictsOfJSONStringsParsedWithSpaces = util.fn_ConvertJSONStringsToDicts(ListOfJSONStringsParsed, ListOfJSONStringsParsedWithSpaces)
190
+ SearchTextChosen = util.fn_GetNumberOfTextChosen(ListOfDictsOfJSONStringsParsed)
191
+ ZippedTupleNoSpaces, ZippedTupleWithSpaces = util.fn_ZippedTupleCreate(ListOfDictsOfJSONStringsParsed, ListOfDictsOfJSONStringsParsedWithSpaces, SearchTextChosen)
192
+ D, DS = util.fn_DictionaryOfVersesCreate(ZippedTupleNoSpaces, ZippedTupleWithSpaces)
193
+ S, L, DL, D5, ListOfWords = util.fn_DataObjectsCreate(D, DS)
194
+ N, NW = util.fn_GetNumberValues(S, ListOfWords)
195
+ ListOfIndexesCustom = util.fn_ListOfIndexesCustomCreate(D5)
196
+ W = util.fn_TupleOfWordsAndGematriaValuesCreate(ListOfWords, NW)
197
+
198
+ return D
199
+
200
+
201
+ def process_json_files(start, end, step, length=0, tlang="en", spaces_include=False, strip_in_braces=True, strip_diacritics=True):
202
+ base_path = "resources/texts"
203
+ translator = GoogleTranslator(source='auto', target=tlang)
204
+ results = []
205
+
206
+ for i in range(start, end + 1):
207
+ file_name = f"{base_path}/{i:02}.json"
208
+ try:
209
+ with open(file_name, 'r', encoding='utf-8') as file:
210
+ data = json.load(file)
211
+ text_blocks = data["text"]
212
+
213
+ full_text = ""
214
+ for block in text_blocks:
215
+ full_text += ' '.join(block)
216
+
217
+ clean_text = full_text
218
+ if strip_in_braces:
219
+ clean_text = re.sub(r"\[.*?\]", "", clean_text, flags=re.DOTALL)
220
+ if strip_diacritics:
221
+ clean_text = re.sub(r"[^\u05D0-\u05EA ]+", "", clean_text)
222
+ if not spaces_include:
223
+ clean_text = clean_text.replace(" ", "")
224
+
225
+ if length != 0:
226
+ selected_characters = clean_text[step - 1::step][:length]
227
+ else:
228
+ selected_characters = clean_text[step - 1::step] # If length is 0, select all characters from step
229
+
230
+ translated_text = translator.translate(''.join(selected_characters))
231
+ if selected_characters != "":
232
+ results.append({
233
+ "book": i,
234
+ "title": data["title"],
235
+ "original_text": selected_characters,
236
+ "translated_text": translated_text
237
+ })
238
+
239
+ except FileNotFoundError:
240
+ results.append({"error": f"File {file_name} not found."})
241
+ except json.JSONDecodeError:
242
+ results.append({"error": f"File {file_name} could not be read as JSON."})
243
+ except KeyError:
244
+ results.append({"error": f"Expected key 'text' is missing in {file_name}."})
245
+
246
+ return results
lib/triggers.py ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import datetime
2
+ import requests
3
+
4
+ class Trigger:
5
+ def __init__(self, trigger_tags, comparison_tags, time_definition, event_name, included=True):
6
+ self.trigger_tags = set(trigger_tags)
7
+ self.comparison_tags = set(comparison_tags)
8
+ self.time_definition = time_definition
9
+ self.event_name = event_name
10
+ self.included = included
11
+ self.threshold = 0
12
+ self.actions = []
13
+ self.sources = []
14
+
15
+ def add_action(self, action):
16
+ self.actions.append(action)
17
+
18
+ def remove_action(self, action):
19
+ if action in self.actions:
20
+ self.actions.remove(action)
21
+ else:
22
+ print("Action not found")
23
+
24
+ def add_source(self, source):
25
+ self.sources.append(source)
26
+
27
+ def remove_source(self, source):
28
+ if source in self.sources:
29
+ self.sources.remove(source)
30
+ else:
31
+ print("Source not found")
32
+
33
+ def check_trigger(self, current_tags, current_time):
34
+ if self.included:
35
+ if current_time in self.time_definition and self.trigger_tags.issubset(current_tags):
36
+ self.threshold += 1
37
+ else:
38
+ self.threshold = 0
39
+ else:
40
+ if current_time in self.time_definition and not self.trigger_tags.intersection(current_tags):
41
+ self.threshold += 1
42
+ else:
43
+ self.threshold = 0
44
+
45
+ if self.threshold >= len(self.time_definition):
46
+ self.fire_actions()
47
+ self.make_requests()
48
+
49
+ def fire_actions(self):
50
+ for action in self.actions:
51
+ action(self.event_name)
52
+
53
+ def make_requests(self):
54
+ for source in self.sources:
55
+ try:
56
+ response = requests.get(source)
57
+ # Procesar la respuesta aquí si es necesario
58
+ print(f"Request made to {source}. Status code: {response.status_code}")
59
+ except requests.exceptions.RequestException as e:
60
+ print(f"Error making request to {source}: {e}")
61
+
62
+ # Ejemplo de uso:
63
+
64
+ def action_function(event_name):
65
+ print(f"Trigger fired for event: {event_name}")
66
+
67
+
68
+ if __name__ == "__main__":
69
+
70
+ # Definición de un trigger
71
+ trigger = Trigger(["tag1", "tag2"], ["tag3", "tag4"], [datetime.time(10, 0), datetime.time(15, 0)], "Event1")
72
+
73
+ # Añadir una acción al trigger
74
+ trigger.add_action(action_function)
75
+
76
+ # Añadir una fuente al trigger
77
+ trigger.add_source("https://example.com/api/data")
78
+
79
+ # Simular la comprobación periódica del trigger (aquí se usaría en un bucle de tiempo real)
80
+ current_tags = {"tag1", "tag2", "tag3"}
81
+ current_time = datetime.datetime.now().time()
82
+ trigger.check_trigger(current_tags, current_time)
lib/ziruph.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+
3
+
4
+ # Define the substitution key
5
+ key = "C X Y B W P R V Q J Z M N T K E L D F G H I O U S"
6
+
7
+ # Define the plaintext and ciphertext functions
8
+ def encrypt(message,dic):
9
+ ciphertext = ""
10
+ for char in message:
11
+ if char.isalpha():
12
+ # Check if char is uppercase or lowercase
13
+ if char.isupper():
14
+ # Convert to lowercase and encrypt using key
15
+ encrypted = key[ord(char) - ord("A")].lower()
16
+ else:
17
+ # Convert to uppercase and encrypt using key
18
+ encrypted = key[ord(char) - ord("a")].upper()
19
+ ciphertext += encrypted
20
+ return ciphertext
21
+
22
+ def decrypt(message,dic):
23
+ plaintext = ""
24
+ for char in message:
25
+ if char.isalpha():
26
+ # Check if char is uppercase or lowercase
27
+ if char.isupper():
28
+ # Convert to lowercase and decrypt using inverse key
29
+ decrypted = key[25 - key.index(char.lower())].upper()
30
+ else:
31
+ # Convert to uppercase and decrypt using inverse key
32
+ decrypted = key[25 - key.index(char)].lower()
33
+ plaintext += decrypted
34
+ return plaintext
35
+
36
+
resources/Pleyades ADDED
@@ -0,0 +1 @@
 
 
1
+ Subproject commit 7897127f64a0f9646a7ebbe101bbeeeba5ccf946