Propuestas de Actividades - PyCamp 2022

Escribe más abajo qué proyectos o ideas quieres proponer para desarrollar durante el PyCamp 2022. Escribe un título, una descripción (agrega un link si el proyecto ya está iniciado) y quien propone. Podés ver ejemplos en la edición anterior.

¿Buscando inspiración? Fijate también la página de ideas para programar.

Propuestas

Continuar trabajo en el visualizador para SimpleAI

  • Propone: Fisa
  • Tecnologías:
    • Algoritmos de IA
    • Visualizaciones web
    • Grafos
    • Brython (python en el client side del browser)
  • Repo/paquete

SimpleAI es una lib que implementa varios algoritmos de inteligencia artificial, de la rama de búsqueda de soluciones (búsqueda tradicional, búsqueda local/optimización, constraint satisfaction problems, etc). Se usa más que nada para enseñar sobre estos algoritmos resolviendo problemas de forma sencilla, y entre las features copadas tiene un visualizador web de varios de los algoritmos, para ir viendo paso a paso cómo la IA va resolviendo el problema.
Cosas para hacer:

  • En el PyCamp pasado se implementó un nuevo visualizador interactivo. Pero hay muchas mejoras que todavía se pueden seguir mejorando.
  • También se podrían agregar visualizaciones para algoritmos que no las tienen todavía (particularmente los de satisfacción de restricciones, que sería muy útil poder visualizarlos).

Blockchain social de pycamps

  • Propone: GiLgAmEzH (pero lo cargó sofi)
  • Tecnologías:
    • Python

En abril es el PyCamp de España, y la idea de esta propuesta es hacer “algo” interpycamps. Hay que charlar qué puede ser ese “algo”: puede ser un challenge para que resuelvan en su pycamp, con la posibilidad de que ellos también luego hagan un challenge para que nosotros resolvamos en un pycamp futuro (por eso el nombre de “blockchain”)

Disclaimer: La propuesta no tiene nada que ver con blockchains “de verdad” :stuck_out_tongue:

Fixes/Enhacements Web PyAr/Asoc_Members/Eventol

  • Propone : lecovi
  • Tecnologías :
    • Django

El PyCamp es un gran momento para dedicarle unas horas a esos issues que venimos arrastrando en las diferentes apps que tenemos en PyAr.

Alineador automatico de subtitulos

  • roba la idea : lucio
  • Tecnologías :
    • A elegir
  • Deep Artificial Minds

El sueño de todo pibe, que cualquier subtitulo funcione con cualquier version del video.

Control-Guitarra

  • Propone: Felipe

Usar diferentes notas de una guitarra para configurar teclas usadas en videojuegos. Agarrar un juego cualquiera que se maneja con algunas teclas, y pasarlo a usar con la guitarra.

PD: Yo llevo una guitarra,si quieren llevar algo más lleven.

Qué es el PyCamp para vos?

  • Propone : lecovi
  • Tecnologías :
    • Video/TikTok (clickbait)

La idea es grabar videos cortos de unos pocos minutos para que nos sirvan como material a futuro para contar qué es un PyCamp y promocionar la participación.
Se esuchan y aceptan propuestas de mejoras xD.

Show me the Request

La idea es tener un server que nos muestre la request que recibió a fines didácticos de mostrar el intercambio HTTP.

La Asociación Civil Python Argentina te necesita

  • Propone : lecovi, facundobatista
  • Tecnologías :
    • Manuscrito

Tenemos que completar el registro de asociades. La idea es que cada uno de nosotres complete al menos 10 registros para ir sumando al libro de asociades y cumplir con los requerimientos de la IGJ.

Morselex: the memex for morsels of personal data

  • Propone : luciotorre
  • Tecnologías :
    • python web

Un app web donde uno tira pequeños morsels de data que luego son indexados, procesados, masticados y categorizados por “the machine”. Nunca mas mandarte un mail a vos mismo! Nunca mas tener que pensar “donde guardo este dato?”. Una maquina para matar a la prosa, reemplazandola por una red de pensamientos interconectados, compartidos, automatizable. El twitter de tu subconsciente.

Si, pretencioso. Y segundo proyecto. Si, no se en cual de los dos me prendo. La idea es juntarse y ver quien si alguien se copa con alguno.

Explorar smart contracts con Brownie

  • Propone : matuu
  • Tecnologías :
    • python
    • blockchain
    • EVM y Ethereum

La idea es charlar un poco sobre blockchain, smart contracts, nft, explorar el framework Brownie para interactuar con la blockchain desde Python, analizar que otras herramientas necesitamos para el desarrollo de smart contracts.
Luego (super NTH) me gustaría que creemos un NFT de asistencia al pycamp para les participantes, que lo podemos mintear durante el evento, acreditando que estuvieron en el PyCamp2022.

Charla abierta sobre NFTs/crypto y cómo van (o no) a cambiar el mundo

  • Propone : matuu (idea de lucio)
  • Tecnologías :
    • NFT
    • blockchain

Juntarnos un rato a charlar sobre NFT y cryptos, ventajas y desventajas, el porque el hype que tiene ahora, usos y posibles usos, etc. La idea es abrir la chancha a todes les que quieran charlar sobre esto, preguntar, responder, o solo escuchar.

Bocetar un libro para aprender a programar o a jugar Juegos de Rol. Lo que ocurra primero.

  • Propone: Alvar Maciel
  • Tecnologías:
    • Papel.
    • Lápiz, Birome, marcadores y esas cosas.
    • Pizarrón sería algo hermoso.
    • Post It también, esas cosas siempre son lindas.
  • Llevo unos manuales de Rol para aprender jugar.

La idea es bocetar un texto que aproveche la naturaleza de Python (todo es un objeto) para crear un ayudante de partidas de rol para el Director de Juego (puede ser otra cosa, por ahora se me ocurre esa). En los juegos de rol los personajes tienen clases, atributos y acciones (métodos). La idea es delinear un texto que acompañe al aprendizaje de la programación (desde el paradigma de objetos) en especial de Python. O que te acompañe a aprender a Jugar una partida de Rol. Lo que ocurra primero

MovieWordCloud

  • Propone: Bruno Geninatti
  • Tecnologías:
    • Pillow
    • Scrapping
    • Tweepy
  • Repo/paquete

Un bot de twitter que sube nubes de palabras basadas en guiones de películas.
El bot baja la lista de mejores películas de imdb, elige una random, baja los subtítulos de opensubtitles, cuenta cuantas veces aparece cada palabra, arma una nube de palabras y la sube a Twitter.
El bot es este.
Hay varias cosas que me gustaría hacerle:

  • Una función on-demand en donde le puedas pedir al bot una película específica.
  • Buscar el subtítulo en su idioma original. Lo que pasa ahora es que, si busca una película en español u otro idioma, sube la nube de palabras en inglés. Como pasó acá con “El Secreto de Sus Ojos”.
  • Idea (manuq): ¿usar paleta de colores para las palabras y para el fondo tomándolos de la peli? ¿Quizá del poster o de imágenes principales? Algo como https://moviesincolor.com/
  • Refactorearlo de forma que sea deployable en Heroku (u otro lado)

Pythonium

  • Propone: Bruno Geninatti
  • Tecnologías:
    • Pillow
    • Numpy
    • Matplotlib
  • Repo/paquete

Un juego de estrategia espacial por turnos, en el que cada jugador representa una raza alienígena que quiere conquistar la galaxia.
Se empieza en un planeta del cual hay que extraer minerales para construir naves y así poder explorar planetas vecinos, colonizarlos y atacar enemigos. Se puede jugar de uno o dos jugadores. El primer jugador que llegue a tener 211 planetas gana.
Es un programming game, para jugarlo hay que programar una clase de python que toma las decisiones turno a turno.
Lo pueden aprender a jugar personas que están aprendiendo a programar e intenta ser también una herramienta para explicar conceptos de programación.
La documentación está acá.
Hay varias cosas que se pueden hacer para el proyecto:

  • Jugarlo :slight_smile:
  • Escribir tutoriales
  • Mejorar y testear algunas de las dinámicas del juego (combates, extracción de minerales, impuestos, población, etc)
  • Agregar bots contra los cuales se puede jugar (ya hay algunos)
  • Hacer que el modo de juego sea customizable para poder hacer “Campañas” con objetivos de juego distintos al estándar.
  • Que las personas puedan subir su jugador a un servidor donde se gestione un torneo (todos contra todos), se muestren los resultados de cada partida y un score general

Inflationary Report

  • Propone: Art Marduk

  • Tecnologías:

    • Django
    • Django Forms
    • Django Tables
    • Selenium/BeautifulSoup/ Otros scrapers
    • Numpy
    • Docker
  • Repo (Coming soon!)

Un administrador de gastos, diseñado desde y para la cotideaneidad monetaria argentina, donde no sólo se podrá obtener información acerca de tu pasado y tu presente, sino también… tu futuro!

En esencia una plataforma web donde se mantiene información de gastos con categorías customizables por usuario con la distinción de que permitirá la posibilidad de adosar a cada categoría de gastos un índice de variación (Indice de Precios Consumidor, Dolar [Del color que sea], Proyección de inflación, etc.) el cual permitirá luego hacer toda clase de calculos predictivos divertidos. Lo ideal es que estos índices sean actualizados de manera automática y periódica, mediante técnicas de scraping.

El repositorio que se hará disponible para el pycamp cuenta con toda la plataforma básica ya armada: Manejo de cuentas, gastos, categorías, interacciones básicas, etc. A partir de esto se despliegan varias patas de desarrollo, independizables hasta cierto punto:

  • Scraping de índices y métricas de variación/inflación (Automatizaciones, Scraping con Selenium o BeautifulSoup)
  • Cálculo de métricas predictivas o descriptivas sobre gastos pasados de usuario. (Estadística con Numpy u otros)
  • Mejoras de interacción en la plataforma (Pensar flujos de UX todavía más amigables)
  • Hacer un FrontEnd más lindo sin tocar JavaScript (Lo ideal sería todo con Django Forms, Django Tables, Django Crispy Forms, etc)
  • Mejoras de calidad de código. (Éstilo, tests, cohesión)
  • Dockerizacion y pipeline de deployment en Heroku o simil.
  • Otros features que se te ocurran!

Juego de Codeo Colaborativo

  • Propone: Facundo Batista

Un juego donde armamos un programejo entre todes para resolver la consigna. Divertido, adrenalina. Para todes, no importa el nivel.

PyEmpaq

  • Propone: Facundo Batista
  • Tecnologías:
    • Packaging
    • Virtualenvs
  • Repo/paquete

Un simple pero poderoso empaquetador de programas Python para correr en cualquier lado cualquier proyecto con cualquier dependencia que se instale en un entorno virtual.

PyEmpaq armar todo en un único archivo .pyz. Este único archivo es todo lo que necesita distribuirse. Cuando el usuario final lo ejecuta, el proyecto original se expande, sus dependencias se instalan en un entorno virtual, y luego se ejecuta.

Toda la documentación bien detallada en el repo, pero pueden leer un resumen en castellano en este post de mi blog.

Hay varias cosas para hacer, bastantes para emprolijar y estabilizar el programa, pero también features más avanzados y locos: todo descripto acá.

Charla: ¿Qué hacemos con la gente que sólo le interesa la salida laboral?

  • Propone: Facundo Batista

Hace 15 o 20 años, una característica de Python es que todes les que estábamos en esto era por gusto. Hoy Python es el lenguaje más usado del mundo 1, y empezamos a tener otro tipo de usuaries del mismo: gente que sólo quiere una salida laboral.

Vienen de otras ramas técnicas, o incluso desde otras especializaciones. Atraides por el rumor de que se necesita gente y se paga bien. Muchas veces sin saber programar.

¿Cómo se les ayuda?

Botggle

  • Propone: Lecovi, DiegoM y Facundo
  • Tecnologías:
    • Telegram bot
  • Repo/proyecto

Botggle es un bot de Telegram para jugar al Boggle en un grupo de chat con tus familiares y amigues. Hoy el juego está funcional y quedaron un par de FIXMEs para agregarle y mejorar la experiencia.

Mario atrapado en la máquina del tiempo

  • Propone: Hugo Ruscitti
  • Tecnologías: pygame, pyglet o similar

Hacer un juego de plataformas como mario bross, pero con la particularidad que
el jugador pueda controlar el tiempo: pausar, hacer más lento el movimiento de
todo el escenario, ir más rápido o incluso rebobinar haciendo que las
cosas “regresen” a sus posiciones anteriores.

Para ilustrar esto pueden ver el trailer de braid, un juego donde se usa
esto:

Taller de juego colaborativo de autitos

  • Propone: Hugo Ruscitti
  • Tecnología: Pilas

Hacer un juego de varios jugadores, donde cada uno de los participantes
puede participar usando una sola tecla.

Me imagino que en el juego puede comenzar mostrando una especie de
estacionamiento visto desde arriba y que al pulsar una tecla aparezca un autito
que avanza como si tuviera el acelerador clavado.

Si el jugador vuelve a pulsar esa misma tecla el auto gira hacia la izquierda pero
sigue avanzando.

Si más jugadores se quieren sumar a la partida tienen que elegir otra tecla y pulsarla
para crear un autito y controlar cuándo dobla con la misma tecla.

El objetivo sería tratar de vivir la mayor parte de tiempo sin chocarte
a los otros jugadores.

Mi idea es hacer este juego en grupo, usando pilas, así de paso vemos cómo es la herramienta,
qué cosas se pueden mejorar y ver cómo se usa.

image

Script instrumentador

  • Propone: Hugo Ruscitti
  • Tecnologías: módulo ast de la biblioteca estandar

¿Alguna vez tuviste un script que no sabes que hace?, ¿Te encontraste viendo
código sin saber si ejecuta o no tal función?, ¿Agregas prints por todos lados
para darte ideas de qué se ejecuta y qué no?.

La idea es hacer un programa que tome un código y lo ejecute imprimiendo
todo: el valor de las variables en cada instante, la línea de código que se
ejecutó y generando mucha data para que podamos visualizar la ejecución
minusiosamente.

Pienso que podemos usar el módulo AST de python, para instrumentar código y
tal vez alguna lib para visualizar los datos generados por la ejecución.

Para más referencias de qué es AST y qué cosas se pueden hacer les recomiendo este video:

Trifulca entre gente que programa usando editores de texto

  • Propone: Hugo Ruscitti
  • Tecnologías: varias

¿Qué editor de texto utilizas para programar?, ¿por qué
lo elegiste?, ¿Qué te gusta o usas muy seguido?, ¿le instalaste Plugins?, ¿ejecutas
python dentro del editor o por separado?.

La idea de este espacio es que conversemos de estas herramientas y podamos aprender
algún truco o herramienta nueva.

Cermailer: enviemos certificados por emial

  • Propone: Marian
  • Tecnologías:
    • Flask / Django
    • RestAPI
    • MailJet
  • Repo/paquete
  • Docu
    Todavía es común que la gente quiera alguna constancia de haber venido a un evento. Y lo podemos hacer de muchas maneras, automatizarlo más o menos.
    Con certmailer aprovechamos un servicio gratuito, y listo, cargamos la lista de destinatarios, un template del certificado, del email que mandamos y se va, se va.
    Cosas para hacer:
  • En el PyCamp pasado probamos usarlo y debemos mejorar la usabilidad. Hacer un sitio Django o Flask, y lograr que sea mucho más bonito, simpático y deje de tener como única opción la línea de comandos.
4 Me gusta