Skip to content

Instantly share code, notes, and snippets.

View villares's full-sized avatar
💥

Alexandre B A Villares villares

💥
View GitHub Profile
"""
Alexandre B A Villares
árvore recursiva - Circuito SESC de arte 2018 - v2022_08_06
http://abav.lugaralgum.com/lousa-magica
Para executar é necessário:
py5 (Usando Thonny IDE com o thonny-py5mode ative o *imported mode*)
PyFirmata
"""
"""
Alexandre B A Villares
Lousa mágica - desenho com potenciômetros v2022_08_04
http://abav.lugaralgum.com/lousa-magica
Para executar é necessário:
py5 (Usando Thonny IDE com o thonny-py5mode ative o *imported mode*)
PyFirmata
"""
@villares
villares / demo_com_pause.py
Last active May 12, 2025 23:04
Versão py5 module mode
import py5
import pymunk
MINIMUM_DIST = 10
current_poly = [] # (x, y) tuples while mouse dragging
wall_start = None
drawing_dict = {}
save_filename = 'data.pickle'
mass_scale = 0.1
em_andamento = True
@villares
villares / exemplo_completo_imported_mode.py
Last active April 28, 2025 22:58
Exemplos de Pymunk (imported mode é com o menu py5 ativado no Thonny, e module mode não precisa do plug-in)
import pymunk
CT_DEFAULT = 0
CT_SPECIAL = 1
CT_WALL = 2
MINIMUM_DIST = 50
current_poly = [] # (x, y) tuples while mouse dragging
wall_start = None
drawing_dict = {}
@villares
villares / optical_flow.py
Last active November 7, 2024 02:36
OpenCV Optical Flow + py5
# https://docs.opencv.org/4.x/d4/dee/tutorial_optical_flow.html
import py5
import numpy as np
import cv2 # opencv-python
cap = None
py5_img = None
prvs_frame = None
reduced_size = 600, 400
@villares
villares / open-meteo-example.py
Last active October 29, 2024 18:31
Weather stuff
# from https://open-meteo.com/en/docs#latitude=-23.5475&longitude=-46.6361&hourly=temperature_2m,rain
import openmeteo_requests # pip install openmeteo-requests
import requests_cache # install requests-cache
import pandas as pd # install pandas
from retry_requests import retry # install retry-requests
# Setup the Open-Meteo API client with cache and retry on error
cache_session = requests_cache.CachedSession('.cache', expire_after = 3600)
@villares
villares / tetris_for_pyp5js.py
Created October 6, 2024 14:16
Porting my tetris from py5 to pyp5js
"""
This is quick adaptation from my py5 imported mode sketch at:
https://abav.lugaralgum.com/sketch-a-day/#sketch_2024_07_09
Use arrows to play - up to rotate, space bar to restart.
What changed: py5pjs didn't have random_choice, so I had to import it, and
in pyp5js the arrow key constants are different ARROW_LEFT and not LEFT, etc.
"""
@villares
villares / my_hackmd.py
Last active October 1, 2024 20:35
Hacky HackMD API helper in Python
"""
Usage:
from my_hackmd import API
api = API(your_access_token) # get one at https://hackmd.io/settings#api (please don't publish it in your repo!)
user_notes = api.get_note_list()
new_note_data = api.create_note(
title="My Ha",
content="# Ha\nhahaha",
@villares
villares / taichi_py5.py
Created August 3, 2024 15:27
taichi + py5 failure (taichi needs the main thread)
import taichi as ti
import taichi.math as tm
import py5
#ti.init(arch=ti.gpu)
ti.init()
@ti.func
def complex_sqr(z): # complex square of a 2D vector
return tm.vec2(z[0] * z[0] - z[1] * z[1], 2 * z[0] * z[1])