owned this note
owned this note
Published
Linked with GitHub
# Hacktoberfest 2023 🎃 PyData Madrid
## Requisitos
- Portátil cargado
- Cuenta en [GitHub](https://github.com/)
- (Opcional) Cuenta en [Gitpod](https://gitpod.io/)
- (Opcional) Cuenta en [HackMD](https://hackmd.io/)
- ¡Buena actitud!
## Participantes
Niveles:
- **Básico** :one:: Nunca has contribuido al código abierto o solo has subido código propio a GitHub
- **Intermedio** :two:: Alguna vez has arreglado un fallo pequeño en un proyecto de otra persona y/o has utilizado git de manera visual con tu IDE
- **Avanzado** :three:: Colaboras asiduamente con proyectos externos y/o has utilizado bastante la línea de comandos de git
Proyectos:
- [pandas](https://github.com/pandas-dev/pandas/)
- [scikit-learn](https://github.com/scikit-learn/scikit-learn/)
- [SciPy](https://github.com/scipy/scipy)
| Nombre | GitHub | Nivel | Proyectos | Pull request |
| -------- | -------- | -------- | -------- |-------- |
| _Tu nombre_ | _https://github.com/{usuario}_ | _Básico, Intermedio, o Avanzado_ | _Listado de proyectos que te interesan_ | _Pull request_ |
| Juanlu | https://github.com/astrojuanlu | Avanzado :three: | pandas, scikit-learn, scipy ||
| Luis Valverde| https://github.com/lumivalsa/ |Básico |pandas, scikit-learn, scipy||
| Miguel A. Batalla | https://github.com/mabatalla | Intermedio| Pandas, Sklearn, SciPy|https://github.com/scipy/scipy/pull/19434/ |
| David Ortega| https://github.com/davnak |Basico | pandas, scikit-learn, scipy ||
| Gadea Autric | https://github.com/gadeatric |Intermedio |pandas, scikit-learn, scipy | https://github.com/pandas-dev/pandas/pull/55757 |
| Santiago Varona | https://github.com/varona |Intermedio | pandas, scikit-learn, scipy ||
| Roger Pou | https://github.com/rogerpou |Intermedio | pandas, scikit-learn, scipy ||
| Nicolas Martinez-Geijo | https://github.com/iamjustnick |Básico| pandas, Sklearn, SciPy| https://github.com/scikit-learn/scikit-learn/pull/27666 |
| julian colomina | https://github.com/littlegreenbean33 |Básico |pandas, scikit learn, micropython ||
luis diaz de argote | https://github.com/luisdiazdeargote |Básico |pandas, scikit learn||
| Alvaro Perez Lopez | https://github.com/AlvaroPerezLopez |Básico |pandas, scikit-learn, scipy ||
| Pablo Rodríguez Pérez | https://github.com/pablorodriper |Intermedio | pandas, scikit-learn, scipy |https://github.com/scipy/scipy/pull/19433|
| Emilio Pomares Porras | https://github.com/emiliopomares |Intermedio | pandas, scikit-learn, scipy ||
## Lista de issues
### pandas
https://pandas.pydata.org/docs/development/
> To improve the chances of your pull request being reviewed, you should:
>
> - Reference an open issue for non-trivial changes to clarify the PR’s purpose
> - Ensure you have appropriate tests. These should be the first part of any PR
> - Keep your pull requests as simple as possible. Larger PRs take longer to review
> - Ensure that CI is in a green state. Reviewers may not even look otherwise
> - Keep Updating your pull request, either by request or every few days
- [x] https://github.com/pandas-dev/pandas/issues/55489 (Gadea + Luis)
- [x] https://github.com/pandas-dev/pandas/issues/53072
- [ ] https://github.com/pandas-dev/pandas/issues/52431
- [ ] https://github.com/pandas-dev/pandas/issues/51536
- [x] https://github.com/pandas-dev/pandas/issues/51044 (Emilio + Pablo)
- [ ] https://github.com/pandas-dev/pandas/issues/50885
### scikit-learn
https://scikit-learn.org/dev/developers/contributing.html#new-contributors
> New contributors should look for the following tags when looking for issues. We strongly recommend that new contributors tackle “easy” issues first: this helps the contributor become familiar with the contribution workflow, and for the core devs to become acquainted with the contributor; besides which, we frequently underestimate how easy an issue is to solve!
- [ ] https://github.com/scikit-learn/scikit-learn/issues/27090
- [x] https://github.com/scikit-learn/scikit-learn/issues/24862 (rogelio y varona)
- [ ] https://github.com/scikit-learn/scikit-learn/issues/23840
- [ ] https://github.com/scikit-learn/scikit-learn/issues/27000 (dificultad moderada)
- [x] https://github.com/scikit-learn/scikit-learn/issues/26945 (Nicolas y David)
### SciPy
https://scipy.org/community/ (tienen un workspace de Slack para gente que quiere contribuir)
https://docs.scipy.org/doc/scipy/dev/dev_quickstart.html (con el "Basic workflow" debería ser suficiente)
Instalar micromamba en Gitpod:
```
# Descargar micromamba
curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba
# Instalar micromamba y persistir la instalación
./bin/micromamba shell init -s bash -p ~/micromamba
source ~/.bashrc
# Activar micromamba
micromamba activate
# Crear y activar entorno virtual
micromamba env create -f environment.yml
micromamba activate scipy-dev
# Scpipy dev build
python dev.py test
```

### Otros
_¿Quieres contribuir a otro proyecto no listado arriba? ¡Inclúyelo aquí!_
- Argilla: https://github.com/argilla-io/argilla/issues?q=is%3Aissue+is%3Aopen+label%3Ahacktoberfest
- Kedro: https://github.com/kedro-org/kedro/labels/Hacktoberfest
## Consejos
1. Antes de hacer nada, lee cómo crear un entorno de desarrollo y correr los tests, y verifica que está todo bien. Normalmente será algo como
```
$ conda/mamba create -n env311 python=3.11 -c conda-forge
$ conda/mamba activate env311
(env311) $ pip install -e .[test] # o pip install -r test_requirements.txt
(env311) $ pytest
```
pero cada proyecto es diferente. Este será el primer obstáculo, ¡pide ayuda si no lo consigues!
Recomendamos usar [Gitpod](https://gitpod.io/): es gratuito, rápido, y no requiere que cambies nada en tu ordenador.
2. Hemos seleccionado una lista de issues para que no tengas que perder tiempo buscándolo. Si te sientes muy seguro puedes bucear en cada repositorio por tu cuenta, pero si eres principiante ¡no te lo recomendamos!
3. Vamos a trabajar asignando los issues para resistir la tentación de saltar de uno a otro. **En proyectos maduros no hay problemas fáciles, todos tienen alguna complicación.**
4. Es muy importante asegurarte de que entiendes el issue. Esto significa:
- **Si es un bug, que puedes reproducirlo y que el comportamiento deseado está bien especificado**.
- Si es un problema en la documentación, que está claro qué se espera.
- Si es una funcionalidad nueva, si está bien definida.
5. **Sé comunicativo** por escrito. Cuando escribas el pull request, describe qué has hecho, cómo, porqué así y no de otra forma. Si tienes dudas, sé claro al preguntar: ¿qué problema estás teniendo, cuál es el hash del commit con el que estás probando, cuál es el traceback completo?
6. **Atento a la integración continua**. Si algún chequeo falla, míralo - es posible que sea debido a tu PR. Si lo dejas estar, tal vez los mantenedores no querrán perder su tiempo revisándolo.
¡A por ello!
### Otros consejos
- Si coges código de otra persona, es un buen gesto hacer `cherry-pick` de sus commits (para conservar la historia) o, si creas un commit propio, agregarles como co-autores. Para ello, añade `Co-authored-by: NAME <NAME@EXAMPLE.COM>` en el mensaje. Por ejemplo:
```
git commit -m 'Fix bug
Co-authored-by: Linus Torvalds <linus@kernel.org>
'
```
- Algunos issues de los que hemos seleccionado pueden tener personas ya asignadas o pull requests ya abiertos. Pero suele ocurrir que la gente se asigna issues y luego nunca los termina. Es tu oportunidad para rematar el trabajo.
- Trabaja con alguien, ¡así se te hará más llevadero!
- Si te atascas con un issue, deja escrito lo que has averiguado hasta el momento y pide ayuda. Si es muy difícil, pide que te asignen otro.
## Playlist
https://open.spotify.com/playlist/5WeUChbjPf2PctGAWbSroM?si=aac96a9aebff40d8