Cómo contribuir a Flask¶
¡Gracias por considerar la posibilidad de contribuir a Flask!
Preguntas de apoyo¶
Por favor, no utilices el rastreador de problemas para esto. El rastreador de problemas es una herramienta para abordar los errores y las solicitudes de características en el propio Flask. Utiliza uno de los siguientes recursos para preguntas sobre el uso de Flask o problemas con tu propio código:
El canal
#questions
en nuestro chat de Discord: https://discord.gg/palletsPregunta en Stack Overflow. Busca con Google primero usando:
site:stackoverflow.com flask {término de búsqueda, mensaje de excepción, etc.}
Pregunte en nuestro GitHub Discussions para discusiones a largo plazo o preguntas más amplias.
Informar de los problemas¶
Incluya la siguiente información en su puesto:
Describa lo que esperaba que ocurriera.
Si es posible, incluye un ejemplo mínimo reproducible para ayudarnos a identificar el problema. Esto también ayuda a comprobar que el problema no es con su propio código.
Describa lo que realmente sucedió. Incluya el rastreo completo si hubo una excepción.
Enumera tus versiones de Python y Flask. Si es posible, comprueba si este problema ya está solucionado en las últimas versiones o en el último código del repositorio.
Envío de parches¶
Si no hay un tema abierto para lo que quieres enviar, prefiere abrir uno para su discusión antes de trabajar en un PR. Puedes trabajar en cualquier tema que no tenga un PR abierto vinculado o un mantenedor asignado. Estos aparecen en la barra lateral. No hace falta que preguntes si puedes trabajar en un tema que te interesa.
Incluya lo siguiente en su parche:
Utilice Black para formatear su código. Esta y otras herramientas se ejecutarán automáticamente si instalas pre-commit siguiendo las instrucciones que aparecen a continuación.
Incluya pruebas si su parche añade o cambia código. Asegúrese de que la prueba falla sin su parche.
Actualice las páginas de documentos y las cadenas de documentos pertinentes. Las páginas de documentos y las cadenas de documentos deben tener 72 caracteres.
Añade una entrada en
CHANGES.rst
. Utilice el mismo estilo que otras entradas. Incluir también. versionchanged::
inline changelogs en los docstrings relevantes.
First time setup using GitHub Codespaces¶
GitHub Codespaces creates a development environment that is already set up for the project. By default it opens in Visual Studio Code for the Web, but this can be changed in your GitHub profile settings to use Visual Studio Code or JetBrains PyCharm on your local computer.
Asegúrate de tener una cuenta en GitHub.
From the project’s repository page, click the green «Code» button and then «Create codespace on main».
The codespace will be set up, then Visual Studio Code will open. However, you’ll need to wait a bit longer for the Python extension to be installed. You’ll know it’s ready when the terminal at the bottom shows that the virtualenv was activated.
Check out a branch and start coding.
First time setup in your local environment¶
Asegúrate de tener una cuenta en GitHub.
Descargue e instale la última versión de git.
Configura git con tu nombre de usuario y correo electrónico.
$ git config --global user.name 'your name' $ git config --global user.email 'your email'
Fork Flask a su cuenta de GitHub haciendo clic en el botón Fork.
Clone your fork locally, replacing
your-username
in the command below with your actual username.$ git clone https://github.com/your-username/flask $ cd flask
Create a virtualenv. Use the latest version of Python.
Linux/macOS
$ python3 -m venv .venv $ . .venv/bin/activate
Windows
> py -3 -m venv .venv > .venv\Scripts\activate
Instale las dependencias de desarrollo y luego instale Flask en modo editable.
$ python -m pip install -U pip setuptools wheel $ pip install -r requirements/dev.txt && pip install -e .
Instale los hooks de pre-commit.
$ pre-commit install --install-hooks
Empezar a codificar¶
Crea una rama para identificar el problema en el que te gustaría trabajar. Si estás enviando una corrección de un error o de la documentación, bifurca desde la última rama «.x».
$ git fetch origin $ git checkout -b your-branch-name origin/2.0.x
Si estás enviando una adición o cambio de característica, bifúrcate de la rama «main».
$ git fetch origin $ git checkout -b your-branch-name origin/main
Utilizando su editor favorito, realice los cambios, hacer commits a medida que avanza.
If you are in a codespace, you will be prompted to create a fork the first time you make a commit. Enter
Y
to continue.
Incluya pruebas que cubran cualquier cambio de código que realice. Asegúrese de que la prueba falla sin su parche. Ejecute las pruebas como se describe a continuación.
Push your commits to your fork on GitHub and create a pull request. Link to the issue being addressed with
fixes #123
in the pull request description.$ git push --set-upstream origin your-branch-name
Ejecución de las pruebas¶
Ejecute el conjunto de pruebas básicas con pytest.
$ pytest
Esto ejecuta las pruebas para el entorno actual, que suele ser suficiente. CI ejecutará el conjunto completo cuando envíe su solicitud de extracción. Puede ejecutar el conjunto completo de pruebas con tox si no quiere esperar.
$ tox
Ejecución de la cobertura de las pruebas¶
Generar un informe de las líneas que no tienen cobertura de pruebas puede indicar por dónde empezar a contribuir. Ejecuta pytest
utilizando coverage
y genera un informe.
If you are using GitHub Codespaces, coverage
is already installed
so you can skip the installation command.
$ pip install coverage
$ coverage run -m pytest
$ coverage html
Abra htmlcov/index.html
en su navegador para explorar el informe.
Más información sobre cobertura.
Construir los documentos¶
Construye los documentos en el directorio docs
usando Sphinx.
$ cd docs
$ make html
Abre _build/html/index.html
en tu navegador para ver los documentos.
Más información sobre Sphinx.