Skip to content

Instantly share code, notes, and snippets.

View meyer1994's full-sized avatar
👀
¯\_(ツ)_/¯

João Meyer meyer1994

👀
¯\_(ツ)_/¯
View GitHub Profile
import boto3
def get_s3_client():
# Adapted from:
# https://gist.github.com/heitorlessa/5b709df96ea6ac5ddc600545c0683d3b?permalink_comment_id=4314586#gistcomment-431458
return boto3.client(
service_name="s3",
endpoint_url="localhost:9000",
aws_access_key_id="root",
aws_secret_access_key="password",
@meyer1994
meyer1994 / memory.py
Last active June 4, 2024 19:42
Simple SQL memory implementatio for llama-index
import datetime as dt
from typing import Any, List, Optional
import sqlalchemy as sa
import sqlalchemy.orm as orm
from llama_index.core.llms import ChatMessage
from llama_index.core.storage.chat_store import BaseChatStore
from llama_index.core.memory import ChatMemoryBuffer
from llama_index.agent.openai import OpenAIAgent
@meyer1994
meyer1994 / sqlgen.py
Last active January 4, 2024 20:59
Playing around with langchain
from langchain.schema import StrOutputParser
from langchain.prompts import ChatPromptTemplate, SystemMessagePromptTemplate, HumanMessagePromptTemplate
from langchain_core.runnables import RunnablePassthrough
from langchain_community.chat_models import ChatOpenAI
llm = ChatOpenAI(api_key='MY_COOL_API_KEY')
PROMPT_SYSTEM = '''
You are an experienced SQL developer and database specialist.
@meyer1994
meyer1994 / intersec.py
Created November 6, 2023 20:34
Example of intersection calculation using fiona and shapely
import json
import fiona
import shapely
import shapely.geometry
with fiona.open('data/test.geojson', 'r') as f:
geom = next(iter(f))
geom = shapely.geometry.shape(geom.geometry)
@meyer1994
meyer1994 / sensor.py
Created March 18, 2023 16:54
Dagster sensor that executes for all data partitions
CONFIG_SENSOR = {
'job': jobs.daily,
'monitored_assets': [AssetKey(['b3', 'history', 'daily'])],
}
@multi_asset_sensor(**CONFIG_SENSOR)
def daily(context):
"""
@meyer1994
meyer1994 / iterio.py
Last active September 3, 2022 12:58
Bytes iterator to file object
import io
import itertools
class IteratorIO(io.RawIOBase):
def __init__(self, iterator: [bytes]):
super(IteratorIO, self).__init__()
self.iterator = iterator
def read(self, n: int = -1) -> bytes:
@meyer1994
meyer1994 / importer.py
Last active June 18, 2022 14:54
Script used to import CSV files to SQL databases
import sys
import logging
from argparse import ArgumentParser
import pandas as pd
from pandasql import sqldf
fmt = '[%(asctime)s] %(levelname)s [%(name)s:%(lineno)03d] %(message)s'
logger = logging.getLogger(__name__)
@meyer1994
meyer1994 / geohash.py
Last active April 29, 2022 00:14
GeoHash in 100% python
# Adapted from:
# https://mmcloughlin.com/posts/geohash-assembly
import math
def encode(lat: float, lon: float) -> str:
lat = math.floor(2**64 * (lat + 90) / 180)
lon = math.floor(2**64 * (lon + 180) / 360)
lat = bin(lat)[2:]
@meyer1994
meyer1994 / wabot.js
Created March 20, 2022 17:04
Simple bot for whatsapp
const fs = require('fs')
const makeWASocket = require('@adiwajshing/baileys').makeWALegacySocket
// Chat id
const chadtId = 'numbers-morenumbers@g.us'
const sock = makeWASocket({
printQRInTerminal: true
})
@meyer1994
meyer1994 / docker-compose.yml
Created January 7, 2022 21:04
Minimal working AppWrite with database
version: '3'
services:
appwrite:
image: appwrite/appwrite:0.12.0
environment:
- _APP_DB_HOST=mysql
- _APP_DB_PORT=3306
- _APP_DB_SCHEMA=appwrite
- _APP_DB_USER=user