Skip to content

Instantly share code, notes, and snippets.

View AshtonIzmev's full-sized avatar

Issam El Alaoui AshtonIzmev

View GitHub Profile
@AshtonIzmev
AshtonIzmev / vizdict.py
Created September 19, 2025 17:52
Coucou dataviz
def diciter(d, pad="", list_idx=0):
for k, v in d.items():
if isinstance(v, str):
print(f"{pad}KEY: {k} -> {v[:100]}")
elif isinstance(v, int) or isinstance(v, float) or isinstance(v, bool):
print(f"{pad}KEY: {k} -> {v}")
elif isinstance(v, dict):
print(f"{pad}KEY: {k} ")
diciter(v, pad + " ")
elif isinstance(v, list):
#%pip install sentence_transformers
#%pip install torch
###########################
import os
os.environ["TOKENIZERS_PARALLELISM"] = "true"
import torch
from sentence_transformers import SentenceTransformer
@AshtonIzmev
AshtonIzmev / stt.py
Created July 21, 2025 21:41
Whisper STT snippet
#%pip install openai
from openai import OpenAI
import os
import subprocess
from pydub import AudioSegment
import math
client = OpenAI(api_key="sk-proj-XXX")
@AshtonIzmev
AshtonIzmev / protecting_api_keys_pure_front_kinda.js
Created July 21, 2025 12:25
Well kinda trying to protect apikey for front only app
const bcrypt = require('bcryptjs');
const CryptoJS = require('crypto-js');
// Generate a strong random password (16 characters, mix of letters, numbers, symbols)
const strongPassword = 'my!!!strong!!password!';
console.log('Strong password:', strongPassword);
// Generate bcrypt hash
const passwordHash = bcrypt.hashSync(strongPassword, 12);
console.log('Password hash:', passwordHash);
@AshtonIzmev
AshtonIzmev / morocco_geojson.jsx
Created July 17, 2025 22:01
Morocco border clean
const mapStyle = `https://api.maptiler.com/maps/dataviz/style.json?key=${apiKey}`;
map.current = new maplibregl.Map({
container: mapContainer.current,
style: mapStyle,
center: [INITIAL_VIEW_STATE.longitude, INITIAL_VIEW_STATE.latitude],
zoom: INITIAL_VIEW_STATE.zoom
});
map.current.on('load', () => {
from typing import List, Dict, Optional
from utils import count_tokens, pdf_to_text_with_fonts_pdfplumber
import logging
# Configure logging for the chunker
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
class FontAwareRecursiveChunker:
"""A recursive text chunker that uses font sizes to determine optimal split points.
@AshtonIzmev
AshtonIzmev / data_to_text.py
Created March 23, 2025 02:11
Extract text data from common types of files
import enum
class MimeType(str, enum.Enum):
# Text documents
TXT = "text/plain"
PDF = "application/pdf"
DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation"
@AshtonIzmev
AshtonIzmev / cryptography_public_encryption.py
Last active March 22, 2025 23:45
Utils code for generating RSA license key system with pem using signatures
import os
import sys
from datetime import datetime
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.asymmetric import rsa, padding
from cryptography.exceptions import InvalidSignature
from cryptography.hazmat.primitives import serialization
def get_private_key():
@AshtonIzmev
AshtonIzmev / batch_llm.py
Last active August 12, 2025 00:03
OpenAI utils
from openai import OpenAI
client = OpenAI(api_key='sk-proj-XXX')
def gpt_request(prompt, model="gpt-4o-mini", max_tokens=100):
try:
response = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
max_tokens=max_tokens,