Constribuyendo¶
Las contribuciones son benvenidas y apreciadas. Cualquier ayuda es bien sirve y será reconocida en los créditos.
Puedes contribuir de muchas maneras:
Maneras de constribuir¶
Reportar bugs¶
Reporta los bugs en https://github.com/chivke/serveliza/issues.
Si vas a reportar un bug, favor incluir:
- El nombre de tu sistema operativo y su versión.
- Cualquier detalle sobre tu entorno y configuración local será de utilidad para su resolución.
- Detalle las etapas para reproducir el bug.
Arreglar bugs¶
Revisa Github issues si hay bugs sin resolver. Cualquier issue marcada como «bug» and «help wanted» están abiertos a ser resueltos.
Implementa características¶
Revisa Github issues si hay características sin resolver. Cualquier que esté marcado como «enhancement» y «help wanted» están abiertas a serimplementadas.»
Escribir documentación¶
Serveliza siempre requiere mayor documentación, ya sea en alguna parte de sus docs, en los docstring o tutoriales, guías, artículos, etc.
Enviar retroalimentación¶
La mejor manera enviar una retroalimentación es abriendo un issueen https://github.com/chivke/serveliza/issues.
Si estas proponiendo una característica:
- Explica en detalle cómo trabajaría.
- Manten el alcance de la descripción, para hacer más fácil su implementación.
- Recuerda que este es un proyecto conducido voluntariamente y todas las constribuciones son bienvenidas.
Empezar¶
Listo para contribuir? Acá hay una guía para levantar serveliza en un entorno local de desarrollo.
Realiza un fork del repo de serveliza en GitHub.
Instala los requerimientos del sistema para usar pdftotext <https://github.com/jalan/pdftotext>:
$ sudo apt install build-essential libpoppler-cpp-dev pkg-config python3-dev
Clona el fork localmente:
$ git clone git@github.com:your_name_here/serveliza.git
Crea un entorno virtual en tu copia local. Asumiendo que tienes python3-venv instalado, así sería la habilitación del entorno de desarrollo local del fork:
$ cd serveliza/ $ python3 -m venv venv $ source venv/bin/activate $ pip install -r requirements_dev.txt $ python setup.py develop $ cd docs ; make html ; cd ..
Crea una rama para el desarrollo local:
$ git checkout -b name-of-your-bugfix-or-feature
Realiza los cambios localmente.
Cuando estes listo realizando cambios, chequea que tus cambios pasan flake8 y los tests, incluyendo el testing de otras versiones con tox:
$ tox
Si realizas cambios que afectan a la documentación, es necesario actualizar los archivos pot para la internacionalización.
$ cd docs/ $ make gettext $ sphinx-intl update -p _build/gettext/ -l esComitea tus cambios y haz un push de tu rama en GitHub:
$ git add . $ git commit -m "Your detailed description of your changes." $ git push origin name-of-your-bugfix-or-featureEnvía un pull request a través de la página de GitHub.
Guía para Pull Request¶
Antes de enviar un pull request, verifica esta guía:
- El pull request debe incluir tests.
- Si el pull request agrega funcionalidad, se deben actualizar los docs. Documenta tu nueva funcionalidad en los docstring y agregala a las características del README.rst.
- The pull request should work for Python 3.6, 3.7 and 3.8, and for PyPy. Check https://travis-ci.com/chivke/serveliza/pull_requests and make sure that the tests pass for all supported Python versions.
Desplegando¶
Un recordatorio para los mantenedores sobre como desplegar. Asegurate que todos los cambios están commitiados (incluída la entrada en HISTORY.rst). Luego corre:
$ bump2version patch # possible: major / minor / patch
$ git push
$ git push --tags
Travis desplegará en PyPI si pasan los tests