From 03772dec1b40bd0a970f58528c4b920b76f7cc9e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 21 Nov 2016 14:49:39 -0800 Subject: [PATCH 0001/2840] Update flake8 from 3.2.0 to 3.2.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 1052e2179..369520cb2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ cookiecutter==1.4.0 -flake8==3.2.0 # pyup: != 2.6.0 +flake8==3.2.1 # pyup: != 2.6.0 sh==1.11 binaryornot==0.4.0 From 0c203241669277411df4bccf9d4bc9708c77affb Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 21 Nov 2016 14:49:40 -0800 Subject: [PATCH 0002/2840] Update flake8 from 3.2.0 to 3.2.1 --- {{cookiecutter.project_slug}}/requirements/test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/test.txt b/{{cookiecutter.project_slug}}/requirements/test.txt index 2dc42bd4c..704a508c9 100644 --- a/{{cookiecutter.project_slug}}/requirements/test.txt +++ b/{{cookiecutter.project_slug}}/requirements/test.txt @@ -8,7 +8,7 @@ psycopg2==2.6.2 {%- endif %} coverage==4.2 -flake8==3.2.0 # pyup: != 2.6.0 +flake8==3.2.1 # pyup: != 2.6.0 django-test-plus==1.0.16 factory_boy==2.7.0 From 3a17f9bc271a7fff90c3dccbef86cd839975cf7d Mon Sep 17 00:00:00 2001 From: "Nikita P. Shupeyko" Date: Fri, 25 May 2018 12:16:04 +0300 Subject: [PATCH 0003/2840] Remove project doc files likely to remain unused --- {{cookiecutter.project_slug}}/docs/deploy.rst | 4 - .../docs/docker_ec2.rst | 186 ------------------ {{cookiecutter.project_slug}}/docs/index.rst | 14 +- .../docs/install.rst | 4 - 4 files changed, 4 insertions(+), 204 deletions(-) delete mode 100644 {{cookiecutter.project_slug}}/docs/deploy.rst delete mode 100644 {{cookiecutter.project_slug}}/docs/docker_ec2.rst delete mode 100644 {{cookiecutter.project_slug}}/docs/install.rst diff --git a/{{cookiecutter.project_slug}}/docs/deploy.rst b/{{cookiecutter.project_slug}}/docs/deploy.rst deleted file mode 100644 index 1e642c798..000000000 --- a/{{cookiecutter.project_slug}}/docs/deploy.rst +++ /dev/null @@ -1,4 +0,0 @@ -Deploy -======== - -This is where you describe how the project is deployed in production. diff --git a/{{cookiecutter.project_slug}}/docs/docker_ec2.rst b/{{cookiecutter.project_slug}}/docs/docker_ec2.rst deleted file mode 100644 index 606d29563..000000000 --- a/{{cookiecutter.project_slug}}/docs/docker_ec2.rst +++ /dev/null @@ -1,186 +0,0 @@ -Developing with Docker -====================== - -You can develop your application in a `Docker`_ container for simpler deployment onto bare Linux machines later. This instruction assumes an `Amazon Web Services`_ EC2 instance, but it should work on any machine with Docker > 1.3 and `Docker compose`_ installed. - -.. _Docker: https://www.docker.com/ -.. _Amazon Web Services: http://aws.amazon.com/ -.. _Docker compose: https://docs.docker.com/compose/ - -Setting up -^^^^^^^^^^ - -Docker encourages running one container for each process. This might mean one container for your web server, one for Django application and a third for your database. Once you're happy composing containers in this way you can easily add more, such as a `Redis`_ cache. - -.. _Redis: http://redis.io/ - -The Docker compose tool (previously known as `fig`_) makes linking these containers easy. An example set up for your Cookiecutter Django project might look like this: - -.. _fig: http://www.fig.sh/ - -:: - - webapp/ # Your cookiecutter project would be in here - Dockerfile - ... - database/ - Dockerfile - ... - webserver/ - Dockerfile - ... - production.yml - -Each component of your application would get its own `Dockerfile`_. The rest of this example assumes you are using the `base postgres image`_ for your database. Your database settings in `config/base.py` might then look something like: - -.. _Dockerfile: https://docs.docker.com/reference/builder/ -.. _base postgres image: https://registry.hub.docker.com/_/postgres/ - -.. code-block:: python - - DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql_psycopg2', - 'NAME': 'postgres', - 'USER': 'postgres', - 'HOST': 'database', - 'PORT': 5432, - } - } - -The `Docker compose documentation`_ explains in detail what you can accomplish in the `production.yml` file, but an example configuration might look like this: - -.. _Docker compose documentation: https://docs.docker.com/compose/#compose-documentation - -.. code-block:: yaml - - database: - build: database - webapp: - build: webapp: - command: /usr/bin/python3.6 manage.py runserver 0.0.0.0:8000 # dev setting - # command: gunicorn -b 0.0.0.0:8000 wsgi:application # production setting - volumes: - - webapp/your_project_name:/path/to/container/workdir/ - links: - - database - webserver: - build: webserver - ports: - - "80:80" - - "443:443" - links: - - webapp - -We'll ignore the webserver for now (you'll want to comment that part out while we do). A working Dockerfile to run your cookiecutter application might look like this: - -:: - - FROM ubuntu:14.04 - ENV REFRESHED_AT 2015-01-13 - - # update packages and prepare to build software - RUN ["apt-get", "update"] - RUN ["apt-get", "-y", "install", "build-essential", "vim", "git", "curl"] - RUN ["locale-gen", "en_GB.UTF-8"] - - # install latest python - RUN ["apt-get", "-y", "build-dep", "python3-dev", "python3-imaging"] - RUN ["apt-get", "-y", "install", "python3-dev", "python3-imaging", "python3-pip"] - - # prepare postgreSQL support - RUN ["apt-get", "-y", "build-dep", "python3-psycopg2"] - - # move into our working directory - # ADD must be after chown see http://stackoverflow.com/a/26145444/1281947 - RUN ["groupadd", "python"] - RUN ["useradd", "python", "-s", "/bin/bash", "-m", "-g", "python", "-G", "python"] - ENV HOME /home/python - WORKDIR /home/python - RUN ["chown", "-R", "python:python", "/home/python"] - ADD ./ /home/python - - # manage requirements - ENV REQUIREMENTS_REFRESHED_AT 2015-02-25 - RUN ["pip3", "install", "-r", "requirements.txt"] - - # uncomment the line below to use container as a non-root user - USER python:python - -Running `sudo docker-compose -f production.yml build` will follow the instructions in your `production.yml` file and build the database container, then your webapp, before mounting your cookiecutter project files as a volume in the webapp container and linking to the database. Our example yaml file runs in development mode but changing it to production mode is as simple as commenting out the line using `runserver` and uncommenting the line using `gunicorn`. - -Both are set to run on port `0.0.0.0:8000`, which is where the Docker daemon will discover it. You can now run `sudo docker-compose -f production.yml up` and browse to `localhost:8000` to see your application running. - -Deployment -^^^^^^^^^^ - -You'll need a webserver container for deployment. An example setup for `Nginx`_ might look like this: - -.. _Nginx: http://wiki.nginx.org/Main - -:: - - FROM ubuntu:14.04 - ENV REFRESHED_AT 2015-02-11 - - # get the nginx package and set it up - RUN ["apt-get", "update"] - RUN ["apt-get", "-y", "install", "nginx"] - - # forward request and error logs to docker log collector - RUN ln -sf /dev/stdout /var/log/nginx/access.log - RUN ln -sf /dev/stderr /var/log/nginx/error.log - VOLUME ["/var/cache/nginx"] - EXPOSE 80 443 - - # load nginx conf - ADD ./site.conf /etc/nginx/sites-available/your_cookiecutter_project - RUN ["ln", "-s", "/etc/nginx/sites-available/your_cookiecutter_project", "/etc/nginx/sites-enabled/your_cookiecutter_project"] - RUN ["rm", "-rf", "/etc/nginx/sites-available/default"] - - #start the server - CMD ["nginx", "-g", "daemon off;"] - -That Dockerfile assumes you have an Nginx conf file named `site.conf` in the same directory as the webserver Dockerfile. A very basic example, which forwards traffic onto the development server or gunicorn for processing, would look like this: - -:: - - # see http://serverfault.com/questions/577370/how-can-i-use-environment-variables-in-nginx-conf#comment730384_577370 - upstream localhost { - server webapp_1:8000; - } - server { - location / { - proxy_pass http://localhost; - } - } - -Running `sudo docker-compose -f production.yml build webserver` will build your server container. Running `sudo docker-compose -f production.yml up` will now expose your application directly on `localhost` (no need to specify the port number). - -Building and running your app on EC2 -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -All you now need to do to run your app in production is: - -* Create an empty EC2 Linux instance (any Linux machine should do). - -* Install your preferred source control solution, Docker and Docker compose on the news instance. - -* Pull in your code from source control. The root directory should be the one with your `production.yml` file in it. - -* Run `sudo docker-compose -f production.yml build` and `sudo docker-compose -f production.yml up`. - -* Assign an `Elastic IP address`_ to your new machine. - -.. _Elastic IP address: https://aws.amazon.com/articles/1346 - -* Point your domain name to the elastic IP. - -**Be careful with Elastic IPs** because, on the AWS free tier, if you assign one and then stop the machine you will incur charges while the machine is down (presumably because you're preventing them allocating the IP to someone else). - -Security advisory -^^^^^^^^^^^^^^^^^ - -The setup described in this instruction will get you up-and-running but it hasn't been audited for security. If you are running your own setup like this it is always advisable to, at a minimum, examine your application with a tool like `OWASP ZAP`_ to see what security holes you might be leaving open. - -.. _OWASP ZAP: https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project diff --git a/{{cookiecutter.project_slug}}/docs/index.rst b/{{cookiecutter.project_slug}}/docs/index.rst index 21ef98ee5..96752d807 100644 --- a/{{cookiecutter.project_slug}}/docs/index.rst +++ b/{{cookiecutter.project_slug}}/docs/index.rst @@ -3,23 +3,17 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -Welcome to {{ cookiecutter.project_name }}'s documentation! +{{ cookiecutter.project_name }} Project Documentation ==================================================================== -Contents: +Table of Contents: .. toctree:: :maxdepth: 2 - install - deploy - docker_ec2 - tests - - -Indices and tables -================== +Indices & Tables +================ * :ref:`genindex` * :ref:`modindex` diff --git a/{{cookiecutter.project_slug}}/docs/install.rst b/{{cookiecutter.project_slug}}/docs/install.rst deleted file mode 100644 index 1bc03335d..000000000 --- a/{{cookiecutter.project_slug}}/docs/install.rst +++ /dev/null @@ -1,4 +0,0 @@ -Install -========= - -This is where you write how to get a new laptop to run this project. From 867e2ad629a03a5678dc5bea87fcd06b94099599 Mon Sep 17 00:00:00 2001 From: Demetris Stavrou Date: Thu, 21 Jun 2018 23:11:08 +0300 Subject: [PATCH 0004/2840] Redis config in local is now conditional on Celery. --- {{cookiecutter.project_slug}}/.envs/.local/.django | 2 ++ 1 file changed, 2 insertions(+) diff --git a/{{cookiecutter.project_slug}}/.envs/.local/.django b/{{cookiecutter.project_slug}}/.envs/.local/.django index 8aa9a9946..a145c6bcd 100644 --- a/{{cookiecutter.project_slug}}/.envs/.local/.django +++ b/{{cookiecutter.project_slug}}/.envs/.local/.django @@ -2,6 +2,8 @@ # ------------------------------------------------------------------------------ USE_DOCKER=yes +{%- if cookiecutter.use_celery == 'y' %} # Redis # ------------------------------------------------------------------------------ REDIS_URL=redis://redis:6379/0 +{% endif %} From 6f638078ebe6edcf6b1930658ba2ee4451c94c95 Mon Sep 17 00:00:00 2001 From: Demetris Stavrou Date: Fri, 22 Jun 2018 17:32:10 +0300 Subject: [PATCH 0005/2840] Moved CELERY_BROKER_URL definition to .django env file to resolve error when Celery is not used (PR #1693) --- {{cookiecutter.project_slug}}/.envs/.production/.django | 7 +++++++ .../compose/production/django/entrypoint.sh | 3 --- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.envs/.production/.django b/{{cookiecutter.project_slug}}/.envs/.production/.django index 2e9eefea7..1203ce648 100644 --- a/{{cookiecutter.project_slug}}/.envs/.production/.django +++ b/{{cookiecutter.project_slug}}/.envs/.production/.django @@ -43,3 +43,10 @@ DJANGO_SENTRY_DSN= # Redis # ------------------------------------------------------------------------------ REDIS_URL=redis://redis:6379/0 + +{% if cookiecutter.use_celery == "y" %} +# Celery +# ------------------------------------------------------------------------------ +CELERY_BROKER_URL=redis://redis:6379/0 + +{% endif %} \ No newline at end of file diff --git a/{{cookiecutter.project_slug}}/compose/production/django/entrypoint.sh b/{{cookiecutter.project_slug}}/compose/production/django/entrypoint.sh index 74242bde4..ae0858e1a 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/entrypoint.sh +++ b/{{cookiecutter.project_slug}}/compose/production/django/entrypoint.sh @@ -7,9 +7,6 @@ set -o nounset cmd="$@" -# N.B. If only .env files supported variable expansion... -export CELERY_BROKER_URL="${REDIS_URL}" - if [ -z "${POSTGRES_USER}" ]; then base_postgres_image_default_user='postgres' export POSTGRES_USER="${base_postgres_image_default_user}" From 72893b1d0678b9e248e16660e419fbd680b30d4f Mon Sep 17 00:00:00 2001 From: Demetris Stavrou Date: Thu, 21 Jun 2018 23:11:08 +0300 Subject: [PATCH 0006/2840] Redis config in local is now conditional on Celery. --- {{cookiecutter.project_slug}}/.envs/.local/.django | 2 ++ 1 file changed, 2 insertions(+) diff --git a/{{cookiecutter.project_slug}}/.envs/.local/.django b/{{cookiecutter.project_slug}}/.envs/.local/.django index 8aa9a9946..a145c6bcd 100644 --- a/{{cookiecutter.project_slug}}/.envs/.local/.django +++ b/{{cookiecutter.project_slug}}/.envs/.local/.django @@ -2,6 +2,8 @@ # ------------------------------------------------------------------------------ USE_DOCKER=yes +{%- if cookiecutter.use_celery == 'y' %} # Redis # ------------------------------------------------------------------------------ REDIS_URL=redis://redis:6379/0 +{% endif %} From 065becf277d1d56207114aeefbb25f85f62a678d Mon Sep 17 00:00:00 2001 From: Demetris Stavrou Date: Fri, 22 Jun 2018 17:32:10 +0300 Subject: [PATCH 0007/2840] Moved CELERY_BROKER_URL definition to .django env file to resolve error when Celery is not used (PR #1693) --- {{cookiecutter.project_slug}}/.envs/.production/.django | 7 +++++++ .../compose/production/django/entrypoint | 3 --- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.envs/.production/.django b/{{cookiecutter.project_slug}}/.envs/.production/.django index 5cb90897b..34ab71a28 100644 --- a/{{cookiecutter.project_slug}}/.envs/.production/.django +++ b/{{cookiecutter.project_slug}}/.envs/.production/.django @@ -43,3 +43,10 @@ SENTRY_DSN= # Redis # ------------------------------------------------------------------------------ REDIS_URL=redis://redis:6379/0 + +{% if cookiecutter.use_celery == "y" %} +# Celery +# ------------------------------------------------------------------------------ +CELERY_BROKER_URL=redis://redis:6379/0 + +{% endif %} \ No newline at end of file diff --git a/{{cookiecutter.project_slug}}/compose/production/django/entrypoint b/{{cookiecutter.project_slug}}/compose/production/django/entrypoint index 4845e343b..e2c22de5f 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/entrypoint +++ b/{{cookiecutter.project_slug}}/compose/production/django/entrypoint @@ -5,9 +5,6 @@ set -o pipefail set -o nounset -# N.B. If only .env files supported variable expansion... -export CELERY_BROKER_URL="${REDIS_URL}" - if [ -z "${POSTGRES_USER}" ]; then base_postgres_image_default_user='postgres' export POSTGRES_USER="${base_postgres_image_default_user}" From c3026e7dfbf94960bc7416bf782dc69285cc0de1 Mon Sep 17 00:00:00 2001 From: Demetris Stavrou Date: Wed, 27 Jun 2018 23:36:06 +0300 Subject: [PATCH 0008/2840] Added CELERY_BROKER_URL back to entrypoint and surrounded it with a conditional --- .../compose/production/django/entrypoint | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/{{cookiecutter.project_slug}}/compose/production/django/entrypoint b/{{cookiecutter.project_slug}}/compose/production/django/entrypoint index e2c22de5f..0a76b3107 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/entrypoint +++ b/{{cookiecutter.project_slug}}/compose/production/django/entrypoint @@ -5,6 +5,11 @@ set -o pipefail set -o nounset +{% if cookiecutter.use_celery == 'y' %} +# N.B. If only .env files supported variable expansion... +export CELERY_BROKER_URL="${REDIS_URL}" +{% endif %} + if [ -z "${POSTGRES_USER}" ]; then base_postgres_image_default_user='postgres' export POSTGRES_USER="${base_postgres_image_default_user}" From d79f122bc93346ec2f8cbbe5fab6922737060321 Mon Sep 17 00:00:00 2001 From: Demetris Stavrou Date: Thu, 21 Jun 2018 23:11:08 +0300 Subject: [PATCH 0009/2840] Redis config in local is now conditional on Celery. --- {{cookiecutter.project_slug}}/.envs/.local/.django | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.envs/.local/.django b/{{cookiecutter.project_slug}}/.envs/.local/.django index d94a17e59..6f7a2b11e 100644 --- a/{{cookiecutter.project_slug}}/.envs/.local/.django +++ b/{{cookiecutter.project_slug}}/.envs/.local/.django @@ -2,10 +2,11 @@ # ------------------------------------------------------------------------------ USE_DOCKER=yes +{%- if cookiecutter.use_celery == 'y' %} # Redis # ------------------------------------------------------------------------------ REDIS_URL=redis://redis:6379/0 -{% if cookiecutter.use_celery == 'y' %} + # Celery # ------------------------------------------------------------------------------ From 7c69704f9fe3351be10f976e6eb26f7e98932b33 Mon Sep 17 00:00:00 2001 From: Demetris Stavrou Date: Fri, 22 Jun 2018 17:32:10 +0300 Subject: [PATCH 0010/2840] Moved CELERY_BROKER_URL definition to .django env file to resolve error when Celery is not used (PR #1693) --- .../compose/production/django/entrypoint | 3 --- 1 file changed, 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/production/django/entrypoint b/{{cookiecutter.project_slug}}/compose/production/django/entrypoint index 4845e343b..e2c22de5f 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/entrypoint +++ b/{{cookiecutter.project_slug}}/compose/production/django/entrypoint @@ -5,9 +5,6 @@ set -o pipefail set -o nounset -# N.B. If only .env files supported variable expansion... -export CELERY_BROKER_URL="${REDIS_URL}" - if [ -z "${POSTGRES_USER}" ]; then base_postgres_image_default_user='postgres' export POSTGRES_USER="${base_postgres_image_default_user}" From 2c56b2e0e30196b2f89582a640170b3a5fae0145 Mon Sep 17 00:00:00 2001 From: Demetris Stavrou Date: Wed, 27 Jun 2018 23:36:06 +0300 Subject: [PATCH 0011/2840] Added CELERY_BROKER_URL back to entrypoint and surrounded it with a conditional --- .../compose/production/django/entrypoint | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/{{cookiecutter.project_slug}}/compose/production/django/entrypoint b/{{cookiecutter.project_slug}}/compose/production/django/entrypoint index e2c22de5f..0a76b3107 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/entrypoint +++ b/{{cookiecutter.project_slug}}/compose/production/django/entrypoint @@ -5,6 +5,11 @@ set -o pipefail set -o nounset +{% if cookiecutter.use_celery == 'y' %} +# N.B. If only .env files supported variable expansion... +export CELERY_BROKER_URL="${REDIS_URL}" +{% endif %} + if [ -z "${POSTGRES_USER}" ]; then base_postgres_image_default_user='postgres' export POSTGRES_USER="${base_postgres_image_default_user}" From 0ef965cbfd3af71cf42dbd603e8e61f04b976462 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 30 Jan 2019 11:53:28 -0800 Subject: [PATCH 0012/2840] Update django-extensions from 2.1.4 to 2.1.5 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 7ee9a1ee3..9c7646bde 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -25,6 +25,6 @@ coverage==4.5.2 # https://github.com/nedbat/coveragepy factory-boy==2.11.1 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==1.11 # https://github.com/jazzband/django-debug-toolbar -django-extensions==2.1.4 # https://github.com/django-extensions/django-extensions +django-extensions==2.1.5 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.4.5 # https://github.com/pytest-dev/pytest-django From 75837bac657a9cdf32b34c1ed77962f6bf6294c6 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 30 Jan 2019 16:40:22 -0800 Subject: [PATCH 0013/2840] Update pytest from 4.1.1 to 4.2.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 90870656e..12e880804 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,5 +9,5 @@ flake8==3.6.0 # Testing # ------------------------------------------------------------------------------ tox==3.6.1 -pytest==4.1.1 +pytest==4.2.0 pytest-cookies==0.3.0 From 8c7a3613babefd2903ecff08956e15dce9adf7a7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 30 Jan 2019 16:40:23 -0800 Subject: [PATCH 0014/2840] Update pytest from 4.1.1 to 4.2.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 7ee9a1ee3..8fe77cc21 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.7.7 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.660 # https://github.com/python/mypy -pytest==4.1.1 # https://github.com/pytest-dev/pytest +pytest==4.2.0 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From 12777d06c9c552980e829f53bc65700b074a0185 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 31 Jan 2019 05:23:22 -0800 Subject: [PATCH 0015/2840] Update flake8 from 3.6.0 to 3.7.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 90870656e..f3dc61e77 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ -flake8==3.6.0 +flake8==3.7.3 # Testing # ------------------------------------------------------------------------------ From 43bfd66aa07c4b483429af8b09b189f319cb36f2 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 31 Jan 2019 05:23:23 -0800 Subject: [PATCH 0016/2840] Update flake8 from 3.6.0 to 3.7.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 7ee9a1ee3..45acbb134 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -17,7 +17,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ -flake8==3.6.0 # https://github.com/PyCQA/flake8 +flake8==3.7.3 # https://github.com/PyCQA/flake8 coverage==4.5.2 # https://github.com/nedbat/coveragepy # Django From 57c18bb2a0a0fba04c87b3926eb1f58c5f3bbfd4 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 1 Feb 2019 06:53:35 -0800 Subject: [PATCH 0017/2840] Update flake8 from 3.7.3 to 3.7.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 63aacd870..cd78264b9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ -flake8==3.7.3 +flake8==3.7.4 # Testing # ------------------------------------------------------------------------------ From 8774ede3b01acb2d44ddbf3c1efd1bae4d1a6663 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 1 Feb 2019 06:53:37 -0800 Subject: [PATCH 0018/2840] Update flake8 from 3.7.3 to 3.7.4 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 2a321cc1c..76cff8956 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -17,7 +17,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ -flake8==3.7.3 # https://github.com/PyCQA/flake8 +flake8==3.7.4 # https://github.com/PyCQA/flake8 coverage==4.5.2 # https://github.com/nedbat/coveragepy # Django From 6050368df08e4b4fb07e6f211db2c3bca98cc5f1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 3 Feb 2019 13:54:30 -0800 Subject: [PATCH 0019/2840] Update pytest-django from 3.4.5 to 3.4.7 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 2a321cc1c..afcb6655f 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -27,4 +27,4 @@ factory-boy==2.11.1 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==1.11 # https://github.com/jazzband/django-debug-toolbar django-extensions==2.1.5 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin -pytest-django==3.4.5 # https://github.com/pytest-dev/pytest-django +pytest-django==3.4.7 # https://github.com/pytest-dev/pytest-django From ce23247401c82d9bf243582496924b7e5f562dcd Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 4 Feb 2019 18:46:33 -0800 Subject: [PATCH 0020/2840] Update flake8 from 3.7.4 to 3.7.5 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index cd78264b9..1fd7fe7ca 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ -flake8==3.7.4 +flake8==3.7.5 # Testing # ------------------------------------------------------------------------------ From fe819925015f9d617ee83bd48ab76a9788f5c357 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 4 Feb 2019 18:46:34 -0800 Subject: [PATCH 0021/2840] Update flake8 from 3.7.4 to 3.7.5 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 76cff8956..2c26e1f5c 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -17,7 +17,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ -flake8==3.7.4 # https://github.com/PyCQA/flake8 +flake8==3.7.5 # https://github.com/PyCQA/flake8 coverage==4.5.2 # https://github.com/nedbat/coveragepy # Django From 06a96b68dcfedbcd14728195a0b8d362881841c7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 4 Feb 2019 18:46:40 -0800 Subject: [PATCH 0022/2840] Update sphinx from 1.8.3 to 1.8.4 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 76cff8956..901e0f0c7 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==0.14.1 # https://github.com/pallets/werkzeug ipdb==0.11 # https://github.com/gotcha/ipdb -Sphinx==1.8.3 # https://github.com/sphinx-doc/sphinx +Sphinx==1.8.4 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.7.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From 9e2d335ed33d49c7a84157657533294a3bf097a1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 8 Feb 2019 16:28:37 -0800 Subject: [PATCH 0023/2840] Update mypy from 0.660 to 0.670 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 17900ac8a..a496135b6 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -11,7 +11,7 @@ psycopg2-binary==2.7.7 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ -mypy==0.660 # https://github.com/python/mypy +mypy==0.670 # https://github.com/python/mypy pytest==4.2.0 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar From 1c11f0950f290ef8401a85afc83becbc95e363e3 Mon Sep 17 00:00:00 2001 From: "pyup.io bot" Date: Sat, 16 Feb 2019 13:34:11 +0200 Subject: [PATCH 0024/2840] Update django from 2.0.10 to 2.0.13 (#1936) --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 09ca8ddd6..e43b70af6 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -18,7 +18,7 @@ flower==0.9.2 # https://github.com/mher/flower # Django # ------------------------------------------------------------------------------ -django==2.0.10 # pyup: < 2.1 # https://www.djangoproject.com/ +django==2.0.13 # pyup: < 2.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==3.1.2 # https://github.com/jazzband/django-model-utils django-allauth==0.38.0 # https://github.com/pennersr/django-allauth From 0f8275911bcb297fd88624ddd2137d3ffb9e4ba1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 16 Feb 2019 03:34:22 -0800 Subject: [PATCH 0025/2840] Update pytest from 4.2.0 to 4.2.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 1fd7fe7ca..db6dcb6d0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,5 +9,5 @@ flake8==3.7.5 # Testing # ------------------------------------------------------------------------------ tox==3.6.1 -pytest==4.2.0 +pytest==4.2.1 pytest-cookies==0.3.0 From 407ccb64ba1157283973225a357bbe78c30d94e7 Mon Sep 17 00:00:00 2001 From: "pyup.io bot" Date: Wed, 20 Feb 2019 19:10:41 +0200 Subject: [PATCH 0026/2840] Update pytest from 4.2.1 to 4.3.0 (#1944) --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index db6dcb6d0..a8db78f9d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,5 +9,5 @@ flake8==3.7.5 # Testing # ------------------------------------------------------------------------------ tox==3.6.1 -pytest==4.2.1 +pytest==4.3.0 pytest-cookies==0.3.0 From b09d840b54f6b874a5e35c4cb59162f87d3f4cb5 Mon Sep 17 00:00:00 2001 From: "pyup.io bot" Date: Wed, 20 Feb 2019 19:10:52 +0200 Subject: [PATCH 0027/2840] Update flake8 from 3.7.5 to 3.7.6 (#1943) --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index a8db78f9d..dabb5dd91 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ -flake8==3.7.5 +flake8==3.7.6 # Testing # ------------------------------------------------------------------------------ From 2676401ed79d74881b86821b35e5ce59254b5fd0 Mon Sep 17 00:00:00 2001 From: Anna Sidwell Date: Sat, 23 Feb 2019 17:12:19 +1100 Subject: [PATCH 0028/2840] Update Gulp & other dependencies --- {{cookiecutter.project_slug}}/gulpfile.js | 157 +++++++++++---------- {{cookiecutter.project_slug}}/package.json | 33 ++--- 2 files changed, 101 insertions(+), 89 deletions(-) diff --git a/{{cookiecutter.project_slug}}/gulpfile.js b/{{cookiecutter.project_slug}}/gulpfile.js index bb18a535d..1f65b30cc 100644 --- a/{{cookiecutter.project_slug}}/gulpfile.js +++ b/{{cookiecutter.project_slug}}/gulpfile.js @@ -1,34 +1,32 @@ +//////////////////////////////// +// Setup +//////////////////////////////// -//////////////////////////////// - //Setup// -//////////////////////////////// +// Gulp and package +const { src, dest, parallel, series, watch } = require('gulp') +const pjson = require('./package.json') // Plugins -var gulp = require('gulp'), - pjson = require('./package.json'), - gutil = require('gulp-util'), - sass = require('gulp-sass'), - autoprefixer = require('gulp-autoprefixer'), - cssnano = require('gulp-cssnano'), - {% if cookiecutter.custom_bootstrap_compilation == 'y' %} - concat = require('gulp-concat'), - {% endif %} - rename = require('gulp-rename'), - del = require('del'), - plumber = require('gulp-plumber'), - pixrem = require('gulp-pixrem'), - uglify = require('gulp-uglify'), - imagemin = require('gulp-imagemin'), - spawn = require('child_process').spawn, - runSequence = require('run-sequence'), - browserSync = require('browser-sync').create(), - reload = browserSync.reload; - +const autoprefixer = require('autoprefixer') +const browserSync = require('browser-sync').create() +{% if cookiecutter.custom_bootstrap_compilation == 'y' %} +const concat = require('gulp-concat') +{% endif %} +const cssnano = require ('cssnano') +const imagemin = require('gulp-imagemin') +const pixrem = require('pixrem') +const plumber = require('gulp-plumber') +const postcss = require('gulp-postcss') +const reload = browserSync.reload +const rename = require('gulp-rename') +const sass = require('gulp-sass') +const spawn = require('child_process').spawn +const uglify = require('gulp-uglify-es').default // Relative paths function -var pathsConfig = function (appName) { - this.app = "./" + (appName || pjson.name); - var vendorsRoot = 'node_modules/'; +function pathsConfig(appName) { + this.app = "./" + (appName || pjson.name) + var vendorsRoot = 'node_modules/' return { {% if cookiecutter.custom_bootstrap_compilation == 'y' %} @@ -47,17 +45,26 @@ var pathsConfig = function (appName) { images: this.app + '/static/images', js: this.app + '/static/js' } -}; +} -var paths = pathsConfig(); +var paths = pathsConfig() //////////////////////////////// - //Tasks// +// Tasks //////////////////////////////// // Styles autoprefixing and minification -gulp.task('styles', function() { - return gulp.src(paths.sass + '/project.scss') +function styles() { + var processCss = [ + autoprefixer(), // adds vendor prefixes + pixrem(), // add fallbacks for rem units + ] + + var minifyCss = [ + cssnano({ preset: 'default' }) // minify result + ] + + return src(paths.sass + '/project.scss') .pipe(sass({ includePaths: [ {% if cookiecutter.custom_bootstrap_compilation == 'y' %} @@ -67,72 +74,80 @@ gulp.task('styles', function() { ] }).on('error', sass.logError)) .pipe(plumber()) // Checks for errors - .pipe(autoprefixer({browsers: ['last 2 versions']})) // Adds vendor prefixes - .pipe(pixrem()) // add fallbacks for rem units - .pipe(gulp.dest(paths.css)) + .pipe(postcss(processCss)) + .pipe(dest(paths.css)) .pipe(rename({ suffix: '.min' })) - .pipe(cssnano()) // Minifies the result - .pipe(gulp.dest(paths.css)); -}); + .pipe(postcss(minifyCss)) // Minifies the result + .pipe(dest(paths.css)) +} // Javascript minification -gulp.task('scripts', function() { - return gulp.src(paths.js + '/project.js') +function scripts() { + return src(paths.js + '/project.js') .pipe(plumber()) // Checks for errors .pipe(uglify()) // Minifies the js .pipe(rename({ suffix: '.min' })) - .pipe(gulp.dest(paths.js)); -}); - + .pipe(dest(paths.js)) +} {% if cookiecutter.custom_bootstrap_compilation == 'y' %} // Vendor Javascript minification -gulp.task('vendor-scripts', function() { - return gulp.src(paths.vendorsJs) +function vendorScripts() { + return src(paths.vendorsJs) .pipe(concat('vendors.js')) - .pipe(gulp.dest(paths.js)) + .pipe(dest(paths.js)) .pipe(plumber()) // Checks for errors .pipe(uglify()) // Minifies the js .pipe(rename({ suffix: '.min' })) - .pipe(gulp.dest(paths.js)); -}); + .pipe(dest(paths.js)) +} {% endif %} // Image compression -gulp.task('imgCompression', function(){ - return gulp.src(paths.images + '/*') +function imgCompression() { + return src(paths.images + '/*') .pipe(imagemin()) // Compresses PNG, JPEG, GIF and SVG images - .pipe(gulp.dest(paths.images)) -}); + .pipe(dest(paths.images)) +} + +// Generate all assets +const generateAssets = parallel( + styles, + scripts, + {% if cookiecutter.custom_bootstrap_compilation == 'y' %}vendorScripts,{% endif %} + imgCompression +) // Run django server -gulp.task('runServer', function(cb) { - var cmd = spawn('python', ['manage.py', 'runserver'], {stdio: 'inherit'}); +function runServer(cb) { + var cmd = spawn('python', ['manage.py', 'runserver'], {stdio: 'inherit'}) cmd.on('close', function(code) { - console.log('runServer exited with code ' + code); - cb(code); - }); -}); + console.log('runServer exited with code ' + code) + cb(code) + }) +} // Browser sync server for live reload -gulp.task('browserSync', function() { +function initBrowserSync() { browserSync.init( [paths.css + "/*.css", paths.js + "*.js", paths.templates + '*.html'], { proxy: "localhost:8000" - }); -}); + }) +} // Watch -gulp.task('watch', function() { +function watchPaths() { + watch(paths.sass + '/*.scss', styles) + watch(paths.js + '/*.js', scripts).on("change", reload) + watch(paths.images + '/*', imgCompression) + watch(paths.templates + '/**/*.html').on("change", reload) +} - gulp.watch(paths.sass + '/*.scss', ['styles']); - gulp.watch(paths.js + '/*.js', ['scripts']).on("change", reload); - gulp.watch(paths.images + '/*', ['imgCompression']); - gulp.watch(paths.templates + '/**/*.html').on("change", reload); +// Set up dev environment +const dev = parallel( + runServer, + initBrowserSync, + watchPaths +) -}); - -// Default task -gulp.task('default', function() { - runSequence(['styles', 'scripts', {% if cookiecutter.custom_bootstrap_compilation == 'y' %}'vendor-scripts', {% endif %}'imgCompression'], ['runServer', 'browserSync', 'watch']); -}); +exports.default = series(generateAssets, dev) diff --git a/{{cookiecutter.project_slug}}/package.json b/{{cookiecutter.project_slug}}/package.json index b29d52963..a15df941e 100644 --- a/{{cookiecutter.project_slug}}/package.json +++ b/{{cookiecutter.project_slug}}/package.json @@ -6,32 +6,29 @@ {% if cookiecutter.js_task_runner == 'Gulp' -%} {% if cookiecutter.custom_bootstrap_compilation == 'y' -%} "bootstrap": "4.1.1", - {% endif -%} - "browser-sync": "^2.14.0", - "del": "^2.2.2", - "gulp": "^3.9.1", - "gulp-autoprefixer": "^5.0.0", - {% if cookiecutter.custom_bootstrap_compilation == 'y' -%} "gulp-concat": "^2.6.1", - {% endif -%} - "gulp-cssnano": "^2.1.2", - "gulp-imagemin": "^4.1.0", - "gulp-pixrem": "^1.0.0", - "gulp-plumber": "^1.1.0", - "gulp-rename": "^1.2.2", - "gulp-sass": "^3.1.0", - "gulp-uglify": "^3.0.0", - "gulp-util": "^3.0.7", - {% if cookiecutter.custom_bootstrap_compilation == 'y' -%} "jquery": "3.3.1", "popper.js": "1.14.3", {% endif -%} - "run-sequence": "^2.1.1" + "autoprefixer": "^9.4.7", + "browser-sync": "^2.14.0", + "cssnano": "^4.1.10", + "gulp": "^4.0.0", + "gulp-imagemin": "^5.0.3", + "gulp-plumber": "^1.2.1", + "gulp-postcss": "^8.0.0", + "gulp-rename": "^1.2.2", + "gulp-sass": "^4.0.2", + "gulp-uglify-es": "^1.0.4", + "pixrem": "^5.0.0" {%- endif %} }, "engines": { - "node": ">=0.8.0" + "node": ">=8" }, + "browserslist": [ + "last 2 versions" + ], "scripts": { {% if cookiecutter.js_task_runner == 'Gulp' -%} "dev": "gulp" From 17a9632031d55ca5bd464f9c8ef79480f99ab48c Mon Sep 17 00:00:00 2001 From: Anna Sidwell Date: Sat, 23 Feb 2019 18:57:42 +1100 Subject: [PATCH 0029/2840] Add my name to contributors --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index e3569e78e..e6111cd15 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -57,6 +57,7 @@ Listed in alphabetical order. Andrew Mikhnevich `@zcho`_ Andy Rose Anna Callahan `@jazztpt`_ + Anna Sidwell `@takkaria`_ Antonia Blair `@antoniablair`_ @antoniablairart Anuj Bansal `@ahhda`_ Arcuri Davide `@dadokkio`_ @@ -271,6 +272,7 @@ Listed in alphabetical order. .. _@ssteinerX: https://github.com/ssteinerx .. _@stepmr: https://github.com/stepmr .. _@suledev: https://github.com/suledev +.. _@takkaria: https://github.com/takkaria .. _@timfreund: https://github.com/timfreund .. _@Travistock: https://github.com/Tavistock .. _@trungdong: https://github.com/trungdong From b6b7176d02fc95e03b6bd29b9ec8dcad63f6dd2e Mon Sep 17 00:00:00 2001 From: Anna Sidwell Date: Wed, 27 Feb 2019 10:11:20 +1100 Subject: [PATCH 0030/2840] Make requested changes: * Reorder meta tasks to the bottom * Fix JS compilation issue * Replace strings concatenation with templates --- {{cookiecutter.project_slug}}/gulpfile.js | 66 ++++++++++++----------- 1 file changed, 36 insertions(+), 30 deletions(-) diff --git a/{{cookiecutter.project_slug}}/gulpfile.js b/{{cookiecutter.project_slug}}/gulpfile.js index 1f65b30cc..d92678ed2 100644 --- a/{{cookiecutter.project_slug}}/gulpfile.js +++ b/{{cookiecutter.project_slug}}/gulpfile.js @@ -25,25 +25,25 @@ const uglify = require('gulp-uglify-es').default // Relative paths function function pathsConfig(appName) { - this.app = "./" + (appName || pjson.name) - var vendorsRoot = 'node_modules/' + this.app = `./${pjson.name}` + const vendorsRoot = 'node_modules' return { {% if cookiecutter.custom_bootstrap_compilation == 'y' %} - bootstrapSass: vendorsRoot + '/bootstrap/scss', + bootstrapSass: `${vendorsRoot}/bootstrap/scss`, vendorsJs: [ - vendorsRoot + 'jquery/dist/jquery.slim.js', - vendorsRoot + 'popper.js/dist/umd/popper.js', - vendorsRoot + 'bootstrap/dist/js/bootstrap.js' + `${vendorsRoot}/jquery/dist/jquery.slim.js`, + `${vendorsRoot}/popper.js/dist/umd/popper.js`, + `${vendorsRoot}/bootstrap/dist/js/bootstrap.js`, ], {% endif %} app: this.app, - templates: this.app + '/templates', - css: this.app + '/static/css', - sass: this.app + '/static/sass', - fonts: this.app + '/static/fonts', - images: this.app + '/static/images', - js: this.app + '/static/js' + templates: `${this.app}/templates`, + css: `${this.app}/static/css`, + sass: `${this.app}/static/sass`, + fonts: `${this.app}/static/fonts`, + images: `${this.app}/static/images`, + js: `${this.app}/static/js`, } } @@ -64,7 +64,7 @@ function styles() { cssnano({ preset: 'default' }) // minify result ] - return src(paths.sass + '/project.scss') + return src(`${paths.sass}/project.scss`) .pipe(sass({ includePaths: [ {% if cookiecutter.custom_bootstrap_compilation == 'y' %} @@ -83,7 +83,7 @@ function styles() { // Javascript minification function scripts() { - return src(paths.js + '/project.js') + return src(`${paths.js}/project.js`) .pipe(plumber()) // Checks for errors .pipe(uglify()) // Minifies the js .pipe(rename({ suffix: '.min' })) @@ -105,19 +105,11 @@ function vendorScripts() { // Image compression function imgCompression() { - return src(paths.images + '/*') + return src(`${paths.images}/*`) .pipe(imagemin()) // Compresses PNG, JPEG, GIF and SVG images .pipe(dest(paths.images)) } -// Generate all assets -const generateAssets = parallel( - styles, - scripts, - {% if cookiecutter.custom_bootstrap_compilation == 'y' %}vendorScripts,{% endif %} - imgCompression -) - // Run django server function runServer(cb) { var cmd = spawn('python', ['manage.py', 'runserver'], {stdio: 'inherit'}) @@ -130,19 +122,31 @@ function runServer(cb) { // Browser sync server for live reload function initBrowserSync() { browserSync.init( - [paths.css + "/*.css", paths.js + "*.js", paths.templates + '*.html'], { - proxy: "localhost:8000" - }) + [ + `${paths.css}/*.css`, + `${paths.js}/*.js`, + `${paths.templates}/*.html` + ], { + proxy: "localhost:8000" + } + ) } // Watch function watchPaths() { - watch(paths.sass + '/*.scss', styles) - watch(paths.js + '/*.js', scripts).on("change", reload) - watch(paths.images + '/*', imgCompression) - watch(paths.templates + '/**/*.html').on("change", reload) + watch(`${paths.sass}/*.scss`, styles) + watch(`${paths.templates}/**/*.html`).on("change", reload) + watch([`${paths.js}/*.js`, `!${paths.js}/*.min.js`], scripts).on("change", reload) } +// Generate all assets +const generateAssets = parallel( + styles, + scripts, + {% if cookiecutter.custom_bootstrap_compilation == 'y' %}vendorScripts,{% endif %} + imgCompression +) + // Set up dev environment const dev = parallel( runServer, @@ -151,3 +155,5 @@ const dev = parallel( ) exports.default = series(generateAssets, dev) +exports["generate-assets"] = generateAssets +exports["dev"] = dev From aea5c807f6c3d123b5d8dbe7e0ceaa2791abcbee Mon Sep 17 00:00:00 2001 From: keithjeb Date: Sat, 2 Mar 2019 14:51:30 +0100 Subject: [PATCH 0031/2840] Change eager celery setting in local Docker (#1945) [//]: # (Thank you for helping us out: your efforts mean great deal to the project and the community as a whole!) [//]: # (Before you proceed:) [//]: # (1. Make sure to add yourself to `CONTRIBUTORS.rst` through this PR provided you're contributing here for the first time) [//]: # (2. Don't forget to update the `docs/` presuming others would benefit from a concise description of whatever that you're proposing) ## Description [//]: # (What's it you're proposing?) Added a note around CELERY_TASK_ALWAYS_EAGER = True in docker config for local development. This causes tasks to be executed on the 'main' thread rather than by the workers. I understand why that might be desirable, but thought it worth calling out incase (like me) it makes people think something is broken. ## Rationale [//]: # (Why does the project need that?) Ease of use/troubleshooting ## Use case(s) / visualization(s) [//]: # ("Better to see something once than to hear about it a thousand times.") --- CONTRIBUTORS.rst | 2 ++ docs/developing-locally-docker.rst | 10 ++++++++++ docs/developing-locally.rst | 10 ++++++++++ {{cookiecutter.project_slug}}/config/settings/local.py | 2 ++ 4 files changed, 24 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index e6111cd15..0de1077e6 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -180,6 +180,7 @@ Listed in alphabetical order. Denis Bobrov `@delneg`_ Philipp Matthies `@canonnervio`_ Vadim Iskuchekov `@Egregors`_ @egregors + Keith Bailey `@keithjeb`_ ========================== ============================ ============== .. _@a7p: https://github.com/a7p @@ -297,6 +298,7 @@ Listed in alphabetical order. .. _@purplediane: https://github.com/purplediane .. _@umrashrf: https://github.com/umrashrf .. _@ahhda: https://github.com/ahhda +.. _@keithjeb: https://github.com/keithjeb Special Thanks ~~~~~~~~~~~~~~ diff --git a/docs/developing-locally-docker.rst b/docs/developing-locally-docker.rst index 08b25f3bc..895140f9c 100644 --- a/docs/developing-locally-docker.rst +++ b/docs/developing-locally-docker.rst @@ -171,6 +171,16 @@ When developing locally you can go with MailHog_ for email testing provided ``us .. _Mailhog: https://github.com/mailhog/MailHog/ +.. _`CeleryTasks`: + +Celery tasks in local development +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +When not using docker Celery tasks are set to run in Eager mode, so that a full stack is not needed. When using docker the task +scheduler will be used by default. + +If you need tasks to be executed on the main thread during development set CELERY_TASK_ALWAYS_EAGER = True in config/settings/local.py. + +Possible uses could be for testing, or ease of profiling with DJDT. .. _`CeleryFlower`: diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst index 09c5db396..3434f68b6 100644 --- a/docs/developing-locally.rst +++ b/docs/developing-locally.rst @@ -118,6 +118,16 @@ In production, we have Mailgun_ configured to have your back! .. _Mailgun: https://www.mailgun.com/ +Celery +------ +If the project is configured to use Celery as a task scheduler then by default tasks are set to run on the main thread +when developing locally. If you have the appropriate setup on your local machine then set + +CELERY_TASK_ALWAYS_EAGER = False + +in /config/settings/local.py + + Sass Compilation & Live Reloading --------------------------------- diff --git a/{{cookiecutter.project_slug}}/config/settings/local.py b/{{cookiecutter.project_slug}}/config/settings/local.py index 741f324af..6667a2653 100644 --- a/{{cookiecutter.project_slug}}/config/settings/local.py +++ b/{{cookiecutter.project_slug}}/config/settings/local.py @@ -76,8 +76,10 @@ INSTALLED_APPS += ['django_extensions'] # noqa F405 # Celery # ------------------------------------------------------------------------------ +{% if cookiecutter.use_docker == 'n' -%} # http://docs.celeryproject.org/en/latest/userguide/configuration.html#task-always-eager CELERY_TASK_ALWAYS_EAGER = True +{%- endif %} # http://docs.celeryproject.org/en/latest/userguide/configuration.html#task-eager-propagates CELERY_TASK_EAGER_PROPAGATES = True From 6e72169ffe3022b54db3d44297226226cf86c1e8 Mon Sep 17 00:00:00 2001 From: btknu <48227652+btknu@users.noreply.github.com> Date: Wed, 6 Mar 2019 02:10:45 +0100 Subject: [PATCH 0032/2840] Add missing `script` key to Travis CI config (#1950) * Add failing test for travis.yml I see three options to test travis.yml : 1. Testing that the YAML contains relevant value. Least useful and least reliable, but simplest to implement. 2. Testing that the YAML is valid TravisCI YAML. Unfortunately this is difficult / impossible. Doing 'travis lint' would succeed, this command does not check for 'script' key presence and wouldn't be useful for us. We could use 'travis-build' to verify that the YAML can be converted to a worker config, but as of now 'travis-build' doesn't work out of the box. There is a new tool for validating travis YAML files 'travis-yml', but as of now it's a ruby-only library and it's still a work in progress. 3. Running Travis CI task based on the generated YAML. This seems the best approach, however since cookiecutter-django itself uses Travis CI, that would require running Travis CI from within Travis CI. Scheduling Travis CI job without a github push still requires a public github repo, which is something that we can't generate on demand. Given that I'm opting to use approach 1. * Adds missing config to generated .travis.yml The keys added are as follows: 1. 'script' Required by Travis, cookiecutter-django used to provide it until it has been removed together with hitch. I'm assuming hitch has been replaced with pytest, I'm setting pytest as the new value for the 'script' key. 2. 'install' Not required by Travis, but necessary in our case; installs test libraries, mostly pytest. As of now this points to 'local.txt' requirements file. There used to be a separate 'test.txt' requirements file but it has been decided to merge it with 'local.txt', see discussion in https://github.com/pydanny/cookiecutter-django/pull/1557 . * Update CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 2 ++ requirements.txt | 1 + tests/test_cookiecutter_generation.py | 17 +++++++++++++++++ {{cookiecutter.project_slug}}/.travis.yml | 4 ++++ 4 files changed, 24 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 0de1077e6..dc41463f8 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -71,6 +71,7 @@ Listed in alphabetical order. Bo Lopker `@blopker`_ Bouke Haarsma Brent Payne `@brentpayne`_ @brentpayne + Bartek `@btknu` Burhan Khalid            `@burhan`_                   @burhan Carl Johnson `@carlmjohnson`_ @carlmjohnson Catherine Devlin `@catherinedevlin`_ @@ -299,6 +300,7 @@ Listed in alphabetical order. .. _@umrashrf: https://github.com/umrashrf .. _@ahhda: https://github.com/ahhda .. _@keithjeb: https://github.com/keithjeb +.. _@btknu: https://github.com/btknu Special Thanks ~~~~~~~~~~~~~~ diff --git a/requirements.txt b/requirements.txt index dabb5dd91..37a96913c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,3 +11,4 @@ flake8==3.7.6 tox==3.6.1 pytest==4.3.0 pytest-cookies==0.3.0 +pyyaml==3.13 diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index cf173576b..b2c235a82 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -1,6 +1,7 @@ import os import re import sh +import yaml import pytest from binaryornot.check import is_binary @@ -85,3 +86,19 @@ def test_flake8_compliance(cookies): sh.flake8(str(result.project)) except sh.ErrorReturnCode as e: pytest.fail(e) + + +def test_travis_invokes_pytest(cookies, context): + context.update({"use_travisci": "y"}) + result = cookies.bake(extra_context=context) + + assert result.exit_code == 0 + assert result.exception is None + assert result.project.basename == context["project_slug"] + assert result.project.isdir() + + with open(f'{result.project}/.travis.yml', 'r') as travis_yml: + try: + assert yaml.load(travis_yml)['script'] == ['pytest'] + except yaml.YAMLError as e: + pytest.fail(e) diff --git a/{{cookiecutter.project_slug}}/.travis.yml b/{{cookiecutter.project_slug}}/.travis.yml index 5ca54d000..3072f75f3 100644 --- a/{{cookiecutter.project_slug}}/.travis.yml +++ b/{{cookiecutter.project_slug}}/.travis.yml @@ -9,3 +9,7 @@ before_install: language: python python: - "3.6" +install: + - pip install -r requirements/local.txt +script: + - "pytest" From 1c5c4e52c02bbe8df3bbae381e333806f0919c95 Mon Sep 17 00:00:00 2001 From: yunti Date: Mon, 11 Mar 2019 21:05:31 +0000 Subject: [PATCH 0033/2840] Add automatic migrations to heroku deploys (#1951) heroku now has a new feature for running tasks as part of deployment. Perfect for automatic migrations. https://devcenter.heroku.com/articles/release-phase#specifying-release-phase-tasks --- docs/deployment-on-heroku.rst | 1 - {{cookiecutter.project_slug}}/Procfile | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/deployment-on-heroku.rst b/docs/deployment-on-heroku.rst index f753aa5a4..5acb44faa 100644 --- a/docs/deployment-on-heroku.rst +++ b/docs/deployment-on-heroku.rst @@ -47,7 +47,6 @@ Run these commands to deploy the project to Heroku: git push heroku master - heroku run python manage.py migrate heroku run python manage.py createsuperuser heroku run python manage.py collectstatic --no-input diff --git a/{{cookiecutter.project_slug}}/Procfile b/{{cookiecutter.project_slug}}/Procfile index c77d76d96..d9319f5cc 100644 --- a/{{cookiecutter.project_slug}}/Procfile +++ b/{{cookiecutter.project_slug}}/Procfile @@ -1,3 +1,4 @@ +release: python manage.py migrate web: gunicorn config.wsgi:application {% if cookiecutter.use_celery == "y" -%} worker: celery worker --app={{cookiecutter.project_slug}}.taskapp --loglevel=info From eb85627d1a30ea3417ec42b034bce41f71d3f0cd Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 11 Mar 2019 22:02:11 +0000 Subject: [PATCH 0034/2840] Update to latest bug fix for Python 3.6 to fix Heroku warning when deploying Python has released a security update! Please consider upgrading to python-3.6.8 Learn More: https://devcenter.heroku.com/articles/python-runtimes --- {{cookiecutter.project_slug}}/runtime.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/runtime.txt b/{{cookiecutter.project_slug}}/runtime.txt index 1935e9778..9fbd3bf0a 100644 --- a/{{cookiecutter.project_slug}}/runtime.txt +++ b/{{cookiecutter.project_slug}}/runtime.txt @@ -1 +1 @@ -python-3.6.6 +python-3.6.8 From 6213af4b562f640362c95f9c8386cec597e8600d Mon Sep 17 00:00:00 2001 From: Oleg Russkin Date: Tue, 12 Mar 2019 16:35:03 +0200 Subject: [PATCH 0035/2840] Update redis to 3.2.0 Related bug was fixed: celery/kombu#947 Moreover, recent kombu versiones demand such redis version. --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index e43b70af6..0a9144ecd 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==4.1.2 # https://github.com/evansd/whitenoise {%- endif %} -redis>=2.10.6, < 3 # pyup: < 3 # https://github.com/antirez/redis +redis>=3.2.0 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} celery==4.2.1 # pyup: < 5.0 # https://github.com/celery/celery {%- if cookiecutter.use_docker == 'y' %} From 638c93d1dff45849b531e2633d0369f7ac130567 Mon Sep 17 00:00:00 2001 From: Oleg Russkin Date: Tue, 12 Mar 2019 16:38:43 +0200 Subject: [PATCH 0036/2840] Add kombu to base (celery) dependencies Using latest version 4.4.0, previous suitable 4.3.0 also had bug: kombu/issues#1006 --- {{cookiecutter.project_slug}}/requirements/base.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 0a9144ecd..605ff19cc 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -11,6 +11,7 @@ whitenoise==4.1.2 # https://github.com/evansd/whitenoise redis>=3.2.0 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} celery==4.2.1 # pyup: < 5.0 # https://github.com/celery/celery +kombu==4.4.0 # https://github.com/celery/kombu {%- if cookiecutter.use_docker == 'y' %} flower==0.9.2 # https://github.com/mher/flower {%- endif %} From 8ab63940ec9b151f03f99f6aff3e84eae973b47b Mon Sep 17 00:00:00 2001 From: Oleg Russkin Date: Tue, 12 Mar 2019 16:49:24 +0200 Subject: [PATCH 0037/2840] Contributors: Add Oleg Russkin --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index dc41463f8..2a26e2121 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -145,6 +145,7 @@ Listed in alphabetical order. Mesut Yılmaz `@myilmaz`_ Michael Gecht `@mimischi`_ @_mischi mozillazg `@mozillazg`_ + Oleg Russkin `@rolep`_ Pablo `@oubiga`_ Parbhat Puri `@parbhat`_ Peter Bittner `@bittner`_ From 8ce3e6605bf819b18262de7d71eec4ee53c235c1 Mon Sep 17 00:00:00 2001 From: anuj Date: Wed, 13 Mar 2019 14:22:36 +0530 Subject: [PATCH 0038/2840] Added link for Google Cloud storage blog --- README.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.rst b/README.rst index b9e71ace2..de2710808 100644 --- a/README.rst +++ b/README.rst @@ -279,6 +279,7 @@ experience better. Articles --------- +* `Using cookiecutter-django with Google Cloud Storage`_ - Mar. 12, 2019 * `cookiecutter-django with Nginx, Route 53 and ELB`_ - Feb. 12, 2018 * `cookiecutter-django and Amazon RDS`_ - Feb. 7, 2018 * `Deploying Cookiecutter-Django with Docker-Compose`_ - Oct. 19, 2017 @@ -292,6 +293,7 @@ Articles Have a blog or online publication? Write about your cookiecutter-django tips and tricks, then send us a pull request with the link. +.. _`Using cookiecutter-django with Google Cloud Storage`: https://ahhda.github.io/cloud/gce/django/2019/03/12/using-django-cookiecutter-cloud-storage.html .. _`cookiecutter-django with Nginx, Route 53 and ELB`: https://msaizar.com/blog/cookiecutter-django-nginx-route-53-and-elb/ .. _`cookiecutter-django and Amazon RDS`: https://msaizar.com/blog/cookiecutter-django-and-amazon-rds/ .. _`Deploying Cookiecutter-Django with Docker-Compose`: http://adamantine.me/2017/10/19/deploying-cookiecutter-django-with-docker-compose/ From 4550e4aa373a7069f14eda956f602d98736eed5f Mon Sep 17 00:00:00 2001 From: anuj Date: Wed, 13 Mar 2019 14:31:35 +0530 Subject: [PATCH 0039/2840] Remove link that does not exist --- README.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.rst b/README.rst index b9e71ace2..8ce39ab23 100644 --- a/README.rst +++ b/README.rst @@ -281,7 +281,6 @@ Articles * `cookiecutter-django with Nginx, Route 53 and ELB`_ - Feb. 12, 2018 * `cookiecutter-django and Amazon RDS`_ - Feb. 7, 2018 -* `Deploying Cookiecutter-Django with Docker-Compose`_ - Oct. 19, 2017 * `Using Cookiecutter to Jumpstart a Django Project on Windows with PyCharm`_ - May 19, 2017 * `Exploring with Cookiecutter`_ - Dec. 3, 2016 * `Introduction to Cookiecutter-Django`_ - Feb. 19, 2016 @@ -294,7 +293,6 @@ Have a blog or online publication? Write about your cookiecutter-django tips and .. _`cookiecutter-django with Nginx, Route 53 and ELB`: https://msaizar.com/blog/cookiecutter-django-nginx-route-53-and-elb/ .. _`cookiecutter-django and Amazon RDS`: https://msaizar.com/blog/cookiecutter-django-and-amazon-rds/ -.. _`Deploying Cookiecutter-Django with Docker-Compose`: http://adamantine.me/2017/10/19/deploying-cookiecutter-django-with-docker-compose/ .. _`Exploring with Cookiecutter`: http://www.snowboardingcoder.com/django/2016/12/03/exploring-with-cookiecutter/ .. _`Using Cookiecutter to Jumpstart a Django Project on Windows with PyCharm`: https://joshuahunter.com/posts/using-cookiecutter-to-jumpstart-a-django-project-on-windows-with-pycharm/ From 2edd51aa77f97ba2531c863ce2d3d65d544257a7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 13 Mar 2019 05:37:54 -0400 Subject: [PATCH 0040/2840] Update pytest from 4.3.0 to 4.3.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 37a96913c..1d0823b56 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,6 +9,6 @@ flake8==3.7.6 # Testing # ------------------------------------------------------------------------------ tox==3.6.1 -pytest==4.3.0 +pytest==4.3.1 pytest-cookies==0.3.0 pyyaml==3.13 From b142713ec666ca624f93f4f79ad41cec3bdab821 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 13 Mar 2019 14:31:17 +0000 Subject: [PATCH 0041/2840] Remove running collectstatic from Heroku docs, it's done during deployments --- docs/deployment-on-heroku.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/deployment-on-heroku.rst b/docs/deployment-on-heroku.rst index 5acb44faa..09953cf88 100644 --- a/docs/deployment-on-heroku.rst +++ b/docs/deployment-on-heroku.rst @@ -48,7 +48,6 @@ Run these commands to deploy the project to Heroku: git push heroku master heroku run python manage.py createsuperuser - heroku run python manage.py collectstatic --no-input heroku run python manage.py check --deploy From aee746b5a2b4308a71371cd2983ad3ea9a1c2a4d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 13 Mar 2019 10:40:27 -0700 Subject: [PATCH 0042/2840] Update pyyaml from 3.13 to 5.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 1d0823b56..647bccaef 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,4 +11,4 @@ flake8==3.7.6 tox==3.6.1 pytest==4.3.1 pytest-cookies==0.3.0 -pyyaml==3.13 +pyyaml==5.1 From 02c19193a0a54800dfaaea75c39d52f23a5a12d8 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 18 Mar 2019 09:54:39 +0000 Subject: [PATCH 0043/2840] Specify requirements file in Pyup config --- .pyup.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .pyup.yml diff --git a/.pyup.yml b/.pyup.yml new file mode 100644 index 000000000..4eab42d54 --- /dev/null +++ b/.pyup.yml @@ -0,0 +1,6 @@ +# Specify requirement files by hand +requirements: + - requirements.txt + - {{cookiecutter.project_slug}}/requirements/base.txt + - {{cookiecutter.project_slug}}/requirements/local.txt + - {{cookiecutter.project_slug}}/requirements/production.txt From a4a7c6488f79bba6c2c556ab6dbfee4f7e242655 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 18 Mar 2019 09:56:20 +0000 Subject: [PATCH 0044/2840] Fix syntax in PyUP config file --- .pyup.yml | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/.pyup.yml b/.pyup.yml index 4eab42d54..b368b6645 100644 --- a/.pyup.yml +++ b/.pyup.yml @@ -1,6 +1,18 @@ # Specify requirement files by hand requirements: - - requirements.txt - - {{cookiecutter.project_slug}}/requirements/base.txt - - {{cookiecutter.project_slug}}/requirements/local.txt - - {{cookiecutter.project_slug}}/requirements/production.txt + - requirements.txt: + # update all dependencies and pin them + update: all + pin: True + - {{cookiecutter.project_slug}}/requirements/base.txt: + # update all dependencies and pin them + update: all + pin: True + - {{cookiecutter.project_slug}}/requirements/local.txt: + # update all dependencies and pin them + update: all + pin: True + - {{cookiecutter.project_slug}}/requirements/production.txt: + # update all dependencies and pin them + update: all + pin: True From 135c6d7f595a7828201987657f16f8c6fc798ba4 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 18 Mar 2019 09:59:13 +0000 Subject: [PATCH 0045/2840] Fix syntax error in PyUP config - take 2 --- .pyup.yml | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/.pyup.yml b/.pyup.yml index b368b6645..9f78cf8ce 100644 --- a/.pyup.yml +++ b/.pyup.yml @@ -1,18 +1,6 @@ # Specify requirement files by hand requirements: - - requirements.txt: - # update all dependencies and pin them - update: all - pin: True - - {{cookiecutter.project_slug}}/requirements/base.txt: - # update all dependencies and pin them - update: all - pin: True - - {{cookiecutter.project_slug}}/requirements/local.txt: - # update all dependencies and pin them - update: all - pin: True - - {{cookiecutter.project_slug}}/requirements/production.txt: - # update all dependencies and pin them - update: all - pin: True + - "requirements.txt" + - "{{cookiecutter.project_slug}}/requirements/base.txt" + - "{{cookiecutter.project_slug}}/requirements/local.txt" + - "{{cookiecutter.project_slug}}/requirements/production.txt" From 43a6f5d854d1cc8ef2afb3d78067fcb8d08a76c7 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 18 Mar 2019 10:03:32 +0000 Subject: [PATCH 0046/2840] Update .pyup.yml --- .pyup.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.pyup.yml b/.pyup.yml index 9f78cf8ce..4978524e8 100644 --- a/.pyup.yml +++ b/.pyup.yml @@ -1,4 +1,15 @@ -# Specify requirement files by hand +# configure updates globally +# default: all +# allowed: all, insecure, False +update: all + +# configure dependency pinning globally +# default: True +# allowed: True, False +pin: True + +# Specify requirement files by hand, pyup seems to struggle to +# find the ones in the project_slug folder requirements: - "requirements.txt" - "{{cookiecutter.project_slug}}/requirements/base.txt" From 68f7268770057752609dd1f6beca4d432eb9f2a5 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 18 Mar 2019 17:49:43 +0000 Subject: [PATCH 0047/2840] Run Black on Travis (#1957) * Create a test matrix on Travis CI to help testing multiple options * Change test_docker.sh to fail if any command in it fails * Run black on the CI with --check option * Fix formatting of project files using black * Install black in the docker container * Exclude migrations in black checks * Fix Black formatting violations * Run black on the whole generated project & fix issues --- .travis.yml | 16 +- hooks/post_gen_project.py | 54 ++-- hooks/pre_gen_project.py | 10 +- tests/test_cookiecutter_generation.py | 4 +- tests/test_docker.sh | 7 +- tox.ini | 6 +- .../config/settings/base.py | 206 +++++++-------- .../config/settings/local.py | 48 ++-- .../config/settings/production.py | 249 +++++++++--------- .../config/settings/test.py | 8 +- {{cookiecutter.project_slug}}/config/urls.py | 13 +- {{cookiecutter.project_slug}}/config/wsgi.py | 11 +- .../requirements/local.txt | 1 + .../taskapp/celery.py | 18 +- .../users/adapters.py | 2 - .../users/forms.py | 1 - .../users/tests/factories.py | 4 +- .../users/tests/test_forms.py | 1 - .../users/tests/test_views.py | 1 - 19 files changed, 328 insertions(+), 332 deletions(-) diff --git a/.travis.yml b/.travis.yml index a46726d6c..65b2a28d1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,16 +7,20 @@ language: python python: 3.6 -env: - - TOX_ENV=py36 - before_install: - docker-compose -v - docker -v -script: - - tox -e $TOX_ENV - - sh tests/test_docker.sh +matrix: + include: + - name: Test + script: tox -e py36 + - name: Black + script: tox -e black + - name: Basic Docker + script: sh tests/test_docker.sh + - name: Docker with Celery + script: sh tests/test_docker.sh use_celery=y install: - pip install tox diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index 45435dd02..a9c1c9410 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -32,10 +32,7 @@ DEBUG_VALUE = "debug" def remove_open_source_files(): - file_names = [ - "CONTRIBUTORS.txt", - "LICENSE", - ] + file_names = ["CONTRIBUTORS.txt", "LICENSE"] for file_name in file_names: os.remove(file_name) @@ -71,7 +68,10 @@ def remove_utility_files(): def remove_heroku_files(): file_names = ["Procfile", "runtime.txt", "requirements.txt"] for file_name in file_names: - if file_name == "requirements.txt" and "{{ cookiecutter.use_travisci }}".lower() == "y": + if ( + file_name == "requirements.txt" + and "{{ cookiecutter.use_travisci }}".lower() == "y" + ): # don't remove the file if we are using travisci but not using heroku continue os.remove(file_name) @@ -183,11 +183,7 @@ def generate_postgres_user(debug=False): def set_postgres_user(file_path, value): - postgres_user = set_flag( - file_path, - "!!!SET POSTGRES_USER!!!", - value=value, - ) + postgres_user = set_flag(file_path, "!!!SET POSTGRES_USER!!!", value=value) return postgres_user @@ -205,9 +201,7 @@ def set_postgres_password(file_path, value=None): def set_celery_flower_user(file_path, value): celery_flower_user = set_flag( - file_path, - "!!!SET CELERY_FLOWER_USER!!!", - value=value, + file_path, "!!!SET CELERY_FLOWER_USER!!!", value=value ) return celery_flower_user @@ -230,11 +224,7 @@ def append_to_gitignore_file(s): gitignore_file.write(os.linesep) -def set_flags_in_envs( - postgres_user, - celery_flower_user, - debug=False, -): +def set_flags_in_envs(postgres_user, celery_flower_user, debug=False): local_django_envs_path = os.path.join(".envs", ".local", ".django") production_django_envs_path = os.path.join(".envs", ".production", ".django") local_postgres_envs_path = os.path.join(".envs", ".local", ".postgres") @@ -244,14 +234,22 @@ def set_flags_in_envs( set_django_admin_url(production_django_envs_path) set_postgres_user(local_postgres_envs_path, value=postgres_user) - set_postgres_password(local_postgres_envs_path, value=DEBUG_VALUE if debug else None) + set_postgres_password( + local_postgres_envs_path, value=DEBUG_VALUE if debug else None + ) set_postgres_user(production_postgres_envs_path, value=postgres_user) - set_postgres_password(production_postgres_envs_path, value=DEBUG_VALUE if debug else None) + set_postgres_password( + production_postgres_envs_path, value=DEBUG_VALUE if debug else None + ) set_celery_flower_user(local_django_envs_path, value=celery_flower_user) - set_celery_flower_password(local_django_envs_path, value=DEBUG_VALUE if debug else None) + set_celery_flower_password( + local_django_envs_path, value=DEBUG_VALUE if debug else None + ) set_celery_flower_user(production_django_envs_path, value=celery_flower_user) - set_celery_flower_password(production_django_envs_path, value=DEBUG_VALUE if debug else None) + set_celery_flower_password( + production_django_envs_path, value=DEBUG_VALUE if debug else None + ) def set_flags_in_settings_files(): @@ -302,8 +300,8 @@ def main(): if "{{ cookiecutter.keep_local_envs_in_vcs }}".lower() == "y": print( INFO + ".env(s) are only utilized when Docker Compose and/or " - "Heroku support is enabled so keeping them does not " - "make sense given your current setup." + TERMINATOR + "Heroku support is enabled so keeping them does not " + "make sense given your current setup." + TERMINATOR ) remove_envs_and_associated_files() else: @@ -325,10 +323,10 @@ def main(): "{{ cookiecutter.js_task_runner }}".lower().capitalize() ) + "working together not supported yet. " - "You can continue using the generated project like you " - "normally would, however you would need to add a JS " - "task runner service to your Docker Compose configuration " - "manually." + TERMINATOR + "You can continue using the generated project like you " + "normally would, however you would need to add a JS " + "task runner service to your Docker Compose configuration " + "manually." + TERMINATOR ) if "{{ cookiecutter.use_celery }}".lower() == "n": diff --git a/hooks/pre_gen_project.py b/hooks/pre_gen_project.py index b7f4dfbbb..a6b834556 100644 --- a/hooks/pre_gen_project.py +++ b/hooks/pre_gen_project.py @@ -18,11 +18,13 @@ SUCCESS = "\x1b[1;32m [SUCCESS]: " project_slug = "{{ cookiecutter.project_slug }}" if hasattr(project_slug, "isidentifier"): - assert project_slug.isidentifier(), "'{}' project slug is not a valid Python identifier.".format( - project_slug - ) + assert ( + project_slug.isidentifier() + ), "'{}' project slug is not a valid Python identifier.".format(project_slug) -assert "\\" not in "{{ cookiecutter.author_name }}", "Don't include backslashes in author name." +assert ( + "\\" not in "{{ cookiecutter.author_name }}" +), "Don't include backslashes in author name." if "{{ cookiecutter.use_docker }}".lower() == "n": python_major_version = sys.version_info[0] diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index b2c235a82..3010d364f 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -97,8 +97,8 @@ def test_travis_invokes_pytest(cookies, context): assert result.project.basename == context["project_slug"] assert result.project.isdir() - with open(f'{result.project}/.travis.yml', 'r') as travis_yml: + with open(f"{result.project}/.travis.yml", "r") as travis_yml: try: - assert yaml.load(travis_yml)['script'] == ['pytest'] + assert yaml.load(travis_yml)["script"] == ["pytest"] except yaml.YAMLError as e: pytest.fail(e) diff --git a/tests/test_docker.sh b/tests/test_docker.sh index eddfe98c6..55771c14c 100755 --- a/tests/test_docker.sh +++ b/tests/test_docker.sh @@ -3,6 +3,8 @@ # it is meant to be run from the root directory of the repository, eg: # sh tests/test_docker.sh +set -o errexit + # install test requirements pip install -r requirements.txt @@ -11,12 +13,15 @@ mkdir -p .cache/docker cd .cache/docker # create the project using the default settings in cookiecutter.json -cookiecutter ../../ --no-input --overwrite-if-exists use_docker=y +cookiecutter ../../ --no-input --overwrite-if-exists use_docker=y $@ cd my_awesome_project # run the project's type checks docker-compose -f local.yml run django mypy my_awesome_project +# Run black with --check option +docker-compose -f local.yml run django black --check --diff --exclude 'migrations' ./ + # run the project's tests docker-compose -f local.yml run django pytest diff --git a/tox.ini b/tox.ini index 040c8a41c..cef3efc78 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,11 @@ [tox] skipsdist = true -envlist = py36 +envlist = py36,black [testenv] deps = -rrequirements.txt commands = pytest {posargs:./tests} + +[testenv:black] +deps = black +commands = black --check hooks tests setup.py docs diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 950b9ed7f..848af8e89 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -4,27 +4,29 @@ Base settings to build other settings files upon. import environ -ROOT_DIR = environ.Path(__file__) - 3 # ({{ cookiecutter.project_slug }}/config/settings/base.py - 3 = {{ cookiecutter.project_slug }}/) -APPS_DIR = ROOT_DIR.path('{{ cookiecutter.project_slug }}') +ROOT_DIR = ( + environ.Path(__file__) - 3 +) # ({{ cookiecutter.project_slug }}/config/settings/base.py - 3 = {{ cookiecutter.project_slug }}/) +APPS_DIR = ROOT_DIR.path("{{ cookiecutter.project_slug }}") env = environ.Env() -READ_DOT_ENV_FILE = env.bool('DJANGO_READ_DOT_ENV_FILE', default=False) +READ_DOT_ENV_FILE = env.bool("DJANGO_READ_DOT_ENV_FILE", default=False) if READ_DOT_ENV_FILE: # OS environment variables take precedence over variables from .env - env.read_env(str(ROOT_DIR.path('.env'))) + env.read_env(str(ROOT_DIR.path(".env"))) # GENERAL # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#debug -DEBUG = env.bool('DJANGO_DEBUG', False) +DEBUG = env.bool("DJANGO_DEBUG", False) # Local time zone. Choices are # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name # though not all of them may be available with every OS. # In Windows, this must be set to your system time zone. -TIME_ZONE = '{{ cookiecutter.timezone }}' +TIME_ZONE = "{{ cookiecutter.timezone }}" # https://docs.djangoproject.com/en/dev/ref/settings/#language-code -LANGUAGE_CODE = 'en-us' +LANGUAGE_CODE = "en-us" # https://docs.djangoproject.com/en/dev/ref/settings/#site-id SITE_ID = 1 # https://docs.djangoproject.com/en/dev/ref/settings/#use-i18n @@ -37,45 +39,45 @@ USE_TZ = True # DATABASES # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#databases -{% if cookiecutter.use_docker == 'y' -%} -DATABASES = { - 'default': env.db('DATABASE_URL'), -} +{% if cookiecutter.use_docker == "y" -%} +DATABASES = {"default": env.db("DATABASE_URL")} {%- else %} DATABASES = { - 'default': env.db('DATABASE_URL', default='postgres://{% if cookiecutter.windows == 'y' %}localhost{% endif %}/{{cookiecutter.project_slug}}'), + "default": env.db( + "DATABASE_URL", default="postgres://{% if cookiecutter.windows == 'y' %}localhost{% endif %}/{{cookiecutter.project_slug}}" + ), } {%- endif %} -DATABASES['default']['ATOMIC_REQUESTS'] = True +DATABASES["default"]["ATOMIC_REQUESTS"] = True # URLS # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#root-urlconf -ROOT_URLCONF = 'config.urls' +ROOT_URLCONF = "config.urls" # https://docs.djangoproject.com/en/dev/ref/settings/#wsgi-application -WSGI_APPLICATION = 'config.wsgi.application' +WSGI_APPLICATION = "config.wsgi.application" # APPS # ------------------------------------------------------------------------------ DJANGO_APPS = [ - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.sites', - 'django.contrib.messages', - 'django.contrib.staticfiles', - # 'django.contrib.humanize', # Handy template tags - 'django.contrib.admin', + "django.contrib.auth", + "django.contrib.contenttypes", + "django.contrib.sessions", + "django.contrib.sites", + "django.contrib.messages", + "django.contrib.staticfiles", + # "django.contrib.humanize", # Handy template tags + "django.contrib.admin", ] THIRD_PARTY_APPS = [ - 'crispy_forms', - 'allauth', - 'allauth.account', - 'allauth.socialaccount', - 'rest_framework', + "crispy_forms", + "allauth", + "allauth.account", + "allauth.socialaccount", + "rest_framework", ] LOCAL_APPS = [ - '{{ cookiecutter.project_slug }}.users.apps.UsersAppConfig', + "{{ cookiecutter.project_slug }}.users.apps.UsersAppConfig", # Your stuff: custom apps go here ] # https://docs.djangoproject.com/en/dev/ref/settings/#installed-apps @@ -84,86 +86,76 @@ INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS # MIGRATIONS # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#migration-modules -MIGRATION_MODULES = { - 'sites': '{{ cookiecutter.project_slug }}.contrib.sites.migrations' -} +MIGRATION_MODULES = {"sites": "{{ cookiecutter.project_slug }}.contrib.sites.migrations"} # AUTHENTICATION # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#authentication-backends AUTHENTICATION_BACKENDS = [ - 'django.contrib.auth.backends.ModelBackend', - 'allauth.account.auth_backends.AuthenticationBackend', + "django.contrib.auth.backends.ModelBackend", + "allauth.account.auth_backends.AuthenticationBackend", ] # https://docs.djangoproject.com/en/dev/ref/settings/#auth-user-model -AUTH_USER_MODEL = 'users.User' +AUTH_USER_MODEL = "users.User" # https://docs.djangoproject.com/en/dev/ref/settings/#login-redirect-url -LOGIN_REDIRECT_URL = 'users:redirect' +LOGIN_REDIRECT_URL = "users:redirect" # https://docs.djangoproject.com/en/dev/ref/settings/#login-url -LOGIN_URL = 'account_login' +LOGIN_URL = "account_login" # PASSWORDS # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#password-hashers PASSWORD_HASHERS = [ # https://docs.djangoproject.com/en/dev/topics/auth/passwords/#using-argon2-with-django - 'django.contrib.auth.hashers.Argon2PasswordHasher', - 'django.contrib.auth.hashers.PBKDF2PasswordHasher', - 'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher', - 'django.contrib.auth.hashers.BCryptSHA256PasswordHasher', - 'django.contrib.auth.hashers.BCryptPasswordHasher', + "django.contrib.auth.hashers.Argon2PasswordHasher", + "django.contrib.auth.hashers.PBKDF2PasswordHasher", + "django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher", + "django.contrib.auth.hashers.BCryptSHA256PasswordHasher", + "django.contrib.auth.hashers.BCryptPasswordHasher", ] # https://docs.djangoproject.com/en/dev/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ { - 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator" }, + {"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator"}, + {"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator"}, + {"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator"}, ] # MIDDLEWARE # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#middleware MIDDLEWARE = [ - 'django.middleware.security.SecurityMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.common.CommonMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - 'django.middleware.clickjacking.XFrameOptionsMiddleware', + "django.middleware.security.SecurityMiddleware", + "django.contrib.sessions.middleware.SessionMiddleware", + "django.middleware.common.CommonMiddleware", + "django.middleware.csrf.CsrfViewMiddleware", + "django.contrib.auth.middleware.AuthenticationMiddleware", + "django.contrib.messages.middleware.MessageMiddleware", + "django.middleware.clickjacking.XFrameOptionsMiddleware", ] # STATIC # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#static-root -STATIC_ROOT = str(ROOT_DIR('staticfiles')) +STATIC_ROOT = str(ROOT_DIR("staticfiles")) # https://docs.djangoproject.com/en/dev/ref/settings/#static-url -STATIC_URL = '/static/' +STATIC_URL = "/static/" # https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#std:setting-STATICFILES_DIRS -STATICFILES_DIRS = [ - str(APPS_DIR.path('static')), -] +STATICFILES_DIRS = [str(APPS_DIR.path("static"))] # https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#staticfiles-finders STATICFILES_FINDERS = [ - 'django.contrib.staticfiles.finders.FileSystemFinder', - 'django.contrib.staticfiles.finders.AppDirectoriesFinder', + "django.contrib.staticfiles.finders.FileSystemFinder", + "django.contrib.staticfiles.finders.AppDirectoriesFinder", ] # MEDIA # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#media-root -MEDIA_ROOT = str(APPS_DIR('media')) +MEDIA_ROOT = str(APPS_DIR("media")) # https://docs.djangoproject.com/en/dev/ref/settings/#media-url -MEDIA_URL = '/media/' +MEDIA_URL = "/media/" # TEMPLATES # ------------------------------------------------------------------------------ @@ -171,43 +163,39 @@ MEDIA_URL = '/media/' TEMPLATES = [ { # https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-TEMPLATES-BACKEND - 'BACKEND': 'django.template.backends.django.DjangoTemplates', + "BACKEND": "django.template.backends.django.DjangoTemplates", # https://docs.djangoproject.com/en/dev/ref/settings/#template-dirs - 'DIRS': [ - str(APPS_DIR.path('templates')), - ], - 'OPTIONS': { + "DIRS": [str(APPS_DIR.path("templates"))], + "OPTIONS": { # https://docs.djangoproject.com/en/dev/ref/settings/#template-debug - 'debug': DEBUG, + "debug": DEBUG, # https://docs.djangoproject.com/en/dev/ref/settings/#template-loaders # https://docs.djangoproject.com/en/dev/ref/templates/api/#loader-types - 'loaders': [ - 'django.template.loaders.filesystem.Loader', - 'django.template.loaders.app_directories.Loader', + "loaders": [ + "django.template.loaders.filesystem.Loader", + "django.template.loaders.app_directories.Loader", ], # https://docs.djangoproject.com/en/dev/ref/settings/#template-context-processors - 'context_processors': [ - 'django.template.context_processors.debug', - 'django.template.context_processors.request', - 'django.contrib.auth.context_processors.auth', - 'django.template.context_processors.i18n', - 'django.template.context_processors.media', - 'django.template.context_processors.static', - 'django.template.context_processors.tz', - 'django.contrib.messages.context_processors.messages', + "context_processors": [ + "django.template.context_processors.debug", + "django.template.context_processors.request", + "django.contrib.auth.context_processors.auth", + "django.template.context_processors.i18n", + "django.template.context_processors.media", + "django.template.context_processors.static", + "django.template.context_processors.tz", + "django.contrib.messages.context_processors.messages", ], }, - }, + } ] # http://django-crispy-forms.readthedocs.io/en/latest/install.html#template-packs -CRISPY_TEMPLATE_PACK = 'bootstrap4' +CRISPY_TEMPLATE_PACK = "bootstrap4" # FIXTURES # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#fixture-dirs -FIXTURE_DIRS = ( - str(APPS_DIR.path('fixtures')), -) +FIXTURE_DIRS = (str(APPS_DIR.path("fixtures")),) # SECURITY # ------------------------------------------------------------------------------ @@ -218,41 +206,41 @@ CSRF_COOKIE_HTTPONLY = True # https://docs.djangoproject.com/en/dev/ref/settings/#secure-browser-xss-filter SECURE_BROWSER_XSS_FILTER = True # https://docs.djangoproject.com/en/dev/ref/settings/#x-frame-options -X_FRAME_OPTIONS = 'DENY' +X_FRAME_OPTIONS = "DENY" # EMAIL # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#email-backend -EMAIL_BACKEND = env('DJANGO_EMAIL_BACKEND', default='django.core.mail.backends.smtp.EmailBackend') +EMAIL_BACKEND = env( + "DJANGO_EMAIL_BACKEND", default="django.core.mail.backends.smtp.EmailBackend" +) # ADMIN # ------------------------------------------------------------------------------ # Django Admin URL. -ADMIN_URL = 'admin/' +ADMIN_URL = "admin/" # https://docs.djangoproject.com/en/dev/ref/settings/#admins -ADMINS = [ - ("""{{cookiecutter.author_name}}""", '{{cookiecutter.email}}'), -] +ADMINS = [("""{{cookiecutter.author_name}}""", "{{cookiecutter.email}}")] # https://docs.djangoproject.com/en/dev/ref/settings/#managers MANAGERS = ADMINS {% if cookiecutter.use_celery == 'y' -%} # Celery # ------------------------------------------------------------------------------ -INSTALLED_APPS += ['{{cookiecutter.project_slug}}.taskapp.celery.CeleryAppConfig'] +INSTALLED_APPS += ["{{cookiecutter.project_slug}}.taskapp.celery.CeleryAppConfig"] if USE_TZ: # http://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-timezone CELERY_TIMEZONE = TIME_ZONE # http://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-broker_url -CELERY_BROKER_URL = env('CELERY_BROKER_URL') +CELERY_BROKER_URL = env("CELERY_BROKER_URL") # http://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-result_backend CELERY_RESULT_BACKEND = CELERY_BROKER_URL # http://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-accept_content -CELERY_ACCEPT_CONTENT = ['json'] +CELERY_ACCEPT_CONTENT = ["json"] # http://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-task_serializer -CELERY_TASK_SERIALIZER = 'json' +CELERY_TASK_SERIALIZER = "json" # http://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-result_serializer -CELERY_RESULT_SERIALIZER = 'json' +CELERY_RESULT_SERIALIZER = "json" # http://docs.celeryproject.org/en/latest/userguide/configuration.html#task-time-limit # TODO: set to whatever value is adequate in your circumstances CELERYD_TASK_TIME_LIMIT = 5 * 60 @@ -263,24 +251,24 @@ CELERYD_TASK_SOFT_TIME_LIMIT = 60 {%- endif %} # django-allauth # ------------------------------------------------------------------------------ -ACCOUNT_ALLOW_REGISTRATION = env.bool('DJANGO_ACCOUNT_ALLOW_REGISTRATION', True) +ACCOUNT_ALLOW_REGISTRATION = env.bool("DJANGO_ACCOUNT_ALLOW_REGISTRATION", True) # https://django-allauth.readthedocs.io/en/latest/configuration.html -ACCOUNT_AUTHENTICATION_METHOD = 'username' +ACCOUNT_AUTHENTICATION_METHOD = "username" # https://django-allauth.readthedocs.io/en/latest/configuration.html ACCOUNT_EMAIL_REQUIRED = True # https://django-allauth.readthedocs.io/en/latest/configuration.html -ACCOUNT_EMAIL_VERIFICATION = 'mandatory' +ACCOUNT_EMAIL_VERIFICATION = "mandatory" # https://django-allauth.readthedocs.io/en/latest/configuration.html -ACCOUNT_ADAPTER = '{{cookiecutter.project_slug}}.users.adapters.AccountAdapter' +ACCOUNT_ADAPTER = "{{cookiecutter.project_slug}}.users.adapters.AccountAdapter" # https://django-allauth.readthedocs.io/en/latest/configuration.html -SOCIALACCOUNT_ADAPTER = '{{cookiecutter.project_slug}}.users.adapters.SocialAccountAdapter' +SOCIALACCOUNT_ADAPTER = "{{cookiecutter.project_slug}}.users.adapters.SocialAccountAdapter" {% if cookiecutter.use_compressor == 'y' -%} # django-compressor # ------------------------------------------------------------------------------ # https://django-compressor.readthedocs.io/en/latest/quickstart/#installation -INSTALLED_APPS += ['compressor'] -STATICFILES_FINDERS += ['compressor.finders.CompressorFinder'] +INSTALLED_APPS += ["compressor"] +STATICFILES_FINDERS += ["compressor.finders.CompressorFinder"] {%- endif %} # Your stuff... diff --git a/{{cookiecutter.project_slug}}/config/settings/local.py b/{{cookiecutter.project_slug}}/config/settings/local.py index 6667a2653..0c0588bd4 100644 --- a/{{cookiecutter.project_slug}}/config/settings/local.py +++ b/{{cookiecutter.project_slug}}/config/settings/local.py @@ -6,42 +6,43 @@ from .base import env # https://docs.djangoproject.com/en/dev/ref/settings/#debug DEBUG = True # https://docs.djangoproject.com/en/dev/ref/settings/#secret-key -SECRET_KEY = env('DJANGO_SECRET_KEY', default='!!!SET DJANGO_SECRET_KEY!!!') +SECRET_KEY = env( + "DJANGO_SECRET_KEY", + default="!!!SET DJANGO_SECRET_KEY!!!", +) # https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts -ALLOWED_HOSTS = [ - "localhost", - "0.0.0.0", - "127.0.0.1", -] +ALLOWED_HOSTS = ["localhost", "0.0.0.0", "127.0.0.1"] # CACHES # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#caches CACHES = { - 'default': { - 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', - 'LOCATION': '' + "default": { + "BACKEND": "django.core.cache.backends.locmem.LocMemCache", + "LOCATION": "", } } # TEMPLATES # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#templates -TEMPLATES[0]['OPTIONS']['debug'] = DEBUG # noqa F405 +TEMPLATES[0]["OPTIONS"]["debug"] = DEBUG # noqa F405 # EMAIL # ------------------------------------------------------------------------------ {% if cookiecutter.use_mailhog == 'y' and cookiecutter.use_docker == 'y' -%} # https://docs.djangoproject.com/en/dev/ref/settings/#email-host -EMAIL_HOST = env('EMAIL_HOST', default='mailhog') +EMAIL_HOST = env("EMAIL_HOST", default="mailhog") {%- elif cookiecutter.use_mailhog == 'y' and cookiecutter.use_docker == 'n' -%} # https://docs.djangoproject.com/en/dev/ref/settings/#email-host -EMAIL_HOST = 'localhost' +EMAIL_HOST = "localhost" {%- else -%} # https://docs.djangoproject.com/en/dev/ref/settings/#email-backend -EMAIL_BACKEND = env('DJANGO_EMAIL_BACKEND', default='django.core.mail.backends.console.EmailBackend') +EMAIL_BACKEND = env( + "DJANGO_EMAIL_BACKEND", default="django.core.mail.backends.console.EmailBackend" +) # https://docs.djangoproject.com/en/dev/ref/settings/#email-host -EMAIL_HOST = 'localhost' +EMAIL_HOST = "localhost" {%- endif %} # https://docs.djangoproject.com/en/dev/ref/settings/#email-port EMAIL_PORT = 1025 @@ -49,29 +50,28 @@ EMAIL_PORT = 1025 # django-debug-toolbar # ------------------------------------------------------------------------------ # https://django-debug-toolbar.readthedocs.io/en/latest/installation.html#prerequisites -INSTALLED_APPS += ['debug_toolbar'] # noqa F405 +INSTALLED_APPS += ["debug_toolbar"] # noqa F405 # https://django-debug-toolbar.readthedocs.io/en/latest/installation.html#middleware -MIDDLEWARE += ['debug_toolbar.middleware.DebugToolbarMiddleware'] # noqa F405 +MIDDLEWARE += ["debug_toolbar.middleware.DebugToolbarMiddleware"] # noqa F405 # https://django-debug-toolbar.readthedocs.io/en/latest/configuration.html#debug-toolbar-config DEBUG_TOOLBAR_CONFIG = { - 'DISABLE_PANELS': [ - 'debug_toolbar.panels.redirects.RedirectsPanel', - ], - 'SHOW_TEMPLATE_CONTEXT': True, + "DISABLE_PANELS": ["debug_toolbar.panels.redirects.RedirectsPanel"], + "SHOW_TEMPLATE_CONTEXT": True, } # https://django-debug-toolbar.readthedocs.io/en/latest/installation.html#internal-ips -INTERNAL_IPS = ['127.0.0.1', '10.0.2.2'] +INTERNAL_IPS = ["127.0.0.1", "10.0.2.2"] {% if cookiecutter.use_docker == 'y' -%} -if env('USE_DOCKER') == 'yes': +if env("USE_DOCKER") == "yes": import socket + hostname, _, ips = socket.gethostbyname_ex(socket.gethostname()) - INTERNAL_IPS += [ip[:-1] + '1' for ip in ips] + INTERNAL_IPS += [ip[:-1] + "1" for ip in ips] {%- endif %} # django-extensions # ------------------------------------------------------------------------------ # https://django-extensions.readthedocs.io/en/latest/installation_instructions.html#configuration -INSTALLED_APPS += ['django_extensions'] # noqa F405 +INSTALLED_APPS += ["django_extensions"] # noqa F405 {% if cookiecutter.use_celery == 'y' -%} # Celery diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index e77d4304c..161587421 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -8,37 +8,37 @@ from .base import env # GENERAL # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#secret-key -SECRET_KEY = env('DJANGO_SECRET_KEY') +SECRET_KEY = env("DJANGO_SECRET_KEY") # https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts -ALLOWED_HOSTS = env.list('DJANGO_ALLOWED_HOSTS', default=['{{ cookiecutter.domain_name }}']) +ALLOWED_HOSTS = env.list("DJANGO_ALLOWED_HOSTS", default=["{{ cookiecutter.domain_name }}"]) # DATABASES # ------------------------------------------------------------------------------ -DATABASES['default'] = env.db('DATABASE_URL') # noqa F405 -DATABASES['default']['ATOMIC_REQUESTS'] = True # noqa F405 -DATABASES['default']['CONN_MAX_AGE'] = env.int('CONN_MAX_AGE', default=60) # noqa F405 +DATABASES["default"] = env.db("DATABASE_URL") # noqa F405 +DATABASES["default"]["ATOMIC_REQUESTS"] = True # noqa F405 +DATABASES["default"]["CONN_MAX_AGE"] = env.int("CONN_MAX_AGE", default=60) # noqa F405 # CACHES # ------------------------------------------------------------------------------ CACHES = { - 'default': { - 'BACKEND': 'django_redis.cache.RedisCache', - 'LOCATION': env('REDIS_URL'), - 'OPTIONS': { - 'CLIENT_CLASS': 'django_redis.client.DefaultClient', + "default": { + "BACKEND": "django_redis.cache.RedisCache", + "LOCATION": env("REDIS_URL"), + "OPTIONS": { + "CLIENT_CLASS": "django_redis.client.DefaultClient", # Mimicing memcache behavior. # http://niwinz.github.io/django-redis/latest/#_memcached_exceptions_behavior - 'IGNORE_EXCEPTIONS': True, - } + "IGNORE_EXCEPTIONS": True, + }, } } # SECURITY # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#secure-proxy-ssl-header -SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https') +SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https") # https://docs.djangoproject.com/en/dev/ref/settings/#secure-ssl-redirect -SECURE_SSL_REDIRECT = env.bool('DJANGO_SECURE_SSL_REDIRECT', default=True) +SECURE_SSL_REDIRECT = env.bool("DJANGO_SECURE_SSL_REDIRECT", default=True) # https://docs.djangoproject.com/en/dev/ref/settings/#session-cookie-secure SESSION_COOKIE_SECURE = True # https://docs.djangoproject.com/en/dev/ref/settings/#csrf-cookie-secure @@ -48,45 +48,49 @@ CSRF_COOKIE_SECURE = True # TODO: set this to 60 seconds first and then to 518400 once you prove the former works SECURE_HSTS_SECONDS = 60 # https://docs.djangoproject.com/en/dev/ref/settings/#secure-hsts-include-subdomains -SECURE_HSTS_INCLUDE_SUBDOMAINS = env.bool('DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS', default=True) +SECURE_HSTS_INCLUDE_SUBDOMAINS = env.bool( + "DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS", default=True +) # https://docs.djangoproject.com/en/dev/ref/settings/#secure-hsts-preload -SECURE_HSTS_PRELOAD = env.bool('DJANGO_SECURE_HSTS_PRELOAD', default=True) +SECURE_HSTS_PRELOAD = env.bool("DJANGO_SECURE_HSTS_PRELOAD", default=True) # https://docs.djangoproject.com/en/dev/ref/middleware/#x-content-type-options-nosniff -SECURE_CONTENT_TYPE_NOSNIFF = env.bool('DJANGO_SECURE_CONTENT_TYPE_NOSNIFF', default=True) +SECURE_CONTENT_TYPE_NOSNIFF = env.bool( + "DJANGO_SECURE_CONTENT_TYPE_NOSNIFF", default=True +) # STORAGES # ------------------------------------------------------------------------------ # https://django-storages.readthedocs.io/en/latest/#installation -INSTALLED_APPS += ['storages'] # noqa F405 +INSTALLED_APPS += ["storages"] # noqa F405 # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings -AWS_ACCESS_KEY_ID = env('DJANGO_AWS_ACCESS_KEY_ID') +AWS_ACCESS_KEY_ID = env("DJANGO_AWS_ACCESS_KEY_ID") # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings -AWS_SECRET_ACCESS_KEY = env('DJANGO_AWS_SECRET_ACCESS_KEY') +AWS_SECRET_ACCESS_KEY = env("DJANGO_AWS_SECRET_ACCESS_KEY") # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings -AWS_STORAGE_BUCKET_NAME = env('DJANGO_AWS_STORAGE_BUCKET_NAME') +AWS_STORAGE_BUCKET_NAME = env("DJANGO_AWS_STORAGE_BUCKET_NAME") # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings AWS_QUERYSTRING_AUTH = False # DO NOT change these unless you know what you're doing. _AWS_EXPIRY = 60 * 60 * 24 * 7 # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings AWS_S3_OBJECT_PARAMETERS = { - 'CacheControl': f'max-age={_AWS_EXPIRY}, s-maxage={_AWS_EXPIRY}, must-revalidate', + "CacheControl": f"max-age={_AWS_EXPIRY}, s-maxage={_AWS_EXPIRY}, must-revalidate" } # STATIC # ------------------------ {% if cookiecutter.use_whitenoise == 'y' -%} -STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage' +STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" {%- else %} -STATICFILES_STORAGE = 'config.settings.production.StaticRootS3Boto3Storage' -STATIC_URL = f'https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/' +STATICFILES_STORAGE = "config.settings.production.StaticRootS3Boto3Storage" +STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" {%- endif %} # MEDIA # ------------------------------------------------------------------------------ {% if cookiecutter.use_whitenoise == 'y' -%} -DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' -MEDIA_URL = f'https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/' +DEFAULT_FILE_STORAGE = "storages.backends.s3boto3.S3Boto3Storage" +MEDIA_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/" {%- else %} # region http://stackoverflow.com/questions/10390244/ # Full-fledge class: https://stackoverflow.com/a/18046120/104731 @@ -94,78 +98,79 @@ from storages.backends.s3boto3 import S3Boto3Storage # noqa E402 class StaticRootS3Boto3Storage(S3Boto3Storage): - location = 'static' + location = "static" class MediaRootS3Boto3Storage(S3Boto3Storage): - location = 'media' + location = "media" file_overwrite = False # endregion -DEFAULT_FILE_STORAGE = 'config.settings.production.MediaRootS3Boto3Storage' -MEDIA_URL = f'https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/media/' +DEFAULT_FILE_STORAGE = "config.settings.production.MediaRootS3Boto3Storage" +MEDIA_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/media/" {%- endif %} # TEMPLATES # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#templates -TEMPLATES[0]['OPTIONS']['loaders'] = [ # noqa F405 +TEMPLATES[0]["OPTIONS"]["loaders"] = [ # noqa F405 ( - 'django.template.loaders.cached.Loader', + "django.template.loaders.cached.Loader", [ - 'django.template.loaders.filesystem.Loader', - 'django.template.loaders.app_directories.Loader', - ] - ), + "django.template.loaders.filesystem.Loader", + "django.template.loaders.app_directories.Loader", + ], + ) ] # EMAIL # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#default-from-email DEFAULT_FROM_EMAIL = env( - 'DJANGO_DEFAULT_FROM_EMAIL', - default='{{cookiecutter.project_name}} ' + "DJANGO_DEFAULT_FROM_EMAIL", default="{{cookiecutter.project_name}} " ) # https://docs.djangoproject.com/en/dev/ref/settings/#server-email -SERVER_EMAIL = env('DJANGO_SERVER_EMAIL', default=DEFAULT_FROM_EMAIL) +SERVER_EMAIL = env("DJANGO_SERVER_EMAIL", default=DEFAULT_FROM_EMAIL) # https://docs.djangoproject.com/en/dev/ref/settings/#email-subject-prefix -EMAIL_SUBJECT_PREFIX = env('DJANGO_EMAIL_SUBJECT_PREFIX', default='[{{cookiecutter.project_name}}]') +EMAIL_SUBJECT_PREFIX = env( + "DJANGO_EMAIL_SUBJECT_PREFIX", default="[{{cookiecutter.project_name}}]" +) # ADMIN # ------------------------------------------------------------------------------ # Django Admin URL regex. -ADMIN_URL = env('DJANGO_ADMIN_URL') +ADMIN_URL = env("DJANGO_ADMIN_URL") # Anymail (Mailgun) # ------------------------------------------------------------------------------ # https://anymail.readthedocs.io/en/stable/installation/#installing-anymail -INSTALLED_APPS += ['anymail'] # noqa F405 -EMAIL_BACKEND = 'anymail.backends.mailgun.EmailBackend' +INSTALLED_APPS += ["anymail"] # noqa F405 +EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend" # https://anymail.readthedocs.io/en/stable/installation/#anymail-settings-reference ANYMAIL = { - 'MAILGUN_API_KEY': env('MAILGUN_API_KEY'), - 'MAILGUN_SENDER_DOMAIN': env('MAILGUN_DOMAIN') + "MAILGUN_API_KEY": env("MAILGUN_API_KEY"), + "MAILGUN_SENDER_DOMAIN": env("MAILGUN_DOMAIN"), } # Gunicorn # ------------------------------------------------------------------------------ -INSTALLED_APPS += ['gunicorn'] # noqa F405 +INSTALLED_APPS += ["gunicorn"] # noqa F405 {% if cookiecutter.use_whitenoise == 'y' -%} # WhiteNoise # ------------------------------------------------------------------------------ # http://whitenoise.evans.io/en/latest/django.html#enable-whitenoise -MIDDLEWARE.insert(1, 'whitenoise.middleware.WhiteNoiseMiddleware') # noqa F405 +MIDDLEWARE.insert(1, "whitenoise.middleware.WhiteNoiseMiddleware") # noqa F405 {% endif %} {%- if cookiecutter.use_compressor == 'y' -%} # django-compressor # ------------------------------------------------------------------------------ # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_ENABLED -COMPRESS_ENABLED = env.bool('COMPRESS_ENABLED', default=True) +COMPRESS_ENABLED = env.bool("COMPRESS_ENABLED", default=True) # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_STORAGE -COMPRESS_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' +COMPRESS_STORAGE = "storages.backends.s3boto3.S3Boto3Storage" # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_URL COMPRESS_URL = STATIC_URL @@ -174,7 +179,7 @@ COMPRESS_URL = STATIC_URL # Collectfast # ------------------------------------------------------------------------------ # https://github.com/antonagestam/collectfast#installation -INSTALLED_APPS = ['collectfast'] + INSTALLED_APPS # noqa F405 +INSTALLED_APPS = ["collectfast"] + INSTALLED_APPS # noqa F405 AWS_PRELOAD_METADATA = True {% endif %} @@ -182,64 +187,64 @@ AWS_PRELOAD_METADATA = True # raven # ------------------------------------------------------------------------------ # https://docs.sentry.io/clients/python/integrations/django/ -INSTALLED_APPS += ['raven.contrib.django.raven_compat'] # noqa F405 -MIDDLEWARE = ['raven.contrib.django.raven_compat.middleware.SentryResponseErrorIdMiddleware'] + MIDDLEWARE +INSTALLED_APPS += ["raven.contrib.django.raven_compat"] # noqa F405 +MIDDLEWARE = ["raven.contrib.django.raven_compat.middleware.SentryResponseErrorIdMiddleware"] + MIDDLEWARE # Sentry # ------------------------------------------------------------------------------ -SENTRY_DSN = env('SENTRY_DSN') -SENTRY_CLIENT = env('DJANGO_SENTRY_CLIENT', default='raven.contrib.django.raven_compat.DjangoClient') +SENTRY_DSN = env("SENTRY_DSN") +SENTRY_CLIENT = env("DJANGO_SENTRY_CLIENT", default="raven.contrib.django.raven_compat.DjangoClient") LOGGING = { - 'version': 1, - 'disable_existing_loggers': True, - 'root': { - 'level': 'WARNING', - 'handlers': ['sentry'], + "version": 1, + "disable_existing_loggers": True, + "root": { + "level": "WARNING", + "handlers": ["sentry"], }, - 'formatters': { - 'verbose': { - 'format': '%(levelname)s %(asctime)s %(module)s ' - '%(process)d %(thread)d %(message)s' - }, - }, - 'handlers': { - 'sentry': { - 'level': 'ERROR', - 'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler', - }, - 'console': { - 'level': 'DEBUG', - 'class': 'logging.StreamHandler', - 'formatter': 'verbose' + "formatters": { + "verbose": { + "format": "%(levelname)s %(asctime)s %(module)s " + "%(process)d %(thread)d %(message)s" } }, - 'loggers': { - 'django.db.backends': { - 'level': 'ERROR', - 'handlers': ['console'], - 'propagate': False, + "handlers": { + "sentry": { + "level": "ERROR", + "class": "raven.contrib.django.raven_compat.handlers.SentryHandler", }, - 'raven': { - 'level': 'DEBUG', - 'handlers': ['console'], - 'propagate': False, + "console": { + "level": "DEBUG", + "class": "logging.StreamHandler", + "formatter": "verbose", }, - 'sentry.errors': { - 'level': 'DEBUG', - 'handlers': ['console'], - 'propagate': False, + }, + "loggers": { + "django.db.backends": { + "level": "ERROR", + "handlers": ["console"], + "propagate": False, }, - 'django.security.DisallowedHost': { - 'level': 'ERROR', - 'handlers': ['console', 'sentry'], - 'propagate': False, + "raven": { + "level": "DEBUG", + "handlers": ["console"], + "propagate": False, + }, + "sentry.errors": { + "level": "DEBUG", + "handlers": ["console"], + "propagate": False, + }, + "django.security.DisallowedHost": { + "level": "ERROR", + "handlers": ["console", "sentry"], + "propagate": False, }, }, } -SENTRY_CELERY_LOGLEVEL = env.int('DJANGO_SENTRY_LOG_LEVEL', logging.INFO) +SENTRY_CELERY_LOGLEVEL = env.int("DJANGO_SENTRY_LOG_LEVEL", logging.INFO) RAVEN_CONFIG = { - 'dsn': SENTRY_DSN + "dsn": SENTRY_DSN } {%- else %} @@ -252,43 +257,39 @@ RAVEN_CONFIG = { # See https://docs.djangoproject.com/en/dev/topics/logging for # more details on how to customize your logging configuration. LOGGING = { - 'version': 1, - 'disable_existing_loggers': False, - 'filters': { - 'require_debug_false': { - '()': 'django.utils.log.RequireDebugFalse' + "version": 1, + "disable_existing_loggers": False, + "filters": {"require_debug_false": {"()": "django.utils.log.RequireDebugFalse"}}, + "formatters": { + "verbose": { + "format": "%(levelname)s %(asctime)s %(module)s " + "%(process)d %(thread)d %(message)s" } }, - 'formatters': { - 'verbose': { - 'format': '%(levelname)s %(asctime)s %(module)s ' - '%(process)d %(thread)d %(message)s' + "handlers": { + "mail_admins": { + "level": "ERROR", + "filters": ["require_debug_false"], + "class": "django.utils.log.AdminEmailHandler", + }, + "console": { + "level": "DEBUG", + "class": "logging.StreamHandler", + "formatter": "verbose", }, }, - 'handlers': { - 'mail_admins': { - 'level': 'ERROR', - 'filters': ['require_debug_false'], - 'class': 'django.utils.log.AdminEmailHandler' + "loggers": { + "django.request": { + "handlers": ["mail_admins"], + "level": "ERROR", + "propagate": True, }, - 'console': { - 'level': 'DEBUG', - 'class': 'logging.StreamHandler', - 'formatter': 'verbose', + "django.security.DisallowedHost": { + "level": "ERROR", + "handlers": ["console", "mail_admins"], + "propagate": True, }, }, - 'loggers': { - 'django.request': { - 'handlers': ['mail_admins'], - 'level': 'ERROR', - 'propagate': True - }, - 'django.security.DisallowedHost': { - 'level': 'ERROR', - 'handlers': ['console', 'mail_admins'], - 'propagate': True - } - } } {% endif %} diff --git a/{{cookiecutter.project_slug}}/config/settings/test.py b/{{cookiecutter.project_slug}}/config/settings/test.py index e947d4101..2ade134a2 100644 --- a/{{cookiecutter.project_slug}}/config/settings/test.py +++ b/{{cookiecutter.project_slug}}/config/settings/test.py @@ -10,7 +10,10 @@ from .base import env # https://docs.djangoproject.com/en/dev/ref/settings/#debug DEBUG = False # https://docs.djangoproject.com/en/dev/ref/settings/#secret-key -SECRET_KEY = env("DJANGO_SECRET_KEY", default="!!!SET DJANGO_SECRET_KEY!!!") +SECRET_KEY = env( + "DJANGO_SECRET_KEY", + default="!!!SET DJANGO_SECRET_KEY!!!", +) # https://docs.djangoproject.com/en/dev/ref/settings/#test-runner TEST_RUNNER = "django.test.runner.DiscoverRunner" @@ -19,7 +22,8 @@ TEST_RUNNER = "django.test.runner.DiscoverRunner" # https://docs.djangoproject.com/en/dev/ref/settings/#caches CACHES = { "default": { - "BACKEND": "django.core.cache.backends.locmem.LocMemCache", "LOCATION": "" + "BACKEND": "django.core.cache.backends.locmem.LocMemCache", + "LOCATION": "", } } diff --git a/{{cookiecutter.project_slug}}/config/urls.py b/{{cookiecutter.project_slug}}/config/urls.py index 62d86c94d..909d5e86e 100644 --- a/{{cookiecutter.project_slug}}/config/urls.py +++ b/{{cookiecutter.project_slug}}/config/urls.py @@ -8,22 +8,15 @@ from django.views import defaults as default_views urlpatterns = [ path("", TemplateView.as_view(template_name="pages/home.html"), name="home"), path( - "about/", - TemplateView.as_view(template_name="pages/about.html"), - name="about", + "about/", TemplateView.as_view(template_name="pages/about.html"), name="about" ), # Django Admin, use {% raw %}{% url 'admin:index' %}{% endraw %} path(settings.ADMIN_URL, admin.site.urls), # User management - path( - "users/", - include("{{ cookiecutter.project_slug }}.users.urls", namespace="users"), - ), + path("users/", include("{{ cookiecutter.project_slug }}.users.urls", namespace="users")), path("accounts/", include("allauth.urls")), # Your stuff: custom urls includes go here -] + static( - settings.MEDIA_URL, document_root=settings.MEDIA_ROOT -) +] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) if settings.DEBUG: # This allows the error pages to be debugged during development, just visit diff --git a/{{cookiecutter.project_slug}}/config/wsgi.py b/{{cookiecutter.project_slug}}/config/wsgi.py index 4c1350061..abc093149 100644 --- a/{{cookiecutter.project_slug}}/config/wsgi.py +++ b/{{cookiecutter.project_slug}}/config/wsgi.py @@ -20,11 +20,12 @@ from django.core.wsgi import get_wsgi_application # This allows easy placement of apps within the interior # {{ cookiecutter.project_slug }} directory. -app_path = os.path.abspath(os.path.join( - os.path.dirname(os.path.abspath(__file__)), os.pardir)) -sys.path.append(os.path.join(app_path, '{{ cookiecutter.project_slug }}')) +app_path = os.path.abspath( + os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir) +) +sys.path.append(os.path.join(app_path, "{{ cookiecutter.project_slug }}")) {% if cookiecutter.use_sentry == 'y' -%} -if os.environ.get('DJANGO_SETTINGS_MODULE') == 'config.settings.production': +if os.environ.get("DJANGO_SETTINGS_MODULE") == "config.settings.production": from raven.contrib.django.raven_compat.middleware.wsgi import Sentry {%- endif %} # We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks @@ -38,7 +39,7 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.production") # setting points here. application = get_wsgi_application() {% if cookiecutter.use_sentry == 'y' -%} -if os.environ.get('DJANGO_SETTINGS_MODULE') == 'config.settings.production': +if os.environ.get("DJANGO_SETTINGS_MODULE") == "config.settings.production": application = Sentry(application) {%- endif %} # Apply WSGI middleware here. diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index a496135b6..c9fbb96e0 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -19,6 +19,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # ------------------------------------------------------------------------------ flake8==3.7.5 # https://github.com/PyCQA/flake8 coverage==4.5.2 # https://github.com/nedbat/coveragepy +black==18.9b0 # https://github.com/ambv/black # Django # ------------------------------------------------------------------------------ diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/taskapp/celery.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/taskapp/celery.py index 570abc125..b3b086a06 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/taskapp/celery.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/taskapp/celery.py @@ -1,4 +1,4 @@ -{% if cookiecutter.use_celery == 'y' %} +{% if cookiecutter.use_celery == 'y' -%} import os from celery import Celery from django.apps import apps, AppConfig @@ -7,26 +7,28 @@ from django.conf import settings if not settings.configured: # set the default Django settings module for the 'celery' program. - os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.local') # pragma: no cover + os.environ.setdefault( + "DJANGO_SETTINGS_MODULE", "config.settings.local" + ) # pragma: no cover -app = Celery('{{cookiecutter.project_slug}}') +app = Celery("{{cookiecutter.project_slug}}") # Using a string here means the worker will not have to # pickle the object when using Windows. # - namespace='CELERY' means all celery-related configuration keys # should have a `CELERY_` prefix. -app.config_from_object('django.conf:settings', namespace='CELERY') +app.config_from_object("django.conf:settings", namespace="CELERY") class CeleryAppConfig(AppConfig): - name = '{{cookiecutter.project_slug}}.taskapp' - verbose_name = 'Celery Config' + name = "{{cookiecutter.project_slug}}.taskapp" + verbose_name = "Celery Config" def ready(self): installed_apps = [app_config.name for app_config in apps.get_app_configs()] app.autodiscover_tasks(lambda: installed_apps, force=True) + {%- if cookiecutter.use_sentry == 'y' %} - {% if cookiecutter.use_sentry == 'y' -%} if hasattr(settings, 'RAVEN_CONFIG'): # Celery signal registration {% if cookiecutter.use_pycharm == 'y' -%} @@ -51,7 +53,7 @@ class CeleryAppConfig(AppConfig): @app.task(bind=True) def debug_task(self): - print(f'Request: {self.request!r}') # pragma: no cover + print(f"Request: {self.request!r}") # pragma: no cover {% else %} # Use this as a starting point for your project with celery. # If you are not using celery, you can remove this app diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/adapters.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/adapters.py index 9361d6eca..0d206fae4 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/adapters.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/adapters.py @@ -7,12 +7,10 @@ from django.http import HttpRequest class AccountAdapter(DefaultAccountAdapter): - def is_open_for_signup(self, request: HttpRequest): return getattr(settings, "ACCOUNT_ALLOW_REGISTRATION", True) class SocialAccountAdapter(DefaultSocialAccountAdapter): - def is_open_for_signup(self, request: HttpRequest, sociallogin: Any): return getattr(settings, "ACCOUNT_ALLOW_REGISTRATION", True) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py index 7bba81ff3..250cc9040 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py @@ -6,7 +6,6 @@ User = get_user_model() class UserChangeForm(forms.UserChangeForm): - class Meta(forms.UserChangeForm.Meta): model = User diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py index 009905768..b53713661 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py @@ -19,9 +19,7 @@ class UserFactory(DjangoModelFactory): digits=True, upper_case=True, lower_case=True, - ).generate( - extra_kwargs={} - ) + ).generate(extra_kwargs={}) self.set_password(password) class Meta: diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py index e80661648..dfa5da52e 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py @@ -7,7 +7,6 @@ pytestmark = pytest.mark.django_db class TestUserCreationForm: - def test_clean_username(self): # A user with proto_user params does not exist yet. proto_user = UserFactory.build() diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py index 0992e4626..76cb80aa8 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py @@ -40,7 +40,6 @@ class TestUserUpdateView: class TestUserRedirectView: - def test_get_redirect_url( self, user: settings.AUTH_USER_MODEL, request_factory: RequestFactory ): From 3bd7aa4e1a14763579824cbdf99e83eab9139466 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 18 Mar 2019 20:55:47 +0000 Subject: [PATCH 0048/2840] Fix build error with windows=y and docker=y combination Fixes #1917 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index e43b70af6..b73e46024 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -2,7 +2,7 @@ pytz==2018.9 # https://github.com/stub42/pytz python-slugify==2.0.1 # https://github.com/un33k/python-slugify Pillow==5.4.1 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} -rcssmin==1.0.6{% if cookiecutter.windows == 'y' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin +rcssmin==1.0.6{% if cookiecutter.windows == 'y' and use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin {%- endif %} argon2-cffi==19.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} From b312d516a422b08c299b57cdd3515a235f82b03e Mon Sep 17 00:00:00 2001 From: Demetris Date: Tue, 19 Mar 2019 11:32:45 +0200 Subject: [PATCH 0049/2840] Replace Caddy with Traefik (#1714) ## Description Replace Caddy with Traefik ## Rationale There is some trouble with the Caddy license (https://github.com/pydanny/cookiecutter-django/pull/1282#issuecomment-329617536) @drdaeman suggested using Traefik (https://github.com/pydanny/cookiecutter-django/pull/1282#issuecomment-353655273) which supports ACME and also plays very nice with Docker. ## Comments I am currently using the proposed setup on a live site and it working great so far. If this PR is of interest to the maintainers, then I could commit more changes and take care of the documentation. Of course, any suggestions by the more experienced people around here, are welcome! --- CONTRIBUTORS.rst | 2 + README.rst | 4 +- docs/deployment-with-docker.rst | 10 ++--- docs/developing-locally-docker.rst | 3 +- .../.envs/.production/.caddy | 3 -- .../compose/production/caddy/Caddyfile | 15 ------- .../compose/production/caddy/Dockerfile | 3 -- .../compose/production/traefik/Dockerfile | 5 +++ .../compose/production/traefik/traefik.toml | 41 +++++++++++++++++++ .../merge_production_dotenvs_in_dotenv.py | 1 - {{cookiecutter.project_slug}}/production.yml | 12 +++--- 11 files changed, 61 insertions(+), 38 deletions(-) delete mode 100644 {{cookiecutter.project_slug}}/.envs/.production/.caddy delete mode 100644 {{cookiecutter.project_slug}}/compose/production/caddy/Caddyfile delete mode 100644 {{cookiecutter.project_slug}}/compose/production/caddy/Dockerfile create mode 100644 {{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile create mode 100644 {{cookiecutter.project_slug}}/compose/production/traefik/traefik.toml diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index dc41463f8..d8d312ab2 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -93,6 +93,7 @@ Listed in alphabetical order. Davit Tovmasyan `@davitovmasyan`_ Davur Clementsen `@dsclementsen`_ @davur Delio Castillo `@jangeador`_ @jangeador + Demetris Stavrou `@demestav`_ Denis Orehovsky `@apirobot`_ Dónal Adams `@epileptic-fish`_ Diane Chen `@purplediane`_ @purplediane88 @@ -216,6 +217,7 @@ Listed in alphabetical order. .. _@Collederas: https://github.com/Collederas .. _@davitovmasyan: https://github.com/davitovmasyan .. _@ddiazpinto: https://github.com/ddiazpinto +.. _@demestav: https://github.com/demestav .. _@dezoito: https://github.com/dezoito .. _@dhepper: https://github.com/dhepper .. _@dot2dotseurat: https://github.com/dot2dotseurat diff --git a/README.rst b/README.rst index 37f362045..2c037e51f 100644 --- a/README.rst +++ b/README.rst @@ -48,7 +48,7 @@ Features * Optional custom static build using Gulp and livereload * Send emails via Anymail_ (using Mailgun_ by default, but switchable) * Media storage using Amazon S3 -* Docker support using docker-compose_ for development and production (using Caddy_ with LetsEncrypt_ support) +* Docker support using docker-compose_ for development and production (using Traefik_ with LetsEncrypt_ support) * Procfile_ for deploying to Heroku * Instructions for deploying to PythonAnywhere_ * Run tests with unittest or py.test @@ -82,7 +82,7 @@ Optional Integrations .. _Sentry: https://sentry.io/welcome/ .. _docker-compose: https://github.com/docker/compose .. _PythonAnywhere: https://www.pythonanywhere.com/ -.. _Caddy: https://caddyserver.com/ +.. _Traefik: https://traefik.io/ .. _LetsEncrypt: https://letsencrypt.org/ Constraints diff --git a/docs/deployment-with-docker.rst b/docs/deployment-with-docker.rst index f6e21e828..904947e3d 100644 --- a/docs/deployment-with-docker.rst +++ b/docs/deployment-with-docker.rst @@ -19,7 +19,7 @@ Before you begin, check out the ``production.yml`` file in the root of this proj * ``django``: your application running behind ``Gunicorn``; * ``postgres``: PostgreSQL database with the application's relational data; * ``redis``: Redis instance for caching; -* ``caddy``: Caddy web server with HTTPS on by default. +* ``traefik``: Traefik reverse proxy with HTTPS on by default. Provided you have opted for Celery (via setting ``use_celery`` to ``y``) there are three more services: @@ -63,11 +63,11 @@ It is always better to deploy a site behind HTTPS and will become crucial as the * Access to the Django admin is set up by default to require HTTPS in production or once *live*. -The Caddy web server used in the default configuration will get you a valid certificate from Lets Encrypt and update it automatically. All you need to do to enable this is to make sure that your DNS records are pointing to the server Caddy runs on. +The Traefik reverse proxy used in the default configuration will get you a valid certificate from Lets Encrypt and update it automatically. All you need to do to enable this is to make sure that your DNS records are pointing to the server Traefik runs on. -You can read more about this here at `Automatic HTTPS`_ in the Caddy docs. +You can read more about this feature and how to configure it, at `Automatic HTTPS`_ in the Traefik docs. -.. _Automatic HTTPS: https://caddyserver.com/docs/automatic-https +.. _Automatic HTTPS: https://docs.traefik.io/configuration/acme/ (Optional) Postgres Data Volume Modifications @@ -112,7 +112,7 @@ If you want to scale your application, run:: docker-compose -f production.yml scale django=4 docker-compose -f production.yml scale celeryworker=2 -.. warning:: don't try to scale ``postgres``, ``celerybeat``, or ``caddy``. +.. warning:: don't try to scale ``postgres``, ``celerybeat``, or ``traefik``. To see how your containers are doing run:: diff --git a/docs/developing-locally-docker.rst b/docs/developing-locally-docker.rst index 895140f9c..108154198 100644 --- a/docs/developing-locally-docker.rst +++ b/docs/developing-locally-docker.rst @@ -105,7 +105,6 @@ The most important thing for us here now is ``env_file`` section enlisting ``./. │   ├── .django │   └── .postgres └── .production - ├── .caddy ├── .django └── .postgres @@ -120,7 +119,7 @@ Consider the aforementioned ``.envs/.local/.postgres``: :: POSTGRES_USER=XgOWtQtJecsAbaIyslwGvFvPawftNaqO POSTGRES_PASSWORD=jSljDz4whHuwO3aJIgVBrqEml5Ycbghorep4uVJ4xjDYQu0LfuTZdctj7y0YcCLu -The three envs we are presented with here are ``POSTGRES_DB``, ``POSTGRES_USER``, and ``POSTGRES_PASSWORD`` (by the way, their values have also been generated for you). You might have figured out already where these definitions will end up; it's all the same with ``django`` and ``caddy`` service container envs. +The three envs we are presented with here are ``POSTGRES_DB``, ``POSTGRES_USER``, and ``POSTGRES_PASSWORD`` (by the way, their values have also been generated for you). You might have figured out already where these definitions will end up; it's all the same with ``django`` service container envs. One final touch: should you ever need to merge ``.envs/production/*`` in a single ``.env`` run the ``merge_production_dotenvs_in_dotenv.py``: :: diff --git a/{{cookiecutter.project_slug}}/.envs/.production/.caddy b/{{cookiecutter.project_slug}}/.envs/.production/.caddy deleted file mode 100644 index 83d7fc7af..000000000 --- a/{{cookiecutter.project_slug}}/.envs/.production/.caddy +++ /dev/null @@ -1,3 +0,0 @@ -# Caddy -# ------------------------------------------------------------------------------ -DOMAIN_NAME={{ cookiecutter.domain_name }} diff --git a/{{cookiecutter.project_slug}}/compose/production/caddy/Caddyfile b/{{cookiecutter.project_slug}}/compose/production/caddy/Caddyfile deleted file mode 100644 index 323e43922..000000000 --- a/{{cookiecutter.project_slug}}/compose/production/caddy/Caddyfile +++ /dev/null @@ -1,15 +0,0 @@ -www.{% raw %}{$DOMAIN_NAME}{% endraw %} { - redir https://{% raw %}{$DOMAIN_NAME}{% endraw %} -} - -{% raw %}{$DOMAIN_NAME}{% endraw %} { - proxy / django:5000 { - header_upstream Host {host} - header_upstream X-Real-IP {remote} - header_upstream X-Forwarded-Proto {scheme} - header_upstream X-CSRFToken {~csrftoken} - } - log stdout - errors stdout - gzip -} diff --git a/{{cookiecutter.project_slug}}/compose/production/caddy/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/caddy/Dockerfile deleted file mode 100644 index c32efb3ee..000000000 --- a/{{cookiecutter.project_slug}}/compose/production/caddy/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM abiosoft/caddy:0.11.0 - -COPY ./compose/production/caddy/Caddyfile /etc/Caddyfile diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile new file mode 100644 index 000000000..7088e6fe3 --- /dev/null +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile @@ -0,0 +1,5 @@ +FROM traefik:alpine +RUN mkdir -p /etc/traefik/acme +RUN touch /etc/traefik/acme/acme.json +RUN chmod 600 /etc/traefik/acme/acme.json +COPY ./compose/production/traefik/traefik.toml /etc/traefik diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.toml b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.toml new file mode 100644 index 000000000..ad1f20e9e --- /dev/null +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.toml @@ -0,0 +1,41 @@ +logLevel = "INFO" +defaultEntryPoints = ["http", "https"] + +# Entrypoints, http and https +[entryPoints] + # http should be redirected to https + [entryPoints.http] + address = ":80" + [entryPoints.http.redirect] + entryPoint = "https" + # https is the default + [entryPoints.https] + address = ":443" + [entryPoints.https.tls] + +# Enable ACME (Let's Encrypt): automatic SSL +[acme] +# Email address used for registration +email = "{{ cookiecutter.email }}" +storageFile = "/etc/traefik/acme/acme.json" +entryPoint = "https" +onDemand = false +OnHostRule = true + # Use a HTTP-01 acme challenge rather than TLS-SNI-01 challenge + [acme.httpChallenge] + entryPoint = "http" + +[file] +[backends] + [backends.django] + [backends.django.servers.server1] + url = "http://django:5000" + +[frontends] + [frontends.django] + backend = "django" + passHostHeader = true + [frontends.django.headers] + HostsProxyHeaders = ['X-CSRFToken'] + [frontends.django.routes.dr1] + rule = "Host:{{ cookiecutter.domain_name }}" diff --git a/{{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py b/{{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py index 5c3027a40..4e70e2adb 100644 --- a/{{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py +++ b/{{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py @@ -8,7 +8,6 @@ PRODUCTION_DOTENVS_DIR_PATH = os.path.join(ROOT_DIR_PATH, ".envs", ".production" PRODUCTION_DOTENV_FILE_PATHS = [ os.path.join(PRODUCTION_DOTENVS_DIR_PATH, ".django"), os.path.join(PRODUCTION_DOTENVS_DIR_PATH, ".postgres"), - os.path.join(PRODUCTION_DOTENVS_DIR_PATH, ".caddy"), ] DOTENV_FILE_PATH = os.path.join(ROOT_DIR_PATH, ".env") diff --git a/{{cookiecutter.project_slug}}/production.yml b/{{cookiecutter.project_slug}}/production.yml index fd8388acb..88cf8773c 100644 --- a/{{cookiecutter.project_slug}}/production.yml +++ b/{{cookiecutter.project_slug}}/production.yml @@ -3,7 +3,7 @@ version: '3' volumes: production_postgres_data: {} production_postgres_data_backups: {} - production_caddy: {} + production_traefik: {} services: django:{% if cookiecutter.use_celery == 'y' %} &django{% endif %} @@ -30,17 +30,15 @@ services: env_file: - ./.envs/.production/.postgres - caddy: + traefik: build: context: . - dockerfile: ./compose/production/caddy/Dockerfile - image: {{ cookiecutter.project_slug }}_production_caddy + dockerfile: ./compose/production/traefik/Dockerfile + image: {{ cookiecutter.project_slug }}_production_traefik depends_on: - django volumes: - - production_caddy:/root/.caddy - env_file: - - ./.envs/.production/.caddy + - production_traefik:/etc/traefik/acme ports: - "0.0.0.0:80:80" - "0.0.0.0:443:443" From e740a54da68b383d79ef33225d5c8ca5081eeced Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 19 Mar 2019 12:30:19 +0000 Subject: [PATCH 0050/2840] Update Flower version --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index b73e46024..79999cb44 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -12,7 +12,7 @@ redis>=2.10.6, < 3 # pyup: < 3 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} celery==4.2.1 # pyup: < 5.0 # https://github.com/celery/celery {%- if cookiecutter.use_docker == 'y' %} -flower==0.9.2 # https://github.com/mher/flower +flower==0.9.3 # https://github.com/mher/flower {%- endif %} {%- endif %} From 6e9f87fced04ab76a133ae2fbd9b0bbbe52bd61f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 19 Mar 2019 19:57:31 +0000 Subject: [PATCH 0051/2840] Set AWS_DEFAULT_ACL to None as per django-storages documentation fixes #1885 --- {{cookiecutter.project_slug}}/config/settings/production.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 161587421..19195582d 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -76,6 +76,8 @@ _AWS_EXPIRY = 60 * 60 * 24 * 7 AWS_S3_OBJECT_PARAMETERS = { "CacheControl": f"max-age={_AWS_EXPIRY}, s-maxage={_AWS_EXPIRY}, must-revalidate" } +# https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings +AWS_DEFAULT_ACL = None # STATIC # ------------------------ From b594a1584718775e4e8abd928a68213b899719f4 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 19 Mar 2019 20:02:26 +0000 Subject: [PATCH 0052/2840] Add code style black to the generated README --- {{cookiecutter.project_slug}}/README.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/{{cookiecutter.project_slug}}/README.rst b/{{cookiecutter.project_slug}}/README.rst index 49df70198..6ef3b63c4 100644 --- a/{{cookiecutter.project_slug}}/README.rst +++ b/{{cookiecutter.project_slug}}/README.rst @@ -6,6 +6,9 @@ .. image:: https://img.shields.io/badge/built%20with-Cookiecutter%20Django-ff69b4.svg :target: https://github.com/pydanny/cookiecutter-django/ :alt: Built with Cookiecutter Django +.. image:: https://img.shields.io/badge/code%20style-black-000000.svg + :target: https://github.com/ambv/black + :alt: Black code style {% if cookiecutter.open_source_license != "Not open source" %} :License: {{cookiecutter.open_source_license}} From 7d1e90bdf5343299c31388981b6af7cb0e631bbb Mon Sep 17 00:00:00 2001 From: Guilherme Fabrizio Date: Wed, 20 Mar 2019 10:04:44 +0000 Subject: [PATCH 0053/2840] Migrate to unified Sentry SDK (#1820) The raven library is deprecated. Replace it by the new sentry-sdk library: https://docs.sentry.io/error-reporting/quickstart/?platform=python fixes #1818 --- docs/settings.rst | 1 - .../config/settings/production.py | 132 ++++++++---------- {{cookiecutter.project_slug}}/config/wsgi.py | 8 -- .../requirements/production.txt | 4 +- .../taskapp/celery.py | 22 --- 5 files changed, 64 insertions(+), 103 deletions(-) diff --git a/docs/settings.rst b/docs/settings.rst index 26b161a09..705add877 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -45,7 +45,6 @@ DJANGO_AWS_ACCESS_KEY_ID AWS_ACCESS_KEY_ID n/a DJANGO_AWS_SECRET_ACCESS_KEY AWS_SECRET_ACCESS_KEY n/a raises error DJANGO_AWS_STORAGE_BUCKET_NAME AWS_STORAGE_BUCKET_NAME n/a raises error SENTRY_DSN SENTRY_DSN n/a raises error -DJANGO_SENTRY_CLIENT SENTRY_CLIENT n/a raven.contrib.django.raven_compat.DjangoClient DJANGO_SENTRY_LOG_LEVEL SENTRY_LOG_LEVEL n/a logging.INFO MAILGUN_API_KEY MAILGUN_ACCESS_KEY n/a raises error MAILGUN_DOMAIN MAILGUN_SENDER_DOMAIN n/a raises error diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 19195582d..546f2364f 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -1,6 +1,14 @@ {% if cookiecutter.use_sentry == 'y' -%} import logging +import sentry_sdk + +from sentry_sdk.integrations.django import DjangoIntegration +from sentry_sdk.integrations.logging import LoggingIntegration +{%- if cookiecutter.use_celery == 'y' %} +from sentry_sdk.integrations.celery import CeleryIntegration +{% endif %} + {% endif -%} from .base import * # noqa from .base import env @@ -175,7 +183,6 @@ COMPRESS_ENABLED = env.bool("COMPRESS_ENABLED", default=True) COMPRESS_STORAGE = "storages.backends.s3boto3.S3Boto3Storage" # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_URL COMPRESS_URL = STATIC_URL - {% endif %} {%- if cookiecutter.use_whitenoise == 'n' -%} # Collectfast @@ -183,81 +190,16 @@ COMPRESS_URL = STATIC_URL # https://github.com/antonagestam/collectfast#installation INSTALLED_APPS = ["collectfast"] + INSTALLED_APPS # noqa F405 AWS_PRELOAD_METADATA = True - {% endif %} -{%- if cookiecutter.use_sentry == 'y' -%} -# raven -# ------------------------------------------------------------------------------ -# https://docs.sentry.io/clients/python/integrations/django/ -INSTALLED_APPS += ["raven.contrib.django.raven_compat"] # noqa F405 -MIDDLEWARE = ["raven.contrib.django.raven_compat.middleware.SentryResponseErrorIdMiddleware"] + MIDDLEWARE - -# Sentry -# ------------------------------------------------------------------------------ -SENTRY_DSN = env("SENTRY_DSN") -SENTRY_CLIENT = env("DJANGO_SENTRY_CLIENT", default="raven.contrib.django.raven_compat.DjangoClient") -LOGGING = { - "version": 1, - "disable_existing_loggers": True, - "root": { - "level": "WARNING", - "handlers": ["sentry"], - }, - "formatters": { - "verbose": { - "format": "%(levelname)s %(asctime)s %(module)s " - "%(process)d %(thread)d %(message)s" - } - }, - "handlers": { - "sentry": { - "level": "ERROR", - "class": "raven.contrib.django.raven_compat.handlers.SentryHandler", - }, - "console": { - "level": "DEBUG", - "class": "logging.StreamHandler", - "formatter": "verbose", - }, - }, - "loggers": { - "django.db.backends": { - "level": "ERROR", - "handlers": ["console"], - "propagate": False, - }, - "raven": { - "level": "DEBUG", - "handlers": ["console"], - "propagate": False, - }, - "sentry.errors": { - "level": "DEBUG", - "handlers": ["console"], - "propagate": False, - }, - "django.security.DisallowedHost": { - "level": "ERROR", - "handlers": ["console", "sentry"], - "propagate": False, - }, - }, -} - -SENTRY_CELERY_LOGLEVEL = env.int("DJANGO_SENTRY_LOG_LEVEL", logging.INFO) -RAVEN_CONFIG = { - "dsn": SENTRY_DSN -} - -{%- else %} # LOGGING # ------------------------------------------------------------------------------ -# See: https://docs.djangoproject.com/en/dev/ref/settings/#logging +# https://docs.djangoproject.com/en/dev/ref/settings/#logging +# See https://docs.djangoproject.com/en/dev/topics/logging for +# more details on how to customize your logging configuration. +{% if cookiecutter.use_sentry == 'n' -%} # A sample logging configuration. The only tangible logging # performed by this configuration is to send an email to # the site admins on every HTTP 500 error when DEBUG=False. -# See https://docs.djangoproject.com/en/dev/topics/logging for -# more details on how to customize your logging configuration. LOGGING = { "version": 1, "disable_existing_loggers": False, @@ -293,7 +235,57 @@ LOGGING = { }, }, } +{% else %} +LOGGING = { + "version": 1, + "disable_existing_loggers": True, + "formatters": { + "verbose": { + "format": "%(levelname)s %(asctime)s %(module)s " + "%(process)d %(thread)d %(message)s" + } + }, + "handlers": { + "console": { + "level": "DEBUG", + "class": "logging.StreamHandler", + "formatter": "verbose", + } + }, + "loggers": { + "django.db.backends": { + "level": "ERROR", + "handlers": ["console"], + "propagate": False, + }, + # Errors logged by the SDK itself + "sentry_sdk": {"level": "ERROR", "handlers": ["console"], "propagate": False}, + "django.security.DisallowedHost": { + "level": "ERROR", + "handlers": ["console"], + "propagate": False, + }, + }, +} +# Sentry +# ------------------------------------------------------------------------------ +SENTRY_DSN = env("SENTRY_DSN") +SENTRY_LOG_LEVEL = env.int("DJANGO_SENTRY_LOG_LEVEL", logging.INFO) + +sentry_logging = LoggingIntegration( + level=SENTRY_LOG_LEVEL, # Capture info and above as breadcrumbs + event_level=None, # Send no events from log messages +) + +{%- if cookiecutter.use_celery == 'y' %} +sentry_sdk.init( + dsn=SENTRY_DSN, + integrations=[sentry_logging, DjangoIntegration(), CeleryIntegration()], +) +{% else %} +sentry_sdk.init(dsn=SENTRY_DSN, integrations=[sentry_logging, DjangoIntegration()]) +{% endif -%} {% endif %} # Your stuff... # ------------------------------------------------------------------------------ diff --git a/{{cookiecutter.project_slug}}/config/wsgi.py b/{{cookiecutter.project_slug}}/config/wsgi.py index abc093149..1899a30ca 100644 --- a/{{cookiecutter.project_slug}}/config/wsgi.py +++ b/{{cookiecutter.project_slug}}/config/wsgi.py @@ -24,10 +24,6 @@ app_path = os.path.abspath( os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir) ) sys.path.append(os.path.join(app_path, "{{ cookiecutter.project_slug }}")) -{% if cookiecutter.use_sentry == 'y' -%} -if os.environ.get("DJANGO_SETTINGS_MODULE") == "config.settings.production": - from raven.contrib.django.raven_compat.middleware.wsgi import Sentry -{%- endif %} # We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks # if running multiple sites in the same mod_wsgi process. To fix this, use # mod_wsgi daemon mode with each site in its own daemon process, or use @@ -38,10 +34,6 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.production") # file. This includes Django's development server, if the WSGI_APPLICATION # setting points here. application = get_wsgi_application() -{% if cookiecutter.use_sentry == 'y' -%} -if os.environ.get("DJANGO_SETTINGS_MODULE") == "config.settings.production": - application = Sentry(application) -{%- endif %} # Apply WSGI middleware here. # from helloworld.wsgi import HelloWorldApplication # application = HelloWorldApplication(application) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 34877e3fd..628a67bd4 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,10 +8,10 @@ psycopg2==2.7.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -raven==6.10.0 # https://github.com/getsentry/raven-python +sentry-sdk==0.7.6 # https://github.com/getsentry/sentry-python {%- endif %} # Django # ------------------------------------------------------------------------------ django-storages[boto3]==1.7.1 # https://github.com/jschneier/django-storages -django-anymail[mailgun]==5.0 # https://github.com/anymail/django-anymail \ No newline at end of file +django-anymail[mailgun]==5.0 # https://github.com/anymail/django-anymail diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/taskapp/celery.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/taskapp/celery.py index b3b086a06..529da1ae0 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/taskapp/celery.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/taskapp/celery.py @@ -27,28 +27,6 @@ class CeleryAppConfig(AppConfig): def ready(self): installed_apps = [app_config.name for app_config in apps.get_app_configs()] app.autodiscover_tasks(lambda: installed_apps, force=True) - {%- if cookiecutter.use_sentry == 'y' %} - - if hasattr(settings, 'RAVEN_CONFIG'): - # Celery signal registration -{% if cookiecutter.use_pycharm == 'y' -%} - # Since raven is required in production only, - # imports might (most surely will) be wiped out - # during PyCharm code clean up started - # in other environments. - # @formatter:off -{%- endif %} - from raven import Client as RavenClient - from raven.contrib.celery import register_signal as raven_register_signal - from raven.contrib.celery import register_logger_signal as raven_register_logger_signal -{% if cookiecutter.use_pycharm == 'y' -%} - # @formatter:on -{%- endif %} - - raven_client = RavenClient(dsn=settings.RAVEN_CONFIG['dsn']) - raven_register_logger_signal(raven_client) - raven_register_signal(raven_client) - {%- endif %} @app.task(bind=True) From 5bf0a397ac2fef207b817cff99f08373841b7eb9 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 20 Mar 2019 12:09:43 +0000 Subject: [PATCH 0054/2840] Pin redis version --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 6f9cd64f8..cbc9485f0 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==4.1.2 # https://github.com/evansd/whitenoise {%- endif %} -redis>=3.2.0 # https://github.com/antirez/redis +redis==3.2.1 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} celery==4.2.1 # pyup: < 5.0 # https://github.com/celery/celery kombu==4.4.0 # https://github.com/celery/kombu From f1def67b6d70dd8ef31d8e38bbf9faaa0db8f483 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 20 Mar 2019 12:12:32 +0000 Subject: [PATCH 0055/2840] Fix broken links in list of contributors --- CONTRIBUTORS.rst | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index d804a9703..b7607562a 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -46,7 +46,7 @@ Listed in alphabetical order. Aaron Eikenberry `@aeikenberry`_ Adam Bogdał `@bogdal`_ Adam Dobrawy `@ad-m`_ - Adam Steele `@adammsteele` + Adam Steele `@adammsteele`_ Agam Dua Alberto Sanchez `@alb3rto`_ Alex Tsai `@caffodian`_ @@ -64,14 +64,14 @@ Listed in alphabetical order. Areski Belaid `@areski`_ Ashley Camba Barclay Gauld `@yunti`_ - Ben Warren `@bwarren2` + Ben Warren `@bwarren2`_ Ben Lopatin Benjamin Abel Bert de Miranda `@bertdemiranda`_ Bo Lopker `@blopker`_ Bouke Haarsma Brent Payne `@brentpayne`_ @brentpayne - Bartek `@btknu` + Bartek `@btknu`_ Burhan Khalid            `@burhan`_                   @burhan Carl Johnson `@carlmjohnson`_ @carlmjohnson Catherine Devlin `@catherinedevlin`_ @@ -159,7 +159,7 @@ Listed in alphabetical order. Roman Afanaskin `@siauPatrick`_ Roman Osipenko `@romanosipenko`_ Russell Davies - Sascha `@saschalalala` @saschalalala + Sascha `@saschalalala`_ @saschalalala Sam Collins `@MightySCollins`_ Shupeyko Nikita `@webyneter`_ Sławek Ehlert `@slafs`_ @@ -304,6 +304,14 @@ Listed in alphabetical order. .. _@ahhda: https://github.com/ahhda .. _@keithjeb: https://github.com/keithjeb .. _@btknu: https://github.com/btknu +.. _@rolep: https://github.com/rolep +.. _@canonnervio: https://github.com/canonnervio +.. _@jcass77: https://github.com/jcass77 +.. _@Egregors: https://github.com/Egregors +.. _@saschalalala: https://github.com/saschalalala +.. _@mrcoles: https://github.com/mrcoles +.. _@ericgroom: https://github.com/ericgroom + Special Thanks ~~~~~~~~~~~~~~ From 823ee637d14fe163cf9c3563a9fc37a01497601a Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 20 Mar 2019 12:16:43 +0000 Subject: [PATCH 0056/2840] Remove dead link in .gitignore Fixes #1972 --- {{cookiecutter.project_slug}}/.gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.gitignore b/{{cookiecutter.project_slug}}/.gitignore index 1874e9d92..cb8ad8358 100644 --- a/{{cookiecutter.project_slug}}/.gitignore +++ b/{{cookiecutter.project_slug}}/.gitignore @@ -325,7 +325,6 @@ tags ### VirtualEnv template # Virtualenv -# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/ [Bb]in [Ii]nclude [Ll]ib From 91585a0eb23b8c244e664e6078e2da525e2d14de Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 20 Mar 2019 12:54:58 +0000 Subject: [PATCH 0057/2840] Add OS requirements for Ubuntu Bionic 18.04 Fixes #1973 --- .../utility/requirements-bionic.apt | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 {{cookiecutter.project_slug}}/utility/requirements-bionic.apt diff --git a/{{cookiecutter.project_slug}}/utility/requirements-bionic.apt b/{{cookiecutter.project_slug}}/utility/requirements-bionic.apt new file mode 100644 index 000000000..1ca82b264 --- /dev/null +++ b/{{cookiecutter.project_slug}}/utility/requirements-bionic.apt @@ -0,0 +1,23 @@ +##basic build dependencies of various Django apps for Ubuntu Bionic 18.04 +#build-essential metapackage install: make, gcc, g++, +build-essential +#required to translate +gettext +python3-dev + +##shared dependencies of: +##Pillow, pylibmc +zlib1g-dev + +##Postgresql and psycopg2 dependencies +libpq-dev + +##Pillow dependencies +libtiff5-dev +libjpeg8-dev +libfreetype6-dev +liblcms2-dev +libwebp-dev + +##django-extensions +libgraphviz-dev From 1ed1e6ac47d9ee9101034a110762e0074060894a Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 21 Mar 2019 16:00:43 +0000 Subject: [PATCH 0058/2840] Update sentry-sdk from 0.7.6 to 0.7.7 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 628a67bd4..07e766460 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.7.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.7.6 # https://github.com/getsentry/sentry-python +sentry-sdk==0.7.7 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 4cd30e4657e2dbce3c7d19d02e9db2ae5ed8e6fd Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 21 Mar 2019 16:00:47 +0000 Subject: [PATCH 0059/2840] Update django-anymail from 5.0 to 6.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 628a67bd4..e4f09c389 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -14,4 +14,4 @@ sentry-sdk==0.7.6 # https://github.com/getsentry/sentry-python # Django # ------------------------------------------------------------------------------ django-storages[boto3]==1.7.1 # https://github.com/jschneier/django-storages -django-anymail[mailgun]==5.0 # https://github.com/anymail/django-anymail +django-anymail[mailgun]==6.0 # https://github.com/anymail/django-anymail From bb26ed565beca0cc9c04199eec6b4e9fa66ee69d Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 21 Mar 2019 16:00:50 +0000 Subject: [PATCH 0060/2840] Update python-slugify from 2.0.1 to 3.0.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index cbc9485f0..fdfec62b2 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,5 +1,5 @@ pytz==2018.9 # https://github.com/stub42/pytz -python-slugify==2.0.1 # https://github.com/un33k/python-slugify +python-slugify==3.0.0 # https://github.com/un33k/python-slugify Pillow==5.4.1 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin From dd85d6df39cb3167a39a613ec2ceb4c7f9c0722b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 21 Mar 2019 16:00:57 +0000 Subject: [PATCH 0061/2840] Update django-allauth from 0.38.0 to 0.39.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index cbc9485f0..956587ef5 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -22,7 +22,7 @@ flower==0.9.3 # https://github.com/mher/flower django==2.0.13 # pyup: < 2.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==3.1.2 # https://github.com/jazzband/django-model-utils -django-allauth==0.38.0 # https://github.com/pennersr/django-allauth +django-allauth==0.39.1 # https://github.com/pennersr/django-allauth django-crispy-forms==1.7.2 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.2 # https://github.com/django-compressor/django-compressor From f04e96e30f3efb266e03555ce61929e966f4db23 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 21 Mar 2019 16:01:00 +0000 Subject: [PATCH 0062/2840] Update djangorestframework from 3.9.1 to 3.9.2 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index cbc9485f0..fe5aaf262 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -30,5 +30,5 @@ django-compressor==2.2 # https://github.com/django-compressor/django-compressor django-redis==4.10.0 # https://github.com/niwinz/django-redis # Django REST Framework -djangorestframework==3.9.1 # https://github.com/encode/django-rest-framework +djangorestframework==3.9.2 # https://github.com/encode/django-rest-framework coreapi==2.3.3 # https://github.com/core-api/python-client From 7b83d47e2b44ea60d9e65696889aa470b3522b42 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 21 Mar 2019 16:01:05 +0000 Subject: [PATCH 0063/2840] Update werkzeug from 0.14.1 to 0.15.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index c9fbb96e0..8c7bc6949 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,6 +1,6 @@ -r ./base.txt -Werkzeug==0.14.1 # https://github.com/pallets/werkzeug +Werkzeug==0.15.0 # https://github.com/pallets/werkzeug ipdb==0.11 # https://github.com/gotcha/ipdb Sphinx==1.8.4 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} From f67a78903ef67148b1b3d7c1d4807f396ab06494 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 21 Mar 2019 16:01:08 +0000 Subject: [PATCH 0064/2840] Update ipdb from 0.11 to 0.12 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index c9fbb96e0..3e56c1bc2 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,7 +1,7 @@ -r ./base.txt Werkzeug==0.14.1 # https://github.com/pallets/werkzeug -ipdb==0.11 # https://github.com/gotcha/ipdb +ipdb==0.12 # https://github.com/gotcha/ipdb Sphinx==1.8.4 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.7.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 From b5ab945ca2b6b50fcee8708d9e8b1c4db86e30d7 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 21 Mar 2019 16:01:14 +0000 Subject: [PATCH 0065/2840] Update sphinx from 1.8.4 to 1.8.5 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index c9fbb96e0..7159a06e0 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==0.14.1 # https://github.com/pallets/werkzeug ipdb==0.11 # https://github.com/gotcha/ipdb -Sphinx==1.8.4 # https://github.com/sphinx-doc/sphinx +Sphinx==1.8.5 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.7.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From a7163b9409543e69026896b70a4d8ff45b9bb716 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 21 Mar 2019 16:01:18 +0000 Subject: [PATCH 0066/2840] Update pytest from 4.2.0 to 4.3.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index c9fbb96e0..0c77b17b1 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.7.7 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.670 # https://github.com/python/mypy -pytest==4.2.0 # https://github.com/pytest-dev/pytest +pytest==4.3.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From 3995e9e807297167bfed646597e4863c991f9317 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 21 Mar 2019 16:01:21 +0000 Subject: [PATCH 0067/2840] Update coverage from 4.5.2 to 4.5.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index c9fbb96e0..6b8309598 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -18,7 +18,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ flake8==3.7.5 # https://github.com/PyCQA/flake8 -coverage==4.5.2 # https://github.com/nedbat/coveragepy +coverage==4.5.3 # https://github.com/nedbat/coveragepy black==18.9b0 # https://github.com/ambv/black # Django From d92754684f89450a05020fda90bcd2acc4345a15 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 21 Mar 2019 16:01:24 +0000 Subject: [PATCH 0068/2840] Update black from 18.9b0 to 19.3b0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index c9fbb96e0..f8e3e96ca 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -19,7 +19,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # ------------------------------------------------------------------------------ flake8==3.7.5 # https://github.com/PyCQA/flake8 coverage==4.5.2 # https://github.com/nedbat/coveragepy -black==18.9b0 # https://github.com/ambv/black +black==19.3b0 # https://github.com/ambv/black # Django # ------------------------------------------------------------------------------ From a8c52e2d455a82d43dda8021ca4691776b27f3d0 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 21 Mar 2019 16:01:28 +0000 Subject: [PATCH 0069/2840] Update django-extensions from 2.1.5 to 2.1.6 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index c9fbb96e0..18ef4aac3 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -26,6 +26,6 @@ black==18.9b0 # https://github.com/ambv/black factory-boy==2.11.1 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==1.11 # https://github.com/jazzband/django-debug-toolbar -django-extensions==2.1.5 # https://github.com/django-extensions/django-extensions +django-extensions==2.1.6 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.4.7 # https://github.com/pytest-dev/pytest-django From 65d315ed292224039e4fc2f76c8b7bb1954992fc Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 21 Mar 2019 16:01:31 +0000 Subject: [PATCH 0070/2840] Update pytest-django from 3.4.7 to 3.4.8 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index c9fbb96e0..70ebedfc7 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -28,4 +28,4 @@ factory-boy==2.11.1 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==1.11 # https://github.com/jazzband/django-debug-toolbar django-extensions==2.1.5 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin -pytest-django==3.4.7 # https://github.com/pytest-dev/pytest-django +pytest-django==3.4.8 # https://github.com/pytest-dev/pytest-django From 7f3aa6cebb9f2efb188e2b01acd90b184e2e72b3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 22 Mar 2019 11:00:31 +0000 Subject: [PATCH 0071/2840] Update werkzeug from 0.15.0 to 0.15.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 2fa606c18..df1ef0078 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,6 +1,6 @@ -r ./base.txt -Werkzeug==0.15.0 # https://github.com/pallets/werkzeug +Werkzeug==0.15.1 # https://github.com/pallets/werkzeug ipdb==0.12 # https://github.com/gotcha/ipdb Sphinx==1.8.5 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} From 85aea55fc64d117a31ffe50e481a1e2de17e3385 Mon Sep 17 00:00:00 2001 From: Hana Quadara Date: Sat, 23 Mar 2019 00:01:23 -0400 Subject: [PATCH 0072/2840] add plugins to req file; remove pylint-common --- docs/linters.rst | 2 +- requirements.txt | 2 ++ {{cookiecutter.project_slug}}/.pylintrc | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/linters.rst b/docs/linters.rst index e59ff0df7..2d6232181 100644 --- a/docs/linters.rst +++ b/docs/linters.rst @@ -25,7 +25,7 @@ This is included in flake8's checks, but you can also run it separately to see a The config for pylint is located in .pylintrc. It specifies: -* Use the pylint_common and pylint_django plugins. If using Celery, also use pylint_celery. +* Use the pylint_django plugin. If using Celery, also use pylint_celery. * Set max line length to 120 chars * Disable linting messages for missing docstring and invalid name * max-parents=13 diff --git a/requirements.txt b/requirements.txt index 647bccaef..ce2cd07e1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,6 +5,8 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ flake8==3.7.6 +pylint-django==0.9.4 +pylint-celery==0.3 # Testing # ------------------------------------------------------------------------------ diff --git a/{{cookiecutter.project_slug}}/.pylintrc b/{{cookiecutter.project_slug}}/.pylintrc index 1a1992862..a0955f076 100644 --- a/{{cookiecutter.project_slug}}/.pylintrc +++ b/{{cookiecutter.project_slug}}/.pylintrc @@ -1,5 +1,5 @@ [MASTER] -load-plugins=pylint_common, pylint_django{% if cookiecutter.use_celery == "y" %}, pylint_celery {% endif %} +load-plugins=pylint_django{% if cookiecutter.use_celery == "y" %}, pylint_celery {% endif %} [FORMAT] max-line-length=120 From 015319ca3f63fd4720dda4737ac5c56764ea75ef Mon Sep 17 00:00:00 2001 From: Hana Quadara Date: Sat, 23 Mar 2019 00:26:13 -0400 Subject: [PATCH 0073/2840] add username to contributors --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index b7607562a..24d8fda6f 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -106,6 +106,7 @@ Listed in alphabetical order. Garry Cairns `@garry-cairns`_ Garry Polley `@garrypolley`_ Hamish Durkin `@durkode`_ + Hana Quadara `@hanaquadara`_ Harry Percival `@hjwp`_ Hendrik Schneider `@hendrikschneider`_ Henrique G. G. Pereira `@ikkebr`_ From b91c70d75578e56c2ca74400684c5b5523cd0cd4 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 25 Mar 2019 12:10:55 +0000 Subject: [PATCH 0074/2840] Add a node image to run Gulp when selecting it with Docker (#1687) ## Description Following up on @webyneter attempt in #1205, which is now getting outdated, I've tried to make Gulp task runner work with Docker. There is no documentation yet, but this seems to work locally with the custom bootstrap compilation... - [x] Add a node image for local developement - [x] Proxy the django image rather than localhost in Browser sync, pass header to keep hostname - [x] Don't call the runserver command from Gulp, let docker-compose handle - [x] Update package.json & gulpfile.js templates to reduce the number of unwanted empty lines - [x] Use [multi-stage build](https://docs.docker.com/develop/develop-images/multistage-build/) in production to make sure the static assets are produced - [x] Update documentation - [x] Verify that the previous issue with static assets missing from production isn't there ## Rationale Currently, the static build isn't working nicely with Docker, extra manual setup is required. Fixes #1762 --- docs/deployment-with-docker.rst | 5 +++-- hooks/post_gen_project.py | 21 ++++++------------- .../compose/local/node/Dockerfile | 9 ++++++++ .../compose/production/django/Dockerfile | 21 +++++++++++++++++-- {{cookiecutter.project_slug}}/gulpfile.js | 20 +++++++++++++++++- {{cookiecutter.project_slug}}/local.yml | 20 ++++++++++++++++++ {{cookiecutter.project_slug}}/package.json | 5 +++-- .../templates/base.html | 8 +++---- 8 files changed, 83 insertions(+), 26 deletions(-) create mode 100644 {{cookiecutter.project_slug}}/compose/local/node/Dockerfile diff --git a/docs/deployment-with-docker.rst b/docs/deployment-with-docker.rst index 904947e3d..4ab2312ea 100644 --- a/docs/deployment-with-docker.rst +++ b/docs/deployment-with-docker.rst @@ -7,8 +7,8 @@ Deployment with Docker Prerequisites ------------- -* Docker 1.10+. -* Docker Compose 1.6+ +* Docker 17.05+. +* Docker Compose 1.17+ Understanding the Docker Compose Setup @@ -144,3 +144,4 @@ Move it to ``/etc/supervisor/conf.d/{{cookiecutter.project_slug}}.conf`` and run For status check, run:: supervisorctl status + diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index a9c1c9410..ab05b375a 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -267,6 +267,10 @@ def remove_celery_compose_dirs(): shutil.rmtree(os.path.join("compose", "production", "django", "celery")) +def remove_node_dockerfile(): + shutil.rmtree(os.path.join("compose", "local", "node")) + + def main(): debug = "{{ cookiecutter.debug }}".lower() == "y" @@ -313,21 +317,8 @@ def main(): if "{{ cookiecutter.js_task_runner}}".lower() == "none": remove_gulp_files() remove_packagejson_file() - if ( - "{{ cookiecutter.js_task_runner }}".lower() != "none" - and "{{ cookiecutter.use_docker }}".lower() == "y" - ): - print( - WARNING - + "Docker and {} JS task runner ".format( - "{{ cookiecutter.js_task_runner }}".lower().capitalize() - ) - + "working together not supported yet. " - "You can continue using the generated project like you " - "normally would, however you would need to add a JS " - "task runner service to your Docker Compose configuration " - "manually." + TERMINATOR - ) + if "{{ cookiecutter.use_docker }}".lower() == "y": + remove_node_dockerfile() if "{{ cookiecutter.use_celery }}".lower() == "n": remove_celery_app() diff --git a/{{cookiecutter.project_slug}}/compose/local/node/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/node/Dockerfile new file mode 100644 index 000000000..f9976e206 --- /dev/null +++ b/{{cookiecutter.project_slug}}/compose/local/node/Dockerfile @@ -0,0 +1,9 @@ +FROM node:10-stretch-slim + +WORKDIR /app + +COPY ./package.json /app + +RUN npm install && npm cache clean --force + +ENV PATH ./node_modules/.bin/:$PATH diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index 68d72327f..80b5bc2cf 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -1,3 +1,14 @@ +{% if cookiecutter.js_task_runner == 'Gulp' -%} +FROM node:10-stretch-slim as client-builder + +WORKDIR /app +COPY ./package.json /app +RUN npm install && npm cache clean --force +COPY . /app +RUN npm run build + +# Python build stage +{%- endif %} FROM python:3.6-alpine ENV PYTHONUNBUFFERED 1 @@ -28,7 +39,8 @@ COPY ./compose/production/django/start /start RUN sed -i 's/\r//' /start RUN chmod +x /start RUN chown django /start -{% if cookiecutter.use_celery == "y" %} + +{%- if cookiecutter.use_celery == "y" %} COPY ./compose/production/django/celery/worker/start /start-celeryworker RUN sed -i 's/\r//' /start-celeryworker RUN chmod +x /start-celeryworker @@ -42,8 +54,13 @@ RUN chown django /start-celerybeat COPY ./compose/production/django/celery/flower/start /start-flower RUN sed -i 's/\r//' /start-flower RUN chmod +x /start-flower -{% endif %} +{%- endif %} + +{%- if cookiecutter.js_task_runner == 'Gulp' %} +COPY --from=client-builder /app /app +{% else %} COPY . /app +{%- endif %} RUN chown -R django /app diff --git a/{{cookiecutter.project_slug}}/gulpfile.js b/{{cookiecutter.project_slug}}/gulpfile.js index d92678ed2..3c28a7359 100644 --- a/{{cookiecutter.project_slug}}/gulpfile.js +++ b/{{cookiecutter.project_slug}}/gulpfile.js @@ -127,7 +127,23 @@ function initBrowserSync() { `${paths.js}/*.js`, `${paths.templates}/*.html` ], { - proxy: "localhost:8000" + // https://www.browsersync.io/docs/options/#option-proxy + {%- if cookiecutter.use_docker == 'n' %} + proxy: 'localhost:8000' + {% else %} + proxy: { + target: 'django:8000', + proxyReq: [ + function(proxyReq, req) { + // Assign proxy "host" header same as current request at Browsersync server + proxyReq.setHeader('Host', req.headers.host) + } + ] + }, + // https://www.browsersync.io/docs/options/#option-open + // Disable as it doesn't work from inside a container + open: false + {%- endif %} } ) } @@ -149,7 +165,9 @@ const generateAssets = parallel( // Set up dev environment const dev = parallel( + {%- if cookiecutter.use_docker == 'n' %} runServer, + {%- endif %} initBrowserSync, watchPaths ) diff --git a/{{cookiecutter.project_slug}}/local.yml b/{{cookiecutter.project_slug}}/local.yml index 366389320..c6dd654e5 100644 --- a/{{cookiecutter.project_slug}}/local.yml +++ b/{{cookiecutter.project_slug}}/local.yml @@ -79,3 +79,23 @@ services: command: /start-flower {%- endif %} + {%- if cookiecutter.js_task_runner == 'Gulp' %} + + node: + build: + context: . + dockerfile: ./compose/local/node/Dockerfile + image: {{ cookiecutter.project_slug }}_local_node + depends_on: + - django + volumes: + - .:/app + # http://jdlm.info/articles/2016/03/06/lessons-building-node-app-docker.html + - /app/node_modules + command: npm run dev + ports: + - "3000:3000" + # Expose browsersync UI: https://www.browsersync.io/docs/options/#option-ui + - "3001:3001" + + {%- endif %} diff --git a/{{cookiecutter.project_slug}}/package.json b/{{cookiecutter.project_slug}}/package.json index a15df941e..6edf2e114 100644 --- a/{{cookiecutter.project_slug}}/package.json +++ b/{{cookiecutter.project_slug}}/package.json @@ -5,7 +5,7 @@ "devDependencies": { {% if cookiecutter.js_task_runner == 'Gulp' -%} {% if cookiecutter.custom_bootstrap_compilation == 'y' -%} - "bootstrap": "4.1.1", + "bootstrap": "4.3.1", "gulp-concat": "^2.6.1", "jquery": "3.3.1", "popper.js": "1.14.3", @@ -31,7 +31,8 @@ ], "scripts": { {% if cookiecutter.js_task_runner == 'Gulp' -%} - "dev": "gulp" + "dev": "gulp", + "build": "gulp generate-assets" {%- endif %} } } diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html index 4470e955a..9caab43aa 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html @@ -17,8 +17,8 @@ {% block css %} {% endraw %}{% if cookiecutter.custom_bootstrap_compilation == "n" %}{% raw %} - - + + {% endraw %}{% endif %}{% raw %} @@ -102,10 +102,10 @@ {% endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% endcompress %}{% endraw %}{% endif %}{% raw %} {% endraw %}{% else %}{% raw %} - + - + {% endraw %}{% endif %}{% raw %} From ec79f1f6763e097df152649353bea5f08ffa2023 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 25 Mar 2019 19:04:47 +0000 Subject: [PATCH 0075/2840] Rename test phases in Travis build matrix --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 65b2a28d1..a74090b28 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,9 +13,9 @@ before_install: matrix: include: - - name: Test + - name: Tox Test script: tox -e py36 - - name: Black + - name: Black template script: tox -e black - name: Basic Docker script: sh tests/test_docker.sh From b261ce27c4351996d5186f37a56c3b72e6330e0c Mon Sep 17 00:00:00 2001 From: hanasuhail Date: Mon, 25 Mar 2019 15:52:49 -0400 Subject: [PATCH 0076/2840] update restructured text link; add condition for celery linter --- CONTRIBUTORS.rst | 1 + requirements.txt | 2 -- {{cookiecutter.project_slug}}/requirements/local.txt | 4 ++++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 24d8fda6f..154fa1ac5 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -312,6 +312,7 @@ Listed in alphabetical order. .. _@saschalalala: https://github.com/saschalalala .. _@mrcoles: https://github.com/mrcoles .. _@ericgroom: https://github.com/ericgroom +.. _@hanaquadara: https://github.com/hanaquadara Special Thanks ~~~~~~~~~~~~~~ diff --git a/requirements.txt b/requirements.txt index ce2cd07e1..647bccaef 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,8 +5,6 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ flake8==3.7.6 -pylint-django==0.9.4 -pylint-celery==0.3 # Testing # ------------------------------------------------------------------------------ diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index df1ef0078..d3ad17fd2 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,6 +20,10 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar flake8==3.7.5 # https://github.com/PyCQA/flake8 coverage==4.5.3 # https://github.com/nedbat/coveragepy black==19.3b0 # https://github.com/ambv/black +pylint-django==0.9.4 +{%- if cookiecutter.use_celery == 'y' %} +pylint-celery==0.3 +{%- endif %} # Django # ------------------------------------------------------------------------------ From 5db400fbcf6263cbefb18a0d28ae7c448e785c14 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 26 Mar 2019 11:00:32 +0000 Subject: [PATCH 0077/2840] Update sentry-sdk from 0.7.7 to 0.7.8 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 1d842de4b..17b9d00c6 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.7.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.7.7 # https://github.com/getsentry/sentry-python +sentry-sdk==0.7.8 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 99d7e1d5efd9328c5ce4aa94510efcf1070885a2 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 26 Mar 2019 11:00:35 +0000 Subject: [PATCH 0078/2840] Update python-slugify from 3.0.0 to 3.0.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index e26f65360..e0a762327 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,5 +1,5 @@ pytz==2018.9 # https://github.com/stub42/pytz -python-slugify==3.0.0 # https://github.com/un33k/python-slugify +python-slugify==3.0.1 # https://github.com/un33k/python-slugify Pillow==5.4.1 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin From c2f8569eb375d6e4d5ef80c32c339a8529478678 Mon Sep 17 00:00:00 2001 From: hanasuhail Date: Tue, 26 Mar 2019 17:16:40 -0400 Subject: [PATCH 0079/2840] add sources --- {{cookiecutter.project_slug}}/requirements/local.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index d3ad17fd2..066f01ad9 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,9 +20,9 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar flake8==3.7.5 # https://github.com/PyCQA/flake8 coverage==4.5.3 # https://github.com/nedbat/coveragepy black==19.3b0 # https://github.com/ambv/black -pylint-django==0.9.4 +pylint-django==0.9.4 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} -pylint-celery==0.3 +pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} # Django From 9e93adaf98a1da5b4befe113f22a2ae646094d36 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 26 Mar 2019 21:20:56 +0000 Subject: [PATCH 0080/2840] Add documentation to include optional integrations fixes #449 --- docs/deployment-on-heroku.rst | 65 +++++++++++++++++++++++++++++++++-- 1 file changed, 62 insertions(+), 3 deletions(-) diff --git a/docs/deployment-on-heroku.rst b/docs/deployment-on-heroku.rst index 09953cf88..6f3076bcb 100644 --- a/docs/deployment-on-heroku.rst +++ b/docs/deployment-on-heroku.rst @@ -17,11 +17,8 @@ Run these commands to deploy the project to Heroku: heroku addons:create heroku-redis:hobby-dev - # If using mailgun: heroku addons:create mailgun:starter - heroku addons:create sentry:f1 - heroku config:set PYTHONHASHSEED=random heroku config:set WEB_CONCURRENCY=4 @@ -52,3 +49,65 @@ Run these commands to deploy the project to Heroku: heroku run python manage.py check --deploy heroku open + + +Optional actions +---------------- + +Celery +++++++ + +Celery requires a few extra environment variables to be ready operational. Also, the worker is created, +it's in the ``Procfile``, but is turned off by default: + +.. code-block:: bash + + # Set the broker URL to Redis + heroku config:set CELERY_BROKER_URL=`heroku config:get REDIS_URL` + # Scale dyno to 1 instance + heroku ps:scale worker=1 + +Sentry +++++++ + +If you're opted for Sentry error tracking, you can either install it through the `Sentry add-on`_: + +.. code-block:: bash + + heroku addons:create sentry:f1 + + +Or add the DSN for your account, if you already have one: + +.. code-block:: bash + + heroku config:set SENTRY_DSN=https://xxxx@sentry.io/12345 + +.. _Sentry add-on: https://elements.heroku.com/addons/sentry + + +Gulp & Bootstrap compilation +++++++++++++++++++++++++++++ + +If you've opted for a custom bootstrap build, you'll most likely need to setup +your app to use `multiple buildpacks`_: one for Python & one for Node.js: + +.. code-block:: bash + + heroku buildpacks:add --index 1 heroku/nodejs + +At time of writing, this should do the trick: during deployment, +the Heroku should run ``npm install`` and then ``npm build``, +which runs Gulp in cookiecutter-django. + +If things don't work, please refer to the Heroku docs. + +.. _multiple buildpacks: https://devcenter.heroku.com/articles/using-multiple-buildpacks-for-an-app + +About Heroku & Docker +--------------------- + +Although Heroku has some sort of `Docker support`_, it's not supported by cookiecutter-django. +We invite you to follow Heroku documentation about it. + +.. _Docker support:: https://devcenter.heroku.com/articles/build-docker-images-heroku-yml From eb3325f767264190fbc1305547d7d3bfd8bedb06 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 26 Mar 2019 21:36:38 +0000 Subject: [PATCH 0081/2840] Add documentation about Mailgun setup fixes #1705 --- docs/deployment-on-heroku.rst | 5 +++++ docs/deployment-with-docker.rst | 5 +++++ docs/mailgun.rst | 13 +++++++++++++ docs/troubleshooting.rst | 2 ++ 4 files changed, 25 insertions(+) create mode 100644 docs/mailgun.rst diff --git a/docs/deployment-on-heroku.rst b/docs/deployment-on-heroku.rst index 6f3076bcb..8cc3a6b56 100644 --- a/docs/deployment-on-heroku.rst +++ b/docs/deployment-on-heroku.rst @@ -51,6 +51,11 @@ Run these commands to deploy the project to Heroku: heroku open +.. warning:: + + .. include:: mailgun.rst + + Optional actions ---------------- diff --git a/docs/deployment-with-docker.rst b/docs/deployment-with-docker.rst index 4ab2312ea..aad549327 100644 --- a/docs/deployment-with-docker.rst +++ b/docs/deployment-with-docker.rst @@ -43,6 +43,11 @@ You will probably also need to setup the Mail backend, for example by adding a ` .. _Mailgun: https://mailgun.com +.. warning:: + + .. include:: mailgun.rst + + Optional: Use AWS IAM Role for EC2 instance ------------------------------------------- diff --git a/docs/mailgun.rst b/docs/mailgun.rst new file mode 100644 index 000000000..1f34e3c86 --- /dev/null +++ b/docs/mailgun.rst @@ -0,0 +1,13 @@ +If your email server used to send email isn't configured properly (Mailgun by default), +attempting to send an email will cause an Internal Server Error. + +By default, django-allauth is setup to `have emails verifications mandatory`_, +which means it'll send a verification email when an unverified user tries to +log-in or when someone tries to sign-up. + +This may happen just after you've setup your Mailgun account, which is running in a +sandbox subdomain by default. Either add your email to the list of authorized recipients +or verify your domain. + + +.. _have emails verifications mandatory: https://django-allauth.readthedocs.io/en/latest/configuration.html?highlight=ACCOUNT_EMAIL_VERIFICATION diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst index d0c0ba434..68db2fb08 100644 --- a/docs/troubleshooting.rst +++ b/docs/troubleshooting.rst @@ -11,5 +11,7 @@ This page contains some advice about errors and problems commonly encountered du #. New apps not getting created in project root: This is the expected behavior, because cookiecutter-django does not change the way that django startapp works, you'll have to fix this manually (see `#1725`_) +#. .. include:: mailgun.rst + .. _#528: https://github.com/pydanny/cookiecutter-django/issues/528#issuecomment-212650373 .. _#1725: https://github.com/pydanny/cookiecutter-django/issues/1725#issuecomment-407493176 From 28c60116a6a9e8eaa1131da7223e67872787b370 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 27 Mar 2019 11:00:31 +0000 Subject: [PATCH 0082/2840] Update pylint-django from 0.9.4 to 2.0.6 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 066f01ad9..0c6886f7c 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar flake8==3.7.5 # https://github.com/PyCQA/flake8 coverage==4.5.3 # https://github.com/nedbat/coveragepy black==19.3b0 # https://github.com/ambv/black -pylint-django==0.9.4 # https://github.com/PyCQA/pylint-django +pylint-django==2.0.6 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} From 7e60f1259a3d25b25d6dd4eec19bc2a88335fc44 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 27 Mar 2019 14:15:44 -0700 Subject: [PATCH 0083/2840] Update tox from 3.6.1 to 3.8.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 647bccaef..01e826cd7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ flake8==3.7.6 # Testing # ------------------------------------------------------------------------------ -tox==3.6.1 +tox==3.8.0 pytest==4.3.1 pytest-cookies==0.3.0 pyyaml==5.1 From becd2dce1329670f5286ac6435e5ef9b7d8ae8aa Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 27 Mar 2019 21:27:52 +0000 Subject: [PATCH 0084/2840] Reword & clarify Python 2 warning in pre gen hook Fixes #1942 --- hooks/pre_gen_project.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hooks/pre_gen_project.py b/hooks/pre_gen_project.py index a6b834556..e7bc1e39a 100644 --- a/hooks/pre_gen_project.py +++ b/hooks/pre_gen_project.py @@ -30,9 +30,8 @@ if "{{ cookiecutter.use_docker }}".lower() == "n": python_major_version = sys.version_info[0] if python_major_version == 2: print( - WARNING + "Cookiecutter Django does not support Python 2. " - "Stability is guaranteed with Python 3.6+ only, " - "are you sure you want to proceed (y/n)? " + TERMINATOR + WARNING + "You're running cookiecutter under Python 2, but the generated " + "project requires Python 3.6+. Do you want to proceed (y/n)? " + TERMINATOR ) yes_options, no_options = frozenset(["y"]), frozenset(["n"]) while True: From c33417aa427f4923ce584d6274042d619fe8a4c4 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 28 Mar 2019 18:52:24 -0700 Subject: [PATCH 0085/2840] Update tox from 3.8.0 to 3.8.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 01e826cd7..d0c1602db 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ flake8==3.7.6 # Testing # ------------------------------------------------------------------------------ -tox==3.8.0 +tox==3.8.1 pytest==4.3.1 pytest-cookies==0.3.0 pyyaml==5.1 From 3b6f73afb252ca0e283696006faf06c0dac021ff Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 29 Mar 2019 11:00:31 +0000 Subject: [PATCH 0086/2840] Update sphinx from 1.8.5 to 2.0.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 0c6886f7c..baac837c7 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==0.15.1 # https://github.com/pallets/werkzeug ipdb==0.12 # https://github.com/gotcha/ipdb -Sphinx==1.8.5 # https://github.com/sphinx-doc/sphinx +Sphinx==2.0.0 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.7.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From da51b7a364e2ff8b509208e2e62e025ced443a5e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 29 Mar 2019 09:58:15 -0700 Subject: [PATCH 0087/2840] Update tox from 3.8.1 to 3.8.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index d0c1602db..f54359585 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ flake8==3.7.6 # Testing # ------------------------------------------------------------------------------ -tox==3.8.1 +tox==3.8.3 pytest==4.3.1 pytest-cookies==0.3.0 pyyaml==5.1 From 1bc185d2f7289b481a56165a11bbe39c32d2f983 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 31 Mar 2019 12:00:28 +0100 Subject: [PATCH 0088/2840] Update sentry-sdk from 0.7.8 to 0.7.9 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 17b9d00c6..035cefd7f 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.7.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.7.8 # https://github.com/getsentry/sentry-python +sentry-sdk==0.7.9 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 4e70a4b55a2d5efafdb9761719bafb1b6ece3154 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 1 Apr 2019 08:47:46 +0100 Subject: [PATCH 0089/2840] Test all possible template combinations (#1993) ## Description Fixes #591. ## Rationale We are currently not testing many combinations, we run Flake8 on the generated project with default options, but that rarely catch any issues. ## Use case(s) / visualization(s) Catch problems with invalid combinations, for instance, it fails due to Whitenoise breaking flake8 with `django-compressor` because `STATIC_URL` was undefined here: https://github.com/pydanny/cookiecutter-django/blob/b91c70d75578e56c2ca74400684c5b5523cd0cd4/%7B%7Bcookiecutter.project_slug%7D%7D/config/settings/production.py#L185 --- requirements.txt | 2 + tests/test_cookiecutter_generation.py | 76 +++++++++++++------ .../config/settings/base.py | 4 +- .../config/settings/production.py | 2 +- .../requirements/base.txt | 2 +- 5 files changed, 57 insertions(+), 29 deletions(-) diff --git a/requirements.txt b/requirements.txt index f54359585..a44e1fe40 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,11 +4,13 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ +black==19.3b0 flake8==3.7.6 # Testing # ------------------------------------------------------------------------------ tox==3.8.3 pytest==4.3.1 +pytest_cases==1.5.1 pytest-cookies==0.3.0 pyyaml==5.1 diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 3010d364f..36395627f 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -1,14 +1,17 @@ import os import re -import sh -import yaml import pytest +from pytest_cases import pytest_fixture_plus +import sh +import yaml from binaryornot.check import is_binary PATTERN = "{{(\s?cookiecutter)[.](.*?)}}" RE_OBJ = re.compile(PATTERN) +YN_CHOICES = ["y", "n"] + @pytest.fixture def context(): @@ -24,6 +27,35 @@ def context(): } +@pytest_fixture_plus +@pytest.mark.parametrize("windows", YN_CHOICES, ids=lambda yn: f"win:{yn}") +@pytest.mark.parametrize("use_docker", YN_CHOICES, ids=lambda yn: f"docker:{yn}") +@pytest.mark.parametrize("use_celery", YN_CHOICES, ids=lambda yn: f"celery:{yn}") +@pytest.mark.parametrize("use_mailhog", YN_CHOICES, ids=lambda yn: f"mailhog:{yn}") +@pytest.mark.parametrize("use_sentry", YN_CHOICES, ids=lambda yn: f"sentry:{yn}") +@pytest.mark.parametrize("use_compressor", YN_CHOICES, ids=lambda yn: f"cmpr:{yn}") +@pytest.mark.parametrize("use_whitenoise", YN_CHOICES, ids=lambda yn: f"wnoise:{yn}") +def context_combination( + windows, + use_docker, + use_celery, + use_mailhog, + use_sentry, + use_compressor, + use_whitenoise, +): + """Fixture that parametrize the function where it's used.""" + return { + "windows": windows, + "use_docker": use_docker, + "use_compressor": use_compressor, + "use_celery": use_celery, + "use_mailhog": use_mailhog, + "use_sentry": use_sentry, + "use_whitenoise": use_whitenoise, + } + + def build_files_list(root_dir): """Build a list containing absolute paths to the generated files.""" return [ @@ -48,8 +80,13 @@ def check_paths(paths): assert match is None, msg.format(path) -def test_default_configuration(cookies, context): - result = cookies.bake(extra_context=context) +def test_project_generation(cookies, context, context_combination): + """ + Test that project is generated and fully rendered. + + This is parametrized for each combination from ``context_combination`` fixture + """ + result = cookies.bake(extra_context={**context, **context_combination}) assert result.exit_code == 0 assert result.exception is None assert result.project.basename == context["project_slug"] @@ -60,33 +97,24 @@ def test_default_configuration(cookies, context): check_paths(paths) -@pytest.fixture(params=["use_mailhog", "use_celery", "windows"]) -def feature_context(request, context): - context.update({request.param: "y"}) - return context +def test_linting_passes(cookies, context_combination): + """ + Generated project should pass flake8 & black. - -def test_enabled_features(cookies, feature_context): - result = cookies.bake(extra_context=feature_context) - assert result.exit_code == 0 - assert result.exception is None - assert result.project.basename == feature_context["project_slug"] - assert result.project.isdir() - - paths = build_files_list(str(result.project)) - assert paths - check_paths(paths) - - -def test_flake8_compliance(cookies): - """generated project should pass flake8""" - result = cookies.bake() + This is parametrized for each combination from ``context_combination`` fixture + """ + result = cookies.bake(extra_context=context_combination) try: sh.flake8(str(result.project)) except sh.ErrorReturnCode as e: pytest.fail(e) + try: + sh.black("--check", "--diff", "--exclude", "migrations", f"{result.project}/") + except sh.ErrorReturnCode as e: + pytest.fail(e) + def test_travis_invokes_pytest(cookies, context): context.update({"use_travisci": "y"}) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 848af8e89..f8d223771 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -43,9 +43,7 @@ USE_TZ = True DATABASES = {"default": env.db("DATABASE_URL")} {%- else %} DATABASES = { - "default": env.db( - "DATABASE_URL", default="postgres://{% if cookiecutter.windows == 'y' %}localhost{% endif %}/{{cookiecutter.project_slug}}" - ), + "default": env.db("DATABASE_URL", default="postgres://{% if cookiecutter.windows == 'y' %}localhost{% endif %}/{{cookiecutter.project_slug}}") } {%- endif %} DATABASES["default"]["ATOMIC_REQUESTS"] = True diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 546f2364f..3db964b66 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -182,7 +182,7 @@ COMPRESS_ENABLED = env.bool("COMPRESS_ENABLED", default=True) # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_STORAGE COMPRESS_STORAGE = "storages.backends.s3boto3.S3Boto3Storage" # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_URL -COMPRESS_URL = STATIC_URL +COMPRESS_URL = STATIC_URL{% if cookiecutter.use_whitenoise == 'y' %} # noqa F405{% endif %} {% endif %} {%- if cookiecutter.use_whitenoise == 'n' -%} # Collectfast diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index e0a762327..a1fa9b062 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -2,7 +2,7 @@ pytz==2018.9 # https://github.com/stub42/pytz python-slugify==3.0.1 # https://github.com/un33k/python-slugify Pillow==5.4.1 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} -rcssmin==1.0.6{% if cookiecutter.windows == 'y' and use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin +rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin {%- endif %} argon2-cffi==19.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} From e55d76529be5133b8bdd10275c615a2f0de93dd7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 1 Apr 2019 00:47:56 -0700 Subject: [PATCH 0090/2840] Update pytest from 4.3.1 to 4.4.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index a44e1fe40..85c7fd03f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.6 # Testing # ------------------------------------------------------------------------------ tox==3.8.3 -pytest==4.3.1 +pytest==4.4.0 pytest_cases==1.5.1 pytest-cookies==0.3.0 pyyaml==5.1 From 22801fe30e579f3749aa546652a2207cbbc8693b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 1 Apr 2019 12:00:32 +0100 Subject: [PATCH 0091/2840] Update python-slugify from 3.0.1 to 3.0.2 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index a1fa9b062..f09448cc7 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,5 +1,5 @@ pytz==2018.9 # https://github.com/stub42/pytz -python-slugify==3.0.1 # https://github.com/un33k/python-slugify +python-slugify==3.0.2 # https://github.com/un33k/python-slugify Pillow==5.4.1 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin From e10aafe802aa40067c199a924903adab05c62b79 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 1 Apr 2019 12:00:35 +0100 Subject: [PATCH 0092/2840] Update celery from 4.2.1 to 4.3.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index a1fa9b062..cb422dd94 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -10,7 +10,7 @@ whitenoise==4.1.2 # https://github.com/evansd/whitenoise {%- endif %} redis==3.2.1 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} -celery==4.2.1 # pyup: < 5.0 # https://github.com/celery/celery +celery==4.3.0 # pyup: < 5.0 # https://github.com/celery/celery kombu==4.4.0 # https://github.com/celery/kombu {%- if cookiecutter.use_docker == 'y' %} flower==0.9.3 # https://github.com/mher/flower From faf0e0bc7ef833cb4e3cc99f3c193a82ec4851fe Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 1 Apr 2019 12:00:43 +0100 Subject: [PATCH 0093/2840] Update pytest from 4.3.1 to 4.4.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index baac837c7..028886b02 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.7.7 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.670 # https://github.com/python/mypy -pytest==4.3.1 # https://github.com/pytest-dev/pytest +pytest==4.4.0 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From b3680c8d723c704c05d5c58f49f954f214a9d78c Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 1 Apr 2019 12:59:05 +0100 Subject: [PATCH 0094/2840] Remove Kombu from direct dependencies --- {{cookiecutter.project_slug}}/requirements/base.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index cb422dd94..10f69c574 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -11,7 +11,6 @@ whitenoise==4.1.2 # https://github.com/evansd/whitenoise redis==3.2.1 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} celery==4.3.0 # pyup: < 5.0 # https://github.com/celery/celery -kombu==4.4.0 # https://github.com/celery/kombu {%- if cookiecutter.use_docker == 'y' %} flower==0.9.3 # https://github.com/mher/flower {%- endif %} From 96934ab3e4c31e48c810aea70b28c93c84abc9af Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 1 Apr 2019 20:07:42 -0700 Subject: [PATCH 0095/2840] Update tox from 3.8.3 to 3.8.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 85c7fd03f..aebe0e540 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ flake8==3.7.6 # Testing # ------------------------------------------------------------------------------ -tox==3.8.3 +tox==3.8.4 pytest==4.4.0 pytest_cases==1.5.1 pytest-cookies==0.3.0 From 6d48275e5fd66c412f097f05e7125b5e76b46052 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 2 Apr 2019 10:33:38 +0100 Subject: [PATCH 0096/2840] Fix Heroku docs --- docs/deployment-on-heroku.rst | 5 ++++- tests/test_docker.sh | 16 ++++------------ 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/docs/deployment-on-heroku.rst b/docs/deployment-on-heroku.rst index 8cc3a6b56..4a16123a0 100644 --- a/docs/deployment-on-heroku.rst +++ b/docs/deployment-on-heroku.rst @@ -3,6 +3,9 @@ Deployment on Heroku .. index:: Heroku +Commands to run +--------------- + Run these commands to deploy the project to Heroku: .. code-block:: bash @@ -115,4 +118,4 @@ About Heroku & Docker Although Heroku has some sort of `Docker support`_, it's not supported by cookiecutter-django. We invite you to follow Heroku documentation about it. -.. _Docker support:: https://devcenter.heroku.com/articles/build-docker-images-heroku-yml +.. _Docker support: https://devcenter.heroku.com/articles/build-docker-images-heroku-yml diff --git a/tests/test_docker.sh b/tests/test_docker.sh index 55771c14c..018ad85f2 100755 --- a/tests/test_docker.sh +++ b/tests/test_docker.sh @@ -16,17 +16,9 @@ cd .cache/docker cookiecutter ../../ --no-input --overwrite-if-exists use_docker=y $@ cd my_awesome_project -# run the project's type checks -docker-compose -f local.yml run django mypy my_awesome_project +# run migrations +docker-compose -f local.yml run django python manage.py migrate -# Run black with --check option -docker-compose -f local.yml run django black --check --diff --exclude 'migrations' ./ +# view backups +docker-compose -f local.yml exec postgres backups -# run the project's tests -docker-compose -f local.yml run django pytest - -# return non-zero status code if there are migrations that have not been created -docker-compose -f local.yml run django python manage.py makemigrations --dry-run --check || { echo "ERROR: there were changes in the models, but migration listed above have not been created and are not saved in version control"; exit 1; } - -# Test support for translations -docker-compose -f local.yml run django python manage.py makemessages From edf2eba6af19af60befb9741d5c0223eb74834ef Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 2 Apr 2019 10:36:42 +0100 Subject: [PATCH 0097/2840] Remove outdated warning in Local docker docs --- docs/developing-locally-docker.rst | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/docs/developing-locally-docker.rst b/docs/developing-locally-docker.rst index 108154198..da4e67aa7 100644 --- a/docs/developing-locally-docker.rst +++ b/docs/developing-locally-docker.rst @@ -17,17 +17,6 @@ Prerequisites .. _`installation guide`: https://docs.docker.com/compose/install/ -Attention, Windows Users ------------------------- - -Currently PostgreSQL (``psycopg2`` python package) is not installed inside Docker containers for Windows users, while it is required by the generated Django project. To fix this, add ``psycopg2`` to the list of requirements inside ``requirements/base.txt``:: - - # Python-PostgreSQL Database Adapter - psycopg2==2.6.2 - -Doing this will prevent the project from being installed in an Windows-only environment (thus without usage of Docker). If you want to use this project without Docker, make sure to remove ``psycopg2`` from the requirements again. - - Build the Stack --------------- From fbce0c8ba14baa77a5d080f816a0902069b5f491 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 2 Apr 2019 12:00:29 +0100 Subject: [PATCH 0098/2840] Update pillow from 5.4.1 to 6.0.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index e9cade35e..9d4aec7dc 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,6 +1,6 @@ pytz==2018.9 # https://github.com/stub42/pytz python-slugify==3.0.2 # https://github.com/un33k/python-slugify -Pillow==5.4.1 # https://github.com/python-pillow/Pillow +Pillow==6.0.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin {%- endif %} From 17e7d603cf8ccea58dfc8e29873abae5b2f4c26a Mon Sep 17 00:00:00 2001 From: Jelmert Date: Tue, 2 Apr 2019 15:08:51 +0200 Subject: [PATCH 0099/2840] Added the MAILGUN_API_URL variable to the ANYMAIL configuration so we can easily switch to the EU region for mailgun --- {{cookiecutter.project_slug}}/config/settings/production.py | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 3db964b66..3b61b470e 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -161,6 +161,7 @@ EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend" ANYMAIL = { "MAILGUN_API_KEY": env("MAILGUN_API_KEY"), "MAILGUN_SENDER_DOMAIN": env("MAILGUN_DOMAIN"), + "MAILGUN_API_URL": env("MAILGUN_API_URL", default="https://api.mailgun.net/v3"), } # Gunicorn From 4efba872cc4ee316cc955e7e742868c40a9e97c3 Mon Sep 17 00:00:00 2001 From: Jelmert Date: Tue, 2 Apr 2019 15:11:56 +0200 Subject: [PATCH 0100/2840] Added myself to CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 154fa1ac5..9486b3a00 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -114,6 +114,7 @@ Listed in alphabetical order. Irfan Ahmad `@erfaan`_ @erfaan Jan Van Bruggen `@jvanbrug`_ Jens Nilsson `@phiberjenz`_ + Jelmer Draaijer `@foarsitter`_ Jerome Leclanche `@jleclanche`_ @Adys Jimmy Gitonga `@afrowave`_ @afrowave John Cass `@jcass77`_ @cass_john @@ -231,6 +232,7 @@ Listed in alphabetical order. .. _@eriol: https://github.com/eriol .. _@eyadsibai: https://github.com/eyadsibai .. _@flyudvik: https://github.com/flyudvik +.. _@foarsitter: https://github.com/foarsitter .. _@garry-cairns: https://github.com/garry-cairns .. _@garrypolley: https://github.com/garrypolley .. _@goldhand: https://github.com/goldhand From f6f2942a91612b0691fe650d843810662acf229d Mon Sep 17 00:00:00 2001 From: Jelmert Date: Tue, 2 Apr 2019 15:17:22 +0200 Subject: [PATCH 0101/2840] Listed MAILGUN_API_URL in settings docs --- docs/settings.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/settings.rst b/docs/settings.rst index 705add877..6e4b363c3 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -48,6 +48,7 @@ SENTRY_DSN SENTRY_DSN n/a DJANGO_SENTRY_LOG_LEVEL SENTRY_LOG_LEVEL n/a logging.INFO MAILGUN_API_KEY MAILGUN_ACCESS_KEY n/a raises error MAILGUN_DOMAIN MAILGUN_SENDER_DOMAIN n/a raises error +MAILGUN_API_URL n/a n/a "https://api.mailgun.net/v3" ======================================= =========================== ============================================== ====================================================================== -------------------------- From 8851ac13ef84d15f07d69ab107038956f79f5e9a Mon Sep 17 00:00:00 2001 From: Jelmert Date: Thu, 8 Nov 2018 11:14:58 +0100 Subject: [PATCH 0102/2840] Added the awscli container for uploading and downloading backups from and to Amazon S3 --- CONTRIBUTORS.rst | 2 ++ docs/docker-postgres-backups.rst | 8 +++++ .../compose/production/aws/Dockerfile | 9 ++++++ .../production/aws/maintenance/download | 24 +++++++++++++++ .../compose/production/aws/maintenance/upload | 30 +++++++++++++++++++ {{cookiecutter.project_slug}}/production.yml | 8 +++++ 6 files changed, 81 insertions(+) create mode 100644 {{cookiecutter.project_slug}}/compose/production/aws/Dockerfile create mode 100644 {{cookiecutter.project_slug}}/compose/production/aws/maintenance/download create mode 100644 {{cookiecutter.project_slug}}/compose/production/aws/maintenance/upload diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 154fa1ac5..9486b3a00 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -114,6 +114,7 @@ Listed in alphabetical order. Irfan Ahmad `@erfaan`_ @erfaan Jan Van Bruggen `@jvanbrug`_ Jens Nilsson `@phiberjenz`_ + Jelmer Draaijer `@foarsitter`_ Jerome Leclanche `@jleclanche`_ @Adys Jimmy Gitonga `@afrowave`_ @afrowave John Cass `@jcass77`_ @cass_john @@ -231,6 +232,7 @@ Listed in alphabetical order. .. _@eriol: https://github.com/eriol .. _@eyadsibai: https://github.com/eyadsibai .. _@flyudvik: https://github.com/flyudvik +.. _@foarsitter: https://github.com/foarsitter .. _@garry-cairns: https://github.com/garry-cairns .. _@garrypolley: https://github.com/garrypolley .. _@goldhand: https://github.com/goldhand diff --git a/docs/docker-postgres-backups.rst b/docs/docker-postgres-backups.rst index c1a8a5e0c..246ae403a 100644 --- a/docs/docker-postgres-backups.rst +++ b/docs/docker-postgres-backups.rst @@ -85,3 +85,11 @@ You will see something like :: # ... ALTER TABLE SUCCESS: The 'my_project' database has been restored from the '/backups/backup_2018_03_13T09_05_07.sql.gz' backup. + + +Backup to Amazon S3 +---------------------------------- +For uploading your backups to Amazon S3 you can use the aws cli container. There is a upload command for uploading the postgres /backups directory recursively and there is a download command for downloading a specific backup. The default S3 environment variables are used. :: + + $ docker-compose -f production.yml run --rm awscli upload + $ docker-compose -f production.yml run --rm awscli download backup_2018_03_13T09_05_07.sql.gz diff --git a/{{cookiecutter.project_slug}}/compose/production/aws/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/aws/Dockerfile new file mode 100644 index 000000000..8282047b3 --- /dev/null +++ b/{{cookiecutter.project_slug}}/compose/production/aws/Dockerfile @@ -0,0 +1,9 @@ +FROM garland/aws-cli-docker:1.15.47 + +COPY ./compose/production/aws/maintenance /usr/local/bin/maintenance +COPY ./compose/production/postgres/maintenance/_sourced /usr/local/bin/maintenance/_sourced + +RUN chmod +x /usr/local/bin/maintenance/* + +RUN mv /usr/local/bin/maintenance/* /usr/local/bin \ + && rmdir /usr/local/bin/maintenance diff --git a/{{cookiecutter.project_slug}}/compose/production/aws/maintenance/download b/{{cookiecutter.project_slug}}/compose/production/aws/maintenance/download new file mode 100644 index 000000000..8d5ea091f --- /dev/null +++ b/{{cookiecutter.project_slug}}/compose/production/aws/maintenance/download @@ -0,0 +1,24 @@ +#!/bin/sh + +### Download a file from your Amazon S3 bucket to the postgres /backups folder +### +### Usage: +### $ docker-compose -f production.yml run --rm awscli <1> + +set -o errexit +set -o pipefail +set -o nounset + +working_dir="$(dirname ${0})" +source "${working_dir}/_sourced/constants.sh" +source "${working_dir}/_sourced/messages.sh" + +export AWS_ACCESS_KEY_ID="${DJANGO_AWS_ACCESS_KEY_ID}" +export AWS_SECRET_ACCESS_KEY="${DJANGO_AWS_SECRET_ACCESS_KEY}" +export AWS_STORAGE_BUCKET_NAME="${DJANGO_AWS_STORAGE_BUCKET_NAME}" + + +aws s3 cp s3://${AWS_STORAGE_BUCKET_NAME}${BACKUP_DIR_PATH}/${1} ${BACKUP_DIR_PATH}/${1} + +message_success "Finished downloading ${1}." + diff --git a/{{cookiecutter.project_slug}}/compose/production/aws/maintenance/upload b/{{cookiecutter.project_slug}}/compose/production/aws/maintenance/upload new file mode 100644 index 000000000..4a89dcb5a --- /dev/null +++ b/{{cookiecutter.project_slug}}/compose/production/aws/maintenance/upload @@ -0,0 +1,30 @@ +#!/bin/sh + +### Upload the /backups folder to Amazon S3 +### +### Usage: +### $ docker-compose -f production.yml run --rm awscli upload + +set -o errexit +set -o pipefail +set -o nounset + +working_dir="$(dirname ${0})" +source "${working_dir}/_sourced/constants.sh" +source "${working_dir}/_sourced/messages.sh" + +export AWS_ACCESS_KEY_ID="${DJANGO_AWS_ACCESS_KEY_ID}" +export AWS_SECRET_ACCESS_KEY="${DJANGO_AWS_SECRET_ACCESS_KEY}" +export AWS_STORAGE_BUCKET_NAME="${DJANGO_AWS_STORAGE_BUCKET_NAME}" + + +message_info "Upload the backups directory to S3 bucket {$AWS_STORAGE_BUCKET_NAME}" + +aws s3 cp ${BACKUP_DIR_PATH} s3://${AWS_STORAGE_BUCKET_NAME}${BACKUP_DIR_PATH} --recursive + +message_info "Cleaning the directory ${BACKUP_DIR_PATH}" + +rm -rf ${BACKUP_DIR_PATH}/* + +message_success "Finished uploading and cleaning." + diff --git a/{{cookiecutter.project_slug}}/production.yml b/{{cookiecutter.project_slug}}/production.yml index 88cf8773c..a24ba8297 100644 --- a/{{cookiecutter.project_slug}}/production.yml +++ b/{{cookiecutter.project_slug}}/production.yml @@ -65,3 +65,11 @@ services: command: /start-flower {%- endif %} + awscli: + build: + context: . + dockerfile: ./compose/production/aws/Dockerfile + env_file: + - ./.envs/.production/.django + volumes: + - production_postgres_data_backups:/backups From 27d806fab11734440cb97e987ea2886182fc3811 Mon Sep 17 00:00:00 2001 From: Jelmert Date: Fri, 23 Nov 2018 11:19:54 +0100 Subject: [PATCH 0103/2840] Typo --- docs/docker-postgres-backups.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docker-postgres-backups.rst b/docs/docker-postgres-backups.rst index 246ae403a..6ccb7cf1e 100644 --- a/docs/docker-postgres-backups.rst +++ b/docs/docker-postgres-backups.rst @@ -89,7 +89,7 @@ You will see something like :: Backup to Amazon S3 ---------------------------------- -For uploading your backups to Amazon S3 you can use the aws cli container. There is a upload command for uploading the postgres /backups directory recursively and there is a download command for downloading a specific backup. The default S3 environment variables are used. :: +For uploading your backups to Amazon S3 you can use the aws cli container. There is an upload command for uploading the postgres /backups directory recursively and there is a download command for downloading a specific backup. The default S3 environment variables are used. :: $ docker-compose -f production.yml run --rm awscli upload $ docker-compose -f production.yml run --rm awscli download backup_2018_03_13T09_05_07.sql.gz From d1bf4f48152ec00c3fbdd45888e4963e302f36e4 Mon Sep 17 00:00:00 2001 From: Jelmert Date: Tue, 2 Apr 2019 15:43:48 +0200 Subject: [PATCH 0104/2840] Added AWS_S3_REGION_NAME to production settings --- {{cookiecutter.project_slug}}/config/settings/production.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 3db964b66..236c6c9fe 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -86,6 +86,8 @@ AWS_S3_OBJECT_PARAMETERS = { } # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings AWS_DEFAULT_ACL = None +# https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings +AWS_S3_REGION_NAME = env("DJANGO_AWS_S3_REGION_NAME", default=None) # STATIC # ------------------------ From 7e23327fe2c705b6e858bd6fbbc7b40e3b2e2e74 Mon Sep 17 00:00:00 2001 From: Jelmert Date: Tue, 2 Apr 2019 15:45:58 +0200 Subject: [PATCH 0105/2840] Added DJANG_AWS_S3_REGION_NAME to settings docs --- docs/settings.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/settings.rst b/docs/settings.rst index 705add877..212527cfd 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -44,6 +44,7 @@ CELERY_BROKER_URL CELERY_BROKER_URL auto w/ Dock DJANGO_AWS_ACCESS_KEY_ID AWS_ACCESS_KEY_ID n/a raises error DJANGO_AWS_SECRET_ACCESS_KEY AWS_SECRET_ACCESS_KEY n/a raises error DJANGO_AWS_STORAGE_BUCKET_NAME AWS_STORAGE_BUCKET_NAME n/a raises error +DJANGO_AWS_S3_REGION_NAME AWS_S3_REGION_NAME n/a None SENTRY_DSN SENTRY_DSN n/a raises error DJANGO_SENTRY_LOG_LEVEL SENTRY_LOG_LEVEL n/a logging.INFO MAILGUN_API_KEY MAILGUN_ACCESS_KEY n/a raises error From d8271fae21cd8a15e8ec40cdd8825eb4081d208f Mon Sep 17 00:00:00 2001 From: Jelmert Date: Tue, 2 Apr 2019 15:47:18 +0200 Subject: [PATCH 0106/2840] Added myself to CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 154fa1ac5..9486b3a00 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -114,6 +114,7 @@ Listed in alphabetical order. Irfan Ahmad `@erfaan`_ @erfaan Jan Van Bruggen `@jvanbrug`_ Jens Nilsson `@phiberjenz`_ + Jelmer Draaijer `@foarsitter`_ Jerome Leclanche `@jleclanche`_ @Adys Jimmy Gitonga `@afrowave`_ @afrowave John Cass `@jcass77`_ @cass_john @@ -231,6 +232,7 @@ Listed in alphabetical order. .. _@eriol: https://github.com/eriol .. _@eyadsibai: https://github.com/eyadsibai .. _@flyudvik: https://github.com/flyudvik +.. _@foarsitter: https://github.com/foarsitter .. _@garry-cairns: https://github.com/garry-cairns .. _@garrypolley: https://github.com/garrypolley .. _@goldhand: https://github.com/goldhand From 1d420157c10f0c25839e186b0c1b13f6eb35fe1f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 2 Apr 2019 15:10:14 +0100 Subject: [PATCH 0107/2840] Revert accidental commit --- tests/test_docker.sh | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/tests/test_docker.sh b/tests/test_docker.sh index 018ad85f2..55771c14c 100755 --- a/tests/test_docker.sh +++ b/tests/test_docker.sh @@ -16,9 +16,17 @@ cd .cache/docker cookiecutter ../../ --no-input --overwrite-if-exists use_docker=y $@ cd my_awesome_project -# run migrations -docker-compose -f local.yml run django python manage.py migrate +# run the project's type checks +docker-compose -f local.yml run django mypy my_awesome_project -# view backups -docker-compose -f local.yml exec postgres backups +# Run black with --check option +docker-compose -f local.yml run django black --check --diff --exclude 'migrations' ./ +# run the project's tests +docker-compose -f local.yml run django pytest + +# return non-zero status code if there are migrations that have not been created +docker-compose -f local.yml run django python manage.py makemigrations --dry-run --check || { echo "ERROR: there were changes in the models, but migration listed above have not been created and are not saved in version control"; exit 1; } + +# Test support for translations +docker-compose -f local.yml run django python manage.py makemessages From 895298c28f77857743415ca8675a8c38f36bf153 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 2 Apr 2019 15:26:55 +0100 Subject: [PATCH 0108/2840] Refactor Celery integration according to current best practices - Change celery app to not be a Django app, more like a WSGI app - Define a Celery task in the Django users app - Write a test to execute the task - Update scripts to use the new app to start workers - Update documentation Fix #865 --- hooks/post_gen_project.py | 14 +++++-- {{cookiecutter.project_slug}}/Procfile | 2 +- {{cookiecutter.project_slug}}/README.rst | 2 +- .../compose/local/django/celery/beat/start | 2 +- .../compose/local/django/celery/flower/start | 2 +- .../compose/local/django/celery/worker/start | 2 +- .../production/django/celery/beat/start | 2 +- .../production/django/celery/flower/start | 2 +- .../production/django/celery/worker/start | 2 +- .../config/__init__.py | 7 ++++ .../config/celery_app.py | 16 ++++++++ .../config/settings/base.py | 1 - .../taskapp/__init__.py | 0 .../taskapp/celery.py | 38 ------------------- .../users/tasks.py | 11 ++++++ .../users/tests/test_tasks.py | 16 ++++++++ 16 files changed, 69 insertions(+), 50 deletions(-) create mode 100644 {{cookiecutter.project_slug}}/config/celery_app.py delete mode 100644 {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/taskapp/__init__.py delete mode 100644 {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/taskapp/celery.py create mode 100644 {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tasks.py create mode 100644 {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_tasks.py diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index ab05b375a..292f6e7f6 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -89,8 +89,16 @@ def remove_packagejson_file(): os.remove(file_name) -def remove_celery_app(): - shutil.rmtree(os.path.join("{{ cookiecutter.project_slug }}", "taskapp")) +def remove_celery_files(): + file_names = [ + os.path.join("config", "celery_app.py"), + os.path.join("{{ cookiecutter.project_slug }}", "users", "tasks.py"), + os.path.join( + "{{ cookiecutter.project_slug }}", "users", "tests", "test_tasks.py" + ), + ] + for file_name in file_names: + os.remove(file_name) def remove_dottravisyml_file(): @@ -321,7 +329,7 @@ def main(): remove_node_dockerfile() if "{{ cookiecutter.use_celery }}".lower() == "n": - remove_celery_app() + remove_celery_files() if "{{ cookiecutter.use_docker }}".lower() == "y": remove_celery_compose_dirs() diff --git a/{{cookiecutter.project_slug}}/Procfile b/{{cookiecutter.project_slug}}/Procfile index d9319f5cc..5b8e9eaf8 100644 --- a/{{cookiecutter.project_slug}}/Procfile +++ b/{{cookiecutter.project_slug}}/Procfile @@ -1,5 +1,5 @@ release: python manage.py migrate web: gunicorn config.wsgi:application {% if cookiecutter.use_celery == "y" -%} -worker: celery worker --app={{cookiecutter.project_slug}}.taskapp --loglevel=info +worker: celery worker --app=config.celery_app --loglevel=info {%- endif %} diff --git a/{{cookiecutter.project_slug}}/README.rst b/{{cookiecutter.project_slug}}/README.rst index 6ef3b63c4..b8fdd0ddf 100644 --- a/{{cookiecutter.project_slug}}/README.rst +++ b/{{cookiecutter.project_slug}}/README.rst @@ -79,7 +79,7 @@ To run a celery worker: .. code-block:: bash cd {{cookiecutter.project_slug}} - celery -A {{cookiecutter.project_slug}}.taskapp worker -l info + celery -A config.celery_app worker -l info Please note: For Celery's import magic to work, it is important *where* the celery commands are run. If you are in the same folder with *manage.py*, you should be right. diff --git a/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start b/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start index 4e2493f3b..389e2baf1 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start @@ -5,4 +5,4 @@ set -o nounset rm -f './celerybeat.pid' -celery -A {{cookiecutter.project_slug}}.taskapp beat -l INFO +celery -A config.celery_app beat -l INFO diff --git a/{{cookiecutter.project_slug}}/compose/local/django/celery/flower/start b/{{cookiecutter.project_slug}}/compose/local/django/celery/flower/start index f0abae7ef..be67050da 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/celery/flower/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/celery/flower/start @@ -5,6 +5,6 @@ set -o nounset celery flower \ - --app={{cookiecutter.project_slug}}.taskapp \ + --app=config.celery_app \ --broker="${CELERY_BROKER_URL}" \ --basic_auth="${CELERY_FLOWER_USER}:${CELERY_FLOWER_PASSWORD}" diff --git a/{{cookiecutter.project_slug}}/compose/local/django/celery/worker/start b/{{cookiecutter.project_slug}}/compose/local/django/celery/worker/start index c8bc31d3a..072c6ae62 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/celery/worker/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/celery/worker/start @@ -4,4 +4,4 @@ set -o errexit set -o nounset -celery -A {{cookiecutter.project_slug}}.taskapp worker -l INFO +celery -A config.celery_app worker -l INFO diff --git a/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start b/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start index def83076c..0e793e38e 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start @@ -5,4 +5,4 @@ set -o pipefail set -o nounset -celery -A {{cookiecutter.project_slug}}.taskapp beat -l INFO +celery -A config.celery_app beat -l INFO diff --git a/{{cookiecutter.project_slug}}/compose/production/django/celery/flower/start b/{{cookiecutter.project_slug}}/compose/production/django/celery/flower/start index f0abae7ef..be67050da 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/celery/flower/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/celery/flower/start @@ -5,6 +5,6 @@ set -o nounset celery flower \ - --app={{cookiecutter.project_slug}}.taskapp \ + --app=config.celery_app \ --broker="${CELERY_BROKER_URL}" \ --basic_auth="${CELERY_FLOWER_USER}:${CELERY_FLOWER_PASSWORD}" diff --git a/{{cookiecutter.project_slug}}/compose/production/django/celery/worker/start b/{{cookiecutter.project_slug}}/compose/production/django/celery/worker/start index 10f0d20c5..4e519c3fc 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/celery/worker/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/celery/worker/start @@ -5,4 +5,4 @@ set -o pipefail set -o nounset -celery -A {{cookiecutter.project_slug}}.taskapp worker -l INFO +celery -A config.celery_app worker -l INFO diff --git a/{{cookiecutter.project_slug}}/config/__init__.py b/{{cookiecutter.project_slug}}/config/__init__.py index e69de29bb..480655af1 100644 --- a/{{cookiecutter.project_slug}}/config/__init__.py +++ b/{{cookiecutter.project_slug}}/config/__init__.py @@ -0,0 +1,7 @@ +{% if cookiecutter.use_celery == 'y' -%} +# This will make sure the app is always imported when +# Django starts so that shared_task will use this app. +from .celery_app import app as celery_app + +__all__ = ("celery_app",) +{% endif -%} diff --git a/{{cookiecutter.project_slug}}/config/celery_app.py b/{{cookiecutter.project_slug}}/config/celery_app.py new file mode 100644 index 000000000..e275f054f --- /dev/null +++ b/{{cookiecutter.project_slug}}/config/celery_app.py @@ -0,0 +1,16 @@ +import os +from celery import Celery + +# set the default Django settings module for the 'celery' program. +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local") + +app = Celery("{{cookiecutter.project_slug}}") + +# Using a string here means the worker doesn't have to serialize +# the configuration object to child processes. +# - namespace='CELERY' means all celery-related configuration keys +# should have a `CELERY_` prefix. +app.config_from_object("django.conf:settings", namespace="CELERY") + +# Load task modules from all registered Django app configs. +app.autodiscover_tasks() diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index f8d223771..b4d064fe5 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -225,7 +225,6 @@ MANAGERS = ADMINS {% if cookiecutter.use_celery == 'y' -%} # Celery # ------------------------------------------------------------------------------ -INSTALLED_APPS += ["{{cookiecutter.project_slug}}.taskapp.celery.CeleryAppConfig"] if USE_TZ: # http://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-timezone CELERY_TIMEZONE = TIME_ZONE diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/taskapp/__init__.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/taskapp/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/taskapp/celery.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/taskapp/celery.py deleted file mode 100644 index 529da1ae0..000000000 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/taskapp/celery.py +++ /dev/null @@ -1,38 +0,0 @@ -{% if cookiecutter.use_celery == 'y' -%} -import os -from celery import Celery -from django.apps import apps, AppConfig -from django.conf import settings - - -if not settings.configured: - # set the default Django settings module for the 'celery' program. - os.environ.setdefault( - "DJANGO_SETTINGS_MODULE", "config.settings.local" - ) # pragma: no cover - - -app = Celery("{{cookiecutter.project_slug}}") -# Using a string here means the worker will not have to -# pickle the object when using Windows. -# - namespace='CELERY' means all celery-related configuration keys -# should have a `CELERY_` prefix. -app.config_from_object("django.conf:settings", namespace="CELERY") - - -class CeleryAppConfig(AppConfig): - name = "{{cookiecutter.project_slug}}.taskapp" - verbose_name = "Celery Config" - - def ready(self): - installed_apps = [app_config.name for app_config in apps.get_app_configs()] - app.autodiscover_tasks(lambda: installed_apps, force=True) - - -@app.task(bind=True) -def debug_task(self): - print(f"Request: {self.request!r}") # pragma: no cover -{% else %} -# Use this as a starting point for your project with celery. -# If you are not using celery, you can remove this app -{% endif -%} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tasks.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tasks.py new file mode 100644 index 000000000..c99341c5f --- /dev/null +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tasks.py @@ -0,0 +1,11 @@ +from django.contrib.auth import get_user_model + +from config import celery_app + +User = get_user_model() + + +@celery_app.task() +def get_users_count(): + """A pointless Celery task to demonstrate usage.""" + return User.objects.count() diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_tasks.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_tasks.py new file mode 100644 index 000000000..addb091db --- /dev/null +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_tasks.py @@ -0,0 +1,16 @@ +import pytest +from celery.result import EagerResult + + +from {{ cookiecutter.project_slug }}.users.tasks import get_users_count +from {{ cookiecutter.project_slug }}.users.tests.factories import UserFactory + + +@pytest.mark.django_db +def test_user_count(settings): + """A basic test to execute the get_users_count Celery task.""" + UserFactory.create_batch(3) + settings.CELERY_TASK_ALWAYS_EAGER = True + task_result = get_users_count.delay() + assert isinstance(task_result, EagerResult) + assert task_result.result == 3 From f6e84cb2115cce1e2017c3011c0303adc915eaab Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 2 Apr 2019 19:11:47 +0100 Subject: [PATCH 0109/2840] Upgrade Django to 2.1.8 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 9d4aec7dc..6c70c367f 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -18,7 +18,7 @@ flower==0.9.3 # https://github.com/mher/flower # Django # ------------------------------------------------------------------------------ -django==2.0.13 # pyup: < 2.1 # https://www.djangoproject.com/ +django==2.1.8 # pyup: < 2.2 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==3.1.2 # https://github.com/jazzband/django-model-utils django-allauth==0.39.1 # https://github.com/pennersr/django-allauth From 57dd157c4ae604c58bd754fb9d769f8081eedbbf Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 2 Apr 2019 19:37:12 +0100 Subject: [PATCH 0110/2840] Remove deprecated password hasher --- {{cookiecutter.project_slug}}/config/settings/base.py | 1 - 1 file changed, 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index f8d223771..026c88cf5 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -109,7 +109,6 @@ PASSWORD_HASHERS = [ "django.contrib.auth.hashers.PBKDF2PasswordHasher", "django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher", "django.contrib.auth.hashers.BCryptSHA256PasswordHasher", - "django.contrib.auth.hashers.BCryptPasswordHasher", ] # https://docs.djangoproject.com/en/dev/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ From dd284bc8c998cf43c9ea8b4c52b10280c43628c6 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 2 Apr 2019 19:37:59 +0100 Subject: [PATCH 0111/2840] Remove Postgres 9.3 as it's not supported by Django 2.1 --- cookiecutter.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cookiecutter.json b/cookiecutter.json index b5dda0c70..11e4456f7 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -25,8 +25,7 @@ "10.1", "9.6", "9.5", - "9.4", - "9.3" + "9.4" ], "js_task_runner": [ "None", From 2dcbaca3ee292d3dbcc0271f9add1bd7b3361037 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 2 Apr 2019 19:38:23 +0100 Subject: [PATCH 0112/2840] Update documentation --- README.rst | 25 ++++++++++++------------ docs/project-generation-options.rst | 15 +++++++------- {{cookiecutter.project_slug}}/README.rst | 2 +- 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/README.rst b/README.rst index 2c037e51f..002150928 100644 --- a/README.rst +++ b/README.rst @@ -36,10 +36,10 @@ production-ready Django projects quickly. Features --------- -* For Django 2.0 +* For Django 2.1 * Works with Python 3.6 * Renders Django projects with 100% starting test coverage -* Twitter Bootstrap_ v4.1.1 (`maintained Foundation fork`_ also available) +* Twitter Bootstrap_ v4 (`maintained Foundation fork`_ also available) * 12-Factor_ based settings via django-environ_ * Secure by default. We believe in SSL. * Optimized development and production settings @@ -89,8 +89,8 @@ Constraints ----------- * Only maintained 3rd party libraries are used. -* Uses PostgreSQL everywhere (9.2+) -* Environment variables for configuration (This won't work with Apache/mod_wsgi except on AWS ELB). +* Uses PostgreSQL everywhere (9.4 - 10.5) +* Environment variables for configuration (This won't work with Apache/mod_wsgi). Support this Project! ---------------------- @@ -169,14 +169,15 @@ Answer the prompts with your own desired options_. For example:: use_heroku [n]: y use_compressor [n]: y Select postgresql_version: - 1 - 10.3 - 2 - 10.2 - 3 - 10.1 - 4 - 9.6 - 5 - 9.5 - 6 - 9.4 - 7 - 9.3 - Choose from 1, 2, 3, 4 [1]: 1 + 1 - 10.5 + 2 - 10.4 + 3 - 10.3 + 4 - 10.2 + 5 - 10.1 + 6 - 9.6 + 7 - 9.5 + 8 - 9.4 + Choose from 1, 2, 3, 4, 5, 6, 7, 8 [1]: 1 Select js_task_runner: 1 - None 2 - Gulp diff --git a/docs/project-generation-options.rst b/docs/project-generation-options.rst index a54837979..f9824a6d2 100644 --- a/docs/project-generation-options.rst +++ b/docs/project-generation-options.rst @@ -49,13 +49,14 @@ use_docker: postgresql_version: Select a PostgreSQL_ version to use. The choices are: - 1. 10.3 - 2. 10.2 - 3. 10.1 - 4. 9.6 - 5. 9.5 - 6. 9.4 - 7. 9.3 + 1. 10.5 + 2. 10.4 + 3. 10.3 + 4. 10.2 + 5. 10.1 + 6. 9.6 + 7. 9.5 + 8. 9.4 js_task_runner: Select a JavaScript task runner. The choices are: diff --git a/{{cookiecutter.project_slug}}/README.rst b/{{cookiecutter.project_slug}}/README.rst index 6ef3b63c4..b9dbf218a 100644 --- a/{{cookiecutter.project_slug}}/README.rst +++ b/{{cookiecutter.project_slug}}/README.rst @@ -159,7 +159,7 @@ Custom Bootstrap Compilation ^^^^^^ The generated CSS is set up with automatic Bootstrap recompilation with variables of your choice. -Bootstrap v4.1.1 is installed using npm and customised by tweaking your variables in ``static/sass/custom_bootstrap_vars``. +Bootstrap v4 is installed using npm and customised by tweaking your variables in ``static/sass/custom_bootstrap_vars``. You can find a list of available variables `in the bootstrap source`_, or get explanations on them in the `Bootstrap docs`_. From e7115fcee93b6d3d0f82a97bb9d97ab2fe28efc9 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 3 Apr 2019 12:00:30 +0100 Subject: [PATCH 0113/2840] Update werkzeug from 0.15.1 to 0.15.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 028886b02..01bb6d2f4 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,6 +1,6 @@ -r ./base.txt -Werkzeug==0.15.1 # https://github.com/pallets/werkzeug +Werkzeug==0.15.2 # https://github.com/pallets/werkzeug ipdb==0.12 # https://github.com/gotcha/ipdb Sphinx==2.0.0 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} From 0aafad16dd5f7d93f02dee9cb268dee9fa8ce2b0 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 3 Apr 2019 10:24:10 -0700 Subject: [PATCH 0114/2840] Update tox from 3.8.4 to 3.8.6 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index aebe0e540..c38f06503 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ flake8==3.7.6 # Testing # ------------------------------------------------------------------------------ -tox==3.8.4 +tox==3.8.6 pytest==4.4.0 pytest_cases==1.5.1 pytest-cookies==0.3.0 From c80bcb8932856c405cb01862340a18ffe2a90d06 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 3 Apr 2019 10:24:15 -0700 Subject: [PATCH 0115/2840] Update pytest_cases from 1.5.1 to 1.6.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index aebe0e540..efeb48f41 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,6 +11,6 @@ flake8==3.7.6 # ------------------------------------------------------------------------------ tox==3.8.4 pytest==4.4.0 -pytest_cases==1.5.1 +pytest_cases==1.6.1 pytest-cookies==0.3.0 pyyaml==5.1 From ea749071c2b681b5b7a576eb62279d8c8c53f6dd Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 4 Apr 2019 12:00:30 +0100 Subject: [PATCH 0116/2840] Update psycopg2-binary from 2.7.7 to 2.8 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 01bb6d2f4..05ddb714e 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -6,7 +6,7 @@ Sphinx==2.0.0 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.7.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} -psycopg2-binary==2.7.7 # https://github.com/psycopg/psycopg2 +psycopg2-binary==2.8 # https://github.com/psycopg/psycopg2 {%- endif %} # Testing From 63f5ad028039da2ad52b659046e87f66de571686 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 4 Apr 2019 12:00:33 +0100 Subject: [PATCH 0117/2840] Update mypy from 0.670 to 0.700 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 01bb6d2f4..7e1cc25a1 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -11,7 +11,7 @@ psycopg2-binary==2.7.7 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ -mypy==0.670 # https://github.com/python/mypy +mypy==0.700 # https://github.com/python/mypy pytest==4.4.0 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar From b9c5ca2b86dd5c347d8317fe59597a4a9d59aa15 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 4 Apr 2019 15:03:49 +0200 Subject: [PATCH 0118/2840] Also update psycopg2 no-binary --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 05ddb714e..2d7e3ba1d 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -4,7 +4,7 @@ Werkzeug==0.15.2 # https://github.com/pallets/werkzeug ipdb==0.12 # https://github.com/gotcha/ipdb Sphinx==2.0.0 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} -psycopg2==2.7.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 +psycopg2==2.8 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} psycopg2-binary==2.8 # https://github.com/psycopg/psycopg2 {%- endif %} From b30b9795d2f142bd06bf8e431105cf97f68163bd Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 4 Apr 2019 15:04:57 +0200 Subject: [PATCH 0119/2840] Update psycopg2 to 2.8 in production --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 035cefd7f..5a40f07af 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -3,7 +3,7 @@ -r ./base.txt gunicorn==19.9.0 # https://github.com/benoitc/gunicorn -psycopg2==2.7.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 +psycopg2==2.8 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} From cad0b7765878fdb2f8b19230d6ce9a52f3143c07 Mon Sep 17 00:00:00 2001 From: anuj Date: Tue, 2 Apr 2019 11:43:31 +0530 Subject: [PATCH 0120/2840] Added support for GCE Media storage --- cookiecutter.json | 4 ++++ .../.envs/.production/.django | 9 ++++++-- .../config/settings/production.py | 23 ++++++++++++------- .../requirements/production.txt | 4 ++++ 4 files changed, 30 insertions(+), 10 deletions(-) diff --git a/cookiecutter.json b/cookiecutter.json index b5dda0c70..eabf7d142 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -32,6 +32,10 @@ "None", "Gulp" ], + "cloud_provider": [ + "AWS", + "GCE" + ], "custom_bootstrap_compilation": "n", "use_compressor": "n", "use_celery": "n", diff --git a/{{cookiecutter.project_slug}}/.envs/.production/.django b/{{cookiecutter.project_slug}}/.envs/.production/.django index 4175f8944..a938ada68 100644 --- a/{{cookiecutter.project_slug}}/.envs/.production/.django +++ b/{{cookiecutter.project_slug}}/.envs/.production/.django @@ -16,13 +16,18 @@ DJANGO_SECURE_SSL_REDIRECT=False MAILGUN_API_KEY= DJANGO_SERVER_EMAIL= MAILGUN_DOMAIN= - +{% if cookiecutter.cloud_provider == 'AWS' %} # AWS # ------------------------------------------------------------------------------ DJANGO_AWS_ACCESS_KEY_ID= DJANGO_AWS_SECRET_ACCESS_KEY= DJANGO_AWS_STORAGE_BUCKET_NAME= - +{% elif cookiecutter.cloud_provider == 'GCE' %} +# GCE +# ------------------------------------------------------------------------------ +GOOGLE_APPLICATION_CREDENTIALS= +DJANGO_GCE_STORAGE_BUCKET_NAME= +{% endif %} # django-allauth # ------------------------------------------------------------------------------ DJANGO_ACCOUNT_ALLOW_REGISTRATION=True diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 236c6c9fe..26fa6294a 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -69,7 +69,8 @@ SECURE_CONTENT_TYPE_NOSNIFF = env.bool( # STORAGES # ------------------------------------------------------------------------------ # https://django-storages.readthedocs.io/en/latest/#installation -INSTALLED_APPS += ["storages"] # noqa F405 +INSTALLED_APPS += ['storages'] # noqa F405 +{% if cookiecutter.cloud_provider == 'AWS' %} # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings AWS_ACCESS_KEY_ID = env("DJANGO_AWS_ACCESS_KEY_ID") # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings @@ -88,22 +89,25 @@ AWS_S3_OBJECT_PARAMETERS = { AWS_DEFAULT_ACL = None # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings AWS_S3_REGION_NAME = env("DJANGO_AWS_S3_REGION_NAME", default=None) +{% elif cookiecutter.cloud_provider == 'GCE' %} +DEFAULT_FILE_STORAGE = 'storages.backends.gcloud.GoogleCloudStorage' +GS_BUCKET_NAME = env('DJANGO_GCE_STORAGE_BUCKET_NAME') +GS_DEFAULT_ACL = 'publicRead' +{% endif %} # STATIC # ------------------------ {% if cookiecutter.use_whitenoise == 'y' -%} STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" -{%- else %} -STATICFILES_STORAGE = "config.settings.production.StaticRootS3Boto3Storage" -STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" +{%- endif -%} +{%- if cookiecutter.cloud_provider == 'AWS' %} +STATICFILES_STORAGE = 'config.settings.production.StaticRootS3Boto3Storage' +STATIC_URL = f'https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/' {%- endif %} # MEDIA # ------------------------------------------------------------------------------ -{% if cookiecutter.use_whitenoise == 'y' -%} -DEFAULT_FILE_STORAGE = "storages.backends.s3boto3.S3Boto3Storage" -MEDIA_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/" -{%- else %} +{%- if cookiecutter.cloud_provider == 'AWS' %} # region http://stackoverflow.com/questions/10390244/ # Full-fledge class: https://stackoverflow.com/a/18046120/104731 from storages.backends.s3boto3 import S3Boto3Storage # noqa E402 @@ -121,6 +125,9 @@ class MediaRootS3Boto3Storage(S3Boto3Storage): # endregion DEFAULT_FILE_STORAGE = "config.settings.production.MediaRootS3Boto3Storage" MEDIA_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/media/" +{%- elif cookiecutter.cloud_provider == 'GCE' %} +MEDIA_URL = 'https://storage.googleapis.com/{}/'.format(GS_BUCKET_NAME) +MEDIA_ROOT = 'https://storage.googleapis.com/{}/'.format(GS_BUCKET_NAME) {%- endif %} # TEMPLATES diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 5a40f07af..b1758194a 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -13,5 +13,9 @@ sentry-sdk==0.7.9 # https://github.com/getsentry/sentry-python # Django # ------------------------------------------------------------------------------ +{%- if cookiecutter.cloud_provider == 'AWS' %} django-storages[boto3]==1.7.1 # https://github.com/jschneier/django-storages +{%- elif cookiecutter.cloud_provider == 'GCE' %} +django-storages[google]==1.7.1 # https://github.com/jschneier/django-storages +{%- endif %} django-anymail[mailgun]==6.0 # https://github.com/anymail/django-anymail From 749920e81cd4e382b06cd1bcb32a17201fe44853 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 6 Apr 2019 13:00:29 +0200 Subject: [PATCH 0121/2840] Update pytest_cases from 1.6.1 to 1.6.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 2b2c55f3d..25b0135b4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,6 +11,6 @@ flake8==3.7.6 # ------------------------------------------------------------------------------ tox==3.8.6 pytest==4.4.0 -pytest_cases==1.6.1 +pytest_cases==1.6.2 pytest-cookies==0.3.0 pyyaml==5.1 From c582ac48ec5bc61a849b3ceb6d5d4b6f0c854f7c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 6 Apr 2019 13:00:32 +0200 Subject: [PATCH 0122/2840] Update sentry-sdk from 0.7.9 to 0.7.10 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 5a40f07af..ea4b376ff 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.7.9 # https://github.com/getsentry/sentry-python +sentry-sdk==0.7.10 # https://github.com/getsentry/sentry-python {%- endif %} # Django From b5e030b78439c1118d8e64c1ee582bcb6595059e Mon Sep 17 00:00:00 2001 From: anuj Date: Sun, 7 Apr 2019 00:34:22 +0530 Subject: [PATCH 0123/2840] Corrected quotes, added parameter in tests --- tests/test_cookiecutter_generation.py | 4 ++++ .../config/settings/production.py | 16 ++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 36395627f..17375b1cf 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -11,6 +11,7 @@ PATTERN = "{{(\s?cookiecutter)[.](.*?)}}" RE_OBJ = re.compile(PATTERN) YN_CHOICES = ["y", "n"] +CLOUD_CHOICES = ["AWS", "GCE"] @pytest.fixture @@ -35,6 +36,7 @@ def context(): @pytest.mark.parametrize("use_sentry", YN_CHOICES, ids=lambda yn: f"sentry:{yn}") @pytest.mark.parametrize("use_compressor", YN_CHOICES, ids=lambda yn: f"cmpr:{yn}") @pytest.mark.parametrize("use_whitenoise", YN_CHOICES, ids=lambda yn: f"wnoise:{yn}") +@pytest.mark.parametrize("cloud_provider", CLOUD_CHOICES, ids=lambda yn: f"cloud:{yn}") def context_combination( windows, use_docker, @@ -43,6 +45,7 @@ def context_combination( use_sentry, use_compressor, use_whitenoise, + cloud_provider, ): """Fixture that parametrize the function where it's used.""" return { @@ -53,6 +56,7 @@ def context_combination( "use_mailhog": use_mailhog, "use_sentry": use_sentry, "use_whitenoise": use_whitenoise, + "cloud_provider": cloud_provider, } diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 26fa6294a..61f90104a 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -69,7 +69,7 @@ SECURE_CONTENT_TYPE_NOSNIFF = env.bool( # STORAGES # ------------------------------------------------------------------------------ # https://django-storages.readthedocs.io/en/latest/#installation -INSTALLED_APPS += ['storages'] # noqa F405 +INSTALLED_APPS += ["storages"] # noqa F405 {% if cookiecutter.cloud_provider == 'AWS' %} # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings AWS_ACCESS_KEY_ID = env("DJANGO_AWS_ACCESS_KEY_ID") @@ -90,9 +90,9 @@ AWS_DEFAULT_ACL = None # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings AWS_S3_REGION_NAME = env("DJANGO_AWS_S3_REGION_NAME", default=None) {% elif cookiecutter.cloud_provider == 'GCE' %} -DEFAULT_FILE_STORAGE = 'storages.backends.gcloud.GoogleCloudStorage' -GS_BUCKET_NAME = env('DJANGO_GCE_STORAGE_BUCKET_NAME') -GS_DEFAULT_ACL = 'publicRead' +DEFAULT_FILE_STORAGE = "storages.backends.gcloud.GoogleCloudStorage" +GS_BUCKET_NAME = env("DJANGO_GCE_STORAGE_BUCKET_NAME") +GS_DEFAULT_ACL = "publicRead" {% endif %} # STATIC @@ -101,8 +101,8 @@ GS_DEFAULT_ACL = 'publicRead' STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" {%- endif -%} {%- if cookiecutter.cloud_provider == 'AWS' %} -STATICFILES_STORAGE = 'config.settings.production.StaticRootS3Boto3Storage' -STATIC_URL = f'https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/' +STATICFILES_STORAGE = "config.settings.production.StaticRootS3Boto3Storage" +STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" {%- endif %} # MEDIA @@ -126,8 +126,8 @@ class MediaRootS3Boto3Storage(S3Boto3Storage): DEFAULT_FILE_STORAGE = "config.settings.production.MediaRootS3Boto3Storage" MEDIA_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/media/" {%- elif cookiecutter.cloud_provider == 'GCE' %} -MEDIA_URL = 'https://storage.googleapis.com/{}/'.format(GS_BUCKET_NAME) -MEDIA_ROOT = 'https://storage.googleapis.com/{}/'.format(GS_BUCKET_NAME) +MEDIA_URL = "https://storage.googleapis.com/{}/".format(GS_BUCKET_NAME) +MEDIA_ROOT = "https://storage.googleapis.com/{}/".format(GS_BUCKET_NAME) {%- endif %} # TEMPLATES From 2b141e646434396dbb40a2accd224c42dc105ce3 Mon Sep 17 00:00:00 2001 From: anuj Date: Sun, 7 Apr 2019 00:54:46 +0530 Subject: [PATCH 0124/2840] Add support for GCE static --- {{cookiecutter.project_slug}}/config/settings/production.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 61f90104a..4adbdb9c4 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -103,6 +103,8 @@ STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" {%- if cookiecutter.cloud_provider == 'AWS' %} STATICFILES_STORAGE = "config.settings.production.StaticRootS3Boto3Storage" STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" +{%- elif cookiecutter.cloud_provider == 'GCE' %} +STATIC_URL = "https://storage.googleapis.com/{}/static".format(GS_BUCKET_NAME) {%- endif %} # MEDIA @@ -126,8 +128,8 @@ class MediaRootS3Boto3Storage(S3Boto3Storage): DEFAULT_FILE_STORAGE = "config.settings.production.MediaRootS3Boto3Storage" MEDIA_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/media/" {%- elif cookiecutter.cloud_provider == 'GCE' %} -MEDIA_URL = "https://storage.googleapis.com/{}/".format(GS_BUCKET_NAME) -MEDIA_ROOT = "https://storage.googleapis.com/{}/".format(GS_BUCKET_NAME) +MEDIA_URL = "https://storage.googleapis.com/{}/media".format(GS_BUCKET_NAME) +MEDIA_ROOT = "https://storage.googleapis.com/{}/media".format(GS_BUCKET_NAME) {%- endif %} # TEMPLATES From 020933d336c09a7946edd69c92c2562f085c2ff2 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 9 Apr 2019 13:00:39 +0200 Subject: [PATCH 0125/2840] Update sphinx from 2.0.0 to 2.0.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index eb81e7d02..1c90cd840 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==0.15.2 # https://github.com/pallets/werkzeug ipdb==0.12 # https://github.com/gotcha/ipdb -Sphinx==2.0.0 # https://github.com/sphinx-doc/sphinx +Sphinx==2.0.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From 6d906721fc74593c56b70a10ad9804c5ea6afb32 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 10 Apr 2019 13:00:32 +0200 Subject: [PATCH 0126/2840] Update pytz from 2018.9 to 2019.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 9d4aec7dc..39bec2d45 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,4 +1,4 @@ -pytz==2018.9 # https://github.com/stub42/pytz +pytz==2019.1 # https://github.com/stub42/pytz python-slugify==3.0.2 # https://github.com/un33k/python-slugify Pillow==6.0.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} From 56aa332e0146ef94306ebac3f0fdacbd64fcb4fc Mon Sep 17 00:00:00 2001 From: Vlad Date: Sun, 14 Apr 2019 11:43:05 -0500 Subject: [PATCH 0127/2840] Documented Google Cloud Storage integration as an alternative to AWS S3 --- README.rst | 8 ++++++-- docs/project-generation-options.rst | 6 ++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 2c037e51f..fccbdaf96 100644 --- a/README.rst +++ b/README.rst @@ -47,7 +47,7 @@ Features * Comes with custom user model ready to go * Optional custom static build using Gulp and livereload * Send emails via Anymail_ (using Mailgun_ by default, but switchable) -* Media storage using Amazon S3 +* Media storage using Amazon S3 or Google Cloud Storage * Docker support using docker-compose_ for development and production (using Traefik_ with LetsEncrypt_ support) * Procfile_ for deploying to Heroku * Instructions for deploying to PythonAnywhere_ @@ -62,7 +62,7 @@ Optional Integrations *These features can be enabled during initial project setup.* -* Serve static files from Amazon S3 or Whitenoise_ +* Serve static files from Amazon S3, Google Cloud Storage or Whitenoise_ * Configuration for Celery_ and Flower_ (the latter in Docker setup only) * Integration with MailHog_ for local email testing * Integration with Sentry_ for error logging @@ -181,6 +181,10 @@ Answer the prompts with your own desired options_. For example:: 1 - None 2 - Gulp Choose from 1, 2 [1]: 1 + Select cloud_provider: + 1 - AWS + 2 - GCS + Choose from 1, 2 [1]: 1 custom_bootstrap_compilation [n]: n Select open_source_license: 1 - MIT diff --git a/docs/project-generation-options.rst b/docs/project-generation-options.rst index a54837979..82e9edc07 100644 --- a/docs/project-generation-options.rst +++ b/docs/project-generation-options.rst @@ -63,6 +63,12 @@ js_task_runner: 1. None 2. Gulp_ +cloud_provider: + Select a cloud provider for static files. The choices are: + + 1. AWS_ + 2. GCS_ + custom_bootstrap_compilation: Indicates whether the project should support Bootstrap recompilation via the selected JavaScript task runner's task. This can be useful From 7c8a473460f6c90a9773357aaec955b4591f5f65 Mon Sep 17 00:00:00 2001 From: Vlad Date: Sun, 14 Apr 2019 11:57:48 -0500 Subject: [PATCH 0128/2840] Updated settings.rst to reflect new GS env variable --- docs/settings.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/settings.rst b/docs/settings.rst index 212527cfd..dd698a0d2 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -45,6 +45,7 @@ DJANGO_AWS_ACCESS_KEY_ID AWS_ACCESS_KEY_ID n/a DJANGO_AWS_SECRET_ACCESS_KEY AWS_SECRET_ACCESS_KEY n/a raises error DJANGO_AWS_STORAGE_BUCKET_NAME AWS_STORAGE_BUCKET_NAME n/a raises error DJANGO_AWS_S3_REGION_NAME AWS_S3_REGION_NAME n/a None +DJANGO_GCE_STORAGE_BUCKET_NAME GS_BUCKET_NAME n/a raises error SENTRY_DSN SENTRY_DSN n/a raises error DJANGO_SENTRY_LOG_LEVEL SENTRY_LOG_LEVEL n/a logging.INFO MAILGUN_API_KEY MAILGUN_ACCESS_KEY n/a raises error From c041453bef94930c658edffe3f009b799d459a7d Mon Sep 17 00:00:00 2001 From: Vlad Date: Sun, 14 Apr 2019 12:07:37 -0500 Subject: [PATCH 0129/2840] Updated project-generation-options.rst to provide helpful links in case a user needs to decide between AWS s3 and GCS and added myself to contributors.rst --- CONTRIBUTORS.rst | 2 ++ docs/project-generation-options.rst | 3 +++ 2 files changed, 5 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 9486b3a00..ded1606b2 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -177,6 +177,7 @@ Listed in alphabetical order. Travis McNeill `@Travistock`_ @tavistock_esq Tubo Shi `@Tubo`_ Umair Ashraf `@umrashrf`_ @fabumair + Vlad Doster `@vladdoster`_ Vitaly Babiy Vivian Guillen `@viviangb`_ Will Farley `@goldhand`_ @g01dhand @@ -315,6 +316,7 @@ Listed in alphabetical order. .. _@mrcoles: https://github.com/mrcoles .. _@ericgroom: https://github.com/ericgroom .. _@hanaquadara: https://github.com/hanaquadara +.. _@vladdoster: https://github.com/vladdoster Special Thanks ~~~~~~~~~~~~~~ diff --git a/docs/project-generation-options.rst b/docs/project-generation-options.rst index 82e9edc07..470ef9499 100644 --- a/docs/project-generation-options.rst +++ b/docs/project-generation-options.rst @@ -121,6 +121,9 @@ debug: .. _Gulp: https://github.com/gulpjs/gulp +.. _AWS: https://aws.amazon.com/s3/ +.. _GCS: https://cloud.google.com/storage/ + .. _Django Compressor: https://github.com/django-compressor/django-compressor .. _Celery: https://github.com/celery/celery From 9137bb561fc1a7fbe83a6ca61e5c0fffe0c10146 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 16 Apr 2019 12:00:29 +0100 Subject: [PATCH 0130/2840] Update pytest from 4.4.0 to 4.4.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 25b0135b4..cfd0c8476 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.6 # Testing # ------------------------------------------------------------------------------ tox==3.8.6 -pytest==4.4.0 +pytest==4.4.1 pytest_cases==1.6.2 pytest-cookies==0.3.0 pyyaml==5.1 From 026dd6ed575d53d2af49b0878b8080b793c388c0 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 16 Apr 2019 12:00:30 +0100 Subject: [PATCH 0131/2840] Update pytest from 4.4.0 to 4.4.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 1c90cd840..60c68dd1c 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.700 # https://github.com/python/mypy -pytest==4.4.0 # https://github.com/pytest-dev/pytest +pytest==4.4.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From f6cac35b8743407b788ea98b8b2c0444ed25df04 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 16 Apr 2019 11:23:41 -0500 Subject: [PATCH 0132/2840] Update docs/project-generation-options.rst Clearer diction describing cloud provider roles Co-Authored-By: vladdoster --- docs/project-generation-options.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/project-generation-options.rst b/docs/project-generation-options.rst index 470ef9499..c9b3dff8a 100644 --- a/docs/project-generation-options.rst +++ b/docs/project-generation-options.rst @@ -64,7 +64,7 @@ js_task_runner: 2. Gulp_ cloud_provider: - Select a cloud provider for static files. The choices are: + Select a cloud provider for static & media files. The choices are: 1. AWS_ 2. GCS_ From cd13ab4c823e3c9619c9deac5ca368b9af477a9a Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 16 Apr 2019 11:30:22 -0500 Subject: [PATCH 0133/2840] Update docs/settings.rst Documented GOOGLE_APPLICATION_CREDENTIALS env var Co-Authored-By: vladdoster --- docs/settings.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/settings.rst b/docs/settings.rst index dd698a0d2..1830a47c7 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -46,6 +46,7 @@ DJANGO_AWS_SECRET_ACCESS_KEY AWS_SECRET_ACCESS_KEY n/a DJANGO_AWS_STORAGE_BUCKET_NAME AWS_STORAGE_BUCKET_NAME n/a raises error DJANGO_AWS_S3_REGION_NAME AWS_S3_REGION_NAME n/a None DJANGO_GCE_STORAGE_BUCKET_NAME GS_BUCKET_NAME n/a raises error +GOOGLE_APPLICATION_CREDENTIALS n/a n/a raises error SENTRY_DSN SENTRY_DSN n/a raises error DJANGO_SENTRY_LOG_LEVEL SENTRY_LOG_LEVEL n/a logging.INFO MAILGUN_API_KEY MAILGUN_ACCESS_KEY n/a raises error From 6f2a652c2b5be918a67294522e7fdeb04924b539 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20C=2E=20Barrionuevo=20da=20Luz?= Date: Tue, 16 Apr 2019 19:42:57 -0300 Subject: [PATCH 0134/2840] update PostgreSQL versions in the example --- README.rst | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/README.rst b/README.rst index fccbdaf96..5a0fc5fb9 100644 --- a/README.rst +++ b/README.rst @@ -169,13 +169,15 @@ Answer the prompts with your own desired options_. For example:: use_heroku [n]: y use_compressor [n]: y Select postgresql_version: - 1 - 10.3 - 2 - 10.2 - 3 - 10.1 - 4 - 9.6 - 5 - 9.5 - 6 - 9.4 - 7 - 9.3 + 1 - 10.5 + 2 - 10.4 + 3 - 10.3 + 4 - 10.2 + 5 - 10.1 + 6 - 9.6 + 7 - 9.5 + 8 - 9.4 + 9 - 9.3 Choose from 1, 2, 3, 4 [1]: 1 Select js_task_runner: 1 - None From 4d8e3c8c137a9bd2e54a4a408d27ee0e65e9f57e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20C=2E=20Barrionuevo=20da=20Luz?= Date: Tue, 16 Apr 2019 20:24:05 -0300 Subject: [PATCH 0135/2840] update "description" in the example --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 5a0fc5fb9..91fbe3ef1 100644 --- a/README.rst +++ b/README.rst @@ -155,7 +155,7 @@ Answer the prompts with your own desired options_. For example:: project_slug [reddit_clone]: reddit author_name [Daniel Roy Greenfeld]: Daniel Greenfeld email [you@example.com]: pydanny@gmail.com - description [A short description of the project.]: A reddit clone. + description [Behold My Awesome Project!]: A reddit clone. domain_name [example.com]: myreddit.com version [0.1.0]: 0.0.1 timezone [UTC]: America/Los_Angeles From 93d5426cb4cf63122364fd52da97296d40d9d78a Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 17 Apr 2019 08:37:45 +0100 Subject: [PATCH 0136/2840] Small updates in the READMEs --- README.rst | 6 +++--- {{cookiecutter.project_slug}}/README.rst | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index 91fbe3ef1..9e76d8025 100644 --- a/README.rst +++ b/README.rst @@ -39,7 +39,7 @@ Features * For Django 2.0 * Works with Python 3.6 * Renders Django projects with 100% starting test coverage -* Twitter Bootstrap_ v4.1.1 (`maintained Foundation fork`_ also available) +* Twitter Bootstrap_ v4 (`maintained Foundation fork`_ also available) * 12-Factor_ based settings via django-environ_ * Secure by default. We believe in SSL. * Optimized development and production settings @@ -51,7 +51,7 @@ Features * Docker support using docker-compose_ for development and production (using Traefik_ with LetsEncrypt_ support) * Procfile_ for deploying to Heroku * Instructions for deploying to PythonAnywhere_ -* Run tests with unittest or py.test +* Run tests with unittest or pytest * Customizable PostgreSQL version .. _`maintained Foundation fork`: https://github.com/Parbhat/cookiecutter-django-foundation @@ -90,7 +90,7 @@ Constraints * Only maintained 3rd party libraries are used. * Uses PostgreSQL everywhere (9.2+) -* Environment variables for configuration (This won't work with Apache/mod_wsgi except on AWS ELB). +* Environment variables for configuration (This won't work with Apache/mod_wsgi). Support this Project! ---------------------- diff --git a/{{cookiecutter.project_slug}}/README.rst b/{{cookiecutter.project_slug}}/README.rst index 6ef3b63c4..b9dbf218a 100644 --- a/{{cookiecutter.project_slug}}/README.rst +++ b/{{cookiecutter.project_slug}}/README.rst @@ -159,7 +159,7 @@ Custom Bootstrap Compilation ^^^^^^ The generated CSS is set up with automatic Bootstrap recompilation with variables of your choice. -Bootstrap v4.1.1 is installed using npm and customised by tweaking your variables in ``static/sass/custom_bootstrap_vars``. +Bootstrap v4 is installed using npm and customised by tweaking your variables in ``static/sass/custom_bootstrap_vars``. You can find a list of available variables `in the bootstrap source`_, or get explanations on them in the `Bootstrap docs`_. From 352be0eec947cff860ddd289cbe05ba709bbf03b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 17 Apr 2019 12:00:31 +0100 Subject: [PATCH 0137/2840] Update mypy from 0.700 to 0.701 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 60c68dd1c..a2f72eda9 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -11,7 +11,7 @@ psycopg2-binary==2.8 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ -mypy==0.700 # https://github.com/python/mypy +mypy==0.701 # https://github.com/python/mypy pytest==4.4.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar From 5a3d9050a4d6274f206bb2c2979d89188feaebcf Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 17 Apr 2019 12:00:36 +0100 Subject: [PATCH 0138/2840] Update pylint-django from 2.0.6 to 2.0.7 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 60c68dd1c..d0e909e53 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar flake8==3.7.5 # https://github.com/PyCQA/flake8 coverage==4.5.3 # https://github.com/nedbat/coveragepy black==19.3b0 # https://github.com/ambv/black -pylint-django==2.0.6 # https://github.com/PyCQA/pylint-django +pylint-django==2.0.7 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} From a1692ef5410b98583def7703d156305800d9e95c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 17 Apr 2019 19:13:06 -0700 Subject: [PATCH 0139/2840] Update tox from 3.8.6 to 3.9.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index cfd0c8476..ea10eaa53 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ flake8==3.7.6 # Testing # ------------------------------------------------------------------------------ -tox==3.8.6 +tox==3.9.0 pytest==4.4.1 pytest_cases==1.6.2 pytest-cookies==0.3.0 From 113f1ed53095a7439d40e10d625019eab248e122 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 18 Apr 2019 12:00:29 +0100 Subject: [PATCH 0140/2840] Update pylint-django from 2.0.7 to 2.0.8 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index bd2d58ad3..5d85b6ff2 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar flake8==3.7.5 # https://github.com/PyCQA/flake8 coverage==4.5.3 # https://github.com/nedbat/coveragepy black==19.3b0 # https://github.com/ambv/black -pylint-django==2.0.7 # https://github.com/PyCQA/pylint-django +pylint-django==2.0.8 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} From 7358fef56af367dac58bd9691128ddc416542b93 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 24 Apr 2019 12:00:28 +0100 Subject: [PATCH 0141/2840] Update sentry-sdk from 0.7.10 to 0.7.11 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index d9fa2550d..c430e436c 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.7.10 # https://github.com/getsentry/sentry-python +sentry-sdk==0.7.11 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 2f77d48496c98a52eadec4fec82c52f13b035243 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 26 Apr 2019 12:00:28 +0100 Subject: [PATCH 0142/2840] Update sentry-sdk from 0.7.11 to 0.7.12 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index c430e436c..21e4cc8dc 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.7.11 # https://github.com/getsentry/sentry-python +sentry-sdk==0.7.12 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 09735eadfd3e36a67800a0e80bbd0d206032972a Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 26 Apr 2019 12:00:32 +0100 Subject: [PATCH 0143/2840] Update pylint-django from 2.0.8 to 2.0.9 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5d85b6ff2..85f60a4ac 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar flake8==3.7.5 # https://github.com/PyCQA/flake8 coverage==4.5.3 # https://github.com/nedbat/coveragepy black==19.3b0 # https://github.com/ambv/black -pylint-django==2.0.8 # https://github.com/PyCQA/pylint-django +pylint-django==2.0.9 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} From bf6f17b1b9924672022d0c99475e5dbb834e7d1f Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 30 Apr 2019 12:00:31 +0100 Subject: [PATCH 0144/2840] Update sentry-sdk from 0.7.12 to 0.7.14 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 21e4cc8dc..4ae99be3f 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.7.12 # https://github.com/getsentry/sentry-python +sentry-sdk==0.7.14 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 07a685326c973e8559c5e0d88ae6863079e618c3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 30 Apr 2019 12:00:34 +0100 Subject: [PATCH 0145/2840] Update djangorestframework from 3.9.2 to 3.9.3 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 39bec2d45..a6031c884 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -29,5 +29,5 @@ django-compressor==2.2 # https://github.com/django-compressor/django-compressor django-redis==4.10.0 # https://github.com/niwinz/django-redis # Django REST Framework -djangorestframework==3.9.2 # https://github.com/encode/django-rest-framework +djangorestframework==3.9.3 # https://github.com/encode/django-rest-framework coreapi==2.3.3 # https://github.com/core-api/python-client From 964662742a63035da4a31839b991cf62a0a5f1d3 Mon Sep 17 00:00:00 2001 From: Craig Margieson Date: Mon, 6 May 2019 15:10:18 +0930 Subject: [PATCH 0146/2840] Add to contributors. --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index ded1606b2..41bf6f653 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -84,6 +84,7 @@ Listed in alphabetical order. Christopher Clarke `@chrisdev`_ Cole Mackenzie `@cmackenzie1`_ Collederas `@Collederas`_ + Craig Margieson `@cmargieson`_ Cristian Vargas `@cdvv7788`_ Cullen Rhodes `@c-rhodes`_ Dan Shultz `@shultz`_ From 5ab5285e5f741e1c7d87bf0a176ebb8de131aba6 Mon Sep 17 00:00:00 2001 From: Craig Margieson Date: Mon, 6 May 2019 15:13:01 +0930 Subject: [PATCH 0147/2840] Edit STATIC and MEDIA urls for GCE production. --- {{cookiecutter.project_slug}}/config/settings/production.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 4adbdb9c4..63225bee9 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -104,7 +104,7 @@ STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" STATICFILES_STORAGE = "config.settings.production.StaticRootS3Boto3Storage" STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" {%- elif cookiecutter.cloud_provider == 'GCE' %} -STATIC_URL = "https://storage.googleapis.com/{}/static".format(GS_BUCKET_NAME) +STATIC_URL = "https://storage.googleapis.com/{}/static/".format(GS_BUCKET_NAME) {%- endif %} # MEDIA @@ -128,8 +128,8 @@ class MediaRootS3Boto3Storage(S3Boto3Storage): DEFAULT_FILE_STORAGE = "config.settings.production.MediaRootS3Boto3Storage" MEDIA_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/media/" {%- elif cookiecutter.cloud_provider == 'GCE' %} -MEDIA_URL = "https://storage.googleapis.com/{}/media".format(GS_BUCKET_NAME) -MEDIA_ROOT = "https://storage.googleapis.com/{}/media".format(GS_BUCKET_NAME) +MEDIA_URL = "https://storage.googleapis.com/{}/media/".format(GS_BUCKET_NAME) +MEDIA_ROOT = "https://storage.googleapis.com/{}/media/".format(GS_BUCKET_NAME) {%- endif %} # TEMPLATES From 1646daa277372fb0dc5a215e7f12edfb362d248c Mon Sep 17 00:00:00 2001 From: Craig Margieson Date: Mon, 6 May 2019 15:30:02 +0930 Subject: [PATCH 0148/2840] Added link in contributors. --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 41bf6f653..6fa9e1c0d 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -318,6 +318,7 @@ Listed in alphabetical order. .. _@ericgroom: https://github.com/ericgroom .. _@hanaquadara: https://github.com/hanaquadara .. _@vladdoster: https://github.com/vladdoster +.. _@cmargieson: https://github.com/cmargieson Special Thanks ~~~~~~~~~~~~~~ From 07f2a25219db1d1a69017a1e5cae3193e1771904 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 7 May 2019 06:52:01 +0100 Subject: [PATCH 0149/2840] Update psycopg2-binary from 2.8 to 2.8.2 (#2034) --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 85f60a4ac..7095af3df 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -6,7 +6,7 @@ Sphinx==2.0.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} -psycopg2-binary==2.8 # https://github.com/psycopg/psycopg2 +psycopg2-binary==2.8.2 # https://github.com/psycopg/psycopg2 {%- endif %} # Testing From 642521dc5e80de72bc3a8d7e2bd7127e933ced2e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 9 May 2019 12:00:32 +0100 Subject: [PATCH 0150/2840] Update pytest from 4.4.1 to 4.4.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index ea10eaa53..3644de168 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.6 # Testing # ------------------------------------------------------------------------------ tox==3.9.0 -pytest==4.4.1 +pytest==4.4.2 pytest_cases==1.6.2 pytest-cookies==0.3.0 pyyaml==5.1 From 42fc45d38afb9f81e4f5ae40b9f5782f2ce5f2c8 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 9 May 2019 12:00:33 +0100 Subject: [PATCH 0151/2840] Update pytest from 4.4.1 to 4.4.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 7095af3df..3ef434e98 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.2 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.701 # https://github.com/python/mypy -pytest==4.4.1 # https://github.com/pytest-dev/pytest +pytest==4.4.2 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From 8933aa17c08462d4ef0994f963b6ba2a04071b17 Mon Sep 17 00:00:00 2001 From: shireenrao Date: Fri, 10 May 2019 11:42:07 -0400 Subject: [PATCH 0152/2840] The signal should be imported from project_slug I am getting an error if I create a signal.py file under users model. Here is the stacktrace Tracking file by folder pattern: migrations Unhandled exception in thread started by .wrapper at 0x000002663A074048> Traceback (most recent call last): File "C:\Apps\Anaconda3\envs\registration\lib\site-packages\django\utils\autoreload.py", line 225, in wrapper fn(*args, **kwargs) File "C:\Apps\Anaconda3\envs\registration\lib\site-packages\django\core\management\commands\runserver.py", line 109, in inner_run autoreload.raise_last_exception() File "C:\Apps\Anaconda3\envs\registration\lib\site-packages\django\utils\autoreload.py", line 248, in raise_last_exception raise _exception[1] File "C:\Apps\Anaconda3\envs\registration\lib\site-packages\django\core\management\__init__.py", line 337, in execute autoreload.check_errors(django.setup)() File "C:\Apps\Anaconda3\envs\registration\lib\site-packages\django\utils\autoreload.py", line 225, in wrapper fn(*args, **kwargs) File "C:\Apps\Anaconda3\envs\registration\lib\site-packages\django\__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "C:\Apps\Anaconda3\envs\registration\lib\site-packages\django\apps\registry.py", line 120, in populate app_config.ready() File "C:\Users\srao\projects\kbs\kbs\users\apps.py", line 11, in ready import users.signals # noqa F401 File "C:\Users\srao\projects\kbs\kbs\users\signals.py", line 3, in from .models import User File "C:\Users\srao\projects\kbs\kbs\users\models.py", line 8, in class User(AbstractUser): File "C:\Apps\Anaconda3\envs\registration\lib\site-packages\django\db\models\base.py", line 95, in __new__ "INSTALLED_APPS." % (module, name) RuntimeError: Model class users.models.User doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS. Having the signal be imported from project_slug.users.signal fixes the issue. --- .../{{cookiecutter.project_slug}}/users/apps.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/apps.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/apps.py index 854665fd3..ded2072ff 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/apps.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/apps.py @@ -8,6 +8,6 @@ class UsersAppConfig(AppConfig): def ready(self): try: - import users.signals # noqa F401 + import {{ cookiecutter.project_slug }}.users.signals # noqa F401 except ImportError: pass From 4bca52c835050485a4036d2a451bcc27bddef3ee Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 11 May 2019 12:00:28 +0100 Subject: [PATCH 0153/2840] Update djangorestframework from 3.9.3 to 3.9.4 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index dc54eb33b..29e7f2b94 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -29,5 +29,5 @@ django-compressor==2.2 # https://github.com/django-compressor/django-compressor django-redis==4.10.0 # https://github.com/niwinz/django-redis # Django REST Framework -djangorestframework==3.9.3 # https://github.com/encode/django-rest-framework +djangorestframework==3.9.4 # https://github.com/encode/django-rest-framework coreapi==2.3.3 # https://github.com/core-api/python-client From bad8e972c58872cf6593593544d99ce191a125ed Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 12 May 2019 12:00:29 +0100 Subject: [PATCH 0154/2840] Update pytest from 4.4.2 to 4.5.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3644de168..9391b0c6f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.6 # Testing # ------------------------------------------------------------------------------ tox==3.9.0 -pytest==4.4.2 +pytest==4.5.0 pytest_cases==1.6.2 pytest-cookies==0.3.0 pyyaml==5.1 From 4373e205a8cf53f6e4e3916c16a4c6278b2e8059 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 12 May 2019 12:00:30 +0100 Subject: [PATCH 0155/2840] Update pytest from 4.4.2 to 4.5.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 3ef434e98..1f8ab08dc 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.2 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.701 # https://github.com/python/mypy -pytest==4.4.2 # https://github.com/pytest-dev/pytest +pytest==4.5.0 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From 4e20733b6a2f52db012a57fcdd59c5cd0e972a5f Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 12 May 2019 12:00:33 +0100 Subject: [PATCH 0156/2840] Update factory-boy from 2.11.1 to 2.12.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 3ef434e98..8f26f0e62 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -27,7 +27,7 @@ pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery # Django # ------------------------------------------------------------------------------ -factory-boy==2.11.1 # https://github.com/FactoryBoy/factory_boy +factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==1.11 # https://github.com/jazzband/django-debug-toolbar django-extensions==2.1.6 # https://github.com/django-extensions/django-extensions From 64727f5096a36d6b99587d0218be90a95839d035 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 12 May 2019 20:26:46 +0100 Subject: [PATCH 0157/2840] Update changelog with main changes from the past 15 months --- CHANGELOG.md | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 304732b9f..0e59b3b4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,171 @@ All enhancements and patches to Cookiecutter Django will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [2019-05-08] +### Changed +- Upgraded to Django 2.1 (@browniebroke) + +## [2019-04-07] +### Added +- Support for Google Cloud Storage (@ahhda) + +## [2019-04-03] +### Added +- Command to backup Db to AWS S3 (@foarsitter) + +## [2019-03-25] +### Added +- Node image to run Gulp with Docker (@browniebroke) + +## [2019-03-19] +### Changed +- Replaced Caddy with Traefik (@demestav) + +## [2019-03-11] +### Changed +- Sentry integration from Raven to Sentry-SDK (@gfabricio) +- Made Redis config conditional on Celery locally (@demestav) + +## [2019-03-11] +### Added +- Automatic migrations on Heroku (@yunti) + +## [2019-03-06] +### Fixed +- Missing script tag in Travis config (@btknu) + +## [2019-03-02] +### Changed +- Celery eager setting in local setting with Docker (@keithjeb) + +## [2019-03-01] +### Updated +- All NPM dependencies (@takkaria) + +## [2018-11-13] +### Changed +- Security settings in Dev (@carlmjohnson) + +## [2018-11-20] +### Fixed +- Passing the CSRF header from the reverse proxy to Django server for DRF (@hpbruna) + +## [2018-11-12] +### Fixed +- Initialisation of Celery app (@glasslion) + +## [2018-10-24] +### Fixed +- Persisting of iPython history between sessions (@davitovmasyan) + +### Added +- Postgres 10.5 option (@jleclanche) + +## [2018-09-18] +### Added +- Included `mypy` in dependencies and run it in tests (@apirobot) + +## [2018-09-18] +### Fixed +- Avoid `$` in environment variables to workaround a bug from django-environ (@browniebroke) + +## [2018-09-16] +### Fixed +- Bug in ordering of Middleware for production config (@ChrisPappalardo) + +## [2018-09-12] +### Fixed +- URLs for Static and Media for S3 buckets in regions other than N. Virginia (@umrashrf) + +## [2018-09-09] +### Changed +- Name of static and media storage classes (@sfdye) + +## [2018-09-01] +### Changed +- Make static and media storage fully-fledged classes (@erfaan) + +## [2018-08-28] +### Fixed +- Running tests in docker test script (@apirobot) + +## [2018-07-23] +### Changed +- Test commands to use pytest (@jcass77) + +### Removed +- Some hacks leftovers from Bootstrap v4 beta in `project.js` (@hendrikschneider) + +## [2018-07-12] +### Changed +- Upgraded to Bootstrap 4.1.1 (@mostaszewski) + +## [2018-06-25] +### Added +- Flower integration with Docker (@webyneter) + +## [2018-06-25] +### Changed +- Rewrite user app test to use a pytest style (@webyneter) + +## [2018-06-21] +### Added +- Extend & update Celery config (@webyneter & @apirobot) + +## [2018-05-25] +### Fixed +- Build issues due to incompatibility between libressl & openssl (@SassanoM) + +## [2018-05-21] +### Changed +- Updated Caddy to 0.11 and pin its version (@webyneter) + +## [2018-05-14] +### Changed +- Replace `awesome-slugify` by `python-slugify` (@hongquan) +- Migrate to Django 2.0+ URL style (@saschalalala) + +## [2018-05-05] +### Fixed +- Postgres backup & restore commands (@webyneter) + +## [2018-04-10] +### Changed +- Simplify configuration (@danidee10) + +## [2018-04-08] +### Added +- Adopt Black code style (@pydanny) + +## [2018-03-27] +### Fixed +- Simplified extra Celery config generated when opted out (@webyneter) + +## [2018-03-21] +### Removed +- Remove Opbeat support (@sfdye) + +## [2018-03-16] +### Fixed +- Install `psycopg2-binary` when using Docker locally (@browniebroke) + +## [2018-03-14] +### Fixed +- Fixed and improved Postgres backup & restore scripts (@webyneter) + +## [2018-03-10] +### Changed +- Simplify Mailgun setting (@browniebroke) + +## [2018-03-06] +### Changed +- Convert string formatting to f-strings (@sfdye) + +## [2018-03-01] +### Changed +- Celery to use JSON serialization by default (@adammsteele) +- Use Docker version from Travis to run tests (@browniebroke) + ## [2018-02-16] ### Changed - Upgraded to Django 2.0 (@epicwhale) From 3b96afc559302d9ebf91bae5bd776281bda4471e Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 12 May 2019 21:57:16 +0100 Subject: [PATCH 0158/2840] Deduplicate troubleshooting sections about Mailgun --- docs/troubleshooting.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst index 68db2fb08..b6a93ffca 100644 --- a/docs/troubleshooting.rst +++ b/docs/troubleshooting.rst @@ -9,9 +9,9 @@ This page contains some advice about errors and problems commonly encountered du #. Internal server error on user registration: make sure you have configured the mail backend (e.g. Mailgun) by adding the API key and sender domain -#. New apps not getting created in project root: This is the expected behavior, because cookiecutter-django does not change the way that django startapp works, you'll have to fix this manually (see `#1725`_) + .. include:: mailgun.rst -#. .. include:: mailgun.rst +#. New apps not getting created in project root: This is the expected behavior, because cookiecutter-django does not change the way that django startapp works, you'll have to fix this manually (see `#1725`_) .. _#528: https://github.com/pydanny/cookiecutter-django/issues/528#issuecomment-212650373 .. _#1725: https://github.com/pydanny/cookiecutter-django/issues/1725#issuecomment-407493176 From dac16d6c404af93ab054506fd246dae5461a3fa7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 13 May 2019 16:15:56 -0700 Subject: [PATCH 0159/2840] Update tox from 3.9.0 to 3.10.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 9391b0c6f..42dd9ee6a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ flake8==3.7.6 # Testing # ------------------------------------------------------------------------------ -tox==3.9.0 +tox==3.10.0 pytest==4.5.0 pytest_cases==1.6.2 pytest-cookies==0.3.0 From 74aaa3022c1a84a0fc0329c89e527b0c0b993e70 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 15 May 2019 12:00:38 +0100 Subject: [PATCH 0160/2840] Update werkzeug from 0.15.2 to 0.15.4 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 6327cf8c5..5fc26c15e 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,6 +1,6 @@ -r ./base.txt -Werkzeug==0.15.2 # https://github.com/pallets/werkzeug +Werkzeug==0.15.4 # https://github.com/pallets/werkzeug ipdb==0.12 # https://github.com/gotcha/ipdb Sphinx==2.0.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} From a245651f668bc411576039f54cf43220b4c29693 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 15 May 2019 12:37:17 +0100 Subject: [PATCH 0161/2840] Increase test parallelism - Split out tests and add markers to control where they are run in Travis - Run each marker on a separate Travis task - Install pytest-xdist to increase parallelism inside each worker - Set xdist parallelism to 3 --- .travis.yml | 8 ++++++-- requirements.txt | 1 + tests/test_cookiecutter_generation.py | 15 +++++++++++++-- tox.ini | 12 ++++++++++-- 4 files changed, 30 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index a74090b28..f16c65820 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,10 +13,14 @@ before_install: matrix: include: - - name: Tox Test + - name: Test results script: tox -e py36 - - name: Black template + - name: Run flake8 on result + script: tox -e flake8 + - name: Run black on result script: tox -e black + - name: Black template + script: tox -e black-template - name: Basic Docker script: sh tests/test_docker.sh - name: Docker with Celery diff --git a/requirements.txt b/requirements.txt index 42dd9ee6a..121ba87f0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,4 +13,5 @@ tox==3.10.0 pytest==4.5.0 pytest_cases==1.6.2 pytest-cookies==0.3.0 +pytest-xdist==1.28.0 pyyaml==5.1 diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 17375b1cf..2be23b86a 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -101,9 +101,10 @@ def test_project_generation(cookies, context, context_combination): check_paths(paths) -def test_linting_passes(cookies, context_combination): +@pytest.mark.flake8 +def test_flake8_passes(cookies, context_combination): """ - Generated project should pass flake8 & black. + Generated project should pass flake8. This is parametrized for each combination from ``context_combination`` fixture """ @@ -114,6 +115,16 @@ def test_linting_passes(cookies, context_combination): except sh.ErrorReturnCode as e: pytest.fail(e) + +@pytest.mark.black +def test_black_passes(cookies, context_combination): + """ + Generated project should pass black. + + This is parametrized for each combination from ``context_combination`` fixture + """ + result = cookies.bake(extra_context=context_combination) + try: sh.black("--check", "--diff", "--exclude", "migrations", f"{result.project}/") except sh.ErrorReturnCode as e: diff --git a/tox.ini b/tox.ini index cef3efc78..8306ccf2f 100644 --- a/tox.ini +++ b/tox.ini @@ -1,11 +1,19 @@ [tox] skipsdist = true -envlist = py36,black +envlist = py36,flake8,black,black-template [testenv] deps = -rrequirements.txt -commands = pytest {posargs:./tests} +commands = pytest -n 3 -m "not flake8" -m "not black" {posargs:./tests} + +[testenv:flake8] +deps = -rrequirements.txt +commands = pytest -n 3 -m flake8 {posargs:./tests} [testenv:black] +deps = -rrequirements.txt +commands = pytest -n 3 -m black {posargs:./tests} + +[testenv:black-template] deps = black commands = black --check hooks tests setup.py docs From 0fef8283755fe5e89e44c3e4287f5c2f7ab3f534 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 12 Apr 2019 16:59:34 +0100 Subject: [PATCH 0162/2840] Create a logging config in base settings & add a root logger to existing ones --- .../config/settings/base.py | 24 +++++++++++++++++++ .../config/settings/production.py | 2 ++ 2 files changed, 26 insertions(+) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 026c88cf5..734c1c807 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -221,6 +221,30 @@ ADMINS = [("""{{cookiecutter.author_name}}""", "{{cookiecutter.email}}")] # https://docs.djangoproject.com/en/dev/ref/settings/#managers MANAGERS = ADMINS +# LOGGING +# ------------------------------------------------------------------------------ +# https://docs.djangoproject.com/en/dev/ref/settings/#logging +# See https://docs.djangoproject.com/en/dev/topics/logging for +# more details on how to customize your logging configuration. +LOGGING = { + "version": 1, + "disable_existing_loggers": False, + "formatters": { + "verbose": { + "format": "%(levelname)s %(asctime)s %(module)s " + "%(process)d %(thread)d %(message)s" + } + }, + "handlers": { + "console": { + "level": "DEBUG", + "class": "logging.StreamHandler", + "formatter": "verbose", + } + }, + "root": {"level": "INFO", "handlers": ["console"]}, +} + {% if cookiecutter.use_celery == 'y' -%} # Celery # ------------------------------------------------------------------------------ diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 63225bee9..61fb38d6e 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -233,6 +233,7 @@ LOGGING = { "formatter": "verbose", }, }, + "root": {"level": "INFO", "handlers": ["console"]}, "loggers": { "django.request": { "handlers": ["mail_admins"], @@ -263,6 +264,7 @@ LOGGING = { "formatter": "verbose", } }, + "root": {"level": "INFO", "handlers": ["console"]}, "loggers": { "django.db.backends": { "level": "ERROR", From 78d81d6f87803cca64e9f693f9b32ab7f39a7070 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 15 May 2019 10:45:37 -0700 Subject: [PATCH 0163/2840] Update tox from 3.10.0 to 3.11.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 121ba87f0..608cd6b52 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ flake8==3.7.6 # Testing # ------------------------------------------------------------------------------ -tox==3.10.0 +tox==3.11.0 pytest==4.5.0 pytest_cases==1.6.2 pytest-cookies==0.3.0 From d00517252c42c6d038356fff42a2056392de2d77 Mon Sep 17 00:00:00 2001 From: Tano Abeleyra Date: Wed, 15 May 2019 13:11:16 -0300 Subject: [PATCH 0164/2840] UsersAppConfig improvements + Rename to UsersConfig to follow Django naming convention + Translate verbose_name --- {{cookiecutter.project_slug}}/config/settings/base.py | 2 +- .../{{cookiecutter.project_slug}}/users/apps.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 026c88cf5..3d51729f5 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -75,7 +75,7 @@ THIRD_PARTY_APPS = [ "rest_framework", ] LOCAL_APPS = [ - "{{ cookiecutter.project_slug }}.users.apps.UsersAppConfig", + "{{ cookiecutter.project_slug }}.users.apps.UsersConfig", # Your stuff: custom apps go here ] # https://docs.djangoproject.com/en/dev/ref/settings/#installed-apps diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/apps.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/apps.py index ded2072ff..2241e5eb5 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/apps.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/apps.py @@ -1,10 +1,10 @@ from django.apps import AppConfig +from django.utils.translation import gettext_lazy as _ -class UsersAppConfig(AppConfig): - +class UsersConfig(AppConfig): name = "{{ cookiecutter.project_slug }}.users" - verbose_name = "Users" + verbose_name = _("Users") def ready(self): try: From 6d0d33865c33cca7f002b1caf8aa835c6dd46623 Mon Sep 17 00:00:00 2001 From: Tano Abeleyra Date: Wed, 15 May 2019 19:22:08 -0300 Subject: [PATCH 0165/2840] Add myself as contributor and sort the list --- CONTRIBUTORS.rst | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 6fa9e1c0d..af974d5ee 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -64,6 +64,7 @@ Listed in alphabetical order. Areski Belaid `@areski`_ Ashley Camba Barclay Gauld `@yunti`_ + Bartek `@btknu`_ Ben Warren `@bwarren2`_ Ben Lopatin Benjamin Abel @@ -71,7 +72,6 @@ Listed in alphabetical order. Bo Lopker `@blopker`_ Bouke Haarsma Brent Payne `@brentpayne`_ @brentpayne - Bartek `@btknu`_ Burhan Khalid            `@burhan`_                   @burhan Carl Johnson `@carlmjohnson`_ @carlmjohnson Catherine Devlin `@catherinedevlin`_ @@ -95,6 +95,7 @@ Listed in alphabetical order. Davur Clementsen `@dsclementsen`_ @davur Delio Castillo `@jangeador`_ @jangeador Demetris Stavrou `@demestav`_ + Denis Bobrov `@delneg`_ Denis Orehovsky `@apirobot`_ Dónal Adams `@epileptic-fish`_ Diane Chen `@purplediane`_ @purplediane88 @@ -114,8 +115,8 @@ Listed in alphabetical order. Ian Lee `@IanLee1521`_ Irfan Ahmad `@erfaan`_ @erfaan Jan Van Bruggen `@jvanbrug`_ - Jens Nilsson `@phiberjenz`_ Jelmer Draaijer `@foarsitter`_ + Jens Nilsson `@phiberjenz`_ Jerome Leclanche `@jleclanche`_ @Adys Jimmy Gitonga `@afrowave`_ @afrowave John Cass `@jcass77`_ @cass_john @@ -124,9 +125,10 @@ Listed in alphabetical order. Kaido Kert `@kaidokert`_ kappataumu `@kappataumu`_ @kappataumu Kaveh `@ka7eh`_ + Keith Bailey `@keithjeb`_ + Keith Webber `@townie`_ Kevin A. Stone Kevin Ndung'u `@kevgathuku`_ - Keith Webber `@townie`_ Krzysztof Szumny `@noisy`_ Krzysztof Żuraw `@krzysztofzuraw`_ Leonardo Jimenez `@xpostudio4`_ @@ -154,22 +156,24 @@ Listed in alphabetical order. Parbhat Puri `@parbhat`_ Peter Bittner `@bittner`_ Peter Coles `@mrcoles`_ + Philipp Matthies `@canonnervio`_ Pierre Chiquet `@pchiquet`_ - Raphael Pierzina `@hackebrot`_ Raony Guimarães Corrêa `@raonyguimaraes`_ + Raphael Pierzina `@hackebrot`_ Reggie Riser `@reggieriser`_ René Muhl `@rm--`_ Roman Afanaskin `@siauPatrick`_ Roman Osipenko `@romanosipenko`_ Russell Davies - Sascha `@saschalalala`_ @saschalalala Sam Collins `@MightySCollins`_ + Sascha `@saschalalala`_ @saschalalala Shupeyko Nikita `@webyneter`_ Sławek Ehlert `@slafs`_ Srinivas Nyayapati `@shireenrao`_ stepmr `@stepmr`_ Steve Steiner `@ssteinerX`_ Sule Marshall `@suledev`_ + Tano Abeleyra `@tanoabeleyra`_ Taylor Baldwin Théo Segonds `@show0k`_ Tim Freund `@timfreund`_ @@ -178,16 +182,13 @@ Listed in alphabetical order. Travis McNeill `@Travistock`_ @tavistock_esq Tubo Shi `@Tubo`_ Umair Ashraf `@umrashrf`_ @fabumair - Vlad Doster `@vladdoster`_ + Vadim Iskuchekov `@Egregors`_ @egregors Vitaly Babiy Vivian Guillen `@viviangb`_ + Vlad Doster `@vladdoster`_ Will Farley `@goldhand`_ @g01dhand William Archinal `@archinal`_ Yaroslav Halchenko - Denis Bobrov `@delneg`_ - Philipp Matthies `@canonnervio`_ - Vadim Iskuchekov `@Egregors`_ @egregors - Keith Bailey `@keithjeb`_ ========================== ============================ ============== .. _@a7p: https://github.com/a7p From c3f6df2eae4604305cb22e22d6bd5dc403cbb15e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 16 May 2019 12:00:38 +0100 Subject: [PATCH 0166/2840] Update tox from 3.11.0 to 3.11.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 608cd6b52..53d143788 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ flake8==3.7.6 # Testing # ------------------------------------------------------------------------------ -tox==3.11.0 +tox==3.11.1 pytest==4.5.0 pytest_cases==1.6.2 pytest-cookies==0.3.0 From 04cf607166a31c2b534d753b37b1e6d75702373f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 16 May 2019 13:27:51 +0100 Subject: [PATCH 0167/2840] Add recent changes to changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e59b3b4a..e4eadd221 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [2019-05-16] +### Changed +- Users app to have a translated verbose name (@tanoabeleyra) +- Logging configuration for local (@browniebroke) + ## [2019-05-08] ### Changed - Upgraded to Django 2.1 (@browniebroke) From dc55a3cdd41adb2d97639cc5560b09b85d10eecd Mon Sep 17 00:00:00 2001 From: Tano Abeleyra Date: Thu, 16 May 2019 21:18:41 -0300 Subject: [PATCH 0168/2840] Add missing link in CONTRIBUTORS (#2058) --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index af974d5ee..d11f99050 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -320,6 +320,7 @@ Listed in alphabetical order. .. _@hanaquadara: https://github.com/hanaquadara .. _@vladdoster: https://github.com/vladdoster .. _@cmargieson: https://github.com/cmargieson +.. _@tanoabeleyra: https://github.com/tanoabeleyra Special Thanks ~~~~~~~~~~~~~~ From ecc5a73affa458c4e6088653156f3662e3295d4b Mon Sep 17 00:00:00 2001 From: Tano Abeleyra Date: Fri, 17 May 2019 11:57:13 -0300 Subject: [PATCH 0169/2840] Add LocaleMiddleware --- {{cookiecutter.project_slug}}/config/settings/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 01881b366..22a08b5ab 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -126,6 +126,7 @@ AUTH_PASSWORD_VALIDATORS = [ MIDDLEWARE = [ "django.middleware.security.SecurityMiddleware", "django.contrib.sessions.middleware.SessionMiddleware", + "django.middleware.locale.LocaleMiddleware", "django.middleware.common.CommonMiddleware", "django.middleware.csrf.CsrfViewMiddleware", "django.contrib.auth.middleware.AuthenticationMiddleware", From 63a184f07247752de53082bf2a2a5a61d637390d Mon Sep 17 00:00:00 2001 From: Tano Abeleyra Date: Fri, 17 May 2019 12:34:32 -0300 Subject: [PATCH 0170/2840] Set LOCALE_PATHS --- {{cookiecutter.project_slug}}/config/settings/base.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 22a08b5ab..0e0d96160 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -35,6 +35,8 @@ USE_I18N = True USE_L10N = True # https://docs.djangoproject.com/en/dev/ref/settings/#use-tz USE_TZ = True +# https://docs.djangoproject.com/en/dev/ref/settings/#locale-paths +LOCALE_PATHS = [ROOT_DIR.path("locale")] # DATABASES # ------------------------------------------------------------------------------ From dc664b355615fdb1f0f5db8d5fc784f52611dd23 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 17 May 2019 21:37:14 +0100 Subject: [PATCH 0171/2840] Update CHANGELOG.md --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e4eadd221..89e5d0153 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [2019-05-17] +### Fixed +- Added `LocaleMiddleware` to the list of middlewares (@tanoabeleyra) +- Added `LOCALE_PATH` to settings (@tanoabeleyra) + ## [2019-05-16] ### Changed - Users app to have a translated verbose name (@tanoabeleyra) From 219062cb2b8b3ae5b83bedb4827b8e529bfba8b4 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 12 May 2019 21:55:22 +0100 Subject: [PATCH 0172/2840] Update to Django 2.2.1 --- README.rst | 2 +- setup.py | 6 +++--- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index 8a92eddae..3434e09d5 100644 --- a/README.rst +++ b/README.rst @@ -36,7 +36,7 @@ production-ready Django projects quickly. Features --------- -* For Django 2.1 +* For Django 2.2 * Works with Python 3.6 * Renders Django projects with 100% starting test coverage * Twitter Bootstrap_ v4 (`maintained Foundation fork`_ also available) diff --git a/setup.py b/setup.py index 65bcd8fcf..46c84b712 100644 --- a/setup.py +++ b/setup.py @@ -10,10 +10,10 @@ except ImportError: # Our version ALWAYS matches the version of Django we support # If Django has a new release, we branch, tag, then update this setting after the tag. -version = "2.0.2" +version = "2.2.1" if sys.argv[-1] == "tag": - os.system('git tag -a %s -m "version %s"' % (version, version)) + os.system(f'git tag -a {version} -m "version {version}"') os.system("git push --tags") sys.exit() @@ -34,7 +34,7 @@ setup( classifiers=[ "Development Status :: 4 - Beta", "Environment :: Console", - "Framework :: Django :: 2.0", + "Framework :: Django :: 2.2", "Intended Audience :: Developers", "Natural Language :: English", "License :: OSI Approved :: BSD License", diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 29e7f2b94..ddd8f041c 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -18,7 +18,7 @@ flower==0.9.3 # https://github.com/mher/flower # Django # ------------------------------------------------------------------------------ -django==2.1.8 # pyup: < 2.2 # https://www.djangoproject.com/ +django==2.2.1 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==3.1.2 # https://github.com/jazzband/django-model-utils django-allauth==0.39.1 # https://github.com/pennersr/django-allauth From 872204527f39386d687edf1e8ceffea56f76d211 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 17 May 2019 22:33:30 +0100 Subject: [PATCH 0173/2840] Remove user list view --- .../users/tests/test_urls.py | 5 ----- .../{{cookiecutter.project_slug}}/users/urls.py | 2 -- .../{{cookiecutter.project_slug}}/users/views.py | 12 +----------- 3 files changed, 1 insertion(+), 18 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py index 20bd3dbad..c6361920d 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py @@ -13,11 +13,6 @@ def test_detail(user: settings.AUTH_USER_MODEL): assert resolve(f"/users/{user.username}/").view_name == "users:detail" -def test_list(): - assert reverse("users:list") == "/users/" - assert resolve("/users/").view_name == "users:list" - - def test_update(): assert reverse("users:update") == "/users/~update/" assert resolve("/users/~update/").view_name == "users:update" diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/urls.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/urls.py index 2502a0c0c..eff24dd04 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/urls.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/urls.py @@ -1,7 +1,6 @@ from django.urls import path from {{ cookiecutter.project_slug }}.users.views import ( - user_list_view, user_redirect_view, user_update_view, user_detail_view, @@ -9,7 +8,6 @@ from {{ cookiecutter.project_slug }}.users.views import ( app_name = "users" urlpatterns = [ - path("", view=user_list_view, name="list"), path("~redirect/", view=user_redirect_view, name="redirect"), path("~update/", view=user_update_view, name="update"), path("/", view=user_detail_view, name="detail"), diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py index 35e26e94f..a24427416 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py @@ -1,7 +1,7 @@ from django.contrib.auth import get_user_model from django.contrib.auth.mixins import LoginRequiredMixin from django.urls import reverse -from django.views.generic import DetailView, ListView, RedirectView, UpdateView +from django.views.generic import DetailView, RedirectView, UpdateView User = get_user_model() @@ -16,16 +16,6 @@ class UserDetailView(LoginRequiredMixin, DetailView): user_detail_view = UserDetailView.as_view() -class UserListView(LoginRequiredMixin, ListView): - - model = User - slug_field = "username" - slug_url_kwarg = "username" - - -user_list_view = UserListView.as_view() - - class UserUpdateView(LoginRequiredMixin, UpdateView): model = User From e6458d7c0732860479399d4429163af727ddfe00 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 17 May 2019 22:37:35 +0100 Subject: [PATCH 0174/2840] Update flake8 from 3.7.6 to 3.7.7 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 53d143788..02caf6eba 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==19.3b0 -flake8==3.7.6 +flake8==3.7.7 # Testing # ------------------------------------------------------------------------------ From 99df05d8b0dc3b0b82167537e000b40cf67fc876 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 18 May 2019 12:00:28 +0100 Subject: [PATCH 0175/2840] Update sentry-sdk from 0.7.14 to 0.8.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 4ae99be3f..67c44c8fa 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.7.14 # https://github.com/getsentry/sentry-python +sentry-sdk==0.8.0 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 093455a120cf6e23b11816c588b60518e6b8e3f3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 18 May 2019 12:00:31 +0100 Subject: [PATCH 0176/2840] Update flake8 from 3.7.5 to 3.7.7 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5fc26c15e..ddab6ab1d 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -17,7 +17,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ -flake8==3.7.5 # https://github.com/PyCQA/flake8 +flake8==3.7.7 # https://github.com/PyCQA/flake8 coverage==4.5.3 # https://github.com/nedbat/coveragepy black==19.3b0 # https://github.com/ambv/black pylint-django==2.0.9 # https://github.com/PyCQA/pylint-django From 88243d088d443c5fb9036cbe74f7f1d8ab4b6e0e Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 18 May 2019 13:08:30 +0100 Subject: [PATCH 0177/2840] Update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 89e5d0153..449ce643b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [2019-05-18] +### Removed +- Remove the user list view (@browniebroke) + ## [2019-05-17] ### Fixed - Added `LocaleMiddleware` to the list of middlewares (@tanoabeleyra) From 642c28792c0e697dfa618169e37722b185ade224 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 18 May 2019 13:22:50 +0100 Subject: [PATCH 0178/2840] Update Redis version to 5.0 --- {{cookiecutter.project_slug}}/local.yml | 2 +- {{cookiecutter.project_slug}}/production.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/local.yml b/{{cookiecutter.project_slug}}/local.yml index c6dd654e5..60f8f9228 100644 --- a/{{cookiecutter.project_slug}}/local.yml +++ b/{{cookiecutter.project_slug}}/local.yml @@ -45,7 +45,7 @@ services: {%- if cookiecutter.use_celery == 'y' %} redis: - image: redis:3.2 + image: redis:5.0 celeryworker: <<: *django diff --git a/{{cookiecutter.project_slug}}/production.yml b/{{cookiecutter.project_slug}}/production.yml index a24ba8297..331cbba68 100644 --- a/{{cookiecutter.project_slug}}/production.yml +++ b/{{cookiecutter.project_slug}}/production.yml @@ -44,7 +44,7 @@ services: - "0.0.0.0:443:443" redis: - image: redis:3.2 + image: redis:5.0 {%- if cookiecutter.use_celery == 'y' %} celeryworker: From d90406c3c3489c896407b09fada43ccfbae544a7 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 18 May 2019 14:06:05 +0100 Subject: [PATCH 0179/2840] Make the static storage use public ACL --- {{cookiecutter.project_slug}}/config/settings/production.py | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 61fb38d6e..6b79b0af7 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -117,6 +117,7 @@ from storages.backends.s3boto3 import S3Boto3Storage # noqa E402 class StaticRootS3Boto3Storage(S3Boto3Storage): location = "static" + default_acl = "public-read" class MediaRootS3Boto3Storage(S3Boto3Storage): From e74e2a8ad39dfde2712e5f508a294f9a0defb654 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 18 May 2019 14:08:02 +0100 Subject: [PATCH 0180/2840] Update CHANGELOG.md --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 449ce643b..51ad4472f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Removed - Remove the user list view (@browniebroke) +### Fixed +- Static storage default ACL (@browniebroke) + ## [2019-05-17] ### Fixed - Added `LocaleMiddleware` to the list of middlewares (@tanoabeleyra) From 98012829f3c5a2dbfa7962f744590685513de956 Mon Sep 17 00:00:00 2001 From: Matt Knapper Date: Sat, 18 May 2019 10:10:45 -0400 Subject: [PATCH 0181/2840] storageFile is deprecated, use storage instead --- CONTRIBUTORS.rst | 2 ++ .../compose/production/traefik/traefik.toml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index d11f99050..bd748062d 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -143,6 +143,7 @@ Listed in alphabetical order. Mateusz Ostaszewski `@mostaszewski`_ Mathijs Hoogland `@MathijsHoogland`_ Matt Braymer-Hayes `@mattayes`_ @mattayes + Matt Knapper `@mknapper1`_ Matt Linares Matt Menzenski `@menzenski`_ Matt Warren `@mfwarren`_ @@ -260,6 +261,7 @@ Listed in alphabetical order. .. _@msaizar: https://github.com/msaizar .. _@MathijsHoogland: https://github.com/MathijsHoogland .. _@mattayes: https://github.com/mattayes +.. _@mknapper1: https://github.com/mknapper1 .. _@menzenski: https://github.com/menzenski .. _@mostaszewski: https://github.com/mostaszewski .. _@mfwarren: https://github.com/mfwarren diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.toml b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.toml index ad1f20e9e..0f2abe8a1 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.toml +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.toml @@ -17,7 +17,7 @@ defaultEntryPoints = ["http", "https"] [acme] # Email address used for registration email = "{{ cookiecutter.email }}" -storageFile = "/etc/traefik/acme/acme.json" +storage = "/etc/traefik/acme/acme.json" entryPoint = "https" onDemand = false OnHostRule = true From 570930ef135ce4d195b02167764ecbc74d27fb69 Mon Sep 17 00:00:00 2001 From: shireenrao Date: Sat, 18 May 2019 22:49:10 -0400 Subject: [PATCH 0182/2840] If using whitenoise disable AWS and GCE for static If using whitenoise disable AWS and GCE for static setting. --- {{cookiecutter.project_slug}}/config/settings/production.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 6b79b0af7..0c94b2d8c 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -99,11 +99,10 @@ GS_DEFAULT_ACL = "publicRead" # ------------------------ {% if cookiecutter.use_whitenoise == 'y' -%} STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" -{%- endif -%} -{%- if cookiecutter.cloud_provider == 'AWS' %} +{%- elif cookiecutter.cloud_provider == 'AWS' and cookiecutter.use_whitenoise == 'n' %} STATICFILES_STORAGE = "config.settings.production.StaticRootS3Boto3Storage" STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" -{%- elif cookiecutter.cloud_provider == 'GCE' %} +{%- elif cookiecutter.cloud_provider == 'GCE' and cookiecutter.use_whitenoise == 'n' %} STATIC_URL = "https://storage.googleapis.com/{}/static/".format(GS_BUCKET_NAME) {%- endif %} From 0b732298e5d4e4be6569c3903aeef9f697fc4b69 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 19 May 2019 12:00:27 +0100 Subject: [PATCH 0183/2840] Update django-extensions from 2.1.6 to 2.1.7 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index ddab6ab1d..24cedfda3 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -30,6 +30,6 @@ pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==1.11 # https://github.com/jazzband/django-debug-toolbar -django-extensions==2.1.6 # https://github.com/django-extensions/django-extensions +django-extensions==2.1.7 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.4.8 # https://github.com/pytest-dev/pytest-django From adcc5d0b2889a59aa7e79f8d17e521ed92bee32c Mon Sep 17 00:00:00 2001 From: shireenrao Date: Sun, 19 May 2019 08:27:14 -0400 Subject: [PATCH 0184/2840] Update {{cookiecutter.project_slug}}/config/settings/production.py Co-Authored-By: Bruno Alla --- {{cookiecutter.project_slug}}/config/settings/production.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 0c94b2d8c..203612ca1 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -99,7 +99,7 @@ GS_DEFAULT_ACL = "publicRead" # ------------------------ {% if cookiecutter.use_whitenoise == 'y' -%} STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" -{%- elif cookiecutter.cloud_provider == 'AWS' and cookiecutter.use_whitenoise == 'n' %} +{%- elif cookiecutter.cloud_provider == 'AWS' %} STATICFILES_STORAGE = "config.settings.production.StaticRootS3Boto3Storage" STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" {%- elif cookiecutter.cloud_provider == 'GCE' and cookiecutter.use_whitenoise == 'n' %} From 8c69a1203f22ca996c5f2b47ea65e3c51f874ce0 Mon Sep 17 00:00:00 2001 From: shireenrao Date: Sun, 19 May 2019 08:27:28 -0400 Subject: [PATCH 0185/2840] Update {{cookiecutter.project_slug}}/config/settings/production.py Co-Authored-By: Bruno Alla --- {{cookiecutter.project_slug}}/config/settings/production.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 203612ca1..1a5889d5d 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -102,7 +102,7 @@ STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" {%- elif cookiecutter.cloud_provider == 'AWS' %} STATICFILES_STORAGE = "config.settings.production.StaticRootS3Boto3Storage" STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" -{%- elif cookiecutter.cloud_provider == 'GCE' and cookiecutter.use_whitenoise == 'n' %} +{%- elif cookiecutter.cloud_provider == 'GCE' %} STATIC_URL = "https://storage.googleapis.com/{}/static/".format(GS_BUCKET_NAME) {%- endif %} From de7be3652a82172a45197ab92394e1bd0fa15500 Mon Sep 17 00:00:00 2001 From: Tano Abeleyra Date: Sat, 18 May 2019 20:23:48 -0300 Subject: [PATCH 0186/2840] Make cloud_provider optional Some projects may not need AWS or GCS --- README.rst | 3 ++- cookiecutter.json | 3 ++- docs/project-generation-options.rst | 1 + hooks/post_gen_project.py | 6 ++++++ tests/test_cookiecutter_generation.py | 2 +- {{cookiecutter.project_slug}}/config/settings/production.py | 4 +++- 6 files changed, 15 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index 8a92eddae..efcfd506a 100644 --- a/README.rst +++ b/README.rst @@ -185,7 +185,8 @@ Answer the prompts with your own desired options_. For example:: Select cloud_provider: 1 - AWS 2 - GCS - Choose from 1, 2 [1]: 1 + 3 - None + Choose from 1, 2, 3 [1]: 1 custom_bootstrap_compilation [n]: n Select open_source_license: 1 - MIT diff --git a/cookiecutter.json b/cookiecutter.json index a66bb732a..d4a977bb1 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -33,7 +33,8 @@ ], "cloud_provider": [ "AWS", - "GCE" + "GCE", + "None" ], "custom_bootstrap_compilation": "n", "use_compressor": "n", diff --git a/docs/project-generation-options.rst b/docs/project-generation-options.rst index c3c4d3a2d..3e4ac47c4 100644 --- a/docs/project-generation-options.rst +++ b/docs/project-generation-options.rst @@ -69,6 +69,7 @@ cloud_provider: 1. AWS_ 2. GCS_ + 3. None custom_bootstrap_compilation: Indicates whether the project should support Bootstrap recompilation diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index 292f6e7f6..ff84f1806 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -328,6 +328,12 @@ def main(): if "{{ cookiecutter.use_docker }}".lower() == "y": remove_node_dockerfile() + if "{{ cookiecutter.cloud_provider}}".lower() == "none": + print( + WARNING + "You chose not to use a cloud provider, " + "media files won't be served in production." + TERMINATOR + ) + if "{{ cookiecutter.use_celery }}".lower() == "n": remove_celery_files() if "{{ cookiecutter.use_docker }}".lower() == "y": diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 2be23b86a..be05e79b1 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -11,7 +11,7 @@ PATTERN = "{{(\s?cookiecutter)[.](.*?)}}" RE_OBJ = re.compile(PATTERN) YN_CHOICES = ["y", "n"] -CLOUD_CHOICES = ["AWS", "GCE"] +CLOUD_CHOICES = ["AWS", "GCE", "None"] @pytest.fixture diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 1a5889d5d..c2fcd5750 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -68,8 +68,10 @@ SECURE_CONTENT_TYPE_NOSNIFF = env.bool( # STORAGES # ------------------------------------------------------------------------------ +{% if cookiecutter.cloud_provider != 'None' -%} # https://django-storages.readthedocs.io/en/latest/#installation INSTALLED_APPS += ["storages"] # noqa F405 +{%- endif -%} {% if cookiecutter.cloud_provider == 'AWS' %} # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings AWS_ACCESS_KEY_ID = env("DJANGO_AWS_ACCESS_KEY_ID") @@ -193,7 +195,7 @@ COMPRESS_ENABLED = env.bool("COMPRESS_ENABLED", default=True) # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_STORAGE COMPRESS_STORAGE = "storages.backends.s3boto3.S3Boto3Storage" # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_URL -COMPRESS_URL = STATIC_URL{% if cookiecutter.use_whitenoise == 'y' %} # noqa F405{% endif %} +COMPRESS_URL = STATIC_URL{% if cookiecutter.use_whitenoise == 'y' or cookiecutter.cloud_provider == 'None' %} # noqa F405{% endif %} {% endif %} {%- if cookiecutter.use_whitenoise == 'n' -%} # Collectfast From 2116f997bcb11e6ca00b4c09e07546b606f677b3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 20 May 2019 12:00:32 +0100 Subject: [PATCH 0187/2840] Update django-anymail from 6.0 to 6.0.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 67c44c8fa..e62eeb73c 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -18,4 +18,4 @@ django-storages[boto3]==1.7.1 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCE' %} django-storages[google]==1.7.1 # https://github.com/jschneier/django-storages {%- endif %} -django-anymail[mailgun]==6.0 # https://github.com/anymail/django-anymail +django-anymail[mailgun]==6.0.1 # https://github.com/anymail/django-anymail From 4bf795a908d49cf0135625990006baa568393fdb Mon Sep 17 00:00:00 2001 From: Curtis St Pierre Date: Sun, 19 May 2019 21:29:15 -0700 Subject: [PATCH 0188/2840] 1989 - reworked postgres version options --- CONTRIBUTORS.rst | 26 ++++++++++++++------------ README.rst | 17 +++++++---------- cookiecutter.json | 7 ++----- docs/project-generation-options.rst | 15 ++++++--------- 4 files changed, 29 insertions(+), 36 deletions(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index bd748062d..7a9dbf79c 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -7,19 +7,19 @@ Core Developers These contributors have commit flags for the repository, and are able to accept and merge pull requests. -=========================== ================ =========== -Name Github Twitter -=========================== ================ =========== -Daniel Roy Greenfeld `@pydanny`_ @pydanny -Audrey Roy Greenfeld* `@audreyr`_ @audreyr -Fábio C. Barrionuevo da Luz `@luzfcb`_ @luzfcb -Saurabh Kumar `@theskumar`_ @_theskumar +=========================== ================= =========== +Name Github Twitter +=========================== ================= =========== +Daniel Roy Greenfeld `@pydanny`_ @pydanny +Audrey Roy Greenfeld* `@audreyr`_ @audreyr +Fábio C. Barrionuevo da Luz `@luzfcb`_ @luzfcb +Saurabh Kumar `@theskumar`_ @_theskumar Jannis Gebauer `@jayfk`_ -Burhan Khalid `@burhan`_ @burhan -Nikita Shupeyko `@webyneter`_ @webyneter -Bruno Alla               `@browniebroke`_ @_BrunoAlla -Wan Liuyang `@sfdye`_ @sfdye -=========================== ================ =========== +Burhan Khalid `@burhan`_ @burhan +Nikita Shupeyko `@webyneter`_ @webyneter +Bruno Alla               `@browniebroke`_ @_BrunoAlla +Wan Liuyang `@sfdye`_ @sfdye +=========================== ================= =========== *Audrey is also the creator of Cookiecutter. Audrey and Daniel are on the Cookiecutter core team.* @@ -87,6 +87,7 @@ Listed in alphabetical order. Craig Margieson `@cmargieson`_ Cristian Vargas `@cdvv7788`_ Cullen Rhodes `@c-rhodes`_ + Curtis St Pierre `@curtisstpierre`_ @cstpierre1388 Dan Shultz `@shultz`_ Daniel Hepper `@dhepper`_ @danielhepper Daniele Tricoli `@eriol`_ @@ -222,6 +223,7 @@ Listed in alphabetical order. .. _@chuckus: https://github.com/chuckus .. _@cmackenzie1: https://github.com/cmackenzie1 .. _@Collederas: https://github.com/Collederas +.. _@curtisstpierre: https://github.com/curtisstpierre .. _@davitovmasyan: https://github.com/davitovmasyan .. _@ddiazpinto: https://github.com/ddiazpinto .. _@demestav: https://github.com/demestav diff --git a/README.rst b/README.rst index 8a92eddae..d6372de68 100644 --- a/README.rst +++ b/README.rst @@ -89,7 +89,7 @@ Constraints ----------- * Only maintained 3rd party libraries are used. -* Uses PostgreSQL everywhere (9.4 - 10.5) +* Uses PostgreSQL everywhere (9.4 - 11.3) * Environment variables for configuration (This won't work with Apache/mod_wsgi). Support this Project! @@ -169,15 +169,12 @@ Answer the prompts with your own desired options_. For example:: use_heroku [n]: y use_compressor [n]: y Select postgresql_version: - 1 - 10.5 - 2 - 10.4 - 3 - 10.3 - 4 - 10.2 - 5 - 10.1 - 6 - 9.6 - 7 - 9.5 - 8 - 9.4 - Choose from 1, 2, 3, 4, 5, 6, 7, 8 [1]: 1 + 1 - 11.3 + 2 - 10.8 + 3 - 9.6 + 4 - 9.5 + 5 - 9.4 + Choose from 1, 2, 3, 4, 5 [1]: 1 Select js_task_runner: 1 - None 2 - Gulp diff --git a/cookiecutter.json b/cookiecutter.json index a66bb732a..cfb20f6be 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -18,11 +18,8 @@ "use_pycharm": "n", "use_docker": "n", "postgresql_version": [ - "10.5", - "10.4", - "10.3", - "10.2", - "10.1", + "11.3", + "10.8", "9.6", "9.5", "9.4" diff --git a/docs/project-generation-options.rst b/docs/project-generation-options.rst index c3c4d3a2d..6f2a2f224 100644 --- a/docs/project-generation-options.rst +++ b/docs/project-generation-options.rst @@ -49,14 +49,11 @@ use_docker: postgresql_version: Select a PostgreSQL_ version to use. The choices are: - 1. 10.5 - 2. 10.4 - 3. 10.3 - 4. 10.2 - 5. 10.1 - 6. 9.6 - 7. 9.5 - 8. 9.4 + 1. 11.3 + 2. 10.8 + 3. 9.6 + 4. 9.5 + 5. 9.4 js_task_runner: Select a JavaScript task runner. The choices are: @@ -100,7 +97,7 @@ use_travisci: keep_local_envs_in_vcs: Indicates whether the project's ``.envs/.local/`` should be kept in VCS (comes in handy when working in teams where local environment reproducibility - is strongly encouraged). + is strongly encouraged). Note: .env(s) are only utilized when Docker Compose and/or Heroku support is enabled. debug: From 38b2c2dfcd44fa7e103c12a276fdc1db4bc1b728 Mon Sep 17 00:00:00 2001 From: Demetris Stavrou <1180929+demestav@users.noreply.github.com> Date: Tue, 21 May 2019 22:04:03 +0300 Subject: [PATCH 0189/2840] Errors are now sent to Sentry --- {{cookiecutter.project_slug}}/config/settings/production.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 1a5889d5d..a132b3b2a 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -288,7 +288,7 @@ SENTRY_LOG_LEVEL = env.int("DJANGO_SENTRY_LOG_LEVEL", logging.INFO) sentry_logging = LoggingIntegration( level=SENTRY_LOG_LEVEL, # Capture info and above as breadcrumbs - event_level=None, # Send no events from log messages + event_level=logging.ERROR # Send errors as events ) {%- if cookiecutter.use_celery == 'y' %} From 7cc94c139c81c5ab10e708a23e1e64c086a5fabe Mon Sep 17 00:00:00 2001 From: Demetris Stavrou <1180929+demestav@users.noreply.github.com> Date: Tue, 21 May 2019 22:44:10 +0300 Subject: [PATCH 0190/2840] Updated documentation --- docs/deployment-with-docker.rst | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/deployment-with-docker.rst b/docs/deployment-with-docker.rst index aad549327..e69abc010 100644 --- a/docs/deployment-with-docker.rst +++ b/docs/deployment-with-docker.rst @@ -35,7 +35,15 @@ Configuring the Stack The majority of services above are configured through the use of environment variables. Just check out :ref:`envs` and you will know the drill. -To obtain logs and information about crashes in a production setup, make sure that you have access to an external Sentry instance (e.g. by creating an account with `sentry.io`_), and set the ``SENTRY_DSN`` variable. +To obtain logs and information about crashes in a production setup, make sure that you have access to an external Sentry instance (e.g. by creating an account with `sentry.io`_), and set the ``SENTRY_DSN`` variable. Logs of level `logging.ERROR` are sent as Sentry events. Therefore, in order to send a Sentry even use: + +.. code-block:: python + + import logging + logging.error("This event is sent to Sentry", extra={"": ""}) + +The `extra` parameter allows you to send additional information about the context of this error. + You will probably also need to setup the Mail backend, for example by adding a `Mailgun`_ API key and a `Mailgun`_ sender domain, otherwise, the account creation view will crash and result in a 500 error when the backend attempts to send an email to the account owner. From a37046d1ef9a64642138998a9239023ccd7097b6 Mon Sep 17 00:00:00 2001 From: shireenrao Date: Tue, 21 May 2019 18:17:19 -0400 Subject: [PATCH 0191/2840] Revert Werkzeug back to 0.14 reverting back Werkzeug to version 0.14 based on discussion on #2070 I did the change locally on my windows laptop and can confirm that this is now working. --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 24cedfda3..57a262c96 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,6 +1,6 @@ -r ./base.txt -Werkzeug==0.15.4 # https://github.com/pallets/werkzeug +Werkzeug==0.14 # https://github.com/pallets/werkzeug ipdb==0.12 # https://github.com/gotcha/ipdb Sphinx==2.0.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} From a636d454f619018333d4fd9cd32918fc3ea2beaa Mon Sep 17 00:00:00 2001 From: Demetris Stavrou <1180929+demestav@users.noreply.github.com> Date: Wed, 22 May 2019 09:46:20 +0300 Subject: [PATCH 0192/2840] Update {{cookiecutter.project_slug}}/config/settings/production.py Co-Authored-By: Bruno Alla --- {{cookiecutter.project_slug}}/config/settings/production.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index a132b3b2a..85b17f1b4 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -288,7 +288,7 @@ SENTRY_LOG_LEVEL = env.int("DJANGO_SENTRY_LOG_LEVEL", logging.INFO) sentry_logging = LoggingIntegration( level=SENTRY_LOG_LEVEL, # Capture info and above as breadcrumbs - event_level=logging.ERROR # Send errors as events + event_level=logging.ERROR, # Send errors as events ) {%- if cookiecutter.use_celery == 'y' %} From 61c842cd9dd919c33ea927b836660a68ad4bf391 Mon Sep 17 00:00:00 2001 From: Demetris Stavrou <1180929+demestav@users.noreply.github.com> Date: Wed, 22 May 2019 09:47:03 +0300 Subject: [PATCH 0193/2840] Update docs/deployment-with-docker.rst Co-Authored-By: Bruno Alla --- docs/deployment-with-docker.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/deployment-with-docker.rst b/docs/deployment-with-docker.rst index e69abc010..038778cfb 100644 --- a/docs/deployment-with-docker.rst +++ b/docs/deployment-with-docker.rst @@ -35,7 +35,7 @@ Configuring the Stack The majority of services above are configured through the use of environment variables. Just check out :ref:`envs` and you will know the drill. -To obtain logs and information about crashes in a production setup, make sure that you have access to an external Sentry instance (e.g. by creating an account with `sentry.io`_), and set the ``SENTRY_DSN`` variable. Logs of level `logging.ERROR` are sent as Sentry events. Therefore, in order to send a Sentry even use: +To obtain logs and information about crashes in a production setup, make sure that you have access to an external Sentry instance (e.g. by creating an account with `sentry.io`_), and set the ``SENTRY_DSN`` variable. Logs of level `logging.ERROR` are sent as Sentry events. Therefore, in order to send a Sentry event use: .. code-block:: python From 9e27e853f2c20e319559b39b715e346dbe901779 Mon Sep 17 00:00:00 2001 From: shireenrao Date: Wed, 22 May 2019 09:44:36 -0400 Subject: [PATCH 0194/2840] update Werkzeug to 0.14.1 and add pyup filter --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 57a262c96..7f856f28c 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,6 +1,6 @@ -r ./base.txt -Werkzeug==0.14 # https://github.com/pallets/werkzeug +Werkzeug==0.14.1 # pyup: < 0.15 # https://github.com/pallets/werkzeug ipdb==0.12 # https://github.com/gotcha/ipdb Sphinx==2.0.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} From 4054105d63b04fc938073c039c6e43765ffd5c7e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 23 May 2019 20:33:13 -0700 Subject: [PATCH 0195/2840] Update tox from 3.11.1 to 3.12.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 02caf6eba..4a6b4b598 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ flake8==3.7.7 # Testing # ------------------------------------------------------------------------------ -tox==3.11.1 +tox==3.12.1 pytest==4.5.0 pytest_cases==1.6.2 pytest-cookies==0.3.0 From a67587bb24cbbd87505fefdf9d62b81408eab00b Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 25 May 2019 16:53:08 +0200 Subject: [PATCH 0196/2840] Bring psycopg2 versions in line --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 7f856f28c..2e2228c39 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -4,7 +4,7 @@ Werkzeug==0.14.1 # pyup: < 0.15 # https://github.com/pallets/werkzeug ipdb==0.12 # https://github.com/gotcha/ipdb Sphinx==2.0.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} -psycopg2==2.8 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 +psycopg2==2.8.2 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} psycopg2-binary==2.8.2 # https://github.com/psycopg/psycopg2 {%- endif %} From 729dddcab6afacdce49f5ce200af1c1b97ebbbea Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 25 May 2019 16:53:34 +0200 Subject: [PATCH 0197/2840] Bring psycopg2 versions in line --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index e62eeb73c..43b20513d 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -3,7 +3,7 @@ -r ./base.txt gunicorn==19.9.0 # https://github.com/benoitc/gunicorn -psycopg2==2.8 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 +psycopg2==2.8.2 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} From c96c932111442aaf336f0649b6445561d39961d9 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 27 May 2019 14:46:07 +0100 Subject: [PATCH 0198/2840] Correct name for Celery worker-related settings - fix #2080 The settings which are normally prefixed `CELERYD_` are for worker-related config, but since we instantiate the Celery app with a namespace, the prefix for these config should actually be `CELERY_`. --- {{cookiecutter.project_slug}}/config/settings/base.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index b72b7f00d..4a522fdda 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -266,10 +266,10 @@ CELERY_TASK_SERIALIZER = "json" CELERY_RESULT_SERIALIZER = "json" # http://docs.celeryproject.org/en/latest/userguide/configuration.html#task-time-limit # TODO: set to whatever value is adequate in your circumstances -CELERYD_TASK_TIME_LIMIT = 5 * 60 +CELERY_TASK_TIME_LIMIT = 5 * 60 # http://docs.celeryproject.org/en/latest/userguide/configuration.html#task-soft-time-limit # TODO: set to whatever value is adequate in your circumstances -CELERYD_TASK_SOFT_TIME_LIMIT = 60 +CELERY_TASK_SOFT_TIME_LIMIT = 60 {%- endif %} # django-allauth From b4cea81f260b686be0678706fa60da4067c86669 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 27 May 2019 15:55:41 +0100 Subject: [PATCH 0199/2840] Fix some comment and empty lines in settings --- {{cookiecutter.project_slug}}/config/settings/production.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index d9771e598..476e0dff1 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -66,9 +66,9 @@ SECURE_CONTENT_TYPE_NOSNIFF = env.bool( "DJANGO_SECURE_CONTENT_TYPE_NOSNIFF", default=True ) +{% if cookiecutter.cloud_provider != 'None' -%} # STORAGES # ------------------------------------------------------------------------------ -{% if cookiecutter.cloud_provider != 'None' -%} # https://django-storages.readthedocs.io/en/latest/#installation INSTALLED_APPS += ["storages"] # noqa F405 {%- endif -%} @@ -101,10 +101,10 @@ GS_DEFAULT_ACL = "publicRead" # ------------------------ {% if cookiecutter.use_whitenoise == 'y' -%} STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" -{%- elif cookiecutter.cloud_provider == 'AWS' %} +{% elif cookiecutter.cloud_provider == 'AWS' -%} STATICFILES_STORAGE = "config.settings.production.StaticRootS3Boto3Storage" STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" -{%- elif cookiecutter.cloud_provider == 'GCE' %} +{% elif cookiecutter.cloud_provider == 'GCE' -%} STATIC_URL = "https://storage.googleapis.com/{}/static/".format(GS_BUCKET_NAME) {%- endif %} From 881a6fd681abe83dd2a6b4f83782312e7e8ee96f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 27 May 2019 15:58:56 +0100 Subject: [PATCH 0200/2840] Change GCP settings to f-strings --- {{cookiecutter.project_slug}}/config/settings/production.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 476e0dff1..6fd0eac9d 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -105,7 +105,7 @@ STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" STATICFILES_STORAGE = "config.settings.production.StaticRootS3Boto3Storage" STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" {% elif cookiecutter.cloud_provider == 'GCE' -%} -STATIC_URL = "https://storage.googleapis.com/{}/static/".format(GS_BUCKET_NAME) +STATIC_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/static/" {%- endif %} # MEDIA @@ -130,8 +130,8 @@ class MediaRootS3Boto3Storage(S3Boto3Storage): DEFAULT_FILE_STORAGE = "config.settings.production.MediaRootS3Boto3Storage" MEDIA_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/media/" {%- elif cookiecutter.cloud_provider == 'GCE' %} -MEDIA_URL = "https://storage.googleapis.com/{}/media/".format(GS_BUCKET_NAME) -MEDIA_ROOT = "https://storage.googleapis.com/{}/media/".format(GS_BUCKET_NAME) +MEDIA_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/" +MEDIA_ROOT = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/" {%- endif %} # TEMPLATES From 4b1239426cff1dc380e60ad3cc264cde193856b5 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 27 May 2019 16:20:29 +0100 Subject: [PATCH 0201/2840] Add custom markers to pytest config --- pytest.ini | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pytest.ini b/pytest.ini index c5b301991..01c7b1bfc 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,3 +1,6 @@ [pytest] python_paths = . norecursedirs = .tox .git */migrations/* */static/* docs venv */{{cookiecutter.project_slug}}/* +markers = + flake8: Run flake8 on all possible template combinations + black: Run black on all possible template combinations From b56071f516e9201d957dd9bc5691af339d15fbde Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 27 May 2019 16:33:07 +0100 Subject: [PATCH 0202/2840] Fix comments and empty lines in prod settings --- {{cookiecutter.project_slug}}/config/settings/production.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 6fd0eac9d..1dbd28801 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -95,10 +95,12 @@ AWS_S3_REGION_NAME = env("DJANGO_AWS_S3_REGION_NAME", default=None) DEFAULT_FILE_STORAGE = "storages.backends.gcloud.GoogleCloudStorage" GS_BUCKET_NAME = env("DJANGO_GCE_STORAGE_BUCKET_NAME") GS_DEFAULT_ACL = "publicRead" -{% endif %} +{% endif -%} +{% if cookiecutter.cloud_provider != 'None' or cookiecutter.use_whitenoise == 'y' -%} # STATIC # ------------------------ +{% endif -%} {% if cookiecutter.use_whitenoise == 'y' -%} STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" {% elif cookiecutter.cloud_provider == 'AWS' -%} @@ -106,7 +108,7 @@ STATICFILES_STORAGE = "config.settings.production.StaticRootS3Boto3Storage" STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" {% elif cookiecutter.cloud_provider == 'GCE' -%} STATIC_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/static/" -{%- endif %} +{% endif -%} # MEDIA # ------------------------------------------------------------------------------ From 47937fce7984bc7c5f0e83d4b24f96dbedef5d86 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 27 May 2019 16:54:08 +0100 Subject: [PATCH 0203/2840] Fix deprecation warning in tests --- tests/test_cookiecutter_generation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index be05e79b1..4292f989b 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -7,7 +7,7 @@ import sh import yaml from binaryornot.check import is_binary -PATTERN = "{{(\s?cookiecutter)[.](.*?)}}" +PATTERN = r"{{(\s?cookiecutter)[.](.*?)}}" RE_OBJ = re.compile(PATTERN) YN_CHOICES = ["y", "n"] From 761720bce79e8f68db6e0e409d74e906b35d9c0e Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 27 May 2019 16:57:55 +0100 Subject: [PATCH 0204/2840] Prepare 2.1.8-01 tag --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 65bcd8fcf..e46cdb883 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ except ImportError: # Our version ALWAYS matches the version of Django we support # If Django has a new release, we branch, tag, then update this setting after the tag. -version = "2.0.2" +version = "2.1.8-01" if sys.argv[-1] == "tag": os.system('git tag -a %s -m "version %s"' % (version, version)) From c245c1ab09ca9b57c506e3e38a7d6df7eade67e1 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 27 May 2019 17:19:24 +0100 Subject: [PATCH 0205/2840] Update copyright year in the docs --- docs/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index e3ddae9a6..469aa12d4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -42,7 +42,7 @@ master_doc = "index" # General information about the project. project = "Cookiecutter Django" -copyright = "2013-2018, Daniel Roy Greenfeld".format(now.year) +copyright = "2013-{}, Daniel Roy Greenfeld".format(now.year) # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the From 650acf1299f4f3f95186ae8a16a07ce24ad34d2c Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 27 May 2019 17:59:13 +0100 Subject: [PATCH 0206/2840] Update changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51ad4472f..f013aec9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All enhancements and patches to Cookiecutter Django will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [2019-05-27] +### Changed +- Made cloud provider optional (@tanoabeleyra) +- Updated to Django 2.2.1 (@browniebroke) + +### Fixed +- Celery worker-related setting names (@browniebroke) + ## [2019-05-18] ### Removed - Remove the user list view (@browniebroke) From 2d1befe8e2eb66a71c7049e1a8eaa3d83469886a Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 27 May 2019 18:16:00 +0100 Subject: [PATCH 0207/2840] Update docs about settings --- docs/settings.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/settings.rst b/docs/settings.rst index 1830a47c7..0234ac85c 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -49,7 +49,7 @@ DJANGO_GCE_STORAGE_BUCKET_NAME GS_BUCKET_NAME n/a GOOGLE_APPLICATION_CREDENTIALS n/a n/a raises error SENTRY_DSN SENTRY_DSN n/a raises error DJANGO_SENTRY_LOG_LEVEL SENTRY_LOG_LEVEL n/a logging.INFO -MAILGUN_API_KEY MAILGUN_ACCESS_KEY n/a raises error +MAILGUN_API_KEY MAILGUN_API_KEY n/a raises error MAILGUN_DOMAIN MAILGUN_SENDER_DOMAIN n/a raises error ======================================= =========================== ============================================== ====================================================================== From 007f3ffb31ec7c48d6aeaa564548dc5cfe8d7039 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 27 May 2019 18:16:51 +0100 Subject: [PATCH 0208/2840] Docs update --- docs/project-generation-options.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/project-generation-options.rst b/docs/project-generation-options.rst index 48a60dbc0..423686908 100644 --- a/docs/project-generation-options.rst +++ b/docs/project-generation-options.rst @@ -68,6 +68,8 @@ cloud_provider: 2. GCS_ 3. None + Note that if you choose no cloud provider, media files won't work. + custom_bootstrap_compilation: Indicates whether the project should support Bootstrap recompilation via the selected JavaScript task runner's task. This can be useful From 1c5392d334c920eb42f05d09908f1256ef7fe06b Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 27 May 2019 21:28:36 +0100 Subject: [PATCH 0209/2840] Remove deprecated sudo from Travis & use Xenial on CI --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index f16c65820..1be0b743b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -sudo: required +dist: xenial services: - docker From 9a3a796a89293c5129cfa9f5bb9d69ad54e54c8b Mon Sep 17 00:00:00 2001 From: Tano Abeleyra Date: Sat, 18 May 2019 20:24:29 -0300 Subject: [PATCH 0210/2840] Use GCP acronym for Google Cloud Platform --- README.rst | 2 +- cookiecutter.json | 2 +- docs/project-generation-options.rst | 4 ++-- docs/settings.rst | 2 +- {{cookiecutter.project_slug}}/.envs/.production/.django | 6 +++--- .../config/settings/production.py | 8 ++++---- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/README.rst b/README.rst index 7468981c3..30a3a2db4 100644 --- a/README.rst +++ b/README.rst @@ -181,7 +181,7 @@ Answer the prompts with your own desired options_. For example:: Choose from 1, 2 [1]: 1 Select cloud_provider: 1 - AWS - 2 - GCS + 2 - GCP 3 - None Choose from 1, 2, 3 [1]: 1 custom_bootstrap_compilation [n]: n diff --git a/cookiecutter.json b/cookiecutter.json index 15e0aac69..d6d217ca4 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -30,7 +30,7 @@ ], "cloud_provider": [ "AWS", - "GCE", + "GCP", "None" ], "custom_bootstrap_compilation": "n", diff --git a/docs/project-generation-options.rst b/docs/project-generation-options.rst index 423686908..afa9b8aff 100644 --- a/docs/project-generation-options.rst +++ b/docs/project-generation-options.rst @@ -65,7 +65,7 @@ cloud_provider: Select a cloud provider for static & media files. The choices are: 1. AWS_ - 2. GCS_ + 2. GCP_ 3. None Note that if you choose no cloud provider, media files won't work. @@ -123,7 +123,7 @@ debug: .. _Gulp: https://github.com/gulpjs/gulp .. _AWS: https://aws.amazon.com/s3/ -.. _GCS: https://cloud.google.com/storage/ +.. _GCP: https://cloud.google.com/storage/ .. _Django Compressor: https://github.com/django-compressor/django-compressor diff --git a/docs/settings.rst b/docs/settings.rst index 0234ac85c..d0edce31f 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -45,7 +45,7 @@ DJANGO_AWS_ACCESS_KEY_ID AWS_ACCESS_KEY_ID n/a DJANGO_AWS_SECRET_ACCESS_KEY AWS_SECRET_ACCESS_KEY n/a raises error DJANGO_AWS_STORAGE_BUCKET_NAME AWS_STORAGE_BUCKET_NAME n/a raises error DJANGO_AWS_S3_REGION_NAME AWS_S3_REGION_NAME n/a None -DJANGO_GCE_STORAGE_BUCKET_NAME GS_BUCKET_NAME n/a raises error +DJANGO_GCP_STORAGE_BUCKET_NAME GS_BUCKET_NAME n/a raises error GOOGLE_APPLICATION_CREDENTIALS n/a n/a raises error SENTRY_DSN SENTRY_DSN n/a raises error DJANGO_SENTRY_LOG_LEVEL SENTRY_LOG_LEVEL n/a logging.INFO diff --git a/{{cookiecutter.project_slug}}/.envs/.production/.django b/{{cookiecutter.project_slug}}/.envs/.production/.django index a938ada68..2c2e94f2d 100644 --- a/{{cookiecutter.project_slug}}/.envs/.production/.django +++ b/{{cookiecutter.project_slug}}/.envs/.production/.django @@ -22,11 +22,11 @@ MAILGUN_DOMAIN= DJANGO_AWS_ACCESS_KEY_ID= DJANGO_AWS_SECRET_ACCESS_KEY= DJANGO_AWS_STORAGE_BUCKET_NAME= -{% elif cookiecutter.cloud_provider == 'GCE' %} -# GCE +{% elif cookiecutter.cloud_provider == 'GCP' %} +# GCP # ------------------------------------------------------------------------------ GOOGLE_APPLICATION_CREDENTIALS= -DJANGO_GCE_STORAGE_BUCKET_NAME= +DJANGO_GCP_STORAGE_BUCKET_NAME= {% endif %} # django-allauth # ------------------------------------------------------------------------------ diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 1dbd28801..2c7b7a121 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -91,9 +91,9 @@ AWS_S3_OBJECT_PARAMETERS = { AWS_DEFAULT_ACL = None # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings AWS_S3_REGION_NAME = env("DJANGO_AWS_S3_REGION_NAME", default=None) -{% elif cookiecutter.cloud_provider == 'GCE' %} +{% elif cookiecutter.cloud_provider == 'GCP' %} DEFAULT_FILE_STORAGE = "storages.backends.gcloud.GoogleCloudStorage" -GS_BUCKET_NAME = env("DJANGO_GCE_STORAGE_BUCKET_NAME") +GS_BUCKET_NAME = env("DJANGO_GCP_STORAGE_BUCKET_NAME") GS_DEFAULT_ACL = "publicRead" {% endif -%} @@ -106,7 +106,7 @@ STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" {% elif cookiecutter.cloud_provider == 'AWS' -%} STATICFILES_STORAGE = "config.settings.production.StaticRootS3Boto3Storage" STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" -{% elif cookiecutter.cloud_provider == 'GCE' -%} +{% elif cookiecutter.cloud_provider == 'GCP' -%} STATIC_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/static/" {% endif -%} @@ -131,7 +131,7 @@ class MediaRootS3Boto3Storage(S3Boto3Storage): # endregion DEFAULT_FILE_STORAGE = "config.settings.production.MediaRootS3Boto3Storage" MEDIA_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/media/" -{%- elif cookiecutter.cloud_provider == 'GCE' %} +{%- elif cookiecutter.cloud_provider == 'GCP' %} MEDIA_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/" MEDIA_ROOT = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/" {%- endif %} diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 43b20513d..e8636fb8f 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -15,7 +15,7 @@ sentry-sdk==0.8.0 # https://github.com/getsentry/sentry-python # ------------------------------------------------------------------------------ {%- if cookiecutter.cloud_provider == 'AWS' %} django-storages[boto3]==1.7.1 # https://github.com/jschneier/django-storages -{%- elif cookiecutter.cloud_provider == 'GCE' %} +{%- elif cookiecutter.cloud_provider == 'GCP' %} django-storages[google]==1.7.1 # https://github.com/jschneier/django-storages {%- endif %} django-anymail[mailgun]==6.0.1 # https://github.com/anymail/django-anymail From 4196d7e52fc5a14df7443195b3cf28bf19d045d3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 29 May 2019 12:00:37 +0100 Subject: [PATCH 0211/2840] Update pytest_cases from 1.6.2 to 1.6.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 4a6b4b598..5089594cc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.7 # ------------------------------------------------------------------------------ tox==3.12.1 pytest==4.5.0 -pytest_cases==1.6.2 +pytest_cases==1.6.3 pytest-cookies==0.3.0 pytest-xdist==1.28.0 pyyaml==5.1 From 3de1715b121dbe6665f793e330499a7cf10a150c Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 29 May 2019 14:54:18 +0100 Subject: [PATCH 0212/2840] Add troubleshooting section regarding Posgres auth issues - fixes #1678 --- docs/developing-locally-docker.rst | 6 +++++ docs/troubleshooting.rst | 42 +++++++++++++++++++++++++++--- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/docs/developing-locally-docker.rst b/docs/developing-locally-docker.rst index da4e67aa7..562dc439f 100644 --- a/docs/developing-locally-docker.rst +++ b/docs/developing-locally-docker.rst @@ -6,6 +6,12 @@ Getting Up and Running Locally With Docker The steps below will get you up and running with a local development environment. All of these commands assume you are in the root of your generated project. +.. note:: + + If you're new to Docker, please be aware that some resources are cached system-wide + and might reappear if you generate a project multiple times with the same name (e.g. + :ref:`this issue with Postgres `). + Prerequisites ------------- diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst index b6a93ffca..baabd494f 100644 --- a/docs/troubleshooting.rst +++ b/docs/troubleshooting.rst @@ -3,14 +3,48 @@ Troubleshooting This page contains some advice about errors and problems commonly encountered during the development of Cookiecutter Django applications. +Server Error on sign-up/log-in +------------------------------ + +Make sure you have configured the mail backend (e.g. Mailgun) by adding the API key and sender domain + +.. include:: mailgun.rst + +.. _docker-posgres-auth-failed: + +Docker: Postgres authentication failed +-------------------------------------- + +Examples of logs:: + + postgres_1 | 2018-06-07 19:11:23.963 UTC [81] FATAL: password authentication failed for user "pydanny" + postgres_1 | 2018-06-07 19:11:23.963 UTC [81] DETAIL: Password does not match for user "pydanny". + postgres_1 | Connection matched pg_hba.conf line 95: "host all all all md5" + +If you recreate the project multiple times with the same name, Docker would preserve the volumes for the postgres container between projects. Here is what happens: + +#. You generate the project the first time. The .env postgres file is populated with the random password +#. You run the docker-compose and the containers are created. The postgres container creates the database based on the .env file credentials +#. You "regenerate" the project with the same name, so the postgres .env file is populated with a new random password +#. You run docker-compose. Since the names of the containers are the same, docker will try to start them (not create them from scratch i.e. it won't execute the Dockerfile to recreate the database). When this happens, it tries to start the database based on the new credentials which do not match the ones that the database was created with, and you get the error message above. + +To fix this, you can either: + +- Clear your project-related Docker cache with ``docker-compose -f local.yml down --volumes --rmi all``. +- Use the Docker volume sub-commands to find volumes (`ls`_) and remove them (`rm`_). +- Use the `prune`_ command to clear system-wide (use with care!). + +.. _ls: https://docs.docker.com/engine/reference/commandline/volume_ls/ +.. _rm: https://docs.docker.com/engine/reference/commandline/volume_rm/ +.. _prune: https://docs.docker.com/v17.09/engine/reference/commandline/system_prune/ + +Others +------ + #. ``project_slug`` must be a valid Python module name or you will have issues on imports. #. ``jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'now'.``: please upgrade your cookiecutter version to >= 1.4 (see `#528`_) -#. Internal server error on user registration: make sure you have configured the mail backend (e.g. Mailgun) by adding the API key and sender domain - - .. include:: mailgun.rst - #. New apps not getting created in project root: This is the expected behavior, because cookiecutter-django does not change the way that django startapp works, you'll have to fix this manually (see `#1725`_) .. _#528: https://github.com/pydanny/cookiecutter-django/issues/528#issuecomment-212650373 From d04b128e0fb508b1832e271f09dbe45d1875e837 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 29 May 2019 14:55:38 +0100 Subject: [PATCH 0213/2840] Typo in doc reference --- docs/developing-locally-docker.rst | 2 +- docs/troubleshooting.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/developing-locally-docker.rst b/docs/developing-locally-docker.rst index 562dc439f..09e684986 100644 --- a/docs/developing-locally-docker.rst +++ b/docs/developing-locally-docker.rst @@ -10,7 +10,7 @@ All of these commands assume you are in the root of your generated project. If you're new to Docker, please be aware that some resources are cached system-wide and might reappear if you generate a project multiple times with the same name (e.g. - :ref:`this issue with Postgres `). + :ref:`this issue with Postgres `). Prerequisites diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst index baabd494f..8aa1b1f9b 100644 --- a/docs/troubleshooting.rst +++ b/docs/troubleshooting.rst @@ -10,7 +10,7 @@ Make sure you have configured the mail backend (e.g. Mailgun) by adding the API .. include:: mailgun.rst -.. _docker-posgres-auth-failed: +.. _docker-postgres-auth-failed: Docker: Postgres authentication failed -------------------------------------- From 87b6180142d90aca51748600aaf8415e0d331107 Mon Sep 17 00:00:00 2001 From: Keyvan Mosharraf Date: Thu, 30 May 2019 03:28:57 -0700 Subject: [PATCH 0214/2840] Use DatabaseScheduler for celery beat --- .../compose/local/django/celery/beat/start | 2 +- .../compose/production/django/celery/beat/start | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start b/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start index 389e2baf1..f954960fe 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start @@ -5,4 +5,4 @@ set -o nounset rm -f './celerybeat.pid' -celery -A config.celery_app beat -l INFO +celery -A config.celery_app beat -l INFO --scheduler django_celery_beat.schedulers:DatabaseScheduler diff --git a/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start b/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start index 0e793e38e..a549c6b2b 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start @@ -5,4 +5,4 @@ set -o pipefail set -o nounset -celery -A config.celery_app beat -l INFO +celery -A config.celery_app beat -l INFO --scheduler django_celery_beat.schedulers:DatabaseScheduler From 915848e279fcbb64f7419018c5c571594fd867eb Mon Sep 17 00:00:00 2001 From: Keyvan Mosharraf Date: Thu, 30 May 2019 03:34:57 -0700 Subject: [PATCH 0215/2840] Add name to CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 7a9dbf79c..6f6d4c32c 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -191,6 +191,7 @@ Listed in alphabetical order. Will Farley `@goldhand`_ @g01dhand William Archinal `@archinal`_ Yaroslav Halchenko + Keyvan Mosharraf `@keyvanm`_ ========================== ============================ ============== .. _@a7p: https://github.com/a7p @@ -325,6 +326,7 @@ Listed in alphabetical order. .. _@vladdoster: https://github.com/vladdoster .. _@cmargieson: https://github.com/cmargieson .. _@tanoabeleyra: https://github.com/tanoabeleyra +.. _@keyvanm: https://github.com/keyvanm Special Thanks ~~~~~~~~~~~~~~ From 631bddc8114861cdafc2af56ff109b176599ea57 Mon Sep 17 00:00:00 2001 From: Keyvan Mosharraf Date: Thu, 30 May 2019 16:42:19 -0700 Subject: [PATCH 0216/2840] Set celery beat scheduler using settings + install django_celery_beat if use_celery --- .../compose/local/django/celery/beat/start | 2 +- .../compose/production/django/celery/beat/start | 2 +- {{cookiecutter.project_slug}}/config/settings/base.py | 5 +++++ {{cookiecutter.project_slug}}/requirements/base.txt | 1 + 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start b/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start index f954960fe..389e2baf1 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start @@ -5,4 +5,4 @@ set -o nounset rm -f './celerybeat.pid' -celery -A config.celery_app beat -l INFO --scheduler django_celery_beat.schedulers:DatabaseScheduler +celery -A config.celery_app beat -l INFO diff --git a/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start b/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start index a549c6b2b..0e793e38e 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start @@ -5,4 +5,4 @@ set -o pipefail set -o nounset -celery -A config.celery_app beat -l INFO --scheduler django_celery_beat.schedulers:DatabaseScheduler +celery -A config.celery_app beat -l INFO diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 4a522fdda..5f489389b 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -75,6 +75,9 @@ THIRD_PARTY_APPS = [ "allauth.account", "allauth.socialaccount", "rest_framework", +{% if cookiecutter.use_celery == 'y' -%} + "django_celery_beat", +{%- endif %} ] LOCAL_APPS = [ "{{ cookiecutter.project_slug }}.users.apps.UsersConfig", @@ -270,6 +273,8 @@ CELERY_TASK_TIME_LIMIT = 5 * 60 # http://docs.celeryproject.org/en/latest/userguide/configuration.html#task-soft-time-limit # TODO: set to whatever value is adequate in your circumstances CELERY_TASK_SOFT_TIME_LIMIT = 60 +# http://docs.celeryproject.org/en/latest/userguide/configuration.html#beat-scheduler +CELERY_BEAT_SCHEDULER = "django_celery_beat.schedulers:DatabaseScheduler" {%- endif %} # django-allauth diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index ddd8f041c..2ec5fdf44 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -11,6 +11,7 @@ whitenoise==4.1.2 # https://github.com/evansd/whitenoise redis==3.2.1 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} celery==4.3.0 # pyup: < 5.0 # https://github.com/celery/celery +django-celery-beat==1.5.0 # https://github.com/celery/django-celery-beat {%- if cookiecutter.use_docker == 'y' %} flower==0.9.3 # https://github.com/mher/flower {%- endif %} From aee9f3ecfa8df143d2a5036098d1e701b15f4213 Mon Sep 17 00:00:00 2001 From: Keyvan Mosharraf Date: Thu, 30 May 2019 16:59:58 -0700 Subject: [PATCH 0217/2840] Install django_celery_beat in the proper way --- {{cookiecutter.project_slug}}/config/settings/base.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 5f489389b..94fd384f4 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -75,10 +75,12 @@ THIRD_PARTY_APPS = [ "allauth.account", "allauth.socialaccount", "rest_framework", -{% if cookiecutter.use_celery == 'y' -%} - "django_celery_beat", -{%- endif %} ] +# http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#using-custom-scheduler-classes +{% if cookiecutter.use_celery == 'y' -%} +THIRD_PARTY_APPS += ["django_celery_beat"] +{%- endif %} + LOCAL_APPS = [ "{{ cookiecutter.project_slug }}.users.apps.UsersConfig", # Your stuff: custom apps go here From f8d2eb11a958823689f8f6aac4590ae1b4edaf4f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 31 May 2019 10:02:42 +0100 Subject: [PATCH 0218/2840] Improve error reporting by pytest inside of Tox --- pytest.ini | 1 + tox.ini | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pytest.ini b/pytest.ini index 01c7b1bfc..89aeb302c 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,4 +1,5 @@ [pytest] +addopts = -x --tb=short python_paths = . norecursedirs = .tox .git */migrations/* */static/* docs venv */{{cookiecutter.project_slug}}/* markers = diff --git a/tox.ini b/tox.ini index 8306ccf2f..7ee939158 100644 --- a/tox.ini +++ b/tox.ini @@ -4,15 +4,15 @@ envlist = py36,flake8,black,black-template [testenv] deps = -rrequirements.txt -commands = pytest -n 3 -m "not flake8" -m "not black" {posargs:./tests} +commands = pytest -m "not flake8" -m "not black" {posargs:./tests} [testenv:flake8] deps = -rrequirements.txt -commands = pytest -n 3 -m flake8 {posargs:./tests} +commands = pytest -m flake8 {posargs:./tests} [testenv:black] deps = -rrequirements.txt -commands = pytest -n 3 -m black {posargs:./tests} +commands = pytest -m black {posargs:./tests} [testenv:black-template] deps = black From e9e79428d3789622b31522ef0810147c6aa645be Mon Sep 17 00:00:00 2001 From: Keyvan Mosharraf Date: Fri, 31 May 2019 03:45:59 -0700 Subject: [PATCH 0219/2840] Better way to include django_celery_beat in INSTALLED_APPS --- {{cookiecutter.project_slug}}/config/settings/base.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 94fd384f4..2745058d3 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -75,11 +75,10 @@ THIRD_PARTY_APPS = [ "allauth.account", "allauth.socialaccount", "rest_framework", -] -# http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#using-custom-scheduler-classes -{% if cookiecutter.use_celery == 'y' -%} -THIRD_PARTY_APPS += ["django_celery_beat"] +{%- if cookiecutter.use_celery == 'y' %} + "django_celery_beat", {%- endif %} +] LOCAL_APPS = [ "{{ cookiecutter.project_slug }}.users.apps.UsersConfig", From 3e7b60c8937ce8940f3ea135daf37c80c64f170e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 31 May 2019 12:00:33 +0100 Subject: [PATCH 0220/2840] Update django-compressor from 2.2 to 2.3 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index ddd8f041c..88331996e 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -24,7 +24,7 @@ django-model-utils==3.1.2 # https://github.com/jazzband/django-model-utils django-allauth==0.39.1 # https://github.com/pennersr/django-allauth django-crispy-forms==1.7.2 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} -django-compressor==2.2 # https://github.com/django-compressor/django-compressor +django-compressor==2.3 # https://github.com/django-compressor/django-compressor {%- endif %} django-redis==4.10.0 # https://github.com/niwinz/django-redis From 53994b4f1668b6560e2f592b20f32bbea7c86877 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 2 Jun 2019 12:00:29 +0100 Subject: [PATCH 0221/2840] Update pytest from 4.5.0 to 4.6.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5089594cc..d6049ecbb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.7 # Testing # ------------------------------------------------------------------------------ tox==3.12.1 -pytest==4.5.0 +pytest==4.6.0 pytest_cases==1.6.3 pytest-cookies==0.3.0 pytest-xdist==1.28.0 From cd7bf6af04de1251bdc1b2459424b57804b87dad Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 2 Jun 2019 12:00:30 +0100 Subject: [PATCH 0222/2840] Update pytest from 4.5.0 to 4.6.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 2e2228c39..e08cfc97d 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.2 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.701 # https://github.com/python/mypy -pytest==4.5.0 # https://github.com/pytest-dev/pytest +pytest==4.6.0 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From 8e007111da9efe72f804d556580888d154dcf9a4 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 2 Jun 2019 12:00:33 +0100 Subject: [PATCH 0223/2840] Update sentry-sdk from 0.8.0 to 0.8.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index e8636fb8f..2d76c011e 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.2 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.8.0 # https://github.com/getsentry/sentry-python +sentry-sdk==0.8.1 # https://github.com/getsentry/sentry-python {%- endif %} # Django From d7699315774ed79e68ef51610561e65d80662216 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 3 Jun 2019 12:01:41 +0100 Subject: [PATCH 0224/2840] Update sentry-sdk from 0.8.1 to 0.9.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 2d76c011e..8cf1f1c47 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.2 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.8.1 # https://github.com/getsentry/sentry-python +sentry-sdk==0.9.0 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 78ec608f14f6cdab845076ed3a7ac14cd7cffe22 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 3 Jun 2019 12:01:44 +0100 Subject: [PATCH 0225/2840] Update django from 2.2.1 to 2.2.2 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 88331996e..00845cc25 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -18,7 +18,7 @@ flower==0.9.3 # https://github.com/mher/flower # Django # ------------------------------------------------------------------------------ -django==2.2.1 # pyup: < 3.0 # https://www.djangoproject.com/ +django==2.2.2 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==3.1.2 # https://github.com/jazzband/django-model-utils django-allauth==0.39.1 # https://github.com/pennersr/django-allauth From 53f6e07dd5329a38119af303b7ffd8a1af8df1be Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 3 Jun 2019 12:01:48 +0100 Subject: [PATCH 0226/2840] Update sphinx from 2.0.1 to 2.1.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index e08cfc97d..c5cd6d9f3 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==0.14.1 # pyup: < 0.15 # https://github.com/pallets/werkzeug ipdb==0.12 # https://github.com/gotcha/ipdb -Sphinx==2.0.1 # https://github.com/sphinx-doc/sphinx +Sphinx==2.1.0 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.2 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From 32e683f637510d5e416acf0efc5c0476271a108f Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 3 Jun 2019 13:45:32 -0700 Subject: [PATCH 0227/2840] Update pytest from 4.6.0 to 4.6.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index d6049ecbb..aa634c97f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.7 # Testing # ------------------------------------------------------------------------------ tox==3.12.1 -pytest==4.6.0 +pytest==4.6.2 pytest_cases==1.6.3 pytest-cookies==0.3.0 pytest-xdist==1.28.0 From 987e958c9b9d7067e890bb464e73cfc18d2cf433 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 4 Jun 2019 12:00:33 +0100 Subject: [PATCH 0228/2840] Update pytest from 4.6.0 to 4.6.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index c5cd6d9f3..b29a6ea49 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.2 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.701 # https://github.com/python/mypy -pytest==4.6.0 # https://github.com/pytest-dev/pytest +pytest==4.6.2 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From 28ba260e0325a780be59d1e77c8f4bcf4ade752f Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 4 Jun 2019 12:00:40 +0100 Subject: [PATCH 0229/2840] Update pytest-django from 3.4.8 to 3.5.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index c5cd6d9f3..216e3f0d2 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -32,4 +32,4 @@ factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==1.11 # https://github.com/jazzband/django-debug-toolbar django-extensions==2.1.7 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin -pytest-django==3.4.8 # https://github.com/pytest-dev/pytest-django +pytest-django==3.5.0 # https://github.com/pytest-dev/pytest-django From ef59ffad94298a13f19c99bbe8d7bd29e058fbcf Mon Sep 17 00:00:00 2001 From: "Xaver Y.R. Chen" Date: Wed, 5 Jun 2019 20:21:37 +0800 Subject: [PATCH 0230/2840] Update Travis config, using new xenial distribution to support the newer version of SQLite to satisfy the requirement of Django 2.2 --- CONTRIBUTORS.rst | 2 ++ {{cookiecutter.project_slug}}/.travis.yml | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 6f6d4c32c..af81c4510 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -190,6 +190,7 @@ Listed in alphabetical order. Vlad Doster `@vladdoster`_ Will Farley `@goldhand`_ @g01dhand William Archinal `@archinal`_ + Xaver Y.R. Chen `@yrchen`_ @yrchen Yaroslav Halchenko Keyvan Mosharraf `@keyvanm`_ ========================== ============================ ============== @@ -327,6 +328,7 @@ Listed in alphabetical order. .. _@cmargieson: https://github.com/cmargieson .. _@tanoabeleyra: https://github.com/tanoabeleyra .. _@keyvanm: https://github.com/keyvanm +.. _@yrchen: https://github.com/yrchen Special Thanks ~~~~~~~~~~~~~~ diff --git a/{{cookiecutter.project_slug}}/.travis.yml b/{{cookiecutter.project_slug}}/.travis.yml index 3072f75f3..257056031 100644 --- a/{{cookiecutter.project_slug}}/.travis.yml +++ b/{{cookiecutter.project_slug}}/.travis.yml @@ -1,8 +1,9 @@ +dist: xenial sudo: true before_install: - sudo apt-get update -qq - sudo apt-get install -qq build-essential gettext python-dev zlib1g-dev libpq-dev xvfb - - sudo apt-get install -qq libtiff4-dev libjpeg8-dev libfreetype6-dev liblcms1-dev libwebp-dev + - sudo apt-get install -qq libjpeg8-dev libfreetype6-dev libwebp-dev - sudo apt-get install -qq graphviz-dev python-setuptools python3-dev python-virtualenv python-pip - sudo apt-get install -qq firefox automake libtool libreadline6 libreadline6-dev libreadline-dev - sudo apt-get install -qq libsqlite3-dev libxml2 libxml2-dev libssl-dev libbz2-dev wget curl llvm From 2103cf2f9d5f60117ed5b47c7a166ee544015717 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 5 Jun 2019 19:00:43 +0100 Subject: [PATCH 0231/2840] Add a pre-generation hook to avoid non-lowercase slugs - fixes #2042 --- hooks/pre_gen_project.py | 4 ++++ tests/test_cookiecutter_generation.py | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/hooks/pre_gen_project.py b/hooks/pre_gen_project.py index e7bc1e39a..91332f144 100644 --- a/hooks/pre_gen_project.py +++ b/hooks/pre_gen_project.py @@ -22,6 +22,10 @@ if hasattr(project_slug, "isidentifier"): project_slug.isidentifier() ), "'{}' project slug is not a valid Python identifier.".format(project_slug) +assert ( + project_slug == project_slug.lower() +), "'{}' project slug should be all lowercase".format(project_slug) + assert ( "\\" not in "{{ cookiecutter.author_name }}" ), "Don't include backslashes in author name." diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 4292f989b..77f71df5b 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -2,6 +2,7 @@ import os import re import pytest +from cookiecutter.exceptions import FailedHookException from pytest_cases import pytest_fixture_plus import sh import yaml @@ -145,3 +146,14 @@ def test_travis_invokes_pytest(cookies, context): assert yaml.load(travis_yml)["script"] == ["pytest"] except yaml.YAMLError as e: pytest.fail(e) + + +@pytest.mark.parametrize("slug", ["project slug", "Project_Slug"]) +def test_invalid_slug(cookies, context, slug): + """Invalid slug should failed pre-generation hook.""" + context.update({"project_slug": slug}) + + result = cookies.bake(extra_context=context) + + assert result.exit_code != 0 + assert isinstance(result.exception, FailedHookException) From 611373cac24cae480a0ad5ded780d7db078497aa Mon Sep 17 00:00:00 2001 From: "Xaver Y.R. Chen" Date: Thu, 6 Jun 2019 14:48:48 +0800 Subject: [PATCH 0232/2840] Update Travis config, remove the deprecated sudo keyword --- {{cookiecutter.project_slug}}/.travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.travis.yml b/{{cookiecutter.project_slug}}/.travis.yml index 257056031..83101d1db 100644 --- a/{{cookiecutter.project_slug}}/.travis.yml +++ b/{{cookiecutter.project_slug}}/.travis.yml @@ -1,5 +1,4 @@ dist: xenial -sudo: true before_install: - sudo apt-get update -qq - sudo apt-get install -qq build-essential gettext python-dev zlib1g-dev libpq-dev xvfb From 6f9e57618d0e454dcd1ee2fb9281eb268b341304 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 6 Jun 2019 17:23:37 +0100 Subject: [PATCH 0233/2840] Add Postgres service to Travis config --- {{cookiecutter.project_slug}}/.travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/{{cookiecutter.project_slug}}/.travis.yml b/{{cookiecutter.project_slug}}/.travis.yml index 83101d1db..2d86ac31c 100644 --- a/{{cookiecutter.project_slug}}/.travis.yml +++ b/{{cookiecutter.project_slug}}/.travis.yml @@ -1,4 +1,6 @@ dist: xenial +services: + - postgresql before_install: - sudo apt-get update -qq - sudo apt-get install -qq build-essential gettext python-dev zlib1g-dev libpq-dev xvfb From 59fcf9359b34f327c483e6fcb3077491abce74a5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 7 Jun 2019 00:19:38 -0700 Subject: [PATCH 0234/2840] Update pyyaml from 5.1 to 5.1.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index aa634c97f..e14a4565a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,4 +14,4 @@ pytest==4.6.2 pytest_cases==1.6.3 pytest-cookies==0.3.0 pytest-xdist==1.28.0 -pyyaml==5.1 +pyyaml==5.1.1 From d55a3f09aa4a64a065d2a437728425669a91fcaf Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 11 Jun 2019 12:00:31 +0100 Subject: [PATCH 0235/2840] Update sphinx from 2.1.0 to 2.1.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 0e686786e..0df75780e 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==0.14.1 # pyup: < 0.15 # https://github.com/pallets/werkzeug ipdb==0.12 # https://github.com/gotcha/ipdb -Sphinx==2.1.0 # https://github.com/sphinx-doc/sphinx +Sphinx==2.1.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.2 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From 06a9cadf0cf238115bb1097d7ce6dd7e2a01d34f Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 11 Jun 2019 12:00:34 +0100 Subject: [PATCH 0236/2840] Update django-extensions from 2.1.7 to 2.1.9 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 0e686786e..56e482239 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -30,6 +30,6 @@ pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==1.11 # https://github.com/jazzband/django-debug-toolbar -django-extensions==2.1.7 # https://github.com/django-extensions/django-extensions +django-extensions==2.1.9 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.5.0 # https://github.com/pytest-dev/pytest-django From 44688b2d43c2af968286d51751d3bb6c28496a39 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 12 Jun 2019 12:00:29 +0100 Subject: [PATCH 0237/2840] Update pytest from 4.6.2 to 4.6.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index e14a4565a..5555c34c3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.7 # Testing # ------------------------------------------------------------------------------ tox==3.12.1 -pytest==4.6.2 +pytest==4.6.3 pytest_cases==1.6.3 pytest-cookies==0.3.0 pytest-xdist==1.28.0 From 0b5f8b4891c082d4e29ae7724571ae95692e2295 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 12 Jun 2019 12:00:30 +0100 Subject: [PATCH 0238/2840] Update pytest from 4.6.2 to 4.6.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 7a2ca8859..2e4f9ab1c 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.2 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.701 # https://github.com/python/mypy -pytest==4.6.2 # https://github.com/pytest-dev/pytest +pytest==4.6.3 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From 9e10eb7ae50abd7545064fec6a77431f2f05ca5a Mon Sep 17 00:00:00 2001 From: Jelmert Date: Thu, 6 Jun 2019 11:45:43 +0200 Subject: [PATCH 0239/2840] Added DATABASE_URL & CELERY_BROKER_URL (when selected) to the django console startup script of pycharm. Fixes #1766. --- {{cookiecutter.project_slug}}/.idea/workspace.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 {{cookiecutter.project_slug}}/.idea/workspace.xml diff --git a/{{cookiecutter.project_slug}}/.idea/workspace.xml b/{{cookiecutter.project_slug}}/.idea/workspace.xml new file mode 100644 index 000000000..a5d73c185 --- /dev/null +++ b/{{cookiecutter.project_slug}}/.idea/workspace.xml @@ -0,0 +1,14 @@ + + + {%- if cookiecutter.use_celery == 'y' %} + + + {%- else %} + + + {%- endif %} + From 94d0b7b776ba08bf79e2b089373f70e15dc9933a Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 14 Jun 2019 12:00:30 +0100 Subject: [PATCH 0240/2840] Update pytest_cases from 1.6.3 to 1.7.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5555c34c3..fcdca8380 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.7 # ------------------------------------------------------------------------------ tox==3.12.1 pytest==4.6.3 -pytest_cases==1.6.3 +pytest_cases==1.7.0 pytest-cookies==0.3.0 pytest-xdist==1.28.0 pyyaml==5.1.1 From de91817704ade2057cd2b9550ca733eefc183cde Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 14 Jun 2019 12:00:33 +0100 Subject: [PATCH 0241/2840] Update psycopg2-binary from 2.8.2 to 2.8.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 2e4f9ab1c..d28774d4d 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -6,7 +6,7 @@ Sphinx==2.1.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.2 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} -psycopg2-binary==2.8.2 # https://github.com/psycopg/psycopg2 +psycopg2-binary==2.8.3 # https://github.com/psycopg/psycopg2 {%- endif %} # Testing From 36bccb0e28e0a6e2b0a48b8a705f0c92dd011a31 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 14 Jun 2019 12:49:02 +0100 Subject: [PATCH 0242/2840] Update psycopg2 with --no-binary to 2.8.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index d28774d4d..46b602e62 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -4,7 +4,7 @@ Werkzeug==0.14.1 # pyup: < 0.15 # https://github.com/pallets/werkzeug ipdb==0.12 # https://github.com/gotcha/ipdb Sphinx==2.1.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} -psycopg2==2.8.2 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 +psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} psycopg2-binary==2.8.3 # https://github.com/psycopg/psycopg2 {%- endif %} From 12b527ff5d39db2c5db8c5cb8798ad601395f487 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 14 Jun 2019 12:49:39 +0100 Subject: [PATCH 0243/2840] Update psycopg2 with --no-binary to 2.8.3 in prod requirements --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 8cf1f1c47..39998f7a9 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -3,7 +3,7 @@ -r ./base.txt gunicorn==19.9.0 # https://github.com/benoitc/gunicorn -psycopg2==2.8.2 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 +psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} From 62df724c8c1586af9ac7bebf459821af67f801b3 Mon Sep 17 00:00:00 2001 From: Min ho Kim Date: Sat, 15 Jun 2019 06:37:58 +1000 Subject: [PATCH 0244/2840] Fix typo --- docs/deployment-on-heroku.rst | 16 ++++++++-------- docs/deployment-on-pythonanywhere.rst | 4 ++-- docs/testing.rst | 8 ++++---- .../docs/pycharm/configuration.rst | 2 +- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/deployment-on-heroku.rst b/docs/deployment-on-heroku.rst index 4a16123a0..53e980379 100644 --- a/docs/deployment-on-heroku.rst +++ b/docs/deployment-on-heroku.rst @@ -23,25 +23,25 @@ Run these commands to deploy the project to Heroku: heroku addons:create mailgun:starter heroku config:set PYTHONHASHSEED=random - + heroku config:set WEB_CONCURRENCY=4 - + heroku config:set DJANGO_DEBUG=False heroku config:set DJANGO_SETTINGS_MODULE=config.settings.production heroku config:set DJANGO_SECRET_KEY="$(openssl rand -base64 64)" - - # Generating a 32 character-long random string without any of the visually similiar characters "IOl01": + + # Generating a 32 character-long random string without any of the visually similar characters "IOl01": heroku config:set DJANGO_ADMIN_URL="$(openssl rand -base64 4096 | tr -dc 'A-HJ-NP-Za-km-z2-9' | head -c 32)/" - + # Set this to your Heroku app url, e.g. 'bionic-beaver-28392.herokuapp.com' heroku config:set DJANGO_ALLOWED_HOSTS= - + # Assign with AWS_ACCESS_KEY_ID heroku config:set DJANGO_AWS_ACCESS_KEY_ID= - + # Assign with AWS_SECRET_ACCESS_KEY heroku config:set DJANGO_AWS_SECRET_ACCESS_KEY= - + # Assign with AWS_STORAGE_BUCKET_NAME heroku config:set DJANGO_AWS_STORAGE_BUCKET_NAME= diff --git a/docs/deployment-on-pythonanywhere.rst b/docs/deployment-on-pythonanywhere.rst index ea25b3ae5..83b23b27a 100644 --- a/docs/deployment-on-pythonanywhere.rst +++ b/docs/deployment-on-pythonanywhere.rst @@ -29,7 +29,7 @@ Once you've been through this one-off config, future deployments are much simple Getting your code and dependencies installed on PythonAnywhere -------------------------------------------------------------- -Make sure your project is fully commited and pushed up to Bitbucket or Github or wherever it may be. Then, log into your PythonAnywhere account, open up a **Bash** console, clone your repo, and create a virtualenv: +Make sure your project is fully committed and pushed up to Bitbucket or Github or wherever it may be. Then, log into your PythonAnywhere account, open up a **Bash** console, clone your repo, and create a virtualenv: .. code-block:: bash @@ -153,7 +153,7 @@ Back on the Web tab, hit **Reload**, and your app should be live! **NOTE:** *you may see security warnings until you set up your SSL certificates. If you -want to supress them temporarily, set DJANGO_SECURE_SSL_REDIRECT to blank. Follow +want to suppress them temporarily, set DJANGO_SECURE_SSL_REDIRECT to blank. Follow the instructions here to get SSL set up: https://help.pythonanywhere.com/pages/SSLOwnDomains/* diff --git a/docs/testing.rst b/docs/testing.rst index 6ca213883..63cb9e186 100644 --- a/docs/testing.rst +++ b/docs/testing.rst @@ -19,9 +19,9 @@ You will get a readout of the `users` app that has already been set up with test If you set up your project to `develop locally with docker`_, run the following command: :: - $ docker-compose -f local.yml run django pytest + $ docker-compose -f local.yml run django pytest -Targetting particular apps for testing in ``docker`` follows a similar pattern as previously shown above. +Targeting particular apps for testing in ``docker`` follows a similar pattern as previously shown above. Coverage -------- @@ -36,9 +36,9 @@ Once the tests are complete, in order to see the code coverage, run the followin .. note:: - At the root of the project folder, you will find the `pytest.ini` file. You can use this to customize_ the ``pytest`` to your liking. + At the root of the project folder, you will find the `pytest.ini` file. You can use this to customize_ the ``pytest`` to your liking. - There is also the `.coveragerc`. This is the configuration file for the ``coverage`` tool. You can find out more about `configuring`_ ``coverage``. + There is also the `.coveragerc`. This is the configuration file for the ``coverage`` tool. You can find out more about `configuring`_ ``coverage``. .. seealso:: diff --git a/{{cookiecutter.project_slug}}/docs/pycharm/configuration.rst b/{{cookiecutter.project_slug}}/docs/pycharm/configuration.rst index af3b826a7..c1d4f4b98 100644 --- a/{{cookiecutter.project_slug}}/docs/pycharm/configuration.rst +++ b/{{cookiecutter.project_slug}}/docs/pycharm/configuration.rst @@ -14,7 +14,7 @@ This repository comes with already prepared "Run/Debug Configurations" for docke .. image:: images/2.png -But as you can see, at the beggining there is something wrong with them. They have red X on django icon, and they cannot be used, without configuring remote python interpteter. To do that, you have to go to *Settings > Build, Execution, Deployment* first. +But as you can see, at the beginning there is something wrong with them. They have red X on django icon, and they cannot be used, without configuring remote python interpteter. To do that, you have to go to *Settings > Build, Execution, Deployment* first. Next, you have to add new remote python interpreter, based on already tested deployment settings. Go to *Settings > Project > Project Interpreter*. Click on the cog icon, and click *Add Remote*. From 53a6349e9223f1bc95737c9c95caf2df94bf0828 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 14 Jun 2019 14:16:20 -0700 Subject: [PATCH 0245/2840] Update pytest-xdist from 1.28.0 to 1.29.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5555c34c3..320620004 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,5 +13,5 @@ tox==3.12.1 pytest==4.6.3 pytest_cases==1.6.3 pytest-cookies==0.3.0 -pytest-xdist==1.28.0 +pytest-xdist==1.29.0 pyyaml==5.1.1 From 69fa49036461c4717bcb88dd7c226a91619e4d12 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 14 Jun 2019 23:18:20 +0100 Subject: [PATCH 0246/2840] Add minho42 to contributors --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index af81c4510..e34def454 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -152,6 +152,7 @@ Listed in alphabetical order. Meghan Heintz `@dot2dotseurat`_ Mesut Yılmaz `@myilmaz`_ Michael Gecht `@mimischi`_ @_mischi + Min ho Kim `@minho42`_ mozillazg `@mozillazg`_ Oleg Russkin `@rolep`_ Pablo `@oubiga`_ @@ -270,6 +271,7 @@ Listed in alphabetical order. .. _@mostaszewski: https://github.com/mostaszewski .. _@mfwarren: https://github.com/mfwarren .. _@mimischi: https://github.com/mimischi +.. _@minho42: https://github.com/minho42 .. _@mjsisley: https://github.com/mjsisley .. _@myilmaz: https://github.com/myilmaz .. _@mozillazg: https://github.com/mozillazg From f3b85708c365ab897a738308d31bc1c9af15ced0 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 15 Jun 2019 11:31:13 +0100 Subject: [PATCH 0247/2840] Sort contributors list --- CONTRIBUTORS.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index e34def454..275b707fd 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -130,6 +130,7 @@ Listed in alphabetical order. Keith Webber `@townie`_ Kevin A. Stone Kevin Ndung'u `@kevgathuku`_ + Keyvan Mosharraf `@keyvanm`_ Krzysztof Szumny `@noisy`_ Krzysztof Żuraw `@krzysztofzuraw`_ Leonardo Jimenez `@xpostudio4`_ @@ -193,7 +194,6 @@ Listed in alphabetical order. William Archinal `@archinal`_ Xaver Y.R. Chen `@yrchen`_ @yrchen Yaroslav Halchenko - Keyvan Mosharraf `@keyvanm`_ ========================== ============================ ============== .. _@a7p: https://github.com/a7p From a321a5833da8a80bb0d3434ef8fd3dfaafaca280 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 15 Jun 2019 11:48:26 +0100 Subject: [PATCH 0248/2840] Cleanup trailing spaces --- .../.idea/{{cookiecutter.project_slug}}.iml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.idea/{{cookiecutter.project_slug}}.iml b/{{cookiecutter.project_slug}}/.idea/{{cookiecutter.project_slug}}.iml index 8ff6e3883..079c7b4e3 100644 --- a/{{cookiecutter.project_slug}}/.idea/{{cookiecutter.project_slug}}.iml +++ b/{{cookiecutter.project_slug}}/.idea/{{cookiecutter.project_slug}}.iml @@ -5,10 +5,10 @@ @@ -25,12 +25,12 @@ - - - - From 7166b92bf0cdf4d0d391f69a07b9aaa322fc1e4d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 17 Jun 2019 11:03:35 -0400 Subject: [PATCH 0250/2840] Update pytest_cases from 1.7.0 to 1.9.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index f5c234c4a..0db0861ca 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.7 # ------------------------------------------------------------------------------ tox==3.12.1 pytest==4.6.3 -pytest_cases==1.7.0 +pytest_cases==1.9.0 pytest-cookies==0.3.0 pytest-xdist==1.29.0 pyyaml==5.1.1 From dd32fb2c1390cd4108e43d06feaa2c6dbd6c7828 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 18 Jun 2019 20:50:17 +0100 Subject: [PATCH 0251/2840] Tweak formatting in docs --- docs/developing-locally.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst index 3434f68b6..8694dde7a 100644 --- a/docs/developing-locally.rst +++ b/docs/developing-locally.rst @@ -120,12 +120,12 @@ In production, we have Mailgun_ configured to have your back! Celery ------ + If the project is configured to use Celery as a task scheduler then by default tasks are set to run on the main thread -when developing locally. If you have the appropriate setup on your local machine then set +when developing locally. If you have the appropriate setup on your local machine then set the following +in ``config/settings/local.py``:: -CELERY_TASK_ALWAYS_EAGER = False - -in /config/settings/local.py + CELERY_TASK_ALWAYS_EAGER = False Sass Compilation & Live Reloading From aaf5d8d8f5381b82454c5420051d14f9b6c34a0f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 18 Jun 2019 20:31:47 +0100 Subject: [PATCH 0252/2840] Run tests on bare metal Install with Celery and compressor as it requires compilation closes #1677 --- .travis.yml | 7 +++++++ tests/test_bare.sh | 26 ++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100755 tests/test_bare.sh diff --git a/.travis.yml b/.travis.yml index 1be0b743b..c2bcdf42c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,6 +25,13 @@ matrix: script: sh tests/test_docker.sh - name: Docker with Celery script: sh tests/test_docker.sh use_celery=y + - name: Bare metal + script: sh tests/test_bare.sh use_celery=y use_compressor=y + services: + - postgresql + - redis-server + env: + - CELERY_BROKER_URL=redis://localhost:6379/0 install: - pip install tox diff --git a/tests/test_bare.sh b/tests/test_bare.sh new file mode 100755 index 000000000..7021a7e47 --- /dev/null +++ b/tests/test_bare.sh @@ -0,0 +1,26 @@ +#!/bin/sh +# this is a very simple script that tests the docker configuration for cookiecutter-django +# it is meant to be run from the root directory of the repository, eg: +# sh tests/test_docker.sh + +set -o errexit + +# install test requirements +pip install -r requirements.txt + +# create a cache directory +mkdir -p .cache/bare +cd .cache/bare + +# create the project using the default settings in cookiecutter.json +cookiecutter ../../ --no-input --overwrite-if-exists use_docker=n $@ +cd my_awesome_project + +# Install OS deps +sudo utility/install_os_dependencies.sh install + +# Install Python deps +pip install -r requirements/local.txt + +# run the project's tests +pytest From 9b48f922edccadb54b1a08a95a748b3c48805470 Mon Sep 17 00:00:00 2001 From: Tim Claessens Date: Wed, 19 Jun 2019 09:46:10 +0200 Subject: [PATCH 0253/2840] Remove all end-of-line carriage returns and not just the first occurrence --- .../compose/local/django/Dockerfile | 10 +++++----- .../compose/production/django/Dockerfile | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index e2e9e5f3c..679378223 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -20,23 +20,23 @@ COPY ./requirements /requirements RUN pip install -r /requirements/local.txt COPY ./compose/production/django/entrypoint /entrypoint -RUN sed -i 's/\r//' /entrypoint +RUN sed -i 's/\r$//g' /entrypoint RUN chmod +x /entrypoint COPY ./compose/local/django/start /start -RUN sed -i 's/\r//' /start +RUN sed -i 's/\r$//g' /start RUN chmod +x /start {% if cookiecutter.use_celery == "y" %} COPY ./compose/local/django/celery/worker/start /start-celeryworker -RUN sed -i 's/\r//' /start-celeryworker +RUN sed -i 's/\r$//g' /start-celeryworker RUN chmod +x /start-celeryworker COPY ./compose/local/django/celery/beat/start /start-celerybeat -RUN sed -i 's/\r//' /start-celerybeat +RUN sed -i 's/\r$//g' /start-celerybeat RUN chmod +x /start-celerybeat COPY ./compose/local/django/celery/flower/start /start-flower -RUN sed -i 's/\r//' /start-flower +RUN sed -i 's/\r$//g' /start-flower RUN chmod +x /start-flower {% endif %} WORKDIR /app diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index 80b5bc2cf..37f66ec78 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -31,28 +31,28 @@ RUN pip install --no-cache-dir -r /requirements/production.txt \ && rm -rf /requirements COPY ./compose/production/django/entrypoint /entrypoint -RUN sed -i 's/\r//' /entrypoint +RUN sed -i 's/\r$//g' /entrypoint RUN chmod +x /entrypoint RUN chown django /entrypoint COPY ./compose/production/django/start /start -RUN sed -i 's/\r//' /start +RUN sed -i 's/\r$//g' /start RUN chmod +x /start RUN chown django /start {%- if cookiecutter.use_celery == "y" %} COPY ./compose/production/django/celery/worker/start /start-celeryworker -RUN sed -i 's/\r//' /start-celeryworker +RUN sed -i 's/\r$//g' /start-celeryworker RUN chmod +x /start-celeryworker RUN chown django /start-celeryworker COPY ./compose/production/django/celery/beat/start /start-celerybeat -RUN sed -i 's/\r//' /start-celerybeat +RUN sed -i 's/\r$//g' /start-celerybeat RUN chmod +x /start-celerybeat RUN chown django /start-celerybeat COPY ./compose/production/django/celery/flower/start /start-flower -RUN sed -i 's/\r//' /start-flower +RUN sed -i 's/\r$//g' /start-flower RUN chmod +x /start-flower {%- endif %} From 13868c42c865d8c3e7a8d8499a47ed47fa795a93 Mon Sep 17 00:00:00 2001 From: Tim Claessens Date: Tue, 18 Jun 2019 11:57:55 +0200 Subject: [PATCH 0254/2840] Add name to contributors --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 275b707fd..2c812f4f1 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -180,6 +180,7 @@ Listed in alphabetical order. Tano Abeleyra `@tanoabeleyra`_ Taylor Baldwin Théo Segonds `@show0k`_ + Tim Claessens `@timclaessens` Tim Freund `@timfreund`_ Tom Atkins `@knitatoms`_ Tom Offermann @@ -292,6 +293,7 @@ Listed in alphabetical order. .. _@stepmr: https://github.com/stepmr .. _@suledev: https://github.com/suledev .. _@takkaria: https://github.com/takkaria +.. _@timclaessens: https://github.com/timclaessens .. _@timfreund: https://github.com/timfreund .. _@Travistock: https://github.com/Tavistock .. _@trungdong: https://github.com/trungdong From b1135ccb255c24fdd6df59721a8c4a07c41eb66b Mon Sep 17 00:00:00 2001 From: Tim Claessens Date: Wed, 19 Jun 2019 14:23:51 +0200 Subject: [PATCH 0255/2840] Sorting the names (firstname, lastname) --- CONTRIBUTORS.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 2c812f4f1..9d09d308c 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -65,8 +65,8 @@ Listed in alphabetical order. Ashley Camba Barclay Gauld `@yunti`_ Bartek `@btknu`_ - Ben Warren `@bwarren2`_ Ben Lopatin + Ben Warren `@bwarren2`_ Benjamin Abel Bert de Miranda `@bertdemiranda`_ Bo Lopker `@blopker`_ @@ -98,8 +98,8 @@ Listed in alphabetical order. Demetris Stavrou `@demestav`_ Denis Bobrov `@delneg`_ Denis Orehovsky `@apirobot`_ - Dónal Adams `@epileptic-fish`_ Diane Chen `@purplediane`_ @purplediane88 + Dónal Adams `@epileptic-fish`_ Dong Huynh `@trungdong`_ Emanuel Calso `@bloodpet`_ @bloodpet Eraldo Energy `@eraldo`_ @@ -133,8 +133,8 @@ Listed in alphabetical order. Keyvan Mosharraf `@keyvanm`_ Krzysztof Szumny `@noisy`_ Krzysztof Żuraw `@krzysztofzuraw`_ - Leonardo Jimenez `@xpostudio4`_ Leo Zhou `@glasslion`_ + Leonardo Jimenez `@xpostudio4`_ Lin Xianyi `@iynaix`_ Luis Nell `@originell`_ Lukas Klein From 07f9256a8b4e67211c32e81efb78aecf4c262fa2 Mon Sep 17 00:00:00 2001 From: Tim Claessens Date: Wed, 19 Jun 2019 14:24:31 +0200 Subject: [PATCH 0256/2840] Sorting the links --- CONTRIBUTORS.rst | 72 ++++++++++++++++++++++++------------------------ 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 9d09d308c..a580400c3 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -201,22 +201,30 @@ Listed in alphabetical order. .. _@ad-m: https://github.com/ad-m .. _@adammsteele: https://github.com/adammsteele .. _@aeikenberry: https://github.com/aeikenberry +.. _@afrowave: https://github.com/afrowave +.. _@ahhda: https://github.com/ahhda .. _@alb3rto: https://github.com/alb3rto .. _@ameistad: https://github.com/ameistad .. _@amjith: https://github.com/amjith .. _@andor-pierdelacabeza: https://github.com/andor-pierdelacabeza +.. _@andresgz: https://github.com/andresgz .. _@antoniablair: https://github.com/antoniablair .. _@apirobot: https://github.com/apirobot .. _@archinal: https://github.com/archinal .. _@areski: https://github.com/areski .. _@arruda: https://github.com/arruda +.. _@bertdemiranda: https://github.com/bertdemiranda .. _@bittner: https://github.com/bittner .. _@bloodpet: https://github.com/bloodpet .. _@blopker: https://github.com/blopker .. _@bogdal: https://github.com/bogdal +.. _@brentpayne: https://github.com/brentpayne +.. _@btknu: https://github.com/btknu .. _@burhan: https://github.com/burhan +.. _@bwarren2: https://github.com/bwarren2 .. _@c-rhodes: https://github.com/c-rhodes .. _@caffodian: https://github.com/caffodian +.. _@canonnervio: https://github.com/canonnervio .. _@carlmjohnson: https://github.com/carlmjohnson .. _@catherinedevlin: https://github.com/catherinedevlin .. _@ccurvey: https://github.com/ccurvey @@ -226,113 +234,105 @@ Listed in alphabetical order. .. _@ChrisPappalardo: https://github.com/ChrisPappalardo .. _@chuckus: https://github.com/chuckus .. _@cmackenzie1: https://github.com/cmackenzie1 +.. _@cmargieson: https://github.com/cmargieson .. _@Collederas: https://github.com/Collederas .. _@curtisstpierre: https://github.com/curtisstpierre +.. _@dadokkio: https://github.com/dadokkio .. _@davitovmasyan: https://github.com/davitovmasyan .. _@ddiazpinto: https://github.com/ddiazpinto +.. _@delneg: https://github.com/delneg .. _@demestav: https://github.com/demestav .. _@dezoito: https://github.com/dezoito .. _@dhepper: https://github.com/dhepper .. _@dot2dotseurat: https://github.com/dot2dotseurat .. _@dsclementsen: https://github.com/dsclementsen .. _@durkode: https://github.com/durkode +.. _@Egregors: https://github.com/Egregors .. _@epileptic-fish: https://gihub.com/epileptic-fish .. _@eraldo: https://github.com/eraldo .. _@erfaan: https://github.com/erfaan +.. _@ericgroom: https://github.com/ericgroom .. _@eriol: https://github.com/eriol .. _@eyadsibai: https://github.com/eyadsibai .. _@flyudvik: https://github.com/flyudvik .. _@foarsitter: https://github.com/foarsitter .. _@garry-cairns: https://github.com/garry-cairns .. _@garrypolley: https://github.com/garrypolley -.. _@goldhand: https://github.com/goldhand .. _@glasslion: https://github.com/glasslion +.. _@goldhand: https://github.com/goldhand .. _@hackebrot: https://github.com/hackebrot .. _@hairychris: https://github.com/hairychris +.. _@hanaquadara: https://github.com/hanaquadara .. _@hendrikschneider: https://github.com/hendrikschneider .. _@hjwp: https://github.com/hjwp .. _@IanLee1521: https://github.com/IanLee1521 .. _@ikkebr: https://github.com/ikkebr .. _@iynaix: https://github.com/iynaix +.. _@jangeador: https://github.com/jangeador .. _@jazztpt: https://github.com/jazztpt +.. _@jcass77: https://github.com/jcass77 .. _@jleclanche: https://github.com/jleclanche .. _@juliocc: https://github.com/juliocc .. _@jvanbrug: https://github.com/jvanbrug .. _@ka7eh: https://github.com/ka7eh .. _@kaidokert: https://github.com/kaidokert .. _@kappataumu: https://github.com/kappataumu +.. _@keithjeb: https://github.com/keithjeb .. _@kevgathuku: https://github.com/kevgathuku +.. _@keyvanm: https://github.com/keyvanm .. _@knitatoms: https://github.com/knitatoms .. _@krzysztofzuraw: https://github.com/krzysztofzuraw -.. _@msaizar: https://github.com/msaizar .. _@MathijsHoogland: https://github.com/MathijsHoogland .. _@mattayes: https://github.com/mattayes -.. _@mknapper1: https://github.com/mknapper1 .. _@menzenski: https://github.com/menzenski -.. _@mostaszewski: https://github.com/mostaszewski .. _@mfwarren: https://github.com/mfwarren +.. _@MightySCollins: https://github.com/MightySCollins .. _@mimischi: https://github.com/mimischi .. _@minho42: https://github.com/minho42 .. _@mjsisley: https://github.com/mjsisley -.. _@myilmaz: https://github.com/myilmaz +.. _@mknapper1: https://github.com/mknapper1 +.. _@mostaszewski: https://github.com/mostaszewski .. _@mozillazg: https://github.com/mozillazg +.. _@mrcoles: https://github.com/mrcoles +.. _@msaizar: https://github.com/msaizar +.. _@myilmaz: https://github.com/myilmaz .. _@noisy: https://github.com/noisy .. _@originell: https://github.com/originell .. _@oubiga: https://github.com/oubiga .. _@parbhat: https://github.com/parbhat +.. _@pchiquet: https://github.com/pchiquet +.. _@phiberjenz: https://github.com/phiberjenz +.. _@purplediane: https://github.com/purplediane .. _@raonyguimaraes: https://github.com/raonyguimaraes .. _@reggieriser: https://github.com/reggieriser .. _@rm--: https://github.com/rm-- +.. _@rolep: https://github.com/rolep .. _@romanosipenko: https://github.com/romanosipenko +.. _@saschalalala: https://github.com/saschalalala .. _@shireenrao: https://github.com/shireenrao .. _@show0k: https://github.com/show0k .. _@shultz: https://github.com/shultz .. _@siauPatrick: https://github.com/siauPatrick +.. _@sladinji: https://github.com/sladinji .. _@slafs: https://github.com/slafs .. _@ssteinerX: https://github.com/ssteinerx .. _@stepmr: https://github.com/stepmr .. _@suledev: https://github.com/suledev .. _@takkaria: https://github.com/takkaria +.. _@tanoabeleyra: https://github.com/tanoabeleyra .. _@timclaessens: https://github.com/timclaessens .. _@timfreund: https://github.com/timfreund +.. _@townie: https://github.com/townie .. _@Travistock: https://github.com/Tavistock .. _@trungdong: https://github.com/trungdong .. _@Tubo: https://github.com/tubo +.. _@umrashrf: https://github.com/umrashrf .. _@viviangb: https://github.com/viviangb +.. _@vladdoster: https://github.com/vladdoster .. _@xpostudio4: https://github.com/xpostudio4 +.. _@yrchen: https://github.com/yrchen .. _@yunti: https://github.com/yunti .. _@zcho: https://github.com/zcho -.. _@phiberjenz: https://github.com/phiberjenz -.. _@sladinji: https://github.com/sladinji -.. _@andresgz: https://github.com/andresgz -.. _@jangeador: https://github.com/jangeador -.. _@townie: https://github.com/townie -.. _@MightySCollins: https://github.com/MightySCollins -.. _@dadokkio: https://github.com/dadokkio -.. _@bwarren2: https://github.com/bwarren2 -.. _@bertdemiranda: https://github.com/bertdemiranda -.. _@brentpayne: https://github.com/brentpayne -.. _@afrowave: https://github.com/afrowave -.. _@pchiquet: https://github.com/pchiquet -.. _@delneg: https://github.com/delneg -.. _@purplediane: https://github.com/purplediane -.. _@umrashrf: https://github.com/umrashrf -.. _@ahhda: https://github.com/ahhda -.. _@keithjeb: https://github.com/keithjeb -.. _@btknu: https://github.com/btknu -.. _@rolep: https://github.com/rolep -.. _@canonnervio: https://github.com/canonnervio -.. _@jcass77: https://github.com/jcass77 -.. _@Egregors: https://github.com/Egregors -.. _@saschalalala: https://github.com/saschalalala -.. _@mrcoles: https://github.com/mrcoles -.. _@ericgroom: https://github.com/ericgroom -.. _@hanaquadara: https://github.com/hanaquadara -.. _@vladdoster: https://github.com/vladdoster -.. _@cmargieson: https://github.com/cmargieson -.. _@tanoabeleyra: https://github.com/tanoabeleyra -.. _@keyvanm: https://github.com/keyvanm -.. _@yrchen: https://github.com/yrchen Special Thanks ~~~~~~~~~~~~~~ From fe49871dc83a72eab8454efbab926c2e9ff8fdbd Mon Sep 17 00:00:00 2001 From: Tim Claessens Date: Wed, 19 Jun 2019 14:24:46 +0200 Subject: [PATCH 0257/2840] Fix link --- CONTRIBUTORS.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index a580400c3..bb5196138 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -180,7 +180,7 @@ Listed in alphabetical order. Tano Abeleyra `@tanoabeleyra`_ Taylor Baldwin Théo Segonds `@show0k`_ - Tim Claessens `@timclaessens` + Tim Claessens `@timclaessens`_ Tim Freund `@timfreund`_ Tom Atkins `@knitatoms`_ Tom Offermann From b3e7e5045a0b938db89e7bf673a082f14dd51a8a Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 20 Jun 2019 12:00:29 +0100 Subject: [PATCH 0258/2840] Update sphinx from 2.1.1 to 2.1.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 46b602e62..1938e283c 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==0.14.1 # pyup: < 0.15 # https://github.com/pallets/werkzeug ipdb==0.12 # https://github.com/gotcha/ipdb -Sphinx==2.1.1 # https://github.com/sphinx-doc/sphinx +Sphinx==2.1.2 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From cba392bf9557d75759240c504f8de72beef73ffd Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 20 Jun 2019 12:00:34 +0100 Subject: [PATCH 0259/2840] Update mypy from 0.701 to 0.710 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 46b602e62..dc2c4376d 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -11,7 +11,7 @@ psycopg2-binary==2.8.3 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ -mypy==0.701 # https://github.com/python/mypy +mypy==0.710 # https://github.com/python/mypy pytest==4.6.3 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar From 81fd240b6c7df95012363b49985d47e7fc04dbb5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 20 Jun 2019 12:00:37 +0100 Subject: [PATCH 0260/2840] Update django-debug-toolbar from 1.11 to 2.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 46b602e62..6908eb254 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -29,7 +29,7 @@ pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery # ------------------------------------------------------------------------------ factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy -django-debug-toolbar==1.11 # https://github.com/jazzband/django-debug-toolbar +django-debug-toolbar==2.0 # https://github.com/jazzband/django-debug-toolbar django-extensions==2.1.9 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.5.0 # https://github.com/pytest-dev/pytest-django From 87a8acbae22b1e5fd4ad66b3ac637a4ac2077f2b Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Thu, 20 Jun 2019 23:35:46 +0800 Subject: [PATCH 0261/2840] Remove redundant template debug setting > 'debug': a boolean that turns on/off template debug mode. If it is > True, the fancy error page will display a detailed report for any > exception raised during template rendering. This report contains the > relevant snippet of the template with the appropriate line highlighted. > It defaults to the value of the DEBUG setting. https://docs.djangoproject.com/en/2.2/topics/templates/#module-django.template.backends.django I could be wrong about this, but it seems like setting the template DEBUG setting is redundant, since it should follow whatever the DEBUG variable is set to. --- CONTRIBUTORS.rst | 2 ++ {{cookiecutter.project_slug}}/config/settings/base.py | 2 -- {{cookiecutter.project_slug}}/config/settings/local.py | 5 ----- {{cookiecutter.project_slug}}/config/settings/test.py | 2 -- 4 files changed, 2 insertions(+), 9 deletions(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index bb5196138..5a650b909 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -89,6 +89,7 @@ Listed in alphabetical order. Cullen Rhodes `@c-rhodes`_ Curtis St Pierre `@curtisstpierre`_ @cstpierre1388 Dan Shultz `@shultz`_ + Dani Hodovic `@danihodovic` Daniel Hepper `@dhepper`_ @danielhepper Daniele Tricoli `@eriol`_ David Díaz `@ddiazpinto`_ @DavidDiazPinto @@ -238,6 +239,7 @@ Listed in alphabetical order. .. _@Collederas: https://github.com/Collederas .. _@curtisstpierre: https://github.com/curtisstpierre .. _@dadokkio: https://github.com/dadokkio +.. _@danihodovic: https://github.com/danihodovic .. _@davitovmasyan: https://github.com/davitovmasyan .. _@ddiazpinto: https://github.com/ddiazpinto .. _@delneg: https://github.com/delneg diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 2745058d3..4ffa50218 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -171,8 +171,6 @@ TEMPLATES = [ # https://docs.djangoproject.com/en/dev/ref/settings/#template-dirs "DIRS": [str(APPS_DIR.path("templates"))], "OPTIONS": { - # https://docs.djangoproject.com/en/dev/ref/settings/#template-debug - "debug": DEBUG, # https://docs.djangoproject.com/en/dev/ref/settings/#template-loaders # https://docs.djangoproject.com/en/dev/ref/templates/api/#loader-types "loaders": [ diff --git a/{{cookiecutter.project_slug}}/config/settings/local.py b/{{cookiecutter.project_slug}}/config/settings/local.py index 0c0588bd4..bbc9ab357 100644 --- a/{{cookiecutter.project_slug}}/config/settings/local.py +++ b/{{cookiecutter.project_slug}}/config/settings/local.py @@ -23,11 +23,6 @@ CACHES = { } } -# TEMPLATES -# ------------------------------------------------------------------------------ -# https://docs.djangoproject.com/en/dev/ref/settings/#templates -TEMPLATES[0]["OPTIONS"]["debug"] = DEBUG # noqa F405 - # EMAIL # ------------------------------------------------------------------------------ {% if cookiecutter.use_mailhog == 'y' and cookiecutter.use_docker == 'y' -%} diff --git a/{{cookiecutter.project_slug}}/config/settings/test.py b/{{cookiecutter.project_slug}}/config/settings/test.py index 2ade134a2..35e1a0109 100644 --- a/{{cookiecutter.project_slug}}/config/settings/test.py +++ b/{{cookiecutter.project_slug}}/config/settings/test.py @@ -34,8 +34,6 @@ PASSWORD_HASHERS = ["django.contrib.auth.hashers.MD5PasswordHasher"] # TEMPLATES # ------------------------------------------------------------------------------ -# https://docs.djangoproject.com/en/dev/ref/settings/#templates -TEMPLATES[0]["OPTIONS"]["debug"] = DEBUG # noqa F405 TEMPLATES[0]["OPTIONS"]["loaders"] = [ # noqa F405 ( "django.template.loaders.cached.Loader", From 7b9ed36fac0fd3062545a33f8012d359e671daf3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 22 Jun 2019 12:00:28 +0100 Subject: [PATCH 0262/2840] Update sentry-sdk from 0.9.0 to 0.9.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 39998f7a9..978a76ecc 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.9.0 # https://github.com/getsentry/sentry-python +sentry-sdk==0.9.1 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 6b45fd08e6f497dfca675c2d7bde2ff36e85969b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 24 Jun 2019 12:00:28 +0100 Subject: [PATCH 0263/2840] Update sentry-sdk from 0.9.1 to 0.9.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 978a76ecc..a36c0d221 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.9.1 # https://github.com/getsentry/sentry-python +sentry-sdk==0.9.2 # https://github.com/getsentry/sentry-python {%- endif %} # Django From e1c9f57624b17bf7717cb84e6633d08925a53daa Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 25 Jun 2019 12:00:31 +0100 Subject: [PATCH 0264/2840] Update django-model-utils from 3.1.2 to 3.2.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index f469aa928..d0ef213dd 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -21,7 +21,7 @@ flower==0.9.3 # https://github.com/mher/flower # ------------------------------------------------------------------------------ django==2.2.2 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ -django-model-utils==3.1.2 # https://github.com/jazzband/django-model-utils +django-model-utils==3.2.0 # https://github.com/jazzband/django-model-utils django-allauth==0.39.1 # https://github.com/pennersr/django-allauth django-crispy-forms==1.7.2 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} From 2f95bedc139bc594ac0a5b30022fa27af0fdf1b0 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 25 Jun 2019 12:00:34 +0100 Subject: [PATCH 0265/2840] Update mypy from 0.710 to 0.711 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 60a813636..16469b5a0 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -11,7 +11,7 @@ psycopg2-binary==2.8.3 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ -mypy==0.710 # https://github.com/python/mypy +mypy==0.711 # https://github.com/python/mypy pytest==4.6.3 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar From 784075e4d4c59adafcb1bd417360867063287bdc Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 25 Jun 2019 04:28:27 -0700 Subject: [PATCH 0266/2840] Update pytest_cases from 1.9.0 to 1.9.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 0db0861ca..5e2e27f59 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.7 # ------------------------------------------------------------------------------ tox==3.12.1 pytest==4.6.3 -pytest_cases==1.9.0 +pytest_cases==1.9.1 pytest-cookies==0.3.0 pytest-xdist==1.29.0 pyyaml==5.1.1 From 541b2f2fc0dd9c59f3b2d8ca3951efb22347f2d5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 26 Jun 2019 03:46:17 -0700 Subject: [PATCH 0267/2840] Update tox from 3.12.1 to 3.13.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5e2e27f59..c870c953b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ flake8==3.7.7 # Testing # ------------------------------------------------------------------------------ -tox==3.12.1 +tox==3.13.1 pytest==4.6.3 pytest_cases==1.9.1 pytest-cookies==0.3.0 From 64169d0a350e10ff9c0db7b6c127aadc5d0d0b16 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 26 Jun 2019 12:00:29 +0100 Subject: [PATCH 0268/2840] Update pytest_cases from 1.9.1 to 1.9.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5e2e27f59..4b12cf57d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.7 # ------------------------------------------------------------------------------ tox==3.12.1 pytest==4.6.3 -pytest_cases==1.9.1 +pytest_cases==1.9.2 pytest-cookies==0.3.0 pytest-xdist==1.29.0 pyyaml==5.1.1 From 48cfa4e5ea6ccf73d938ab525bbcba79079763cd Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 28 Jun 2019 12:00:29 +0100 Subject: [PATCH 0269/2840] Update pytest_cases from 1.9.2 to 1.9.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 2bead95cc..d232c8b7f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.7 # ------------------------------------------------------------------------------ tox==3.13.1 pytest==4.6.3 -pytest_cases==1.9.2 +pytest_cases==1.9.3 pytest-cookies==0.3.0 pytest-xdist==1.29.0 pyyaml==5.1.1 From 46f4567b958832a0f74144b327fce24895443417 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 29 Jun 2019 12:00:32 +0100 Subject: [PATCH 0270/2840] Update sentry-sdk from 0.9.2 to 0.9.5 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index a36c0d221..f5a23f933 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.9.2 # https://github.com/getsentry/sentry-python +sentry-sdk==0.9.5 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 7be0c231b778827f5e0d14861dae626976544544 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 30 Jun 2019 13:00:29 +0200 Subject: [PATCH 0271/2840] Update pytest-django from 3.5.0 to 3.5.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 16469b5a0..725c59ad7 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -32,4 +32,4 @@ factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.0 # https://github.com/jazzband/django-debug-toolbar django-extensions==2.1.9 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin -pytest-django==3.5.0 # https://github.com/pytest-dev/pytest-django +pytest-django==3.5.1 # https://github.com/pytest-dev/pytest-django From dff4693869d225a58966dab35d5902269b66de0f Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 30 Jun 2019 07:07:30 -0700 Subject: [PATCH 0272/2840] Update pytest from 4.6.3 to 5.0.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index d232c8b7f..5426efc48 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.7 # Testing # ------------------------------------------------------------------------------ tox==3.13.1 -pytest==4.6.3 +pytest==5.0.0 pytest_cases==1.9.3 pytest-cookies==0.3.0 pytest-xdist==1.29.0 From cbd3a59d4b2ab13eaf5477112f8098066389cdc5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 1 Jul 2019 13:00:29 +0200 Subject: [PATCH 0273/2840] Update django from 2.2.2 to 2.2.3 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index d0ef213dd..04ddb90d4 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -19,7 +19,7 @@ flower==0.9.3 # https://github.com/mher/flower # Django # ------------------------------------------------------------------------------ -django==2.2.2 # pyup: < 3.0 # https://www.djangoproject.com/ +django==2.2.3 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==3.2.0 # https://github.com/jazzband/django-model-utils django-allauth==0.39.1 # https://github.com/pennersr/django-allauth From 5c83f2416f06fefe21339e98e0b9ad6ab333e86c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 1 Jul 2019 13:00:32 +0200 Subject: [PATCH 0274/2840] Update pytest from 4.6.3 to 5.0.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 725c59ad7..b379825e6 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.3 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.711 # https://github.com/python/mypy -pytest==4.6.3 # https://github.com/pytest-dev/pytest +pytest==5.0.0 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From ba83326a78da44034240748357547683091ea416 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 2 Jul 2019 12:00:28 +0100 Subject: [PATCH 0275/2840] Update tox from 3.13.1 to 3.13.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5426efc48..4b4df651f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ flake8==3.7.7 # Testing # ------------------------------------------------------------------------------ -tox==3.13.1 +tox==3.13.2 pytest==5.0.0 pytest_cases==1.9.3 pytest-cookies==0.3.0 From 93930913981631a9b731c1c08d9eadc419938959 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 3 Jul 2019 12:00:28 +0100 Subject: [PATCH 0276/2840] Update pillow from 6.0.0 to 6.1.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 04ddb90d4..574a6df16 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,6 +1,6 @@ pytz==2019.1 # https://github.com/stub42/pytz python-slugify==3.0.2 # https://github.com/un33k/python-slugify -Pillow==6.0.0 # https://github.com/python-pillow/Pillow +Pillow==6.1.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin {%- endif %} From f557d26ee54560eccf3674762b571e912505bc16 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 4 Jul 2019 12:00:29 +0100 Subject: [PATCH 0277/2840] Update pytest_cases from 1.9.3 to 1.10.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 4b4df651f..49aab81dd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.7 # ------------------------------------------------------------------------------ tox==3.13.2 pytest==5.0.0 -pytest_cases==1.9.3 +pytest_cases==1.10.1 pytest-cookies==0.3.0 pytest-xdist==1.29.0 pyyaml==5.1.1 From d3e50de3b7583b036a382464a65a58981521483d Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 5 Jul 2019 12:00:28 +0100 Subject: [PATCH 0278/2840] Update pytest-cookies from 0.3.0 to 0.4.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 49aab81dd..3ee716135 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,6 +12,6 @@ flake8==3.7.7 tox==3.13.2 pytest==5.0.0 pytest_cases==1.10.1 -pytest-cookies==0.3.0 +pytest-cookies==0.4.0 pytest-xdist==1.29.0 pyyaml==5.1.1 From ed9fcb90924fa35526404797c613a96e5cc852eb Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 6 Jul 2019 12:00:29 +0100 Subject: [PATCH 0279/2840] Update pytest from 5.0.0 to 5.0.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3ee716135..501af714f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.7 # Testing # ------------------------------------------------------------------------------ tox==3.13.2 -pytest==5.0.0 +pytest==5.0.1 pytest_cases==1.10.1 pytest-cookies==0.4.0 pytest-xdist==1.29.0 From bd071be43ebf7d8b3a95cec01b39a156fa62d77d Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 6 Jul 2019 12:00:30 +0100 Subject: [PATCH 0280/2840] Update pytest from 5.0.0 to 5.0.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index b379825e6..02e9acb02 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.3 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.711 # https://github.com/python/mypy -pytest==5.0.0 # https://github.com/pytest-dev/pytest +pytest==5.0.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From 8f31052d7e647bc4e5830087e534611f9b1d1e4c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 6 Jul 2019 12:00:33 +0100 Subject: [PATCH 0281/2840] Update sentry-sdk from 0.9.5 to 0.10.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index f5a23f933..2abdba840 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.9.5 # https://github.com/getsentry/sentry-python +sentry-sdk==0.10.0 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 0026e98c1457719293ddaf46a342806927331f72 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 8 Jul 2019 12:00:29 +0100 Subject: [PATCH 0282/2840] Update django-anymail from 6.0.1 to 6.1.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 2abdba840..7c217e748 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -18,4 +18,4 @@ django-storages[boto3]==1.7.1 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} django-storages[google]==1.7.1 # https://github.com/jschneier/django-storages {%- endif %} -django-anymail[mailgun]==6.0.1 # https://github.com/anymail/django-anymail +django-anymail[mailgun]==6.1.0 # https://github.com/anymail/django-anymail From f00c1f6f70d0af23085ab7d468f54dc8b71086dc Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 8 Jul 2019 12:00:32 +0100 Subject: [PATCH 0283/2840] Update pylint-django from 2.0.9 to 2.0.10 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 02e9acb02..ec2cf2c4f 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar flake8==3.7.7 # https://github.com/PyCQA/flake8 coverage==4.5.3 # https://github.com/nedbat/coveragepy black==19.3b0 # https://github.com/ambv/black -pylint-django==2.0.9 # https://github.com/PyCQA/pylint-django +pylint-django==2.0.10 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} From f02aa463a7eeb66fb8d22d744f40e962b51e7ef9 Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Mon, 8 Jul 2019 14:14:59 +0800 Subject: [PATCH 0284/2840] Always use test settings in pytest You can alternatively use DJANGO_SETTINGS_MODULE, but this is overridden by the environment variable of the same name. In order to always run it with test settings, regardless of the environment variable use --ds. https://pytest-django.readthedocs.io/en/latest/configuring_django.html --- {{cookiecutter.project_slug}}/pytest.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/pytest.ini b/{{cookiecutter.project_slug}}/pytest.ini index 690c78f10..9fb488cbc 100644 --- a/{{cookiecutter.project_slug}}/pytest.ini +++ b/{{cookiecutter.project_slug}}/pytest.ini @@ -1,5 +1,5 @@ [pytest] -DJANGO_SETTINGS_MODULE=config.settings.test +addopts = --ds=config.settings.test {%- if cookiecutter.js_task_runner != 'None' %} norecursedirs = node_modules {%- endif %} From a25c406975ee2bcd35f2b70b3c9eacb8c69759e7 Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Tue, 9 Jul 2019 09:00:31 +0800 Subject: [PATCH 0285/2840] Remove gunicorn from installed apps I can't find the requirement of adding it to INSTALLED_APPS on the Django or the Gunicorn docs. https://docs.gunicorn.org/en/latest/run.html?highlight=django#django https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/gunicorn/ --- {{cookiecutter.project_slug}}/config/settings/production.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index d838dc4ff..214353deb 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -179,10 +179,6 @@ ANYMAIL = { "MAILGUN_API_URL": env("MAILGUN_API_URL", default="https://api.mailgun.net/v3"), } -# Gunicorn -# ------------------------------------------------------------------------------ -INSTALLED_APPS += ["gunicorn"] # noqa F405 - {% if cookiecutter.use_whitenoise == 'y' -%} # WhiteNoise # ------------------------------------------------------------------------------ From 14697391095ba211e53a22c648ad691c4eeebd67 Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Tue, 9 Jul 2019 09:07:38 +0800 Subject: [PATCH 0286/2840] Remove EMAIL_HOST & EMAIL_PORT with locmem backend These settings should not be required since Django never connects to an external component when sending email. Instead it's stored in memory. https://docs.djangoproject.com/en/2.2/topics/email/#in-memory-backend --- {{cookiecutter.project_slug}}/config/settings/test.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/test.py b/{{cookiecutter.project_slug}}/config/settings/test.py index 35e1a0109..89660a3ff 100644 --- a/{{cookiecutter.project_slug}}/config/settings/test.py +++ b/{{cookiecutter.project_slug}}/config/settings/test.py @@ -48,10 +48,6 @@ TEMPLATES[0]["OPTIONS"]["loaders"] = [ # noqa F405 # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#email-backend EMAIL_BACKEND = "django.core.mail.backends.locmem.EmailBackend" -# https://docs.djangoproject.com/en/dev/ref/settings/#email-host -EMAIL_HOST = "localhost" -# https://docs.djangoproject.com/en/dev/ref/settings/#email-port -EMAIL_PORT = 1025 # Your stuff... # ------------------------------------------------------------------------------ From 35b201a2b39402f479aa05c585334c2562afc581 Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Tue, 9 Jul 2019 09:11:50 +0800 Subject: [PATCH 0287/2840] Add EMAIL_TIMEOUT Adds EMAIL_TIMEOUT to prevent a blocking send on the tcp socket from halting the thread handling the request. --- {{cookiecutter.project_slug}}/config/settings/base.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 4ffa50218..7def8f489 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -216,6 +216,8 @@ X_FRAME_OPTIONS = "DENY" EMAIL_BACKEND = env( "DJANGO_EMAIL_BACKEND", default="django.core.mail.backends.smtp.EmailBackend" ) +# https://docs.djangoproject.com/en/2.2/ref/settings/#email-timeout +EMAIL_TIMEOUT = 5 # ADMIN # ------------------------------------------------------------------------------ From 6fa463d0a1e20fcd0df2fc287cbaf7bf0c9485c1 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 9 Jul 2019 12:00:28 +0100 Subject: [PATCH 0288/2840] Update flake8 from 3.7.7 to 3.7.8 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 501af714f..e5d371ed1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==19.3b0 -flake8==3.7.7 +flake8==3.7.8 # Testing # ------------------------------------------------------------------------------ From e0aacb328e105d519522c94aefc0c0c6c0e905c9 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 9 Jul 2019 12:00:29 +0100 Subject: [PATCH 0289/2840] Update flake8 from 3.7.7 to 3.7.8 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index ec2cf2c4f..1a91d131b 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -17,7 +17,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ -flake8==3.7.7 # https://github.com/PyCQA/flake8 +flake8==3.7.8 # https://github.com/PyCQA/flake8 coverage==4.5.3 # https://github.com/nedbat/coveragepy black==19.3b0 # https://github.com/ambv/black pylint-django==2.0.10 # https://github.com/PyCQA/pylint-django From c8b557753616f45887a5e811b0423e0b612c29e5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 10 Jul 2019 12:00:28 +0100 Subject: [PATCH 0290/2840] Update sentry-sdk from 0.10.0 to 0.10.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 7c217e748..bb95373b6 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.10.0 # https://github.com/getsentry/sentry-python +sentry-sdk==0.10.1 # https://github.com/getsentry/sentry-python {%- endif %} # Django From ec80a05671b31cd8359a0189ec96b26026278972 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jules=20Ch=C3=A9ron?= Date: Mon, 8 Jul 2019 00:35:09 +0200 Subject: [PATCH 0291/2840] Handle path with pathlib - Update config/settings/base.py - Update merge_production_dotenvs_in_dotenv.py - Update wsgi.py - Update manage.py --- CONTRIBUTORS.rst | 2 ++ .../config/settings/base.py | 22 +++++++++---------- {{cookiecutter.project_slug}}/config/wsgi.py | 7 +++--- {{cookiecutter.project_slug}}/manage.py | 5 +++-- .../merge_production_dotenvs_in_dotenv.py | 17 +++++++------- 5 files changed, 28 insertions(+), 25 deletions(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 5a650b909..d45d79e89 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -122,6 +122,7 @@ Listed in alphabetical order. Jerome Leclanche `@jleclanche`_ @Adys Jimmy Gitonga `@afrowave`_ @afrowave John Cass `@jcass77`_ @cass_john + Jules Cheron `@jules-ch`_ Julien Almarcha `@sladinji`_ Julio Castillo `@juliocc`_ Kaido Kert `@kaidokert`_ @@ -274,6 +275,7 @@ Listed in alphabetical order. .. _@jazztpt: https://github.com/jazztpt .. _@jcass77: https://github.com/jcass77 .. _@jleclanche: https://github.com/jleclanche +.. _@jules-ch: https://github.com/jules-ch .. _@juliocc: https://github.com/juliocc .. _@jvanbrug: https://github.com/jvanbrug .. _@ka7eh: https://github.com/ka7eh diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 7def8f489..67c524185 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -4,17 +4,17 @@ Base settings to build other settings files upon. import environ -ROOT_DIR = ( - environ.Path(__file__) - 3 -) # ({{ cookiecutter.project_slug }}/config/settings/base.py - 3 = {{ cookiecutter.project_slug }}/) -APPS_DIR = ROOT_DIR.path("{{ cookiecutter.project_slug }}") +from pathlib import Path +ROOT_DIR = Path(__file__).parents[2] +# {{ cookiecutter.project_slug }}/) +APPS_DIR = ROOT_DIR / "{{ cookiecutter.project_slug }}" env = environ.Env() READ_DOT_ENV_FILE = env.bool("DJANGO_READ_DOT_ENV_FILE", default=False) if READ_DOT_ENV_FILE: # OS environment variables take precedence over variables from .env - env.read_env(str(ROOT_DIR.path(".env"))) + env.read_env(str(ROOT_DIR / ".env")) # GENERAL # ------------------------------------------------------------------------------ @@ -36,7 +36,7 @@ USE_L10N = True # https://docs.djangoproject.com/en/dev/ref/settings/#use-tz USE_TZ = True # https://docs.djangoproject.com/en/dev/ref/settings/#locale-paths -LOCALE_PATHS = [ROOT_DIR.path("locale")] +LOCALE_PATHS = [str(ROOT_DIR / "locale")] # DATABASES # ------------------------------------------------------------------------------ @@ -143,11 +143,11 @@ MIDDLEWARE = [ # STATIC # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#static-root -STATIC_ROOT = str(ROOT_DIR("staticfiles")) +STATIC_ROOT = str(ROOT_DIR / "staticfiles") # https://docs.djangoproject.com/en/dev/ref/settings/#static-url STATIC_URL = "/static/" # https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#std:setting-STATICFILES_DIRS -STATICFILES_DIRS = [str(APPS_DIR.path("static"))] +STATICFILES_DIRS = [str(APPS_DIR / "static")] # https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#staticfiles-finders STATICFILES_FINDERS = [ "django.contrib.staticfiles.finders.FileSystemFinder", @@ -157,7 +157,7 @@ STATICFILES_FINDERS = [ # MEDIA # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#media-root -MEDIA_ROOT = str(APPS_DIR("media")) +MEDIA_ROOT = str(APPS_DIR / "media") # https://docs.djangoproject.com/en/dev/ref/settings/#media-url MEDIA_URL = "/media/" @@ -169,7 +169,7 @@ TEMPLATES = [ # https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-TEMPLATES-BACKEND "BACKEND": "django.template.backends.django.DjangoTemplates", # https://docs.djangoproject.com/en/dev/ref/settings/#template-dirs - "DIRS": [str(APPS_DIR.path("templates"))], + "DIRS": [str(APPS_DIR / "templates")], "OPTIONS": { # https://docs.djangoproject.com/en/dev/ref/settings/#template-loaders # https://docs.djangoproject.com/en/dev/ref/templates/api/#loader-types @@ -197,7 +197,7 @@ CRISPY_TEMPLATE_PACK = "bootstrap4" # FIXTURES # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#fixture-dirs -FIXTURE_DIRS = (str(APPS_DIR.path("fixtures")),) +FIXTURE_DIRS = (str(APPS_DIR / "fixtures"),) # SECURITY # ------------------------------------------------------------------------------ diff --git a/{{cookiecutter.project_slug}}/config/wsgi.py b/{{cookiecutter.project_slug}}/config/wsgi.py index 1899a30ca..b5755c5ce 100644 --- a/{{cookiecutter.project_slug}}/config/wsgi.py +++ b/{{cookiecutter.project_slug}}/config/wsgi.py @@ -17,13 +17,12 @@ import os import sys from django.core.wsgi import get_wsgi_application +from pathlib import Path # This allows easy placement of apps within the interior # {{ cookiecutter.project_slug }} directory. -app_path = os.path.abspath( - os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir) -) -sys.path.append(os.path.join(app_path, "{{ cookiecutter.project_slug }}")) +app_path = Path(__file__).parents[1].resolve() +sys.path.append(str(app_path / "{{ cookiecutter.project_slug }}")) # We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks # if running multiple sites in the same mod_wsgi process. To fix this, use # mod_wsgi daemon mode with each site in its own daemon process, or use diff --git a/{{cookiecutter.project_slug}}/manage.py b/{{cookiecutter.project_slug}}/manage.py index 7e9c99e04..c44cc826d 100755 --- a/{{cookiecutter.project_slug}}/manage.py +++ b/{{cookiecutter.project_slug}}/manage.py @@ -1,6 +1,7 @@ #!/usr/bin/env python import os import sys +from pathlib import Path if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local") @@ -24,7 +25,7 @@ if __name__ == "__main__": # This allows easy placement of apps within the interior # {{ cookiecutter.project_slug }} directory. - current_path = os.path.dirname(os.path.abspath(__file__)) - sys.path.append(os.path.join(current_path, "{{ cookiecutter.project_slug }}")) + current_path = Path(__file__).parent.resolve() + sys.path.append(str(current_path / "{{ cookiecutter.project_slug }}")) execute_from_command_line(sys.argv) diff --git a/{{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py b/{{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py index 4e70e2adb..b204494eb 100644 --- a/{{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py +++ b/{{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py @@ -1,15 +1,16 @@ import os from typing import Sequence +from pathlib import Path import pytest -ROOT_DIR_PATH = os.path.dirname(os.path.realpath(__file__)) -PRODUCTION_DOTENVS_DIR_PATH = os.path.join(ROOT_DIR_PATH, ".envs", ".production") +ROOT_DIR_PATH = Path(__file__).parent.resolve() +PRODUCTION_DOTENVS_DIR_PATH = ROOT_DIR_PATH.joinpath(".envs", ".production") PRODUCTION_DOTENV_FILE_PATHS = [ - os.path.join(PRODUCTION_DOTENVS_DIR_PATH, ".django"), - os.path.join(PRODUCTION_DOTENVS_DIR_PATH, ".postgres"), + PRODUCTION_DOTENVS_DIR_PATH / ".django", + PRODUCTION_DOTENVS_DIR_PATH / ".postgres", ] -DOTENV_FILE_PATH = os.path.join(ROOT_DIR_PATH, ".env") +DOTENV_FILE_PATH = ROOT_DIR_PATH / ".env" def merge( @@ -31,9 +32,9 @@ def main(): @pytest.mark.parametrize("merged_file_count", range(3)) @pytest.mark.parametrize("append_linesep", [True, False]) def test_merge(tmpdir_factory, merged_file_count: int, append_linesep: bool): - tmp_dir_path = str(tmpdir_factory.getbasetemp()) + tmp_dir_path = Path(str(tmpdir_factory.getbasetemp())) - output_file_path = os.path.join(tmp_dir_path, ".env") + output_file_path = tmp_dir_path / ".env" expected_output_file_content = "" merged_file_paths = [] @@ -41,7 +42,7 @@ def test_merge(tmpdir_factory, merged_file_count: int, append_linesep: bool): merged_file_ord = i + 1 merged_filename = ".service{}".format(merged_file_ord) - merged_file_path = os.path.join(tmp_dir_path, merged_filename) + merged_file_path = tmp_dir_path / merged_filename merged_file_content = merged_filename * merged_file_ord From 2ab85f4303bc0ac70e2c5c232c4b283c889c60ae Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 11 Jul 2019 12:00:28 +0100 Subject: [PATCH 0292/2840] Update pylint-django from 2.0.10 to 2.0.11 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 1a91d131b..0f8aaac19 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar flake8==3.7.8 # https://github.com/PyCQA/flake8 coverage==4.5.3 # https://github.com/nedbat/coveragepy black==19.3b0 # https://github.com/ambv/black -pylint-django==2.0.10 # https://github.com/PyCQA/pylint-django +pylint-django==2.0.11 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} From 3abf0fec3aef6f455baf89d4b4d9b194ac429df5 Mon Sep 17 00:00:00 2001 From: 2O4 <> Date: Thu, 11 Jul 2019 13:44:38 +0200 Subject: [PATCH 0293/2840] fixed buttons --- .../templates/account/password_reset_from_key.html | 2 +- .../templates/account/password_set.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset_from_key.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset_from_key.html index 2171144d8..671eb12c9 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset_from_key.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset_from_key.html @@ -15,7 +15,7 @@
{% csrf_token %} {{ form|crispy }} - +
{% else %}

{% trans 'Your password is now changed.' %}

diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_set.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_set.html index c98277157..563a0b185 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_set.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_set.html @@ -11,7 +11,7 @@
{% csrf_token %} {{ form|crispy }} - +
{% endblock %} {% endraw %} From 2c3ce19f4bc901a0ade4f48cc748e94c70fa2ad6 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 12 Jul 2019 11:52:32 +0100 Subject: [PATCH 0294/2840] Add 2O4 to list of contributors --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 5a650b909..725f49c99 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -42,6 +42,7 @@ Listed in alphabetical order. Name Github Twitter ========================== ============================ ============== 18 `@dezoito`_ + 2O4 `@2O4`_ a7p `@a7p`_ Aaron Eikenberry `@aeikenberry`_ Adam Bogdał `@bogdal`_ @@ -199,6 +200,7 @@ Listed in alphabetical order. ========================== ============================ ============== .. _@a7p: https://github.com/a7p +.. _@2O4: https://github.com/2O4 .. _@ad-m: https://github.com/ad-m .. _@adammsteele: https://github.com/adammsteele .. _@aeikenberry: https://github.com/aeikenberry From f2035ec617dd0a4da1c204b4b82545bd4c9172a4 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 12 Jul 2019 12:05:48 +0100 Subject: [PATCH 0295/2840] Update Changelog --- CHANGELOG.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f013aec9f..5df2d3a32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,39 @@ All enhancements and patches to Cookiecutter Django will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [2019-07-09] +### Fixed +- Always use test settings in pytest (@danihodovic) +- Remove gunicorn from `INSTALLED_APPS` (@danihodovic) +- Remove `EMAIL_HOST` and `EMAIL_PORT` with locmem backend (@danihodovic) + +### Added +- Add `EMAIL_TIMEOUT` (@danihodovic) + +## [2019-06-22] +### Fixed +- Remove redundant template debug setting (@danihodovic) + +## [2019-06-19] +### Fixed +- Fix removal carriage returns in docker scripts (@timclaessens) + +## [2019-06-15] +### Fixed +- Issue with Pycharm setup for running things in Docker compose (@foarsitter) + +## [2019-06-06] +### Changed +- Update generated Travis config (@browniebroke) + +## [2019-06-03] +### Added +- Installed `django-celery-beat` to keep scheduled tasks in DB (@keyvanm) + +## [2019-05-28] +### Changed +- Use GCP acronym rather than inconsistent GCE/GCS (@tanoabeleyra) + ## [2019-05-27] ### Changed - Made cloud provider optional (@tanoabeleyra) From 28ddd76b25e7e9937b78b7338bf19ac4be7ae1b4 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 12 Jul 2019 12:06:19 +0100 Subject: [PATCH 0296/2840] Fix missing link in contributors list --- CONTRIBUTORS.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 725f49c99..0f9feea6f 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -90,7 +90,7 @@ Listed in alphabetical order. Cullen Rhodes `@c-rhodes`_ Curtis St Pierre `@curtisstpierre`_ @cstpierre1388 Dan Shultz `@shultz`_ - Dani Hodovic `@danihodovic` + Dani Hodovic `@danihodovic`_ Daniel Hepper `@dhepper`_ @danielhepper Daniele Tricoli `@eriol`_ David Díaz `@ddiazpinto`_ @DavidDiazPinto From 80e7df010c27bef34d2e8482fd9cca000f5dc587 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 13 Jul 2019 12:00:29 +0100 Subject: [PATCH 0297/2840] Update mypy from 0.711 to 0.720 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 0f8aaac19..cfb2d28f7 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -11,7 +11,7 @@ psycopg2-binary==2.8.3 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ -mypy==0.711 # https://github.com/python/mypy +mypy==0.720 # https://github.com/python/mypy pytest==5.0.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar From e15965bd1955fc3ce2f18ef2899d5a5cb24e03bf Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 14 Jul 2019 12:00:29 +0100 Subject: [PATCH 0298/2840] Update whitenoise from 4.1.2 to 4.1.3 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 574a6df16..19ab7e209 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -6,7 +6,7 @@ rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == ' {%- endif %} argon2-cffi==19.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} -whitenoise==4.1.2 # https://github.com/evansd/whitenoise +whitenoise==4.1.3 # https://github.com/evansd/whitenoise {%- endif %} redis==3.2.1 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} From c49acc64f91dd3a77c74fc33d9f394370071cbd7 Mon Sep 17 00:00:00 2001 From: 2O4 <35725720+2O4@users.noreply.github.com> Date: Sun, 14 Jul 2019 15:22:36 +0200 Subject: [PATCH 0299/2840] Update views.py added message wich will be shown when a user update his infos --- .../{{cookiecutter.project_slug}}/users/views.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py index a24427416..db2534f1b 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py @@ -2,6 +2,8 @@ from django.contrib.auth import get_user_model from django.contrib.auth.mixins import LoginRequiredMixin from django.urls import reverse from django.views.generic import DetailView, RedirectView, UpdateView +from django.contrib import messages +from django.utils.translation import ugettext_lazy as _ User = get_user_model() @@ -27,6 +29,11 @@ class UserUpdateView(LoginRequiredMixin, UpdateView): def get_object(self): return User.objects.get(username=self.request.user.username) + def form_valid(self, form): + form.save() + messages.add_message(self.request, messages.INFO, _("Infos succefully updated")) + return super(UserUpdateView, self).form_valid(form) + user_update_view = UserUpdateView.as_view() From 3aa7181a4606426ade2e6180ac421a10ba3a31ce Mon Sep 17 00:00:00 2001 From: 2O4 <35725720+2O4@users.noreply.github.com> Date: Sun, 14 Jul 2019 15:55:50 +0200 Subject: [PATCH 0300/2840] Delete user_list.html Following on Remove user list view #2062 --- .../templates/users/user_list.html | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_list.html diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_list.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_list.html deleted file mode 100644 index c1d83251a..000000000 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_list.html +++ /dev/null @@ -1,17 +0,0 @@ -{% raw %}{% extends "base.html" %} -{% load static i18n %} -{% block title %}Members{% endblock %} - -{% block content %} -
-

Users

- -
- {% for user in user_list %} - -

{{ user.username }}

-
- {% endfor %} -
-
-{% endblock content %}{% endraw %} From 5312d9b914b8049acab116f44a2f51d9e68d6a13 Mon Sep 17 00:00:00 2001 From: 2O4 <35725720+2O4@users.noreply.github.com> Date: Sun, 14 Jul 2019 16:37:37 +0200 Subject: [PATCH 0301/2840] Added a button to close the message --- .../{{cookiecutter.project_slug}}/templates/base.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html index 9caab43aa..cba1b7cf7 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html @@ -80,7 +80,7 @@ {% if messages %} {% for message in messages %} -
{{ message }}
+
{{ message }}
{% endfor %} {% endif %} From e99d27c1273ad14898a6d7f46b411b15eb60ace0 Mon Sep 17 00:00:00 2001 From: 2O4 <35725720+2O4@users.noreply.github.com> Date: Mon, 15 Jul 2019 18:10:27 +0200 Subject: [PATCH 0302/2840] Update {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py Co-Authored-By: Bruno Alla --- .../{{cookiecutter.project_slug}}/users/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py index db2534f1b..0a00f0c6e 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py @@ -31,7 +31,7 @@ class UserUpdateView(LoginRequiredMixin, UpdateView): def form_valid(self, form): form.save() - messages.add_message(self.request, messages.INFO, _("Infos succefully updated")) + messages.add_message(self.request, messages.INFO, _("Infos successfully updated")) return super(UserUpdateView, self).form_valid(form) From 9da2a193673a064a93a57eca657ec48be9a9da13 Mon Sep 17 00:00:00 2001 From: 2O4 <35725720+2O4@users.noreply.github.com> Date: Mon, 15 Jul 2019 18:10:33 +0200 Subject: [PATCH 0303/2840] Update {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py Co-Authored-By: Bruno Alla --- .../{{cookiecutter.project_slug}}/users/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py index 0a00f0c6e..b1c94a5ed 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py @@ -32,7 +32,7 @@ class UserUpdateView(LoginRequiredMixin, UpdateView): def form_valid(self, form): form.save() messages.add_message(self.request, messages.INFO, _("Infos successfully updated")) - return super(UserUpdateView, self).form_valid(form) + return super().form_valid(form) user_update_view = UserUpdateView.as_view() From a41c841613b4f0d2ec8405a774dc7057064bd55c Mon Sep 17 00:00:00 2001 From: 2O4 <35725720+2O4@users.noreply.github.com> Date: Mon, 15 Jul 2019 18:19:07 +0200 Subject: [PATCH 0304/2840] Update views.py --- .../{{cookiecutter.project_slug}}/users/views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py index b1c94a5ed..1364568e6 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py @@ -30,7 +30,6 @@ class UserUpdateView(LoginRequiredMixin, UpdateView): return User.objects.get(username=self.request.user.username) def form_valid(self, form): - form.save() messages.add_message(self.request, messages.INFO, _("Infos successfully updated")) return super().form_valid(form) From f8b4f32c7a496e217bfc9cfe660213153a05146e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 16 Jul 2019 12:00:29 +0100 Subject: [PATCH 0305/2840] Update sentry-sdk from 0.10.1 to 0.10.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index bb95373b6..f5e5ffea0 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==0.6.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.10.1 # https://github.com/getsentry/sentry-python +sentry-sdk==0.10.2 # https://github.com/getsentry/sentry-python {%- endif %} # Django From b0cd6e40723e7870e643a00963f8b3b0b7b6daa0 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 16 Jul 2019 12:00:32 +0100 Subject: [PATCH 0306/2840] Update djangorestframework from 3.9.4 to 3.10.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 19ab7e209..9513b2238 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -30,5 +30,5 @@ django-compressor==2.3 # https://github.com/django-compressor/django-compressor django-redis==4.10.0 # https://github.com/niwinz/django-redis # Django REST Framework -djangorestframework==3.9.4 # https://github.com/encode/django-rest-framework +djangorestframework==3.10.0 # https://github.com/encode/django-rest-framework coreapi==2.3.3 # https://github.com/core-api/python-client From c0853452533aa178179c9fe622de782e9cd6a3b9 Mon Sep 17 00:00:00 2001 From: step21 Date: Wed, 17 Jul 2019 15:14:16 +0200 Subject: [PATCH 0307/2840] Rename 403_csrf.html to 403.html 403.html is the name that django expects, unless it is overriden. 403_csrf is a separate case, which according to django docs and mailing list should get a separate view/template. Fixes #2163 Docs: https://docs.djangoproject.com/en/2.1/ref/csrf/#rejected-requests Mailing list: https://groups.google.com/forum/#!msg/django-developers/O2raF0RVGA0/44-3Jz0jCwAJ Stackoverflow: https://stackoverflow.com/questions/31981239/django-custom-403-template --- .../templates/{403_csrf.html => 403.html} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/{403_csrf.html => 403.html} (100%) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/403_csrf.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/403.html similarity index 100% rename from {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/403_csrf.html rename to {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/403.html From 525739dcb5c89a1a29851f5ade0597b14f25c02d Mon Sep 17 00:00:00 2001 From: step21 Date: Wed, 17 Jul 2019 16:19:11 +0200 Subject: [PATCH 0308/2840] Update CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 0f9feea6f..a36d59a7f 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -108,6 +108,7 @@ Listed in alphabetical order. Eric Groom `@ericgroom`_ Eyad Al Sibai `@eyadsibai`_ Felipe Arruda `@arruda`_ + Florian Idelberger `@step21`_ @windrush Garry Cairns `@garry-cairns`_ Garry Polley `@garrypolley`_ Hamish Durkin `@durkode`_ From eac8ae626a632482fa901ca9c605267ae107823f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 17 Jul 2019 15:52:46 +0100 Subject: [PATCH 0309/2840] Fix broken link --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index a36d59a7f..4c3ad8a04 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -321,6 +321,7 @@ Listed in alphabetical order. .. _@sladinji: https://github.com/sladinji .. _@slafs: https://github.com/slafs .. _@ssteinerX: https://github.com/ssteinerx +.. _@step21: https://github.com/step21 .. _@stepmr: https://github.com/stepmr .. _@suledev: https://github.com/suledev .. _@takkaria: https://github.com/takkaria From 566cc3f3e4b3cc3d4d0ce86354e47657fbf880e0 Mon Sep 17 00:00:00 2001 From: 2O4 <35725720+2O4@users.noreply.github.com> Date: Wed, 17 Jul 2019 19:31:53 +0200 Subject: [PATCH 0310/2840] Update {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py Co-Authored-By: Bruno Alla --- .../{{cookiecutter.project_slug}}/users/views.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py index 1364568e6..5c0d5b5c2 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py @@ -30,7 +30,9 @@ class UserUpdateView(LoginRequiredMixin, UpdateView): return User.objects.get(username=self.request.user.username) def form_valid(self, form): - messages.add_message(self.request, messages.INFO, _("Infos successfully updated")) + messages.add_message( + self.request, messages.INFO, _("Infos successfully updated") + ) return super().form_valid(form) From fbacfa95e0eb7116f0e785207e8e704e994d535e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 18 Jul 2019 12:00:29 +0100 Subject: [PATCH 0311/2840] Update djangorestframework from 3.10.0 to 3.10.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 9513b2238..74245c5c7 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -30,5 +30,5 @@ django-compressor==2.3 # https://github.com/django-compressor/django-compressor django-redis==4.10.0 # https://github.com/niwinz/django-redis # Django REST Framework -djangorestframework==3.10.0 # https://github.com/encode/django-rest-framework +djangorestframework==3.10.1 # https://github.com/encode/django-rest-framework coreapi==2.3.3 # https://github.com/core-api/python-client From cc47ee39e9b37d4eb642c0a7643d5011600f8f09 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 20 Jul 2019 12:00:29 +0100 Subject: [PATCH 0312/2840] Update django-extensions from 2.1.9 to 2.2.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index cfb2d28f7..8ca3232fa 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -30,6 +30,6 @@ pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.0 # https://github.com/jazzband/django-debug-toolbar -django-extensions==2.1.9 # https://github.com/django-extensions/django-extensions +django-extensions==2.2.1 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.5.1 # https://github.com/pytest-dev/pytest-django From f0546612a28275f888fa684e9148a03e48ac0079 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 27 Jul 2019 13:00:29 +0200 Subject: [PATCH 0313/2840] Update ipdb from 0.12 to 0.12.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index cfb2d28f7..ef0d90af6 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,7 +1,7 @@ -r ./base.txt Werkzeug==0.14.1 # pyup: < 0.15 # https://github.com/pallets/werkzeug -ipdb==0.12 # https://github.com/gotcha/ipdb +ipdb==0.12.1 # https://github.com/gotcha/ipdb Sphinx==2.1.2 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 From 541374e27b16d8744a6b0a3d33cbc3b05e8e054f Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 28 Jul 2019 13:00:29 +0200 Subject: [PATCH 0314/2840] Update python-slugify from 3.0.2 to 3.0.3 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 9513b2238..203168656 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,5 +1,5 @@ pytz==2019.1 # https://github.com/stub42/pytz -python-slugify==3.0.2 # https://github.com/un33k/python-slugify +python-slugify==3.0.3 # https://github.com/un33k/python-slugify Pillow==6.1.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin From 3bf19e93f2067ae876f1f6f74a3cbe673e8b5dd0 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 29 Jul 2019 13:00:28 +0200 Subject: [PATCH 0315/2840] Update redis from 3.2.1 to 3.3.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 9513b2238..b3bc9c2e9 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==4.1.3 # https://github.com/evansd/whitenoise {%- endif %} -redis==3.2.1 # https://github.com/antirez/redis +redis==3.3.0 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} celery==4.3.0 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==1.5.0 # https://github.com/celery/django-celery-beat From ff182ce997de8a3174c9cb166e49bd93632872a3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 30 Jul 2019 12:00:29 +0100 Subject: [PATCH 0316/2840] Update redis from 3.3.0 to 3.3.2 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index bca54bc2e..9c99245b0 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==4.1.3 # https://github.com/evansd/whitenoise {%- endif %} -redis==3.3.0 # https://github.com/antirez/redis +redis==3.3.2 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} celery==4.3.0 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==1.5.0 # https://github.com/celery/django-celery-beat From 57ba93c69c2cbed9777154a86a8161445be8e2bb Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 30 Jul 2019 12:00:32 +0100 Subject: [PATCH 0317/2840] Update djangorestframework from 3.10.1 to 3.10.2 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index bca54bc2e..5ec1644f1 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -30,5 +30,5 @@ django-compressor==2.3 # https://github.com/django-compressor/django-compressor django-redis==4.10.0 # https://github.com/niwinz/django-redis # Django REST Framework -djangorestframework==3.10.1 # https://github.com/encode/django-rest-framework +djangorestframework==3.10.2 # https://github.com/encode/django-rest-framework coreapi==2.3.3 # https://github.com/core-api/python-client From f540784c35034306f01f1a9bb839fa5b49f3a956 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 30 Jul 2019 12:00:36 +0100 Subject: [PATCH 0318/2840] Update coverage from 4.5.3 to 4.5.4 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5bfb15360..6d95b5b1b 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -18,7 +18,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ flake8==3.7.8 # https://github.com/PyCQA/flake8 -coverage==4.5.3 # https://github.com/nedbat/coveragepy +coverage==4.5.4 # https://github.com/nedbat/coveragepy black==19.3b0 # https://github.com/ambv/black pylint-django==2.0.11 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} From 2a373ebeff4e1b346d15deeb293f8ad8cda81c0f Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 31 Jul 2019 12:00:29 +0100 Subject: [PATCH 0319/2840] Update redis from 3.3.0 to 3.3.4 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index bca54bc2e..5c3199a06 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==4.1.3 # https://github.com/evansd/whitenoise {%- endif %} -redis==3.3.0 # https://github.com/antirez/redis +redis==3.3.4 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} celery==4.3.0 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==1.5.0 # https://github.com/celery/django-celery-beat From ba05c40cfb6862c1801aa37c1916e86d869119a9 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 31 Jul 2019 12:00:32 +0100 Subject: [PATCH 0320/2840] Update ipdb from 0.12.1 to 0.12.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5bfb15360..bb8ca83dc 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,7 +1,7 @@ -r ./base.txt Werkzeug==0.14.1 # pyup: < 0.15 # https://github.com/pallets/werkzeug -ipdb==0.12.1 # https://github.com/gotcha/ipdb +ipdb==0.12.2 # https://github.com/gotcha/ipdb Sphinx==2.1.2 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 From 5e9f6f3aac856ddcaaa41964dada04235926b24a Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 31 Jul 2019 17:45:48 -0700 Subject: [PATCH 0321/2840] Update pyyaml from 5.1.1 to 5.1.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index e5d371ed1..6f4445a77 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,4 +14,4 @@ pytest==5.0.1 pytest_cases==1.10.1 pytest-cookies==0.4.0 pytest-xdist==1.29.0 -pyyaml==5.1.1 +pyyaml==5.1.2 From ffbc44a3302308a48cc1151d9429e2f1d1e4c34f Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 1 Aug 2019 12:00:30 +0100 Subject: [PATCH 0322/2840] Update pytz from 2019.1 to 2019.2 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index bca54bc2e..d2a8f7af3 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,4 +1,4 @@ -pytz==2019.1 # https://github.com/stub42/pytz +pytz==2019.2 # https://github.com/stub42/pytz python-slugify==3.0.3 # https://github.com/un33k/python-slugify Pillow==6.1.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} From b562008a6c7223b90f8454c7cc9b7d2e61d20175 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 1 Aug 2019 12:00:33 +0100 Subject: [PATCH 0323/2840] Update django from 2.2.3 to 2.2.4 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index bca54bc2e..780bee5ab 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -19,7 +19,7 @@ flower==0.9.3 # https://github.com/mher/flower # Django # ------------------------------------------------------------------------------ -django==2.2.3 # pyup: < 3.0 # https://www.djangoproject.com/ +django==2.2.4 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==3.2.0 # https://github.com/jazzband/django-model-utils django-allauth==0.39.1 # https://github.com/pennersr/django-allauth From b4349cafdc665364bd97459069930ab91c81389d Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 2 Aug 2019 12:00:29 +0100 Subject: [PATCH 0324/2840] Update pytest_cases from 1.10.1 to 1.11.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6f4445a77..003b4a1fe 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.8 # ------------------------------------------------------------------------------ tox==3.13.2 pytest==5.0.1 -pytest_cases==1.10.1 +pytest_cases==1.11.1 pytest-cookies==0.4.0 pytest-xdist==1.29.0 pyyaml==5.1.2 From 0d3fb0509e0f2fb18c6b5d18a7cc7de871d088ec Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 3 Aug 2019 12:00:29 +0100 Subject: [PATCH 0325/2840] Update redis from 3.3.4 to 3.3.5 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index a7e03a364..207236719 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==4.1.3 # https://github.com/evansd/whitenoise {%- endif %} -redis==3.3.4 # https://github.com/antirez/redis +redis==3.3.5 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} celery==4.3.0 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==1.5.0 # https://github.com/celery/django-celery-beat From 406f51ac172f5606b7f5a077b78084c0c0f9e9cc Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 7 Aug 2019 12:00:29 +0100 Subject: [PATCH 0326/2840] Update redis from 3.3.5 to 3.3.6 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 207236719..0fb72f41d 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==4.1.3 # https://github.com/evansd/whitenoise {%- endif %} -redis==3.3.5 # https://github.com/antirez/redis +redis==3.3.6 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} celery==4.3.0 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==1.5.0 # https://github.com/celery/django-celery-beat From 5a8c6c28c69fb95cd2657f44c7c3854fcb16c7e5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 13 Aug 2019 12:00:28 +0100 Subject: [PATCH 0327/2840] Update collectfast from 0.6.2 to 1.0.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index f5e5ffea0..b48de34a3 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -5,7 +5,7 @@ gunicorn==19.9.0 # https://github.com/benoitc/gunicorn psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} -Collectfast==0.6.2 # https://github.com/antonagestam/collectfast +Collectfast==1.0.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} sentry-sdk==0.10.2 # https://github.com/getsentry/sentry-python From 081accfafbc985cb38a0ce4d9a5ecbeaa64b9853 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 14 Aug 2019 12:00:29 +0100 Subject: [PATCH 0328/2840] Update redis from 3.3.6 to 3.3.7 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 0fb72f41d..631048f77 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==4.1.3 # https://github.com/evansd/whitenoise {%- endif %} -redis==3.3.6 # https://github.com/antirez/redis +redis==3.3.7 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} celery==4.3.0 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==1.5.0 # https://github.com/celery/django-celery-beat From 7594b4f03025dae5954358fa47d1e897c0157793 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 16 Aug 2019 12:00:28 +0100 Subject: [PATCH 0329/2840] Update pytest from 5.0.1 to 5.1.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 003b4a1fe..c3f21bd40 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.8 # Testing # ------------------------------------------------------------------------------ tox==3.13.2 -pytest==5.0.1 +pytest==5.1.0 pytest_cases==1.11.1 pytest-cookies==0.4.0 pytest-xdist==1.29.0 From cc0ff897b247461cd31952c181b211e2682da938 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 16 Aug 2019 12:00:29 +0100 Subject: [PATCH 0330/2840] Update pytest from 5.0.1 to 5.1.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 17c47bb27..85328c039 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.3 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.720 # https://github.com/python/mypy -pytest==5.0.1 # https://github.com/pytest-dev/pytest +pytest==5.1.0 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From c1fb6e078b969893f265f641264fc1e6e19227f6 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 17 Aug 2019 13:00:31 +0200 Subject: [PATCH 0331/2840] Update sentry-sdk from 0.10.2 to 0.11.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index b48de34a3..c21fb992c 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==1.0.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.10.2 # https://github.com/getsentry/sentry-python +sentry-sdk==0.11.0 # https://github.com/getsentry/sentry-python {%- endif %} # Django From b42d000b56ce5a87092ba8c56d3b397ea693e0a2 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 19 Aug 2019 13:00:34 +0200 Subject: [PATCH 0332/2840] Update sphinx from 2.1.2 to 2.2.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 85328c039..03441394f 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==0.14.1 # pyup: < 0.15 # https://github.com/pallets/werkzeug ipdb==0.12.2 # https://github.com/gotcha/ipdb -Sphinx==2.1.2 # https://github.com/sphinx-doc/sphinx +Sphinx==2.2.0 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From 5ddadc0afac5c25fe54132e1130d7c97b70da3b0 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 20 Aug 2019 13:00:29 +0200 Subject: [PATCH 0333/2840] Update sentry-sdk from 0.11.0 to 0.11.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index c21fb992c..eadd410d0 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==1.0.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.11.0 # https://github.com/getsentry/sentry-python +sentry-sdk==0.11.1 # https://github.com/getsentry/sentry-python {%- endif %} # Django From ac294b8515e17f1d07b15e5172318bf5411d0e51 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 20 Aug 2019 13:00:32 +0200 Subject: [PATCH 0334/2840] Update redis from 3.3.7 to 3.3.8 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 631048f77..f5c4f3384 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==4.1.3 # https://github.com/evansd/whitenoise {%- endif %} -redis==3.3.7 # https://github.com/antirez/redis +redis==3.3.8 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} celery==4.3.0 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==1.5.0 # https://github.com/celery/django-celery-beat From e82a7d0fb29044b93601d8357e95af3822987fd3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 21 Aug 2019 13:00:29 +0200 Subject: [PATCH 0335/2840] Update pytest from 5.1.0 to 5.1.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index c3f21bd40..2f85a7009 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.8 # Testing # ------------------------------------------------------------------------------ tox==3.13.2 -pytest==5.1.0 +pytest==5.1.1 pytest_cases==1.11.1 pytest-cookies==0.4.0 pytest-xdist==1.29.0 From 72b222d52dd01bdd639467806a79f0fba8fc3020 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 21 Aug 2019 13:00:30 +0200 Subject: [PATCH 0336/2840] Update pytest from 5.1.0 to 5.1.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 03441394f..0a4175756 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.3 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.720 # https://github.com/python/mypy -pytest==5.1.0 # https://github.com/pytest-dev/pytest +pytest==5.1.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From 7ad879193782c2933722dfbcb3ea273a88aa62f1 Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Wed, 21 Aug 2019 17:28:55 +0200 Subject: [PATCH 0337/2840] Remove EMAIL_HOST, EMAIL_PORT for console backend django.core.mail.backends.console.EmailBackend is an in memory backend so EMAIL_HOST and EMAIL_PORT does not need to be specified in this case. --- {{cookiecutter.project_slug}}/config/settings/local.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/local.py b/{{cookiecutter.project_slug}}/config/settings/local.py index bbc9ab357..2ab0a7cb4 100644 --- a/{{cookiecutter.project_slug}}/config/settings/local.py +++ b/{{cookiecutter.project_slug}}/config/settings/local.py @@ -28,19 +28,19 @@ CACHES = { {% if cookiecutter.use_mailhog == 'y' and cookiecutter.use_docker == 'y' -%} # https://docs.djangoproject.com/en/dev/ref/settings/#email-host EMAIL_HOST = env("EMAIL_HOST", default="mailhog") +# https://docs.djangoproject.com/en/dev/ref/settings/#email-port +EMAIL_PORT = 1025 {%- elif cookiecutter.use_mailhog == 'y' and cookiecutter.use_docker == 'n' -%} # https://docs.djangoproject.com/en/dev/ref/settings/#email-host EMAIL_HOST = "localhost" +# https://docs.djangoproject.com/en/dev/ref/settings/#email-port +EMAIL_PORT = 1025 {%- else -%} # https://docs.djangoproject.com/en/dev/ref/settings/#email-backend EMAIL_BACKEND = env( "DJANGO_EMAIL_BACKEND", default="django.core.mail.backends.console.EmailBackend" ) -# https://docs.djangoproject.com/en/dev/ref/settings/#email-host -EMAIL_HOST = "localhost" {%- endif %} -# https://docs.djangoproject.com/en/dev/ref/settings/#email-port -EMAIL_PORT = 1025 # django-debug-toolbar # ------------------------------------------------------------------------------ From d4d8f1b5be114ce840ac863c4fdd725ebd436261 Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Sun, 25 Aug 2019 14:08:28 +0200 Subject: [PATCH 0338/2840] Remove AWS_PRELOAD_METADATA https://github.com/antonagestam/collectfast/pull/140 --- {{cookiecutter.project_slug}}/config/settings/production.py | 1 - 1 file changed, 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 214353deb..e37411653 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -201,7 +201,6 @@ COMPRESS_URL = STATIC_URL{% if cookiecutter.use_whitenoise == 'y' or cookiecutte # ------------------------------------------------------------------------------ # https://github.com/antonagestam/collectfast#installation INSTALLED_APPS = ["collectfast"] + INSTALLED_APPS # noqa F405 -AWS_PRELOAD_METADATA = True {% endif %} # LOGGING # ------------------------------------------------------------------------------ From 180ab9bbb192fc0e648c67e52f3d7701792b552f Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Mon, 26 Aug 2019 16:25:36 +0200 Subject: [PATCH 0339/2840] Remove redundant DEBUG = False in test.py This is already set to False by default in base.py --- {{cookiecutter.project_slug}}/config/settings/test.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/test.py b/{{cookiecutter.project_slug}}/config/settings/test.py index 89660a3ff..fad41afdd 100644 --- a/{{cookiecutter.project_slug}}/config/settings/test.py +++ b/{{cookiecutter.project_slug}}/config/settings/test.py @@ -7,8 +7,6 @@ from .base import env # GENERAL # ------------------------------------------------------------------------------ -# https://docs.djangoproject.com/en/dev/ref/settings/#debug -DEBUG = False # https://docs.djangoproject.com/en/dev/ref/settings/#secret-key SECRET_KEY = env( "DJANGO_SECRET_KEY", From 58a2262190a2025065ddedd09141a54883ac52b9 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 30 Aug 2019 13:00:28 +0200 Subject: [PATCH 0340/2840] Update django-allauth from 0.39.1 to 0.40.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index f5c4f3384..be85fb2ee 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -22,7 +22,7 @@ flower==0.9.3 # https://github.com/mher/flower django==2.2.4 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==3.2.0 # https://github.com/jazzband/django-model-utils -django-allauth==0.39.1 # https://github.com/pennersr/django-allauth +django-allauth==0.40.0 # https://github.com/pennersr/django-allauth django-crispy-forms==1.7.2 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.3 # https://github.com/django-compressor/django-compressor From c0554db343ed79197422a27e3d7da82fe20966c9 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 31 Aug 2019 13:00:33 +0200 Subject: [PATCH 0341/2840] Update sentry-sdk from 0.11.1 to 0.11.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index eadd410d0..1714398f4 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==1.0.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.11.1 # https://github.com/getsentry/sentry-python +sentry-sdk==0.11.2 # https://github.com/getsentry/sentry-python {%- endif %} # Django From df36bf1f550a95103def6b667f5de893867fc0db Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 2 Sep 2019 12:00:29 +0100 Subject: [PATCH 0342/2840] Update django from 2.2.4 to 2.2.5 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index f5c4f3384..170a888f4 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -19,7 +19,7 @@ flower==0.9.3 # https://github.com/mher/flower # Django # ------------------------------------------------------------------------------ -django==2.2.4 # pyup: < 3.0 # https://www.djangoproject.com/ +django==2.2.5 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==3.2.0 # https://github.com/jazzband/django-model-utils django-allauth==0.39.1 # https://github.com/pennersr/django-allauth From 7fd095a926f9768ecdd11732ff17156e55345248 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 3 Sep 2019 21:17:42 -0700 Subject: [PATCH 0343/2840] Update tox from 3.13.2 to 3.14.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 2f85a7009..b9cff3034 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ flake8==3.7.8 # Testing # ------------------------------------------------------------------------------ -tox==3.13.2 +tox==3.14.0 pytest==5.1.1 pytest_cases==1.11.1 pytest-cookies==0.4.0 From c6bd37adcc51f2c22cb06bf8d504163da01fc803 Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Wed, 4 Sep 2019 15:58:20 +0200 Subject: [PATCH 0344/2840] Add default tests.py file pattern to pytest `./manage.py startapp` generates a tests.py file by default. This is ignored by pytest unless specified. --- {{cookiecutter.project_slug}}/pytest.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/pytest.ini b/{{cookiecutter.project_slug}}/pytest.ini index 9fb488cbc..52b48ab03 100644 --- a/{{cookiecutter.project_slug}}/pytest.ini +++ b/{{cookiecutter.project_slug}}/pytest.ini @@ -1,5 +1,6 @@ [pytest] addopts = --ds=config.settings.test +python_files = tests.py test_*.py {%- if cookiecutter.js_task_runner != 'None' %} norecursedirs = node_modules {%- endif %} From 1c98ff011b212ad385699fe5d437bac41f130a0b Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 4 Sep 2019 11:05:03 -0700 Subject: [PATCH 0345/2840] Update pytest from 5.1.1 to 5.1.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index b9cff3034..4e265809c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.8 # Testing # ------------------------------------------------------------------------------ tox==3.14.0 -pytest==5.1.1 +pytest==5.1.2 pytest_cases==1.11.1 pytest-cookies==0.4.0 pytest-xdist==1.29.0 From f1a04205e70bf7a4bbe14968839207ad05a7edcf Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 4 Sep 2019 19:08:56 +0100 Subject: [PATCH 0346/2840] Update pytest from 5.1.1 to 5.1.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 0a4175756..c1df0b84b 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.3 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.720 # https://github.com/python/mypy -pytest==5.1.1 # https://github.com/pytest-dev/pytest +pytest==5.1.2 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From c29795b1dc7e2d125bf07b027b88a2d853fb9966 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 5 Sep 2019 13:00:31 +0200 Subject: [PATCH 0347/2840] Update djangorestframework from 3.10.2 to 3.10.3 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 3fe638e69..24198e557 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -30,5 +30,5 @@ django-compressor==2.3 # https://github.com/django-compressor/django-compressor django-redis==4.10.0 # https://github.com/niwinz/django-redis # Django REST Framework -djangorestframework==3.10.2 # https://github.com/encode/django-rest-framework +djangorestframework==3.10.3 # https://github.com/encode/django-rest-framework coreapi==2.3.3 # https://github.com/core-api/python-client From 69566f54561cd5f7d0f7954a0423d4ad759337d6 Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Thu, 22 Aug 2019 14:57:00 +0200 Subject: [PATCH 0348/2840] Add context processor for settings variables This allows for usage of settings variables in templates, e.g ``` {% if settings.USE_ANALYTICS %} {% endif %} ``` --- {{cookiecutter.project_slug}}/config/settings/base.py | 1 + .../{{cookiecutter.project_slug}}/utils/__init__.py | 0 .../utils/context_processors.py | 5 +++++ 3 files changed, 6 insertions(+) create mode 100644 {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/__init__.py create mode 100644 {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/context_processors.py diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 7def8f489..41f0f46cf 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -187,6 +187,7 @@ TEMPLATES = [ "django.template.context_processors.static", "django.template.context_processors.tz", "django.contrib.messages.context_processors.messages", + "{{ cookiecutter.project_slug }}.utils.context_processors.settings_context", ], }, } diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/__init__.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/context_processors.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/context_processors.py new file mode 100644 index 000000000..de405076f --- /dev/null +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/context_processors.py @@ -0,0 +1,5 @@ +from django.conf import settings + + +def settings_context(_request): + return {"settings": settings} From fb3d4ff25ceb4bb01f0fdb4f40d739435962097d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 5 Sep 2019 08:35:31 -0700 Subject: [PATCH 0349/2840] Update pytest_cases from 1.11.1 to 1.11.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index b9cff3034..c76528992 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.8 # ------------------------------------------------------------------------------ tox==3.14.0 pytest==5.1.1 -pytest_cases==1.11.1 +pytest_cases==1.11.2 pytest-cookies==0.4.0 pytest-xdist==1.29.0 pyyaml==5.1.2 From e5f9dd2c783a6ec63d7b606e8b5cb6b9d3c0eb3c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 8 Sep 2019 13:00:29 +0200 Subject: [PATCH 0350/2840] Update django-anymail from 6.1.0 to 7.0.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 1714398f4..1863a493b 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -18,4 +18,4 @@ django-storages[boto3]==1.7.1 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} django-storages[google]==1.7.1 # https://github.com/jschneier/django-storages {%- endif %} -django-anymail[mailgun]==6.1.0 # https://github.com/anymail/django-anymail +django-anymail[mailgun]==7.0.0 # https://github.com/anymail/django-anymail From db777571c457a92d85cbe08d2de12b06f3fede30 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 10 Sep 2019 13:00:29 +0200 Subject: [PATCH 0351/2840] Update django-storages from 1.7.1 to 1.7.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 1714398f4..379281ab8 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -14,7 +14,7 @@ sentry-sdk==0.11.2 # https://github.com/getsentry/sentry-python # Django # ------------------------------------------------------------------------------ {%- if cookiecutter.cloud_provider == 'AWS' %} -django-storages[boto3]==1.7.1 # https://github.com/jschneier/django-storages +django-storages[boto3]==1.7.2 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} django-storages[google]==1.7.1 # https://github.com/jschneier/django-storages {%- endif %} From fab5bf8a040b9d3467581bfadbb1eee4f97bcf56 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 10 Sep 2019 13:00:30 +0200 Subject: [PATCH 0352/2840] Update django-storages from 1.7.1 to 1.7.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 379281ab8..5b1387e29 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -16,6 +16,6 @@ sentry-sdk==0.11.2 # https://github.com/getsentry/sentry-python {%- if cookiecutter.cloud_provider == 'AWS' %} django-storages[boto3]==1.7.2 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} -django-storages[google]==1.7.1 # https://github.com/jschneier/django-storages +django-storages[google]==1.7.2 # https://github.com/jschneier/django-storages {%- endif %} django-anymail[mailgun]==6.1.0 # https://github.com/anymail/django-anymail From 548417612fb98ed8d23253ac7dd29ce96f47a64a Mon Sep 17 00:00:00 2001 From: Jerome Caisip Date: Fri, 13 Sep 2019 14:43:12 +0800 Subject: [PATCH 0353/2840] Additonal option to setup DRF. --- CONTRIBUTORS.rst | 2 ++ cookiecutter.json | 1 + hooks/post_gen_project.py | 8 +++++++ .../config/api_router.py | 14 +++++++++++ .../config/settings/base.py | 16 +++++++++++-- {{cookiecutter.project_slug}}/config/urls.py | 11 +++++++++ .../users/api/serializers.py | 12 ++++++++++ .../users/api/views.py | 24 +++++++++++++++++++ 8 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 {{cookiecutter.project_slug}}/config/api_router.py create mode 100644 {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py create mode 100644 {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 4c3ad8a04..f1981cbd2 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -120,6 +120,7 @@ Listed in alphabetical order. Irfan Ahmad `@erfaan`_ @erfaan Jan Van Bruggen `@jvanbrug`_ Jelmer Draaijer `@foarsitter`_ + Jerome Caisip `@jeromecaisip`_ Jens Nilsson `@phiberjenz`_ Jerome Leclanche `@jleclanche`_ @Adys Jimmy Gitonga `@afrowave`_ @afrowave @@ -276,6 +277,7 @@ Listed in alphabetical order. .. _@jangeador: https://github.com/jangeador .. _@jazztpt: https://github.com/jazztpt .. _@jcass77: https://github.com/jcass77 +.. _@jeromecaisip: https://github.com/jeromecaisip .. _@jleclanche: https://github.com/jleclanche .. _@juliocc: https://github.com/juliocc .. _@jvanbrug: https://github.com/jvanbrug diff --git a/cookiecutter.json b/cookiecutter.json index d6d217ca4..5e70bedb0 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -33,6 +33,7 @@ "GCP", "None" ], + "use_drf": "n", "custom_bootstrap_compilation": "n", "use_compressor": "n", "use_celery": "n", diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index ff84f1806..42d5dcee0 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -279,6 +279,11 @@ def remove_node_dockerfile(): shutil.rmtree(os.path.join("compose", "local", "node")) +def remove_drf_starter_files(): + os.remove(os.path.join("config", "api_router.py")) + shutil.rmtree(os.path.join("{{cookiecutter.project_slug}}", "users", "api")) + + def main(): debug = "{{ cookiecutter.debug }}".lower() == "y" @@ -342,6 +347,9 @@ def main(): if "{{ cookiecutter.use_travisci }}".lower() == "n": remove_dottravisyml_file() + if "{{ cookiecutter.use_drf }}".lower() == "n": + remove_drf_starter_files() + print(SUCCESS + "Project initialized, keep up the good work!" + TERMINATOR) diff --git a/{{cookiecutter.project_slug}}/config/api_router.py b/{{cookiecutter.project_slug}}/config/api_router.py new file mode 100644 index 000000000..fc8107b44 --- /dev/null +++ b/{{cookiecutter.project_slug}}/config/api_router.py @@ -0,0 +1,14 @@ +from rest_framework.routers import DefaultRouter, SimpleRouter +from django.conf import settings +from {{ cookiecutter.project_slug }}.users.api.views import UserViewSet + +if settings.DEBUG: + router = DefaultRouter() +else: + router = SimpleRouter() + +router.register('users', UserViewSet) + + +app_name = 'api' +urlpatterns = router.urls diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 41f0f46cf..a6081950e 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -292,14 +292,26 @@ ACCOUNT_EMAIL_VERIFICATION = "mandatory" ACCOUNT_ADAPTER = "{{cookiecutter.project_slug}}.users.adapters.AccountAdapter" # https://django-allauth.readthedocs.io/en/latest/configuration.html SOCIALACCOUNT_ADAPTER = "{{cookiecutter.project_slug}}.users.adapters.SocialAccountAdapter" - {% if cookiecutter.use_compressor == 'y' -%} # django-compressor # ------------------------------------------------------------------------------ # https://django-compressor.readthedocs.io/en/latest/quickstart/#installation INSTALLED_APPS += ["compressor"] STATICFILES_FINDERS += ["compressor.finders.CompressorFinder"] - +{%- endif %} +{% if cookiecutter.use_drf == "y" -%} +# django-reset-framework +# ------------------------------------------------------------------------------- +# django-rest-framework - https://www.django-rest-framework.org/api-guide/settings/ +REST_FRAMEWORK = { + 'DEFAULT_AUTHENTICATION_CLASSES': ( + 'rest_framework.authentication.SessionAuthentication', + 'rest_framework.authentication.TokenAuthentication', + ), + 'DEFAULT_PERMISSION_CLASSES': ( + 'rest_framework.permissions.IsAuthenticated', + ) +} {%- endif %} # Your stuff... # ------------------------------------------------------------------------------ diff --git a/{{cookiecutter.project_slug}}/config/urls.py b/{{cookiecutter.project_slug}}/config/urls.py index 909d5e86e..5382bdb7c 100644 --- a/{{cookiecutter.project_slug}}/config/urls.py +++ b/{{cookiecutter.project_slug}}/config/urls.py @@ -4,6 +4,9 @@ from django.conf.urls.static import static from django.contrib import admin from django.views.generic import TemplateView from django.views import defaults as default_views +{% if cookiecutter.use_drf == 'y' -%} +from rest_framework.authtoken.views import obtain_auth_token +{%- endif %} urlpatterns = [ path("", TemplateView.as_view(template_name="pages/home.html"), name="home"), @@ -17,6 +20,14 @@ urlpatterns = [ path("accounts/", include("allauth.urls")), # Your stuff: custom urls includes go here ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) +{% if cookiecutter.use_drf == 'y' -%} +# API URLS +urlpatterns += [ + # API base url + path("api/", include('config.api_router')), + # DRF auth token + path("auth-token/", obtain_auth_token)] +{%- endif %} if settings.DEBUG: # This allows the error pages to be debugged during development, just visit diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py new file mode 100644 index 000000000..8fc2262ec --- /dev/null +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py @@ -0,0 +1,12 @@ +from rest_framework import serializers +from {{ cookiecutter.project_slug }}.users.models import User + +class UserSerializer(serializers.ModelSerializer): + class Meta: + model = User + fields = ['username', 'email', 'name', 'url'] + + extra_kwargs = { + 'url': {'view_name': 'api:user-detail', 'lookup_field': 'username'} + } + diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py new file mode 100644 index 000000000..440cc9b24 --- /dev/null +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py @@ -0,0 +1,24 @@ +from django.contrib.auth import get_user_model +from rest_framework import status +from rest_framework.decorators import action +from rest_framework.mixins import RetrieveModelMixin, ListModelMixin, UpdateModelMixin +from rest_framework.response import Response +from rest_framework.viewsets import GenericViewSet + + +from .serializers import UserSerializer +User = get_user_model() + + +class UserViewSet(RetrieveModelMixin, ListModelMixin, UpdateModelMixin, GenericViewSet): + serializer_class = UserSerializer + queryset = User.objects.all() + lookup_field = 'username' + + def get_queryset(self, *args, **kwargs): + return self.queryset.filter(id=self.request.user.id) + + @action(detail=False, methods=['GET']) + def me(self, request): + serializer = UserSerializer(request.user, context={'request': request}) + return Response(status=status.HTTP_200_OK, data=serializer.data) From f8963e0dd3935ebaff8614c4bde2af04f8e208c0 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 19 Sep 2019 12:00:30 +0100 Subject: [PATCH 0354/2840] Update sentry-sdk from 0.11.2 to 0.12.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 5b1387e29..a602a7007 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==1.0.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.11.2 # https://github.com/getsentry/sentry-python +sentry-sdk==0.12.0 # https://github.com/getsentry/sentry-python {%- endif %} # Django From ce3547e890459323d9fbfd3c7c9a4b5e3331b1e2 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 21 Sep 2019 12:00:30 +0100 Subject: [PATCH 0355/2840] Update sentry-sdk from 0.12.0 to 0.12.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index a602a7007..6dd363714 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==1.0.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.12.0 # https://github.com/getsentry/sentry-python +sentry-sdk==0.12.2 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 02689f67e74c5117933174b374b4f6b02f91c80d Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 21 Sep 2019 12:00:33 +0100 Subject: [PATCH 0356/2840] Update python-slugify from 3.0.3 to 3.0.4 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 24198e557..ae16b0e8d 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,5 +1,5 @@ pytz==2019.2 # https://github.com/stub42/pytz -python-slugify==3.0.3 # https://github.com/un33k/python-slugify +python-slugify==3.0.4 # https://github.com/un33k/python-slugify Pillow==6.1.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin From 26ecff778e5bb61e52fb58bff6a745e381e8dae9 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 22 Sep 2019 00:50:31 -0700 Subject: [PATCH 0357/2840] Update pytest from 5.1.2 to 5.1.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index f4d12375d..a4eb4a533 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.8 # Testing # ------------------------------------------------------------------------------ tox==3.14.0 -pytest==5.1.2 +pytest==5.1.3 pytest_cases==1.11.2 pytest-cookies==0.4.0 pytest-xdist==1.29.0 From aa573427948b4cd25c9db74174953fc48b88f732 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 23 Sep 2019 12:00:28 +0100 Subject: [PATCH 0358/2840] Update pytest from 5.1.2 to 5.1.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index c1df0b84b..2b221294a 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.3 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.720 # https://github.com/python/mypy -pytest==5.1.2 # https://github.com/pytest-dev/pytest +pytest==5.1.3 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From e924a55d7875ea992104b0440f2eda6c725bcb37 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 25 Sep 2019 12:00:29 +0100 Subject: [PATCH 0359/2840] Update whitenoise from 4.1.3 to 4.1.4 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index ae16b0e8d..e2871f71d 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -6,7 +6,7 @@ rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == ' {%- endif %} argon2-cffi==19.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} -whitenoise==4.1.3 # https://github.com/evansd/whitenoise +whitenoise==4.1.4 # https://github.com/evansd/whitenoise {%- endif %} redis==3.3.8 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} From 9e5343dd31d64e3eea45e1d19dc944fe7f29cb8c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 27 Sep 2019 12:00:30 +0100 Subject: [PATCH 0360/2840] Update mypy from 0.720 to 0.730 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 2b221294a..a96d64b40 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -11,7 +11,7 @@ psycopg2-binary==2.8.3 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ -mypy==0.720 # https://github.com/python/mypy +mypy==0.730 # https://github.com/python/mypy pytest==5.1.3 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar From 7d0f8606edadc082b5f49e5c50af823a80e8b246 Mon Sep 17 00:00:00 2001 From: Nicolas Stefani Date: Sun, 29 Sep 2019 09:41:13 -0300 Subject: [PATCH 0361/2840] Update python image to 3.7 --- {{cookiecutter.project_slug}}/compose/local/django/Dockerfile | 2 +- .../compose/production/django/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index 679378223..a98547bdd 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.6-alpine +FROM python:3.7-alpine ENV PYTHONUNBUFFERED 1 diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index 37f66ec78..b0861d605 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -9,7 +9,7 @@ RUN npm run build # Python build stage {%- endif %} -FROM python:3.6-alpine +FROM python:3.7-alpine ENV PYTHONUNBUFFERED 1 From 1f68e370eef449e0419a425fa4adbd5869a17513 Mon Sep 17 00:00:00 2001 From: Nicolas Stefani Date: Sun, 29 Sep 2019 21:04:21 -0300 Subject: [PATCH 0362/2840] Updated python version to 3.7 --- .travis.yml | 4 ++-- tox.ini | 2 +- {{cookiecutter.project_slug}}/.travis.yml | 2 +- {{cookiecutter.project_slug}}/runtime.txt | 2 +- {{cookiecutter.project_slug}}/setup.cfg | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index c2bcdf42c..925d82e7b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: language: python -python: 3.6 +python: 3.7 before_install: - docker-compose -v @@ -14,7 +14,7 @@ before_install: matrix: include: - name: Test results - script: tox -e py36 + script: tox -e py37 - name: Run flake8 on result script: tox -e flake8 - name: Run black on result diff --git a/tox.ini b/tox.ini index 7ee939158..1c83465cc 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] skipsdist = true -envlist = py36,flake8,black,black-template +envlist = py37,flake8,black,black-template [testenv] deps = -rrequirements.txt diff --git a/{{cookiecutter.project_slug}}/.travis.yml b/{{cookiecutter.project_slug}}/.travis.yml index 2d86ac31c..31695e419 100644 --- a/{{cookiecutter.project_slug}}/.travis.yml +++ b/{{cookiecutter.project_slug}}/.travis.yml @@ -10,7 +10,7 @@ before_install: - sudo apt-get install -qq libsqlite3-dev libxml2 libxml2-dev libssl-dev libbz2-dev wget curl llvm language: python python: - - "3.6" + - "3.7" install: - pip install -r requirements/local.txt script: diff --git a/{{cookiecutter.project_slug}}/runtime.txt b/{{cookiecutter.project_slug}}/runtime.txt index 9fbd3bf0a..6f651a3b1 100644 --- a/{{cookiecutter.project_slug}}/runtime.txt +++ b/{{cookiecutter.project_slug}}/runtime.txt @@ -1 +1 @@ -python-3.6.8 +python-3.7.3 diff --git a/{{cookiecutter.project_slug}}/setup.cfg b/{{cookiecutter.project_slug}}/setup.cfg index c2139f1db..42b638616 100644 --- a/{{cookiecutter.project_slug}}/setup.cfg +++ b/{{cookiecutter.project_slug}}/setup.cfg @@ -7,7 +7,7 @@ max-line-length = 120 exclude = .tox,.git,*/migrations/*,*/static/CACHE/*,docs,node_modules [mypy] -python_version = 3.6 +python_version = 3.7 check_untyped_defs = True ignore_errors = False ignore_missing_imports = True From ea52a0be251e17b838f0b1f686ae8f578a70b6f6 Mon Sep 17 00:00:00 2001 From: Nicolas Stefani Date: Sun, 29 Sep 2019 21:46:34 -0300 Subject: [PATCH 0363/2840] Updated python version in warning message --- hooks/pre_gen_project.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hooks/pre_gen_project.py b/hooks/pre_gen_project.py index 91332f144..5cda07b67 100644 --- a/hooks/pre_gen_project.py +++ b/hooks/pre_gen_project.py @@ -35,7 +35,7 @@ if "{{ cookiecutter.use_docker }}".lower() == "n": if python_major_version == 2: print( WARNING + "You're running cookiecutter under Python 2, but the generated " - "project requires Python 3.6+. Do you want to proceed (y/n)? " + TERMINATOR + "project requires Python 3.7+. Do you want to proceed (y/n)? " + TERMINATOR ) yes_options, no_options = frozenset(["y"]), frozenset(["n"]) while True: From 02a092876f0b6e83ddeec43b3987afc1b16da549 Mon Sep 17 00:00:00 2001 From: Nicolas Stefani Date: Sun, 29 Sep 2019 21:47:33 -0300 Subject: [PATCH 0364/2840] Updated python version in classifiers --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 46c84b712..330320096 100644 --- a/setup.py +++ b/setup.py @@ -40,7 +40,7 @@ setup( "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development", ], From acb72cb84cbc4f208ae39882dcb329d3b88fc8ec Mon Sep 17 00:00:00 2001 From: Nicolas Stefani Date: Sun, 29 Sep 2019 21:48:04 -0300 Subject: [PATCH 0365/2840] Updated docs --- CONTRIBUTING.rst | 4 ++-- README.rst | 2 +- docs/deployment-on-pythonanywhere.rst | 2 +- docs/developing-locally.rst | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index cfe16740d..cb59ae5f3 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -39,9 +39,9 @@ To run all tests using various versions of python in virtualenvs defined in tox. It is possible to test with a specific version of python. To do this, the command is:: - $ tox -e py36 + $ tox -e py37 -This will run py.test with the python3.6 interpreter, for example. +This will run py.test with the python3.7 interpreter, for example. To run a particular test with tox for against your current Python version:: diff --git a/README.rst b/README.rst index 30a3a2db4..e4f47351a 100644 --- a/README.rst +++ b/README.rst @@ -37,7 +37,7 @@ Features --------- * For Django 2.2 -* Works with Python 3.6 +* Works with Python 3.7 * Renders Django projects with 100% starting test coverage * Twitter Bootstrap_ v4 (`maintained Foundation fork`_ also available) * 12-Factor_ based settings via django-environ_ diff --git a/docs/deployment-on-pythonanywhere.rst b/docs/deployment-on-pythonanywhere.rst index 83b23b27a..4738d5a55 100644 --- a/docs/deployment-on-pythonanywhere.rst +++ b/docs/deployment-on-pythonanywhere.rst @@ -35,7 +35,7 @@ Make sure your project is fully committed and pushed up to Bitbucket or Github o git clone # you can also use hg cd my-project-name - mkvirtualenv --python=/usr/bin/python3.6 my-project-name + mkvirtualenv --python=/usr/bin/python3.7 my-project-name pip install -r requirements/production.txt # may take a few minutes diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst index 8694dde7a..fdab5a900 100644 --- a/docs/developing-locally.rst +++ b/docs/developing-locally.rst @@ -9,7 +9,7 @@ Setting Up Development Environment Make sure to have the following on your host: -* Python 3.6 +* Python 3.7 * PostgreSQL_. * Redis_, if using Celery @@ -17,7 +17,7 @@ First things first. #. Create a virtualenv: :: - $ python3.6 -m venv + $ python3.7 -m venv #. Activate the virtualenv you have just created: :: From 51bf90cdcaf64d1e981b721e8338434f6cec990f Mon Sep 17 00:00:00 2001 From: Nicolas Stefani Date: Sun, 29 Sep 2019 22:17:06 -0300 Subject: [PATCH 0366/2840] add name to contributors --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 4c3ad8a04..673724910 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -158,6 +158,7 @@ Listed in alphabetical order. Michael Gecht `@mimischi`_ @_mischi Min ho Kim `@minho42`_ mozillazg `@mozillazg`_ + Nico Stefani `@nicolas471`_ @moby_dick91 Oleg Russkin `@rolep`_ Pablo `@oubiga`_ Parbhat Puri `@parbhat`_ From d6b0bf8bb08769fb9cdf2e1d0a4b2a4a9a76de5c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 30 Sep 2019 00:04:00 -0700 Subject: [PATCH 0367/2840] Update pytest from 5.1.3 to 5.2.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index a4eb4a533..27787f52c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.8 # Testing # ------------------------------------------------------------------------------ tox==3.14.0 -pytest==5.1.3 +pytest==5.2.0 pytest_cases==1.11.2 pytest-cookies==0.4.0 pytest-xdist==1.29.0 From 4aed40d74d7a003037c55a255cede4d0a901716f Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 1 Oct 2019 12:00:29 +0100 Subject: [PATCH 0368/2840] Update django from 2.2.5 to 2.2.6 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index e2871f71d..a7620e3ca 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -19,7 +19,7 @@ flower==0.9.3 # https://github.com/mher/flower # Django # ------------------------------------------------------------------------------ -django==2.2.5 # pyup: < 3.0 # https://www.djangoproject.com/ +django==2.2.6 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==3.2.0 # https://github.com/jazzband/django-model-utils django-allauth==0.40.0 # https://github.com/pennersr/django-allauth From 7b73c2eb920b4979f42c284072e9de543889bd05 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 1 Oct 2019 12:00:33 +0100 Subject: [PATCH 0369/2840] Update pytest from 5.1.3 to 5.2.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index a96d64b40..fd2f4eb33 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.3 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.730 # https://github.com/python/mypy -pytest==5.1.3 # https://github.com/pytest-dev/pytest +pytest==5.2.0 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From da15657224b08e5cb026863b7dc35b596e62db4c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 1 Oct 2019 08:29:41 -0700 Subject: [PATCH 0370/2840] Update pytest_cases from 1.11.2 to 1.11.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 27787f52c..a93b75a32 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.8 # ------------------------------------------------------------------------------ tox==3.14.0 pytest==5.2.0 -pytest_cases==1.11.2 +pytest_cases==1.11.3 pytest-cookies==0.4.0 pytest-xdist==1.29.0 pyyaml==5.1.2 From 0e5902027e86eef7886ffcf31ae0c98ba3007506 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 1 Oct 2019 15:06:58 -0700 Subject: [PATCH 0371/2840] Update pytest-xdist from 1.29.0 to 1.30.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index a93b75a32..e9d2afb2f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,5 +13,5 @@ tox==3.14.0 pytest==5.2.0 pytest_cases==1.11.3 pytest-cookies==0.4.0 -pytest-xdist==1.29.0 +pytest-xdist==1.30.0 pyyaml==5.1.2 From daa0265a39ab9b6e5a52a82c3d02dd7831713c89 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 2 Oct 2019 12:00:29 +0100 Subject: [PATCH 0372/2840] Update pillow from 6.1.0 to 6.2.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index a7620e3ca..d0bce1554 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,6 +1,6 @@ pytz==2019.2 # https://github.com/stub42/pytz python-slugify==3.0.4 # https://github.com/un33k/python-slugify -Pillow==6.1.0 # https://github.com/python-pillow/Pillow +Pillow==6.2.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin {%- endif %} From 8a471c97e8df910f6762b7dc257cf6ec1e867833 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 2 Oct 2019 12:00:33 +0100 Subject: [PATCH 0373/2840] Update django-extensions from 2.2.1 to 2.2.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index fd2f4eb33..1f5d7a549 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -30,6 +30,6 @@ pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.0 # https://github.com/jazzband/django-debug-toolbar -django-extensions==2.2.1 # https://github.com/django-extensions/django-extensions +django-extensions==2.2.2 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.5.1 # https://github.com/pytest-dev/pytest-django From 8e1211580f0fbc77dd3394c4c6b91913a45d8c44 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 2 Oct 2019 13:39:16 +0100 Subject: [PATCH 0374/2840] Create FUNDING.yml --- .github/FUNDING.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 000000000..9f4c97f31 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: danielroygreenfeld +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: ['https://www.patreon.com/browniebroke'] From 39e745dddf090aa1f06da1e5f6e12c669c3351a7 Mon Sep 17 00:00:00 2001 From: Caio Ariede Date: Wed, 2 Oct 2019 10:10:32 -0300 Subject: [PATCH 0375/2840] Fix #2250 -- No staticfile storage with GCP without Whitenoise --- {{cookiecutter.project_slug}}/config/settings/production.py | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index e37411653..122871b17 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -107,6 +107,7 @@ STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" STATICFILES_STORAGE = "config.settings.production.StaticRootS3Boto3Storage" STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" {% elif cookiecutter.cloud_provider == 'GCP' -%} +STATICFILES_STORAGE = "storages.backends.gcloud.GoogleCloudStorage" STATIC_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/static/" {% endif -%} From f3b46ec4251358b7dd5ae24236b7cd9cc0a0b441 Mon Sep 17 00:00:00 2001 From: Caio Ariede Date: Wed, 2 Oct 2019 10:12:31 -0300 Subject: [PATCH 0376/2840] Add to CONTRIBUTORS --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 4c3ad8a04..4bf682ff4 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -74,6 +74,7 @@ Listed in alphabetical order. Bouke Haarsma Brent Payne `@brentpayne`_ @brentpayne Burhan Khalid            `@burhan`_                   @burhan + Caio Ariede `@caioariede`_ @caioariede Carl Johnson `@carlmjohnson`_ @carlmjohnson Catherine Devlin `@catherinedevlin`_ Cédric Gaspoz `@cgaspoz`_ From d0c208d10fcd335b7b37a6a05d4d8ee72b995793 Mon Sep 17 00:00:00 2001 From: Caio Ariede Date: Wed, 2 Oct 2019 12:03:33 -0300 Subject: [PATCH 0377/2840] Fix #2249 -- Broken static files with whitenoise=n & cloud_provider=none --- hooks/pre_gen_project.py | 9 +++++++++ tests/test_cookiecutter_generation.py | 12 ++++++++++++ 2 files changed, 21 insertions(+) diff --git a/hooks/pre_gen_project.py b/hooks/pre_gen_project.py index 91332f144..7f9bd3eac 100644 --- a/hooks/pre_gen_project.py +++ b/hooks/pre_gen_project.py @@ -59,3 +59,12 @@ if "{{ cookiecutter.use_docker }}".lower() == "n": ) + TERMINATOR ) + +if ( + "{{ cookiecutter.use_whitenoise }}".lower() == "n" + and "{{ cookiecutter.cloud_provider }}" == "None" +): + print( + "You should either use Whitenoise or select a Cloud Provider to serve static files" + ) + sys.exit(1) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 77f71df5b..dc729513c 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -49,6 +49,11 @@ def context_combination( cloud_provider, ): """Fixture that parametrize the function where it's used.""" + if cloud_provider == "None": + # Either of the two should be set for serving static files, so if cloud provider + # is not set, we force Whitenoise to be set + use_whitenoise = "y" + return { "windows": windows, "use_docker": use_docker, @@ -157,3 +162,10 @@ def test_invalid_slug(cookies, context, slug): assert result.exit_code != 0 assert isinstance(result.exception, FailedHookException) + + +def test_no_whitenoise_and_no_cloud_provider(cookies, context): + context.update({"use_whitenoise": "n", "cloud_provider": "None"}) + result = cookies.bake(extra_context=context) + + assert result.exit_code == 1 From 9fffafc0950e214db263be797249005c35ef7db7 Mon Sep 17 00:00:00 2001 From: Caio Ariede Date: Wed, 2 Oct 2019 12:06:53 -0300 Subject: [PATCH 0378/2840] Add docstring --- tests/test_cookiecutter_generation.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index dc729513c..b02bba360 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -165,6 +165,7 @@ def test_invalid_slug(cookies, context, slug): def test_no_whitenoise_and_no_cloud_provider(cookies, context): + """It should not generate project if neither whitenoise or cloud provider are set""" context.update({"use_whitenoise": "n", "cloud_provider": "None"}) result = cookies.bake(extra_context=context) From 6e27a8beac7fcf02221041d5dec88ca314dc5452 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 3 Oct 2019 12:00:31 +0100 Subject: [PATCH 0379/2840] Update sentry-sdk from 0.12.2 to 0.12.3 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 0d74f6d10..46c1a89e9 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==1.0.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.12.2 # https://github.com/getsentry/sentry-python +sentry-sdk==0.12.3 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 9f1821cadfae6a9782fb92e7d044f197413e0833 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 3 Oct 2019 12:00:34 +0100 Subject: [PATCH 0380/2840] Update django-extensions from 2.2.2 to 2.2.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 1f5d7a549..41813c475 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -30,6 +30,6 @@ pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.0 # https://github.com/jazzband/django-debug-toolbar -django-extensions==2.2.2 # https://github.com/django-extensions/django-extensions +django-extensions==2.2.3 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.5.1 # https://github.com/pytest-dev/pytest-django From 4f8834c0ebcf67d55fa8ed74b753ab665440d7b4 Mon Sep 17 00:00:00 2001 From: Caio Ariede Date: Thu, 3 Oct 2019 11:54:15 -0300 Subject: [PATCH 0381/2840] Update tests/test_cookiecutter_generation.py Co-Authored-By: Bruno Alla --- tests/test_cookiecutter_generation.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index b02bba360..20e4f9ed2 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -169,4 +169,5 @@ def test_no_whitenoise_and_no_cloud_provider(cookies, context): context.update({"use_whitenoise": "n", "cloud_provider": "None"}) result = cookies.bake(extra_context=context) - assert result.exit_code == 1 + assert result.exit_code != 0 + assert isinstance(result.exception, FailedHookException) From b8248f4758436d6ebb6ba79b7ad5c118de4d56de Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 4 Oct 2019 12:00:29 +0100 Subject: [PATCH 0382/2840] Update collectfast from 1.0.0 to 1.1.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 46c1a89e9..fae99a3f8 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -5,7 +5,7 @@ gunicorn==19.9.0 # https://github.com/benoitc/gunicorn psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} -Collectfast==1.0.0 # https://github.com/antonagestam/collectfast +Collectfast==1.1.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} sentry-sdk==0.12.3 # https://github.com/getsentry/sentry-python From ff8a9de24eb73e70dda87190d6e649ee39ecc180 Mon Sep 17 00:00:00 2001 From: Caio Ariede Date: Fri, 4 Oct 2019 09:32:25 -0300 Subject: [PATCH 0383/2840] Updates --- .../config/settings/production.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 122871b17..7a5d5454d 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -92,7 +92,6 @@ AWS_DEFAULT_ACL = None # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings AWS_S3_REGION_NAME = env("DJANGO_AWS_S3_REGION_NAME", default=None) {% elif cookiecutter.cloud_provider == 'GCP' %} -DEFAULT_FILE_STORAGE = "storages.backends.gcloud.GoogleCloudStorage" GS_BUCKET_NAME = env("DJANGO_GCP_STORAGE_BUCKET_NAME") GS_DEFAULT_ACL = "publicRead" {% endif -%} @@ -107,7 +106,7 @@ STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" STATICFILES_STORAGE = "config.settings.production.StaticRootS3Boto3Storage" STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" {% elif cookiecutter.cloud_provider == 'GCP' -%} -STATICFILES_STORAGE = "storages.backends.gcloud.GoogleCloudStorage" +STATICFILES_STORAGE = "config.settings.production.StaticRootGoogleCloudStorage" STATIC_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/static/" {% endif -%} @@ -133,8 +132,21 @@ class MediaRootS3Boto3Storage(S3Boto3Storage): DEFAULT_FILE_STORAGE = "config.settings.production.MediaRootS3Boto3Storage" MEDIA_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/media/" {%- elif cookiecutter.cloud_provider == 'GCP' %} +from storages.backends.gcloud import GoogleCloudStorage # noqa E402 + + +class StaticRootGoogleCloudStorage(GoogleCloudStorage): + location = "static" + default_acl = "publicRead" + + +class MediaRootGoogleCloudStorage(GoogleCloudStorage): + location = "media" + file_overwrite = False + + +DEFAULT_FILE_STORAGE = "config.settings.production.MediaRootGoogleCloudStorage" MEDIA_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/" -MEDIA_ROOT = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/" {%- endif %} # TEMPLATES From 99ccd314d0b4f67f0847fe847838c4afacd7c2e9 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 4 Oct 2019 14:48:02 +0100 Subject: [PATCH 0384/2840] Add missing link --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 4bf682ff4..3a6c7bd0e 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -230,6 +230,7 @@ Listed in alphabetical order. .. _@c-rhodes: https://github.com/c-rhodes .. _@caffodian: https://github.com/caffodian .. _@canonnervio: https://github.com/canonnervio +.. _@caioariede: https://github.com/caioariede .. _@carlmjohnson: https://github.com/carlmjohnson .. _@catherinedevlin: https://github.com/catherinedevlin .. _@ccurvey: https://github.com/ccurvey From 5750330ac2674fe6e9ad361b28cb46e1dc5b8772 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 6 Oct 2019 10:28:15 +0100 Subject: [PATCH 0385/2840] Merge whitenoise & cloud provider parametrize in tests --- tests/test_cookiecutter_generation.py | 34 ++++++++++++++------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 20e4f9ed2..f931bce06 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -11,9 +11,6 @@ from binaryornot.check import is_binary PATTERN = r"{{(\s?cookiecutter)[.](.*?)}}" RE_OBJ = re.compile(PATTERN) -YN_CHOICES = ["y", "n"] -CLOUD_CHOICES = ["AWS", "GCE", "None"] - @pytest.fixture def context(): @@ -30,14 +27,24 @@ def context(): @pytest_fixture_plus -@pytest.mark.parametrize("windows", YN_CHOICES, ids=lambda yn: f"win:{yn}") -@pytest.mark.parametrize("use_docker", YN_CHOICES, ids=lambda yn: f"docker:{yn}") -@pytest.mark.parametrize("use_celery", YN_CHOICES, ids=lambda yn: f"celery:{yn}") -@pytest.mark.parametrize("use_mailhog", YN_CHOICES, ids=lambda yn: f"mailhog:{yn}") -@pytest.mark.parametrize("use_sentry", YN_CHOICES, ids=lambda yn: f"sentry:{yn}") -@pytest.mark.parametrize("use_compressor", YN_CHOICES, ids=lambda yn: f"cmpr:{yn}") -@pytest.mark.parametrize("use_whitenoise", YN_CHOICES, ids=lambda yn: f"wnoise:{yn}") -@pytest.mark.parametrize("cloud_provider", CLOUD_CHOICES, ids=lambda yn: f"cloud:{yn}") +@pytest.mark.parametrize("windows", ["y", "n"], ids=lambda yn: f"win:{yn}") +@pytest.mark.parametrize("use_docker", ["y", "n"], ids=lambda yn: f"docker:{yn}") +@pytest.mark.parametrize("use_celery", ["y", "n"], ids=lambda yn: f"celery:{yn}") +@pytest.mark.parametrize("use_mailhog", ["y", "n"], ids=lambda yn: f"mailhog:{yn}") +@pytest.mark.parametrize("use_sentry", ["y", "n"], ids=lambda yn: f"sentry:{yn}") +@pytest.mark.parametrize("use_compressor", ["y", "n"], ids=lambda yn: f"cmpr:{yn}") +@pytest.mark.parametrize( + "use_whitenoise,cloud_provider", + [ + ("y", "AWS"), + ("y", "GCP"), + ("y", "None"), + ("n", "AWS"), + ("n", "GCP"), + # no whitenoise + co cloud provider is not supported + ], + ids=lambda id: f"wnoise:{id[0]}-cloud:{id[1]}", +) def context_combination( windows, use_docker, @@ -49,11 +56,6 @@ def context_combination( cloud_provider, ): """Fixture that parametrize the function where it's used.""" - if cloud_provider == "None": - # Either of the two should be set for serving static files, so if cloud provider - # is not set, we force Whitenoise to be set - use_whitenoise = "y" - return { "windows": windows, "use_docker": use_docker, From 703e8509aa863478e6ba1ee6f20e29aada693d15 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 6 Oct 2019 11:09:13 +0100 Subject: [PATCH 0386/2840] Fix broken link in list of contributors --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index d14afcc9e..3a3930b2e 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -304,6 +304,7 @@ Listed in alphabetical order. .. _@mrcoles: https://github.com/mrcoles .. _@msaizar: https://github.com/msaizar .. _@myilmaz: https://github.com/myilmaz +.. _@nicolas471: https://github.com/nicolas471 .. _@noisy: https://github.com/noisy .. _@originell: https://github.com/originell .. _@oubiga: https://github.com/oubiga From 058d3a2add08cb337042b3a403251622e4e9baff Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 6 Oct 2019 11:15:28 +0100 Subject: [PATCH 0387/2840] Update changelog with recent changes --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5df2d3a32..2e7d9220d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,18 @@ All enhancements and patches to Cookiecutter Django will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [2019-10-06] +### Changed +- Default Python version is now 3.7 (@nicolas471) + +## [2019-10-04] +### Fixed +- Fix static files handling on GCP (@caioariede) + +## [2019-10-03] +### Fixed +- Fix incompatible combination between Whitenoise and no cloud provider (@caioariede) + ## [2019-07-09] ### Fixed - Always use test settings in pytest (@danihodovic) From 98a443626b7b359b629e5e51502d0bb7ed8519d8 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 6 Oct 2019 13:07:20 +0100 Subject: [PATCH 0388/2840] Update to latest Python 3.7 runtime on Heroku --- {{cookiecutter.project_slug}}/runtime.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/runtime.txt b/{{cookiecutter.project_slug}}/runtime.txt index 6f651a3b1..42731f2fb 100644 --- a/{{cookiecutter.project_slug}}/runtime.txt +++ b/{{cookiecutter.project_slug}}/runtime.txt @@ -1 +1 @@ -python-3.7.3 +python-3.7.4 From 973fbfe7a463acf14fb16c39ff5037240a20903d Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 7 Oct 2019 12:00:30 +0100 Subject: [PATCH 0389/2840] Update pytest from 5.2.0 to 5.2.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index e9d2afb2f..efc3d1176 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.8 # Testing # ------------------------------------------------------------------------------ tox==3.14.0 -pytest==5.2.0 +pytest==5.2.1 pytest_cases==1.11.3 pytest-cookies==0.4.0 pytest-xdist==1.30.0 From 86fd35bba6d8b04679f6dba01cae5e32771ea28c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 7 Oct 2019 12:00:31 +0100 Subject: [PATCH 0390/2840] Update pytest from 5.2.0 to 5.2.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 41813c475..daa4870c5 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.3 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.730 # https://github.com/python/mypy -pytest==5.2.0 # https://github.com/pytest-dev/pytest +pytest==5.2.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From b338a7490a042ca36d07612a3b1dfdd7eedf1910 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 7 Oct 2019 12:00:34 +0100 Subject: [PATCH 0391/2840] Update collectfast from 1.1.0 to 1.2.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index fae99a3f8..e59644fff 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -5,7 +5,7 @@ gunicorn==19.9.0 # https://github.com/benoitc/gunicorn psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} -Collectfast==1.1.0 # https://github.com/antonagestam/collectfast +Collectfast==1.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} sentry-sdk==0.12.3 # https://github.com/getsentry/sentry-python From ca9addbbefa91654077acfd332150a503bd8e175 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 7 Oct 2019 12:00:36 +0100 Subject: [PATCH 0392/2840] Update pytz from 2019.2 to 2019.3 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index d0bce1554..01791e8ce 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,4 +1,4 @@ -pytz==2019.2 # https://github.com/stub42/pytz +pytz==2019.3 # https://github.com/stub42/pytz python-slugify==3.0.4 # https://github.com/un33k/python-slugify Pillow==6.2.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} From 5e196b45e9f6c1b45b30e942df38526b53587f36 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 10 Oct 2019 11:36:48 +0100 Subject: [PATCH 0393/2840] Pin Traefik Docker image to v1 Until we do the required changes to update to v2. Fixes #2258 --- .../compose/production/traefik/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile index 7088e6fe3..d7363a1af 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile @@ -1,4 +1,4 @@ -FROM traefik:alpine +FROM traefik:1.7-alpine RUN mkdir -p /etc/traefik/acme RUN touch /etc/traefik/acme/acme.json RUN chmod 600 /etc/traefik/acme/acme.json From 93473cb39adff9c6317ee93b5d7d6becb9a553ce Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 11 Oct 2019 12:00:29 +0100 Subject: [PATCH 0394/2840] Update python-slugify from 3.0.4 to 3.0.6 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 01791e8ce..f7b0b4d37 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,5 +1,5 @@ pytz==2019.3 # https://github.com/stub42/pytz -python-slugify==3.0.4 # https://github.com/un33k/python-slugify +python-slugify==3.0.6 # https://github.com/un33k/python-slugify Pillow==6.2.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin From f26cad1faa9761aded5b214b1688297208b764dc Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 11 Oct 2019 12:00:32 +0100 Subject: [PATCH 0395/2840] Update redis from 3.3.8 to 3.3.10 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 01791e8ce..3f96a8984 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==4.1.4 # https://github.com/evansd/whitenoise {%- endif %} -redis==3.3.8 # https://github.com/antirez/redis +redis==3.3.10 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} celery==4.3.0 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==1.5.0 # https://github.com/celery/django-celery-beat From be8afa27b3a7f02e6ddadaa676915572a5a20b63 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 14 Oct 2019 12:00:29 +0100 Subject: [PATCH 0396/2840] Update redis from 3.3.10 to 3.3.11 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 1270a25ed..049d75f11 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==4.1.4 # https://github.com/evansd/whitenoise {%- endif %} -redis==3.3.10 # https://github.com/antirez/redis +redis==3.3.11 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} celery==4.3.0 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==1.5.0 # https://github.com/celery/django-celery-beat From f8cbea93aa070195bd1beb674755e1f999d1c3e6 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 17 Oct 2019 12:00:29 +0100 Subject: [PATCH 0397/2840] Update mypy from 0.730 to 0.740 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index daa4870c5..6f4289c3f 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -11,7 +11,7 @@ psycopg2-binary==2.8.3 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ -mypy==0.730 # https://github.com/python/mypy +mypy==0.740 # https://github.com/python/mypy pytest==5.2.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar From f87757f4abec4dd0e427df72ee3c47bf33a08154 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 17 Oct 2019 12:00:31 +0100 Subject: [PATCH 0398/2840] Update pytest-django from 3.5.1 to 3.6.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index daa4870c5..a0c7b5259 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -32,4 +32,4 @@ factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.0 # https://github.com/jazzband/django-debug-toolbar django-extensions==2.2.3 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin -pytest-django==3.5.1 # https://github.com/pytest-dev/pytest-django +pytest-django==3.6.0 # https://github.com/pytest-dev/pytest-django From c8ebb633cfc2c4b1b8e08aedcf0b7e7fe5876e8d Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 18 Oct 2019 12:00:29 +0100 Subject: [PATCH 0399/2840] Update sentry-sdk from 0.12.3 to 0.13.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index e59644fff..10d1ea5b5 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==1.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.12.3 # https://github.com/getsentry/sentry-python +sentry-sdk==0.13.0 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 42e5581198dd3f40448d89d486bcf6c6372ae955 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 18 Oct 2019 12:00:32 +0100 Subject: [PATCH 0400/2840] Update django-crispy-forms from 1.7.2 to 1.8.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 049d75f11..9bf874070 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -23,7 +23,7 @@ django==2.2.6 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==3.2.0 # https://github.com/jazzband/django-model-utils django-allauth==0.40.0 # https://github.com/pennersr/django-allauth -django-crispy-forms==1.7.2 # https://github.com/django-crispy-forms/django-crispy-forms +django-crispy-forms==1.8.0 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.3 # https://github.com/django-compressor/django-compressor {%- endif %} From 96ade99c66c396ec2cac70f93cb173ef8ec2208c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 20 Oct 2019 12:00:29 +0100 Subject: [PATCH 0401/2840] Update psycopg2-binary from 2.8.3 to 2.8.4 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index dd795609e..c7e9aa924 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -6,7 +6,7 @@ Sphinx==2.2.0 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} -psycopg2-binary==2.8.3 # https://github.com/psycopg/psycopg2 +psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 {%- endif %} # Testing From 58f41fc97f9fc1ebf6853c7855a9450d9c92e8f1 Mon Sep 17 00:00:00 2001 From: Jelmert Date: Mon, 21 Oct 2019 09:59:37 +0200 Subject: [PATCH 0402/2840] fix: remove the aws Dockerfile and remove the awscli definition from production.yml when not selected --- hooks/post_gen_project.py | 7 +++++++ {{cookiecutter.project_slug}}/production.yml | 3 +++ 2 files changed, 10 insertions(+) diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index ff84f1806..95815564f 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -279,6 +279,10 @@ def remove_node_dockerfile(): shutil.rmtree(os.path.join("compose", "local", "node")) +def remove_aws_dockerfile(): + shutil.rmtree(os.path.join("compose", "production", "aws")) + + def main(): debug = "{{ cookiecutter.debug }}".lower() == "y" @@ -302,6 +306,9 @@ def main(): else: remove_docker_files() + if "{{ cookiecutter.use_docker }}".lower() == "y" and "{{ cookiecutter.cloud_provider}}".lower() != 'aws': + remove_aws_dockerfile() + if "{{ cookiecutter.use_heroku }}".lower() == "n": remove_heroku_files() diff --git a/{{cookiecutter.project_slug}}/production.yml b/{{cookiecutter.project_slug}}/production.yml index 331cbba68..62ec9d829 100644 --- a/{{cookiecutter.project_slug}}/production.yml +++ b/{{cookiecutter.project_slug}}/production.yml @@ -65,6 +65,8 @@ services: command: /start-flower {%- endif %} + + {% if cookiecutter.cloud_provider == 'AWS' %} awscli: build: context: . @@ -73,3 +75,4 @@ services: - ./.envs/.production/.django volumes: - production_postgres_data_backups:/backups + {%- endif %} From eb8ea447e488df634373e44de36e4aad7fd2dfb3 Mon Sep 17 00:00:00 2001 From: Jelmert Date: Mon, 21 Oct 2019 11:12:53 +0200 Subject: [PATCH 0403/2840] fix: black --- hooks/post_gen_project.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index 95815564f..0544f14bc 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -306,7 +306,10 @@ def main(): else: remove_docker_files() - if "{{ cookiecutter.use_docker }}".lower() == "y" and "{{ cookiecutter.cloud_provider}}".lower() != 'aws': + if ( + "{{ cookiecutter.use_docker }}".lower() == "y" + and "{{ cookiecutter.cloud_provider}}".lower() != "aws" + ): remove_aws_dockerfile() if "{{ cookiecutter.use_heroku }}".lower() == "n": From 39c33c550c5e26e2edece8b759ba4fc77cba5b7d Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 21 Oct 2019 12:00:29 +0100 Subject: [PATCH 0404/2840] Update python-slugify from 3.0.6 to 4.0.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 9bf874070..91b1e79c1 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,5 +1,5 @@ pytz==2019.3 # https://github.com/stub42/pytz -python-slugify==3.0.6 # https://github.com/un33k/python-slugify +python-slugify==4.0.0 # https://github.com/un33k/python-slugify Pillow==6.2.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin From 8cce6df70aae9ce59ca746dd2419a9d284e254cf Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 21 Oct 2019 12:00:32 +0100 Subject: [PATCH 0405/2840] Update django-extensions from 2.2.3 to 2.2.5 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index dd795609e..1068b1947 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -30,6 +30,6 @@ pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.0 # https://github.com/jazzband/django-debug-toolbar -django-extensions==2.2.3 # https://github.com/django-extensions/django-extensions +django-extensions==2.2.5 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.6.0 # https://github.com/pytest-dev/pytest-django From 400fcc4030fec8cff85cca30082a70977fb14716 Mon Sep 17 00:00:00 2001 From: Yuchen Xie Date: Tue, 22 Oct 2019 10:20:00 +0800 Subject: [PATCH 0406/2840] Prevent collectfast from guessing a wrong strategy If `COLLECTFAST_STRATEGY` is not provided in `settings`, `collectfast` has to guess a "strategy". For the case with AWS, it guesses `BotoStrategy` in stead of `S3Boto3Storage`, which is a wrong decision as we `pip install django-storages[boto3]` (`boto3` in favor of `boto`). Setting `COLLECTFAST_STRATEGY` is also encouraged as `collectfast` is not going to guess the strategy in the future. Ref: * https://github.com/antonagestam/collectfast/blob/f37dd1faa2046a2ebb88c098eb03e56a95534ec6/collectfast/management/commands/collectstatic.py#L33 * https://github.com/antonagestam/collectfast/blob/f37dd1faa2046a2ebb88c098eb03e56a95534ec6/collectfast/strategies/base.py#L170 --- CONTRIBUTORS.rst | 2 ++ {{cookiecutter.project_slug}}/config/settings/production.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 3a3930b2e..90bb63952 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -200,6 +200,7 @@ Listed in alphabetical order. William Archinal `@archinal`_ Xaver Y.R. Chen `@yrchen`_ @yrchen Yaroslav Halchenko + Yuchen Xie `@mapx`_ ========================== ============================ ============== .. _@a7p: https://github.com/a7p @@ -291,6 +292,7 @@ Listed in alphabetical order. .. _@knitatoms: https://github.com/knitatoms .. _@krzysztofzuraw: https://github.com/krzysztofzuraw .. _@MathijsHoogland: https://github.com/MathijsHoogland +.. _@mapx: https://github.com/mapx .. _@mattayes: https://github.com/mattayes .. _@menzenski: https://github.com/menzenski .. _@mfwarren: https://github.com/mfwarren diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 7a5d5454d..712f2bf4a 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -104,9 +104,11 @@ GS_DEFAULT_ACL = "publicRead" STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" {% elif cookiecutter.cloud_provider == 'AWS' -%} STATICFILES_STORAGE = "config.settings.production.StaticRootS3Boto3Storage" +COLLECTFAST_STRATEGY = "collectfast.strategies.boto3.Boto3Strategy" STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" {% elif cookiecutter.cloud_provider == 'GCP' -%} STATICFILES_STORAGE = "config.settings.production.StaticRootGoogleCloudStorage" +COLLECTFAST_STRATEGY = "collectfast.strategies.gcloud.GoogleCloudStrategy" STATIC_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/static/" {% endif -%} From 998733411c7340a451c4099bd93f4d23c24b8eaf Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 22 Oct 2019 12:00:35 +0100 Subject: [PATCH 0407/2840] Update pillow from 6.2.0 to 6.2.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 9bf874070..efff1c480 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,6 +1,6 @@ pytz==2019.3 # https://github.com/stub42/pytz python-slugify==3.0.6 # https://github.com/un33k/python-slugify -Pillow==6.2.0 # https://github.com/python-pillow/Pillow +Pillow==6.2.1 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin {%- endif %} From 3f0134a64b2dd148af1e59de4ce75780096f5d2b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 23 Oct 2019 12:00:31 +0100 Subject: [PATCH 0408/2840] Update collectfast from 1.2.0 to 1.3.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 10d1ea5b5..a036e77ec 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -5,7 +5,7 @@ gunicorn==19.9.0 # https://github.com/benoitc/gunicorn psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} -Collectfast==1.2.0 # https://github.com/antonagestam/collectfast +Collectfast==1.3.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} sentry-sdk==0.13.0 # https://github.com/getsentry/sentry-python From 662ca222054e0acbbfac6aae1fae1dc7e6f5a264 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 24 Oct 2019 12:00:29 +0100 Subject: [PATCH 0409/2840] Update pytest_cases from 1.11.3 to 1.11.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index efc3d1176..c90fb4cd3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.8 # ------------------------------------------------------------------------------ tox==3.14.0 pytest==5.2.1 -pytest_cases==1.11.3 +pytest_cases==1.11.4 pytest-cookies==0.4.0 pytest-xdist==1.30.0 pyyaml==5.1.2 From bd61b797325d3545801940ca5a3013d05ede52d4 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 25 Oct 2019 12:00:36 +0100 Subject: [PATCH 0410/2840] Update pytest from 5.2.1 to 5.2.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index efc3d1176..0614fa8f4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.8 # Testing # ------------------------------------------------------------------------------ tox==3.14.0 -pytest==5.2.1 +pytest==5.2.2 pytest_cases==1.11.3 pytest-cookies==0.4.0 pytest-xdist==1.30.0 From c2aa615fdc1c94d8d1a1ef8f33b5859ef7c6d6e4 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 25 Oct 2019 12:00:37 +0100 Subject: [PATCH 0411/2840] Update pytest from 5.2.1 to 5.2.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 1d08dcb75..5dfff7ea1 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.740 # https://github.com/python/mypy -pytest==5.2.1 # https://github.com/pytest-dev/pytest +pytest==5.2.2 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From b7976b9c3623adbac35904928522174035daaf12 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 25 Oct 2019 12:00:40 +0100 Subject: [PATCH 0412/2840] Update sentry-sdk from 0.13.0 to 0.13.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index a036e77ec..00c1a16ce 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==1.3.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.13.0 # https://github.com/getsentry/sentry-python +sentry-sdk==0.13.1 # https://github.com/getsentry/sentry-python {%- endif %} # Django From caa8b5a303a20065741193710455b5568f543029 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 26 Oct 2019 12:00:30 +0100 Subject: [PATCH 0413/2840] Update sphinx from 2.2.0 to 2.2.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5dfff7ea1..bb60bed0c 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==0.14.1 # pyup: < 0.15 # https://github.com/pallets/werkzeug ipdb==0.12.2 # https://github.com/gotcha/ipdb -Sphinx==2.2.0 # https://github.com/sphinx-doc/sphinx +Sphinx==2.2.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From d006bc610c3d431d9544c4d5b27aa812cc2b93c5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 28 Oct 2019 11:00:30 +0000 Subject: [PATCH 0414/2840] Update collectfast from 1.3.0 to 1.3.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 00c1a16ce..d65a0cbc2 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -5,7 +5,7 @@ gunicorn==19.9.0 # https://github.com/benoitc/gunicorn psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} -Collectfast==1.3.0 # https://github.com/antonagestam/collectfast +Collectfast==1.3.1 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} sentry-sdk==0.13.1 # https://github.com/getsentry/sentry-python From 9b61317682d402c1c232b3f9c486ffebd5a99339 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 28 Oct 2019 11:00:33 +0000 Subject: [PATCH 0415/2840] Update argon2-cffi from 19.1.0 to 19.2.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index efff1c480..33ac3f7b5 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -4,7 +4,7 @@ Pillow==6.2.1 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin {%- endif %} -argon2-cffi==19.1.0 # https://github.com/hynek/argon2_cffi +argon2-cffi==19.2.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==4.1.4 # https://github.com/evansd/whitenoise {%- endif %} From bb6188d43111536cbd6767a54c4f12d5a9647be8 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 28 Oct 2019 21:10:07 -0500 Subject: [PATCH 0416/2840] Update black from 19.3b0 to 19.10b0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 39080994f..13398eb35 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ -black==19.3b0 +black==19.10b0 flake8==3.7.8 # Testing From 10e395f65c1bc8133e99720afe3b1bcfe01edbd5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 29 Oct 2019 11:00:32 +0000 Subject: [PATCH 0417/2840] Update black from 19.3b0 to 19.10b0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index bb60bed0c..5756ebe4f 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -19,7 +19,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # ------------------------------------------------------------------------------ flake8==3.7.8 # https://github.com/PyCQA/flake8 coverage==4.5.4 # https://github.com/nedbat/coveragepy -black==19.3b0 # https://github.com/ambv/black +black==19.10b0 # https://github.com/ambv/black pylint-django==2.0.11 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery From 4a194c6966dcc5157610a175b2fe30646121491b Mon Sep 17 00:00:00 2001 From: leollon Date: Tue, 29 Oct 2019 22:47:27 +0800 Subject: [PATCH 0418/2840] Add pre-commit for the generated project. (#2171) --- CONTRIBUTORS.rst | 2 ++ README.rst | 2 ++ docs/developing-locally.rst | 6 ++++++ .../.pre-commit-config.yaml | 19 +++++++++++++++++++ .../requirements/local.txt | 1 + 5 files changed, 30 insertions(+) create mode 100644 {{cookiecutter.project_slug}}/.pre-commit-config.yaml diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 90bb63952..5224de1f8 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -137,6 +137,7 @@ Listed in alphabetical order. Keyvan Mosharraf `@keyvanm`_ Krzysztof Szumny `@noisy`_ Krzysztof Żuraw `@krzysztofzuraw`_ + Leo won `@leollon`_ Leo Zhou `@glasslion`_ Leonardo Jimenez `@xpostudio4`_ Lin Xianyi `@iynaix`_ @@ -291,6 +292,7 @@ Listed in alphabetical order. .. _@keyvanm: https://github.com/keyvanm .. _@knitatoms: https://github.com/knitatoms .. _@krzysztofzuraw: https://github.com/krzysztofzuraw +.. _@leollon: https://github.com/leollon .. _@MathijsHoogland: https://github.com/MathijsHoogland .. _@mapx: https://github.com/mapx .. _@mattayes: https://github.com/mattayes diff --git a/README.rst b/README.rst index e4f47351a..4be3c4bc8 100644 --- a/README.rst +++ b/README.rst @@ -53,6 +53,7 @@ Features * Instructions for deploying to PythonAnywhere_ * Run tests with unittest or pytest * Customizable PostgreSQL version +* Default integration with pre-commit_ for identifying simple issues before submission to code review .. _`maintained Foundation fork`: https://github.com/Parbhat/cookiecutter-django-foundation @@ -84,6 +85,7 @@ Optional Integrations .. _PythonAnywhere: https://www.pythonanywhere.com/ .. _Traefik: https://traefik.io/ .. _LetsEncrypt: https://letsencrypt.org/ +.. _pre-commit: https://github.com/pre-commit/pre-commit Constraints ----------- diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst index fdab5a900..7a58d0999 100644 --- a/docs/developing-locally.rst +++ b/docs/developing-locally.rst @@ -26,6 +26,12 @@ First things first. #. Install development requirements: :: $ pip install -r requirements/local.txt + $ pre-commit install + + .. note:: + + the `pre-commit` exists in the generated project as default. + for the details of `pre-commit`, follow the [site of pre-commit](https://pre-commit.com/). #. Create a new PostgreSQL database using createdb_: :: diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml new file mode 100644 index 000000000..b9d69a9a1 --- /dev/null +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -0,0 +1,19 @@ +exclude: 'docs|node_modules|migrations|.git|.tox' +default_stages: [commit] +fail_fast: true + +repos: +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: master + hooks: + - id: trailing-whitespace + files: (^|/)a/.+\.(py|html|sh|css|js)$ + +- repo: local + hooks: + - id: flake8 + name: flake8 + entry: flake8 + language: python + types: [python] + diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index bb60bed0c..73104edab 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -24,6 +24,7 @@ pylint-django==2.0.11 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} +pre-commit==1.20.0 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From 04f3ae75dc731d72336e648bb4a653f62d7d5757 Mon Sep 17 00:00:00 2001 From: Bruce Olivier Date: Sat, 2 Nov 2019 15:57:05 -0500 Subject: [PATCH 0419/2840] Added more settings to .editorconfig to run isort and have black compatibility. --- CONTRIBUTORS.rst | 2 ++ {{cookiecutter.project_slug}}/.editorconfig | 14 ++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 90bb63952..8a1d9c454 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -73,6 +73,7 @@ Listed in alphabetical order. Bo Lopker `@blopker`_ Bouke Haarsma Brent Payne `@brentpayne`_ @brentpayne + Bruce Olivier `@bolivierjr`_ Burhan Khalid            `@burhan`_                   @burhan Caio Ariede `@caioariede`_ @caioariede Carl Johnson `@carlmjohnson`_ @carlmjohnson @@ -225,6 +226,7 @@ Listed in alphabetical order. .. _@bloodpet: https://github.com/bloodpet .. _@blopker: https://github.com/blopker .. _@bogdal: https://github.com/bogdal +.. _@bolivierjr: https://github.com/bolivierjr .. _@brentpayne: https://github.com/brentpayne .. _@btknu: https://github.com/btknu .. _@burhan: https://github.com/burhan diff --git a/{{cookiecutter.project_slug}}/.editorconfig b/{{cookiecutter.project_slug}}/.editorconfig index b19266bf3..792dd3b06 100644 --- a/{{cookiecutter.project_slug}}/.editorconfig +++ b/{{cookiecutter.project_slug}}/.editorconfig @@ -13,10 +13,16 @@ indent_style = space indent_size = 4 [*.py] -line_length=120 -known_first_party={{ cookiecutter.project_slug }} -multi_line_output=3 -default_section=THIRDPARTY +line_length = 120 +known_first_party = {{ cookiecutter.project_slug }} +multi_line_output = 3 +default_section = THIRDPARTY +recursive = true +skip = venv/ +skip_glob = **/migrations/*.py +include_trailing_comma = true +force_grid_wrap = 0 +use_parentheses = true [*.{html,css,scss,json,yml}] indent_style = space From 91c6f69a57d4528e749c79f03a0cf2623eca23ab Mon Sep 17 00:00:00 2001 From: Gilbishkosma Date: Sun, 3 Nov 2019 19:51:56 +0530 Subject: [PATCH 0420/2840] Update deployment-with-docker.rst --- docs/deployment-with-docker.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/deployment-with-docker.rst b/docs/deployment-with-docker.rst index 038778cfb..0df50ff45 100644 --- a/docs/deployment-with-docker.rst +++ b/docs/deployment-with-docker.rst @@ -152,6 +152,7 @@ If you are using ``supervisor``, you can use this file as a starting point:: Move it to ``/etc/supervisor/conf.d/{{cookiecutter.project_slug}}.conf`` and run:: supervisorctl reread + supervisorctl update supervisorctl start {{cookiecutter.project_slug}} For status check, run:: From 8f74fdb9423d34c6674b2737d0ddb879eafddffb Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 4 Nov 2019 12:00:33 +0100 Subject: [PATCH 0421/2840] Update django from 2.2.6 to 2.2.7 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index b7596f817..dbdee1765 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -19,7 +19,7 @@ flower==0.9.3 # https://github.com/mher/flower # Django # ------------------------------------------------------------------------------ -django==2.2.6 # pyup: < 3.0 # https://www.djangoproject.com/ +django==2.2.7 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==3.2.0 # https://github.com/jazzband/django-model-utils django-allauth==0.40.0 # https://github.com/pennersr/django-allauth From cbbbf351d033184c8b6557f5f79c7bcc050b00ca Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 4 Nov 2019 12:34:43 +0000 Subject: [PATCH 0422/2840] Update CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 8a1d9c454..ae4022d51 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -113,6 +113,7 @@ Listed in alphabetical order. Florian Idelberger `@step21`_ @windrush Garry Cairns `@garry-cairns`_ Garry Polley `@garrypolley`_ + Gilbishkosma `@Gilbishkosma`_ Hamish Durkin `@durkode`_ Hana Quadara `@hanaquadara`_ Harry Percival `@hjwp`_ @@ -269,6 +270,7 @@ Listed in alphabetical order. .. _@foarsitter: https://github.com/foarsitter .. _@garry-cairns: https://github.com/garry-cairns .. _@garrypolley: https://github.com/garrypolley +.. _@Gilbishkosma: https://github.com/Gilbishkosma .. _@glasslion: https://github.com/glasslion .. _@goldhand: https://github.com/goldhand .. _@hackebrot: https://github.com/hackebrot From 9e58bb4e80762cd250feb9b783c990cc482d2375 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 5 Nov 2019 12:00:32 +0100 Subject: [PATCH 0423/2840] Update pylint-django from 2.0.11 to 2.0.12 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index e011da637..baee31966 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar flake8==3.7.8 # https://github.com/PyCQA/flake8 coverage==4.5.4 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black -pylint-django==2.0.11 # https://github.com/PyCQA/pylint-django +pylint-django==2.0.12 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} From 66c4f630a7d122b8db01bec9f50dae0db6a21df5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 6 Nov 2019 12:00:34 +0100 Subject: [PATCH 0424/2840] Update pytest_cases from 1.11.4 to 1.11.5 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 13398eb35..66786b19a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.8 # ------------------------------------------------------------------------------ tox==3.14.0 pytest==5.2.2 -pytest_cases==1.11.4 +pytest_cases==1.11.5 pytest-cookies==0.4.0 pytest-xdist==1.30.0 pyyaml==5.1.2 From 0374f11d099930fa3efd2be278f4d4ffa9dcede7 Mon Sep 17 00:00:00 2001 From: Yuchen Xie <4576282+mapx@users.noreply.github.com> Date: Thu, 7 Nov 2019 18:59:23 +0800 Subject: [PATCH 0425/2840] Using WhiteNoise in development --- {{cookiecutter.project_slug}}/config/settings/base.py | 3 +++ {{cookiecutter.project_slug}}/config/settings/local.py | 8 ++++++++ .../config/settings/production.py | 9 +-------- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 41f0f46cf..935a0d12a 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -131,6 +131,9 @@ AUTH_PASSWORD_VALIDATORS = [ # https://docs.djangoproject.com/en/dev/ref/settings/#middleware MIDDLEWARE = [ "django.middleware.security.SecurityMiddleware", +{%- if cookiecutter.use_whitenoise == 'y' %} + "whitenoise.middleware.WhiteNoiseMiddleware", +{%- endif %} "django.contrib.sessions.middleware.SessionMiddleware", "django.middleware.locale.LocaleMiddleware", "django.middleware.common.CommonMiddleware", diff --git a/{{cookiecutter.project_slug}}/config/settings/local.py b/{{cookiecutter.project_slug}}/config/settings/local.py index 2ab0a7cb4..015d8aff8 100644 --- a/{{cookiecutter.project_slug}}/config/settings/local.py +++ b/{{cookiecutter.project_slug}}/config/settings/local.py @@ -42,6 +42,14 @@ EMAIL_BACKEND = env( ) {%- endif %} +{%- if cookiecutter.use_whitenoise == 'y' %} + +# WhiteNoise +# ------------------------------------------------------------------------------ +# http://whitenoise.evans.io/en/latest/django.html#using-whitenoise-in-development +INSTALLED_APPS = ["whitenoise.runserver_nostatic"] + INSTALLED_APPS # noqa F405 +{% endif %} + # django-debug-toolbar # ------------------------------------------------------------------------------ # https://django-debug-toolbar.readthedocs.io/en/latest/installation.html#prerequisites diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 712f2bf4a..22a2acaef 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -194,14 +194,7 @@ ANYMAIL = { "MAILGUN_API_URL": env("MAILGUN_API_URL", default="https://api.mailgun.net/v3"), } -{% if cookiecutter.use_whitenoise == 'y' -%} -# WhiteNoise -# ------------------------------------------------------------------------------ -# http://whitenoise.evans.io/en/latest/django.html#enable-whitenoise -MIDDLEWARE.insert(1, "whitenoise.middleware.WhiteNoiseMiddleware") # noqa F405 - -{% endif %} -{%- if cookiecutter.use_compressor == 'y' -%} +{% if cookiecutter.use_compressor == 'y' -%} # django-compressor # ------------------------------------------------------------------------------ # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_ENABLED From 8a1ec53a74cb2cf11ad2405d8d21db14a224cc74 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 9 Nov 2019 11:00:30 +0000 Subject: [PATCH 0426/2840] Update gunicorn from 19.9.0 to 20.0.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index d65a0cbc2..8d32e81a6 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -2,7 +2,7 @@ -r ./base.txt -gunicorn==19.9.0 # https://github.com/benoitc/gunicorn +gunicorn==20.0.0 # https://github.com/benoitc/gunicorn psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==1.3.1 # https://github.com/antonagestam/collectfast From eeda7dfe33c2bd390d5a784cd4f03251c1302001 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 9 Nov 2019 11:00:33 +0000 Subject: [PATCH 0427/2840] Update sentry-sdk from 0.13.1 to 0.13.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index d65a0cbc2..c1fdd2a38 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==1.3.1 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.13.1 # https://github.com/getsentry/sentry-python +sentry-sdk==0.13.2 # https://github.com/getsentry/sentry-python {%- endif %} # Django From fd5e9be58bd6ff1feea5c5edeae603614f3e6d2e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 9 Nov 2019 11:00:37 +0000 Subject: [PATCH 0428/2840] Update pytest-django from 3.6.0 to 3.7.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index baee31966..4a1c42098 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -33,4 +33,4 @@ factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.0 # https://github.com/jazzband/django-debug-toolbar django-extensions==2.2.5 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin -pytest-django==3.6.0 # https://github.com/pytest-dev/pytest-django +pytest-django==3.7.0 # https://github.com/pytest-dev/pytest-django From a38c61369e0b9fc2864b137976c49f4697b199aa Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 12 Nov 2019 11:00:32 +0000 Subject: [PATCH 0429/2840] Update django-debug-toolbar from 2.0 to 2.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 4a1c42098..2f7234bcb 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -30,7 +30,7 @@ pre-commit==1.20.0 # https://github.com/pre-commit/pre-commit # ------------------------------------------------------------------------------ factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy -django-debug-toolbar==2.0 # https://github.com/jazzband/django-debug-toolbar +django-debug-toolbar==2.1 # https://github.com/jazzband/django-debug-toolbar django-extensions==2.2.5 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.7.0 # https://github.com/pytest-dev/pytest-django From 9a3391a6eb1a54fc150a9c5f9edea347b87865dc Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 12 Nov 2019 14:05:30 +0000 Subject: [PATCH 0430/2840] Update image in README closes #2282 --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 4be3c4bc8..2fba0979a 100644 --- a/README.rst +++ b/README.rst @@ -108,7 +108,7 @@ Projects that provide financial support to the maintainers: Two Scoops of Django 1.11 ~~~~~~~~~~~~~~~~~~~~~~~~~ -.. image:: https://cdn.shopify.com/s/files/1/0304/6901/products/tsd-111-alpha_medium.jpg?v=1499531513 +.. image:: https://cdn.shopify.com/s/files/1/0304/6901/products/2017-06-29-tsd11-sticker-02.png :name: Two Scoops of Django 1.11 Cover :align: center :alt: Two Scoops of Django From ff0122acd6de47b43be6ebf251180261483b1588 Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Wed, 13 Nov 2019 23:28:38 +0100 Subject: [PATCH 0431/2840] Use pytest-django --reuse-db for faster tests Pytest-django allows you to re-use database setups between tests for quicker test runs. This is especially useful for large projects with many migrations. For example, here's a project of mine with 40+ migrations: with --reuse-db ``` pytest --reuse-db 2.54s user 0.35s system 108% cpu 2.669 total ``` without --reuse-db ``` pytest 7.40s user 0.34s system 50% cpu 15.240 total ``` Caveat: if your model happens to change you need to manually --create-db to ensure migrations are applied. https://pytest-django.readthedocs.io/en/latest/database.html#reuse-db-reuse-the-testing-database-between-test-runs --- {{cookiecutter.project_slug}}/pytest.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/pytest.ini b/{{cookiecutter.project_slug}}/pytest.ini index 52b48ab03..e3b2248d9 100644 --- a/{{cookiecutter.project_slug}}/pytest.ini +++ b/{{cookiecutter.project_slug}}/pytest.ini @@ -1,5 +1,5 @@ [pytest] -addopts = --ds=config.settings.test +addopts = --ds=config.settings.test --reuse-db python_files = tests.py test_*.py {%- if cookiecutter.js_task_runner != 'None' %} norecursedirs = node_modules From ecb2b259947db3bc5cd6ca67114473a63b16aad3 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 13 Nov 2019 15:22:52 -0800 Subject: [PATCH 0432/2840] Update tox from 3.14.0 to 3.14.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 66786b19a..451d42815 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ flake8==3.7.8 # Testing # ------------------------------------------------------------------------------ -tox==3.14.0 +tox==3.14.1 pytest==5.2.2 pytest_cases==1.11.5 pytest-cookies==0.4.0 From 7a9f133fc3cd8a6fafb069b3614d0763adcc1fb1 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 15 Nov 2019 11:00:32 +0000 Subject: [PATCH 0433/2840] Update pytest from 5.2.2 to 5.2.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 451d42815..eccaa0002 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.8 # Testing # ------------------------------------------------------------------------------ tox==3.14.1 -pytest==5.2.2 +pytest==5.2.3 pytest_cases==1.11.5 pytest-cookies==0.4.0 pytest-xdist==1.30.0 From 0bd04dd5b30dfe885dcc38f45a3f9a11b04928d5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 15 Nov 2019 11:00:33 +0000 Subject: [PATCH 0434/2840] Update pytest from 5.2.2 to 5.2.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 2f7234bcb..d338f9292 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.740 # https://github.com/python/mypy -pytest==5.2.2 # https://github.com/pytest-dev/pytest +pytest==5.2.3 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From 44e404845b050afa8607e3ade1626c95bf7cf962 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 16 Nov 2019 11:00:31 +0000 Subject: [PATCH 0435/2840] Update pytest from 5.2.3 to 5.2.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index eccaa0002..966c944ab 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.8 # Testing # ------------------------------------------------------------------------------ tox==3.14.1 -pytest==5.2.3 +pytest==5.2.4 pytest_cases==1.11.5 pytest-cookies==0.4.0 pytest-xdist==1.30.0 From 526f135e85596fe873f458ab799383d85f19b356 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 16 Nov 2019 11:00:32 +0000 Subject: [PATCH 0436/2840] Update pytest from 5.2.3 to 5.2.4 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index d338f9292..bc8e66514 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.740 # https://github.com/python/mypy -pytest==5.2.3 # https://github.com/pytest-dev/pytest +pytest==5.2.4 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From 7a6bbcb0835bef80d0f2fb52d5df27ef9a2d3c8e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 18 Nov 2019 11:00:42 +0000 Subject: [PATCH 0437/2840] Update pytest_cases from 1.11.5 to 1.11.7 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 966c944ab..9a3d98887 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.8 # ------------------------------------------------------------------------------ tox==3.14.1 pytest==5.2.4 -pytest_cases==1.11.5 +pytest_cases==1.11.7 pytest-cookies==0.4.0 pytest-xdist==1.30.0 pyyaml==5.1.2 From 5a7e6671d6050fd620d24c73486aee50d0a1372e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 20 Nov 2019 11:00:33 +0000 Subject: [PATCH 0438/2840] Update pytest from 5.2.4 to 5.3.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 9a3d98887..73c787ddd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.8 # Testing # ------------------------------------------------------------------------------ tox==3.14.1 -pytest==5.2.4 +pytest==5.3.0 pytest_cases==1.11.7 pytest-cookies==0.4.0 pytest-xdist==1.30.0 From cdd9205075eea1631f86522e210fd245daf88335 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 20 Nov 2019 11:00:35 +0000 Subject: [PATCH 0439/2840] Update pytest from 5.2.4 to 5.3.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index bc8e66514..61ab281f3 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.740 # https://github.com/python/mypy -pytest==5.2.4 # https://github.com/pytest-dev/pytest +pytest==5.3.0 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From 4daf3b9769203f21d9a16e0a546f0eafecf2f454 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 21 Nov 2019 11:00:33 +0000 Subject: [PATCH 0440/2840] Update django-storages from 1.7.2 to 1.8 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index d50125322..c89de8f0d 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -14,7 +14,7 @@ sentry-sdk==0.13.2 # https://github.com/getsentry/sentry-python # Django # ------------------------------------------------------------------------------ {%- if cookiecutter.cloud_provider == 'AWS' %} -django-storages[boto3]==1.7.2 # https://github.com/jschneier/django-storages +django-storages[boto3]==1.8 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} django-storages[google]==1.7.2 # https://github.com/jschneier/django-storages {%- endif %} From 9481a5a39097d010daa44e57d28e71247b2bc357 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 21 Nov 2019 11:00:34 +0000 Subject: [PATCH 0441/2840] Update django-storages from 1.7.2 to 1.8 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index c89de8f0d..e20dff519 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -16,6 +16,6 @@ sentry-sdk==0.13.2 # https://github.com/getsentry/sentry-python {%- if cookiecutter.cloud_provider == 'AWS' %} django-storages[boto3]==1.8 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} -django-storages[google]==1.7.2 # https://github.com/jschneier/django-storages +django-storages[google]==1.8 # https://github.com/jschneier/django-storages {%- endif %} django-anymail[mailgun]==7.0.0 # https://github.com/anymail/django-anymail From 528027f2b0f2f6e7374ca660466c25cf00bdef5e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 23 Nov 2019 11:00:30 +0000 Subject: [PATCH 0442/2840] Update pytest_cases from 1.11.7 to 1.11.8 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 73c787ddd..18f2e122e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.8 # ------------------------------------------------------------------------------ tox==3.14.1 pytest==5.3.0 -pytest_cases==1.11.7 +pytest_cases==1.11.8 pytest-cookies==0.4.0 pytest-xdist==1.30.0 pyyaml==5.1.2 From b014121810e3332acbb15ba98e57e859086b0fb7 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 23 Nov 2019 11:00:33 +0000 Subject: [PATCH 0443/2840] Update gunicorn from 20.0.0 to 20.0.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index e20dff519..93116cbd5 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -2,7 +2,7 @@ -r ./base.txt -gunicorn==20.0.0 # https://github.com/benoitc/gunicorn +gunicorn==20.0.2 # https://github.com/benoitc/gunicorn psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==1.3.1 # https://github.com/antonagestam/collectfast From 09d95d8ab464498bc28ef5755637ed378bb1aca3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 23 Nov 2019 11:00:37 +0000 Subject: [PATCH 0444/2840] Update django-crispy-forms from 1.8.0 to 1.8.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index dbdee1765..6ca90421e 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -23,7 +23,7 @@ django==2.2.7 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==3.2.0 # https://github.com/jazzband/django-model-utils django-allauth==0.40.0 # https://github.com/pennersr/django-allauth -django-crispy-forms==1.8.0 # https://github.com/django-crispy-forms/django-crispy-forms +django-crispy-forms==1.8.1 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.3 # https://github.com/django-compressor/django-compressor {%- endif %} From dce02bae70f6681c88b0d3bad92ae30a6cc9e9f3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 24 Nov 2019 11:00:31 +0000 Subject: [PATCH 0445/2840] Update pylint-django from 2.0.12 to 2.0.13 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 61ab281f3..5cfcce2b7 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar flake8==3.7.8 # https://github.com/PyCQA/flake8 coverage==4.5.4 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black -pylint-django==2.0.12 # https://github.com/PyCQA/pylint-django +pylint-django==2.0.13 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} From fbd0fcbb6104cfcf84a70dcb7f45ee2152a8df66 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 25 Nov 2019 11:00:33 +0000 Subject: [PATCH 0446/2840] Update sentry-sdk from 0.13.2 to 0.13.3 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index e20dff519..4722ce9cd 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==1.3.1 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.13.2 # https://github.com/getsentry/sentry-python +sentry-sdk==0.13.3 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 82c8b5127226398c537fba897437c62cfdf0c622 Mon Sep 17 00:00:00 2001 From: Harry Moreno Date: Mon, 25 Nov 2019 16:43:30 -0500 Subject: [PATCH 0447/2840] Make update form button look like a button without `ban-primary` the button looks like some floating text. --- .../templates/users/user_form.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_form.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_form.html index 6a86a2735..e9da0d48f 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_form.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_form.html @@ -10,7 +10,7 @@ {{ form|crispy }}
- +
From 832275a792b2ae0899b68bdacb75fa5ce6a34d2d Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 26 Nov 2019 11:00:32 +0000 Subject: [PATCH 0448/2840] Update gunicorn from 20.0.2 to 20.0.3 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 846cb5788..c0a66efc5 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -2,7 +2,7 @@ -r ./base.txt -gunicorn==20.0.2 # https://github.com/benoitc/gunicorn +gunicorn==20.0.3 # https://github.com/benoitc/gunicorn psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==1.3.1 # https://github.com/antonagestam/collectfast From 2a25e523e547d96dd0a6b40fc1acf554dffeffe4 Mon Sep 17 00:00:00 2001 From: Harry Moreno Date: Tue, 26 Nov 2019 14:51:48 -0500 Subject: [PATCH 0449/2840] Add self to contributors.rst --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 56416abfd..53edb28e8 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -116,6 +116,7 @@ Listed in alphabetical order. Gilbishkosma `@Gilbishkosma`_ Hamish Durkin `@durkode`_ Hana Quadara `@hanaquadara`_ + Harry Moreno `@morenoh149`_ @morenoh149 Harry Percival `@hjwp`_ Hendrik Schneider `@hendrikschneider`_ Henrique G. G. Pereira `@ikkebr`_ @@ -307,6 +308,7 @@ Listed in alphabetical order. .. _@minho42: https://github.com/minho42 .. _@mjsisley: https://github.com/mjsisley .. _@mknapper1: https://github.com/mknapper1 +.. _@morenoh149: https://github.com/morenoh149 .. _@mostaszewski: https://github.com/mostaszewski .. _@mozillazg: https://github.com/mozillazg .. _@mrcoles: https://github.com/mrcoles From a1669324e8c535be925557bc555b11e77e838b94 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 27 Nov 2019 02:41:09 -0800 Subject: [PATCH 0450/2840] Update pytest from 5.3.0 to 5.3.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 18f2e122e..5f7c2e328 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.8 # Testing # ------------------------------------------------------------------------------ tox==3.14.1 -pytest==5.3.0 +pytest==5.3.1 pytest_cases==1.11.8 pytest-cookies==0.4.0 pytest-xdist==1.30.0 From 6a302ec703b28ce2393480123432fe39560a9cb6 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 27 Nov 2019 11:00:34 +0000 Subject: [PATCH 0451/2840] Update gunicorn from 20.0.3 to 20.0.4 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index c0a66efc5..7be7f97c1 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -2,7 +2,7 @@ -r ./base.txt -gunicorn==20.0.3 # https://github.com/benoitc/gunicorn +gunicorn==20.0.4 # https://github.com/benoitc/gunicorn psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==1.3.1 # https://github.com/antonagestam/collectfast From 4283ca76a4b53b33c7fbf272f87abe888cc183ba Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 27 Nov 2019 11:00:38 +0000 Subject: [PATCH 0452/2840] Update sentry-sdk from 0.13.3 to 0.13.4 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index c0a66efc5..850d1f029 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==1.3.1 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.13.3 # https://github.com/getsentry/sentry-python +sentry-sdk==0.13.4 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 9ec808e7f415c9bda68caec167e3f722ce743ab1 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 28 Nov 2019 11:00:32 +0000 Subject: [PATCH 0453/2840] Update pytest from 5.3.0 to 5.3.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5cfcce2b7..3ebc23202 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.740 # https://github.com/python/mypy -pytest==5.3.0 # https://github.com/pytest-dev/pytest +pytest==5.3.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From c76b3066d63efd45f62d4d9db43a19f4bd98c441 Mon Sep 17 00:00:00 2001 From: Denis Savran Date: Thu, 28 Nov 2019 23:16:06 +0300 Subject: [PATCH 0454/2840] Upgrade to Traefik v2 --- CONTRIBUTORS.rst | 2 + .../compose/production/traefik/Dockerfile | 4 +- .../compose/production/traefik/traefik.toml | 41 ------------ .../compose/production/traefik/traefik.yml | 67 +++++++++++++++++++ 4 files changed, 71 insertions(+), 43 deletions(-) delete mode 100644 {{cookiecutter.project_slug}}/compose/production/traefik/traefik.toml create mode 100644 {{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 53edb28e8..46afc393e 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -102,6 +102,7 @@ Listed in alphabetical order. Demetris Stavrou `@demestav`_ Denis Bobrov `@delneg`_ Denis Orehovsky `@apirobot`_ + Denis Savran `@blaxpy`_ Diane Chen `@purplediane`_ @purplediane88 Dónal Adams `@epileptic-fish`_ Dong Huynh `@trungdong`_ @@ -226,6 +227,7 @@ Listed in alphabetical order. .. _@arruda: https://github.com/arruda .. _@bertdemiranda: https://github.com/bertdemiranda .. _@bittner: https://github.com/bittner +.. _@blaxpy: https://github.com/blaxpy .. _@bloodpet: https://github.com/bloodpet .. _@blopker: https://github.com/blopker .. _@bogdal: https://github.com/bogdal diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile index d7363a1af..746aa2b48 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile @@ -1,5 +1,5 @@ -FROM traefik:1.7-alpine +FROM traefik:v2.0 RUN mkdir -p /etc/traefik/acme RUN touch /etc/traefik/acme/acme.json RUN chmod 600 /etc/traefik/acme/acme.json -COPY ./compose/production/traefik/traefik.toml /etc/traefik +COPY ./compose/production/traefik/traefik.yml /etc/traefik diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.toml b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.toml deleted file mode 100644 index 0f2abe8a1..000000000 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.toml +++ /dev/null @@ -1,41 +0,0 @@ -logLevel = "INFO" -defaultEntryPoints = ["http", "https"] - -# Entrypoints, http and https -[entryPoints] - # http should be redirected to https - [entryPoints.http] - address = ":80" - [entryPoints.http.redirect] - entryPoint = "https" - # https is the default - [entryPoints.https] - address = ":443" - [entryPoints.https.tls] - -# Enable ACME (Let's Encrypt): automatic SSL -[acme] -# Email address used for registration -email = "{{ cookiecutter.email }}" -storage = "/etc/traefik/acme/acme.json" -entryPoint = "https" -onDemand = false -OnHostRule = true - # Use a HTTP-01 acme challenge rather than TLS-SNI-01 challenge - [acme.httpChallenge] - entryPoint = "http" - -[file] -[backends] - [backends.django] - [backends.django.servers.server1] - url = "http://django:5000" - -[frontends] - [frontends.django] - backend = "django" - passHostHeader = true - [frontends.django.headers] - HostsProxyHeaders = ['X-CSRFToken'] - [frontends.django.routes.dr1] - rule = "Host:{{ cookiecutter.domain_name }}" diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml new file mode 100644 index 000000000..324c62afa --- /dev/null +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml @@ -0,0 +1,67 @@ +log: + level: INFO + +entryPoints: + web: + # http + address: ":80" + + web-secure: + # https + address: ":443" + +certificatesResolvers: + letsencrypt: + # https://docs.traefik.io/master/https/acme/#lets-encrypt + acme: + email: "{{ cookiecutter.email }}" + storage: /etc/traefik/acme/acme.json + # https://docs.traefik.io/master/https/acme/#httpchallenge + httpChallenge: + entryPoint: web + +http: + routers: + web-router: + rule: "Host(`{{ cookiecutter.domain_name }}`)" + entryPoints: + - web + middlewares: + - redirect + - csrf + service: django + + web-secure-router: + rule: "Host(`{{ cookiecutter.domain_name }}`)" + entryPoints: + - web-secure + middlewares: + - csrf + service: django + tls: + # https://docs.traefik.io/master/routing/routers/#certresolver + certResolver: letsencrypt + + middlewares: + redirect: + # https://docs.traefik.io/master/middlewares/redirectscheme/ + redirectScheme: + scheme: https + permanent: true + csrf: + # https://docs.traefik.io/master/middlewares/headers/#hostsproxyheaders + # https://docs.djangoproject.com/en/dev/ref/csrf/#ajax + headers: + hostsProxyHeaders: ['X-CSRFToken'] + + services: + django: + loadBalancer: + servers: + - url: http://django:5000 + +providers: + # https://docs.traefik.io/master/providers/file/ + file: + filename: /etc/traefik/traefik.yml + watch: true From 1453b328916de4c78fbcdd85513eac83004823a1 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 30 Nov 2019 11:00:31 +0000 Subject: [PATCH 0455/2840] Update mypy from 0.740 to 0.750 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5cfcce2b7..df378239d 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -11,7 +11,7 @@ psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ -mypy==0.740 # https://github.com/python/mypy +mypy==0.750 # https://github.com/python/mypy pytest==5.3.0 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar From b638ce0a1b523de0c38a576db4829c584d41d6f4 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 2 Dec 2019 11:00:31 +0000 Subject: [PATCH 0456/2840] Update django from 2.2.7 to 2.2.8 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 6ca90421e..6ac355875 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -19,7 +19,7 @@ flower==0.9.3 # https://github.com/mher/flower # Django # ------------------------------------------------------------------------------ -django==2.2.7 # pyup: < 3.0 # https://www.djangoproject.com/ +django==2.2.8 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==3.2.0 # https://github.com/jazzband/django-model-utils django-allauth==0.40.0 # https://github.com/pennersr/django-allauth From 2214951bbe298d51343f8ee5f743c35e8a6736a9 Mon Sep 17 00:00:00 2001 From: Jelmert Date: Tue, 3 Dec 2019 11:19:01 +0100 Subject: [PATCH 0457/2840] updated werkzeug from 0.14.1 to 0.16.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 3ebc23202..d4453daab 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,6 +1,6 @@ -r ./base.txt -Werkzeug==0.14.1 # pyup: < 0.15 # https://github.com/pallets/werkzeug +Werkzeug==0.16.0 # https://github.com/pallets/werkzeug ipdb==0.12.2 # https://github.com/gotcha/ipdb Sphinx==2.2.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} From 4a185510e317eceb721ca322c947a865a36225c5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 3 Dec 2019 11:00:33 +0000 Subject: [PATCH 0458/2840] Update tox from 3.14.1 to 3.14.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5f7c2e328..ffde91003 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ flake8==3.7.8 # Testing # ------------------------------------------------------------------------------ -tox==3.14.1 +tox==3.14.2 pytest==5.3.1 pytest_cases==1.11.8 pytest-cookies==0.4.0 From a7ed8e9fee2a478f3769c3a309d6320c1e6c350c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 3 Dec 2019 11:00:37 +0000 Subject: [PATCH 0459/2840] Update pyyaml from 5.1.2 to 5.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5f7c2e328..b032f217b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,4 +14,4 @@ pytest==5.3.1 pytest_cases==1.11.8 pytest-cookies==0.4.0 pytest-xdist==1.30.0 -pyyaml==5.1.2 +pyyaml==5.2 From 3140fe74cabf27e28a8b0acd33e1efe9ef2559e3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 3 Dec 2019 11:00:42 +0000 Subject: [PATCH 0460/2840] Update sphinx from 2.2.1 to 2.2.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 3ebc23202..4fd01d7cc 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==0.14.1 # pyup: < 0.15 # https://github.com/pallets/werkzeug ipdb==0.12.2 # https://github.com/gotcha/ipdb -Sphinx==2.2.1 # https://github.com/sphinx-doc/sphinx +Sphinx==2.2.2 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From 79da1482a533201267d69cb789cbde8a62748e63 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 3 Dec 2019 08:01:37 -0800 Subject: [PATCH 0461/2840] Update flake8 from 3.7.8 to 3.7.9 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 4a75eef5b..ab1451d3f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==19.10b0 -flake8==3.7.8 +flake8==3.7.9 # Testing # ------------------------------------------------------------------------------ From 112972d881159f5dbc468013cec331a0f715aecf Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 4 Dec 2019 11:00:32 +0000 Subject: [PATCH 0462/2840] Update ipdb from 0.12.2 to 0.12.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 28bcb4a59..6f19183fe 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,7 +1,7 @@ -r ./base.txt Werkzeug==0.16.0 # https://github.com/pallets/werkzeug -ipdb==0.12.2 # https://github.com/gotcha/ipdb +ipdb==0.12.3 # https://github.com/gotcha/ipdb Sphinx==2.2.2 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 From e7923c6c5c0750b8823e260f63d16b82a137271e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 4 Dec 2019 11:00:35 +0000 Subject: [PATCH 0463/2840] Update flake8 from 3.7.8 to 3.7.9 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 28bcb4a59..aa740145d 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -17,7 +17,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ -flake8==3.7.8 # https://github.com/PyCQA/flake8 +flake8==3.7.9 # https://github.com/PyCQA/flake8 coverage==4.5.4 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black pylint-django==2.0.13 # https://github.com/PyCQA/pylint-django From 113ce88d9cc9b7af133d114d551af93a509e7774 Mon Sep 17 00:00:00 2001 From: Ivan Khomutov Date: Fri, 6 Dec 2019 10:55:00 +0300 Subject: [PATCH 0464/2840] Add option to choose CI tool --- cookiecutter.json | 6 +++- docs/project-generation-options.rst | 11 +++++-- hooks/post_gen_project.py | 11 +++++-- tests/test_cookiecutter_generation.py | 20 +++++++++++- {{cookiecutter.project_slug}}/.gitlab-ci.yml | 33 ++++++++++++++++++++ 5 files changed, 75 insertions(+), 6 deletions(-) create mode 100644 {{cookiecutter.project_slug}}/.gitlab-ci.yml diff --git a/cookiecutter.json b/cookiecutter.json index d6d217ca4..6d030be0c 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -40,7 +40,11 @@ "use_sentry": "n", "use_whitenoise": "n", "use_heroku": "n", - "use_travisci": "n", + "ci_tool": [ + "None", + "Travis", + "Gitlab" + ], "keep_local_envs_in_vcs": "y", "debug": "n" diff --git a/docs/project-generation-options.rst b/docs/project-generation-options.rst index afa9b8aff..ae47b0972 100644 --- a/docs/project-generation-options.rst +++ b/docs/project-generation-options.rst @@ -94,8 +94,12 @@ use_heroku: Indicates whether the project should be configured so as to be deployable to Heroku_. -use_travisci: - Indicates whether the project should be configured to use `Travis CI`_. +ci_tool: + Select a CI tool for running tests. The choices are: + + 1. None + 2. Travis_ + 3. Gitlab_ keep_local_envs_in_vcs: Indicates whether the project's ``.envs/.local/`` should be kept in VCS @@ -138,3 +142,6 @@ debug: .. _Heroku: https://github.com/heroku/heroku-buildpack-python .. _Travis CI: https://travis-ci.org/ + +.. _GitLab CI: https://docs.gitlab.com/ee/ci/ + diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index 0544f14bc..79c32f9b4 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -70,7 +70,7 @@ def remove_heroku_files(): for file_name in file_names: if ( file_name == "requirements.txt" - and "{{ cookiecutter.use_travisci }}".lower() == "y" + and "{{ cookiecutter.ci_tool }}".lower() == "travis" ): # don't remove the file if we are using travisci but not using heroku continue @@ -105,6 +105,10 @@ def remove_dottravisyml_file(): os.remove(".travis.yml") +def remove_dotgitlabciyml_file(): + os.remove(".gitlab-ci.yml") + + def append_to_project_gitignore(path): gitignore_file_path = ".gitignore" with open(gitignore_file_path, "a") as gitignore_file: @@ -349,9 +353,12 @@ def main(): if "{{ cookiecutter.use_docker }}".lower() == "y": remove_celery_compose_dirs() - if "{{ cookiecutter.use_travisci }}".lower() == "n": + if "{{ cookiecutter.ci_tool }}".lower() != "travis": remove_dottravisyml_file() + if "{{ cookiecutter.ci_tool }}".lower() != "gitlab": + remove_dotgitlabciyml_file() + print(SUCCESS + "Project initialized, keep up the good work!" + TERMINATOR) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index f931bce06..8c2f71fe8 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -140,7 +140,7 @@ def test_black_passes(cookies, context_combination): def test_travis_invokes_pytest(cookies, context): - context.update({"use_travisci": "y"}) + context.update({"ci_tool": "Travis"}) result = cookies.bake(extra_context=context) assert result.exit_code == 0 @@ -155,6 +155,24 @@ def test_travis_invokes_pytest(cookies, context): pytest.fail(e) +def test_gitlab_invokes_flake8_and_pytest(cookies, context): + context.update({"ci_tool": "Gitlab"}) + result = cookies.bake(extra_context=context) + + assert result.exit_code == 0 + assert result.exception is None + assert result.project.basename == context["project_slug"] + assert result.project.isdir() + + with open(f"{result.project}/.gitlab-ci.yml", "r") as gitlab_yml: + try: + gitlab_config = yaml.load(gitlab_yml) + assert gitlab_config["flake8"]["script"] == ["flake8"] + assert gitlab_config["pytest"]["script"] == ["pytest"] + except yaml.YAMLError as e: + pytest.fail(e) + + @pytest.mark.parametrize("slug", ["project slug", "Project_Slug"]) def test_invalid_slug(cookies, context, slug): """Invalid slug should failed pre-generation hook.""" diff --git a/{{cookiecutter.project_slug}}/.gitlab-ci.yml b/{{cookiecutter.project_slug}}/.gitlab-ci.yml new file mode 100644 index 000000000..15ff73b10 --- /dev/null +++ b/{{cookiecutter.project_slug}}/.gitlab-ci.yml @@ -0,0 +1,33 @@ +stages: + - lint + - test + +variables: + POSTGRES_USER: '{{ cookiecutter.project_slug }}' + POSTGRES_PASSWORD: '' + POSTGRES_DB: 'test_{{ cookiecutter.project_slug }}' + +flake8: + stage: lint + image: python:3.7-alpine + before_script: + - pip install -q flake8 + script: + - flake8 + +pytest: + stage: test + image: python:3.7 + tags: + - docker + services: + - postgres:11 + variables: + DATABASE_URL: pgsql://$POSTGRES_USER:$POSTGRES_PASSWORD@postgres/$POSTGRES_DB + + before_script: + - pip install -r requirements/local.txt + + script: + - pytest + From 97880e5046a4af5f2042a7c6144e012fe6e2e356 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 6 Dec 2019 11:00:30 +0000 Subject: [PATCH 0465/2840] Update sentry-sdk from 0.13.4 to 0.13.5 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 69217ab3b..438ccca6d 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==1.3.1 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.13.4 # https://github.com/getsentry/sentry-python +sentry-sdk==0.13.5 # https://github.com/getsentry/sentry-python {%- endif %} # Django From a88b6b04b6c13b2d9f7f7f794680326786632a3b Mon Sep 17 00:00:00 2001 From: Yuchen Xie <4576282+mapx@users.noreply.github.com> Date: Mon, 9 Dec 2019 09:55:37 +0800 Subject: [PATCH 0466/2840] Speed up django image build process, and reduce its size --- .../compose/production/django/Dockerfile | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index b0861d605..e63241f4e 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -57,13 +57,11 @@ RUN chmod +x /start-flower {%- endif %} {%- if cookiecutter.js_task_runner == 'Gulp' %} -COPY --from=client-builder /app /app +COPY --from=client-builder --chown=django:django /app /app {% else %} -COPY . /app +COPY --chown=django:django . /app {%- endif %} -RUN chown -R django /app - USER django WORKDIR /app From 1dd8608142e7deadb943f4805dd13f9399a8330d Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Tue, 10 Dec 2019 12:46:52 +0100 Subject: [PATCH 0467/2840] Add django.middleware.common.BrokenLinkEmailsMiddleware MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://docs.djangoproject.com/en/2.2/howto/error-reporting/#errors > If those conditions are met, Django will email the users listed in the > MANAGERS setting whenever your code raises a 404 and the request has a > referer. It doesn’t bother to email for 404s that don’t have a referer – > those are usually just people typing in broken URLs or broken Web bots. > It also ignores 404s when the referer is equal to the requested URL, > since this behavior is from broken Web bots too. --- {{cookiecutter.project_slug}}/config/settings/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 935a0d12a..ecfeed7ae 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -140,6 +140,7 @@ MIDDLEWARE = [ "django.middleware.csrf.CsrfViewMiddleware", "django.contrib.auth.middleware.AuthenticationMiddleware", "django.contrib.messages.middleware.MessageMiddleware", + "django.middleware.common.BrokenLinkEmailsMiddleware", "django.middleware.clickjacking.XFrameOptionsMiddleware", ] From 0f515974cb85e1c948bbdaae7874fd853ce35e56 Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Wed, 11 Dec 2019 14:58:21 +0100 Subject: [PATCH 0468/2840] Remove mypy defaults and set django-stubs setting https://mypy.readthedocs.io/en/latest/config_file.html ignore_errors = False strict_optional = True Are both set to these values by default. No need to set them in the config. ```toml [mypy.plugins.django-stubs] django_settings_module = config.settings.local ``` mypy.plugins.django-stubs requires django_settings_module to be set. https://github.com/typeddjango/django-stubs#configuration --- {{cookiecutter.project_slug}}/setup.cfg | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/setup.cfg b/{{cookiecutter.project_slug}}/setup.cfg index 42b638616..f7cd01cb6 100644 --- a/{{cookiecutter.project_slug}}/setup.cfg +++ b/{{cookiecutter.project_slug}}/setup.cfg @@ -9,13 +9,14 @@ exclude = .tox,.git,*/migrations/*,*/static/CACHE/*,docs,node_modules [mypy] python_version = 3.7 check_untyped_defs = True -ignore_errors = False ignore_missing_imports = True -strict_optional = True warn_unused_ignores = True warn_redundant_casts = True warn_unused_configs = True +[mypy.plugins.django-stubs] +django_settings_module = config.settings.test + [mypy-*.migrations.*] # Django migrations should not produce any errors: ignore_errors = True From 37bc459796103b7ba0ea6b5009f516b507d1fc0f Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 12 Dec 2019 08:00:31 -0300 Subject: [PATCH 0469/2840] Update pytest_cases from 1.11.8 to 1.11.9 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index ab1451d3f..8cd8c53a1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.9 # ------------------------------------------------------------------------------ tox==3.14.2 pytest==5.3.1 -pytest_cases==1.11.8 +pytest_cases==1.11.9 pytest-cookies==0.4.0 pytest-xdist==1.30.0 pyyaml==5.2 From c59062a496fb07033308dc8a845988fb98fe60ae Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 12 Dec 2019 08:00:35 -0300 Subject: [PATCH 0470/2840] Update django-model-utils from 3.2.0 to 4.0.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 6ac355875..c195e7962 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -21,7 +21,7 @@ flower==0.9.3 # https://github.com/mher/flower # ------------------------------------------------------------------------------ django==2.2.8 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ -django-model-utils==3.2.0 # https://github.com/jazzband/django-model-utils +django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils django-allauth==0.40.0 # https://github.com/pennersr/django-allauth django-crispy-forms==1.8.1 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} From d4189097146b04db04a2430f62cd43f7fbd04a6c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 13 Dec 2019 08:00:31 -0300 Subject: [PATCH 0471/2840] Update whitenoise from 4.1.4 to 5.0.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 6ac355875..9d930428c 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -6,7 +6,7 @@ rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == ' {%- endif %} argon2-cffi==19.2.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} -whitenoise==4.1.4 # https://github.com/evansd/whitenoise +whitenoise==5.0.1 # https://github.com/evansd/whitenoise {%- endif %} redis==3.3.11 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} From 6ce4b13d83257572a6f12abd9075e0d74475f7e6 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 13 Dec 2019 08:00:36 -0300 Subject: [PATCH 0472/2840] Update djangorestframework from 3.10.3 to 3.11.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 6ac355875..1eaca3d3c 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -30,5 +30,5 @@ django-compressor==2.3 # https://github.com/django-compressor/django-compressor django-redis==4.10.0 # https://github.com/niwinz/django-redis # Django REST Framework -djangorestframework==3.10.3 # https://github.com/encode/django-rest-framework +djangorestframework==3.11.0 # https://github.com/encode/django-rest-framework coreapi==2.3.3 # https://github.com/core-api/python-client From d085a9c43236f2f821c32317d5da3da2c8b4bfa4 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 14 Dec 2019 08:00:29 -0300 Subject: [PATCH 0473/2840] Update django-redis from 4.10.0 to 4.11.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 69869e149..926a02c03 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -27,7 +27,7 @@ django-crispy-forms==1.8.1 # https://github.com/django-crispy-forms/django-cris {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.3 # https://github.com/django-compressor/django-compressor {%- endif %} -django-redis==4.10.0 # https://github.com/niwinz/django-redis +django-redis==4.11.0 # https://github.com/niwinz/django-redis # Django REST Framework djangorestframework==3.11.0 # https://github.com/encode/django-rest-framework From 32e42cb0ec38839fec378757755c7f94f3be065d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 15 Dec 2019 02:56:41 -0800 Subject: [PATCH 0474/2840] Update pytest from 5.3.1 to 5.3.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 8cd8c53a1..0a2c06398 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.9 # Testing # ------------------------------------------------------------------------------ tox==3.14.2 -pytest==5.3.1 +pytest==5.3.2 pytest_cases==1.11.9 pytest-cookies==0.4.0 pytest-xdist==1.30.0 From b6a524c346a0bd22d7c7b8a7f561ab7bba449343 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 15 Dec 2019 08:00:29 -0300 Subject: [PATCH 0475/2840] Update coverage from 4.5.4 to 5.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5b8f3279d..ae112a947 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -18,7 +18,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ flake8==3.7.9 # https://github.com/PyCQA/flake8 -coverage==4.5.4 # https://github.com/nedbat/coveragepy +coverage==5.0 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black pylint-django==2.0.13 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} From 8211a83f3a21381060c8767049e676f5cf609ef5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 16 Dec 2019 08:00:30 -0300 Subject: [PATCH 0476/2840] Update celery from 4.3.0 to 4.4.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 926a02c03..de4e82523 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -10,7 +10,7 @@ whitenoise==5.0.1 # https://github.com/evansd/whitenoise {%- endif %} redis==3.3.11 # https://github.com/antirez/redis {%- if cookiecutter.use_celery == "y" %} -celery==4.3.0 # pyup: < 5.0 # https://github.com/celery/celery +celery==4.4.0 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==1.5.0 # https://github.com/celery/django-celery-beat {%- if cookiecutter.use_docker == 'y' %} flower==0.9.3 # https://github.com/mher/flower From acd63b14b8a1c4d0427c56ffd33bfb4c0b2280b2 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 16 Dec 2019 08:00:34 -0300 Subject: [PATCH 0477/2840] Update sphinx from 2.2.2 to 2.3.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index ae112a947..1b54f0018 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==0.16.0 # https://github.com/pallets/werkzeug ipdb==0.12.3 # https://github.com/gotcha/ipdb -Sphinx==2.2.2 # https://github.com/sphinx-doc/sphinx +Sphinx==2.3.0 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From 2229a09faccd789ca9dbe9d03f3c1031b522a446 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 18 Dec 2019 08:00:31 -0300 Subject: [PATCH 0478/2840] Update django from 2.2.8 to 2.2.9 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index de4e82523..a307b4817 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -19,7 +19,7 @@ flower==0.9.3 # https://github.com/mher/flower # Django # ------------------------------------------------------------------------------ -django==2.2.8 # pyup: < 3.0 # https://www.djangoproject.com/ +django==2.2.9 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils django-allauth==0.40.0 # https://github.com/pennersr/django-allauth From 29d2ff0ccfb33b2bb9a8fc4df24bda409a582b48 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 18 Dec 2019 08:00:35 -0300 Subject: [PATCH 0479/2840] Update mypy from 0.750 to 0.760 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 1b54f0018..2d333b5c6 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -11,7 +11,7 @@ psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ -mypy==0.750 # https://github.com/python/mypy +mypy==0.760 # https://github.com/python/mypy pytest==5.3.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar From 2b0027de71df7d0bae08afc25c5037e6a1896619 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 19 Dec 2019 08:00:30 -0300 Subject: [PATCH 0480/2840] Update django-allauth from 0.40.0 to 0.41.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index a307b4817..c31481a35 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -22,7 +22,7 @@ flower==0.9.3 # https://github.com/mher/flower django==2.2.9 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils -django-allauth==0.40.0 # https://github.com/pennersr/django-allauth +django-allauth==0.41.0 # https://github.com/pennersr/django-allauth django-crispy-forms==1.8.1 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.3 # https://github.com/django-compressor/django-compressor From 311b96b169252b1025383712c5413c03da3c91a4 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 20 Dec 2019 08:00:29 -0300 Subject: [PATCH 0481/2840] Update pytest_cases from 1.11.9 to 1.12.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 0a2c06398..2ba89659c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.9 # ------------------------------------------------------------------------------ tox==3.14.2 pytest==5.3.2 -pytest_cases==1.11.9 +pytest_cases==1.12.0 pytest-cookies==0.4.0 pytest-xdist==1.30.0 pyyaml==5.2 From 85efbda0033f6b4d98a0d58634c6047917eaa444 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 20 Dec 2019 08:00:32 -0300 Subject: [PATCH 0482/2840] Update pytest-xdist from 1.30.0 to 1.31.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 0a2c06398..ba7dae86c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,5 +13,5 @@ tox==3.14.2 pytest==5.3.2 pytest_cases==1.11.9 pytest-cookies==0.4.0 -pytest-xdist==1.30.0 +pytest-xdist==1.31.0 pyyaml==5.2 From b75cb6e6da32bb3901a44b8b4561e0a916c95b9d Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 20 Dec 2019 08:00:35 -0300 Subject: [PATCH 0483/2840] Update mypy from 0.760 to 0.761 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 2d333b5c6..070a0b2d2 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -11,7 +11,7 @@ psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ -mypy==0.760 # https://github.com/python/mypy +mypy==0.761 # https://github.com/python/mypy pytest==5.3.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar From c7027526a3d295fce9e8b12f5b6e8b1017d789f4 Mon Sep 17 00:00:00 2001 From: David D Date: Sun, 22 Dec 2019 12:52:22 +0100 Subject: [PATCH 0484/2840] Add Debian 10 (buster) OS dependencies --- .../utility/requirements-buster.apt | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 {{cookiecutter.project_slug}}/utility/requirements-buster.apt diff --git a/{{cookiecutter.project_slug}}/utility/requirements-buster.apt b/{{cookiecutter.project_slug}}/utility/requirements-buster.apt new file mode 100644 index 000000000..75957f40d --- /dev/null +++ b/{{cookiecutter.project_slug}}/utility/requirements-buster.apt @@ -0,0 +1,23 @@ +##basic build dependencies of various Django apps for Debian Jessie 10.x +#build-essential metapackage install: make, gcc, g++, +build-essential +#required to translate +gettext +python3-dev + +##shared dependencies of: +##Pillow, pylibmc +zlib1g-dev + +##Postgresql and psycopg2 dependencies +libpq-dev + +##Pillow dependencies +libtiff5-dev +libjpeg62-turbo-dev +libfreetype6-dev +liblcms2-dev +libwebp-dev + +##django-extensions +libgraphviz-dev From afc7235d577f312de923bc8019d2906d7babb349 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 22 Dec 2019 19:37:15 -0800 Subject: [PATCH 0485/2840] Update cookiecutter from 1.6.0 to 1.7.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index eccb2d9da..8f8360068 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -cookiecutter==1.6.0 +cookiecutter==1.7.0 sh==1.12.14 binaryornot==0.4.4 From 66991d9e958791f6cbb0946b2e67694286d2b3ab Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 23 Dec 2019 08:00:31 -0300 Subject: [PATCH 0486/2840] Update sphinx from 2.3.0 to 2.3.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 070a0b2d2..89d10373a 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==0.16.0 # https://github.com/pallets/werkzeug ipdb==0.12.3 # https://github.com/gotcha/ipdb -Sphinx==2.3.0 # https://github.com/sphinx-doc/sphinx +Sphinx==2.3.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From 16b219034af54784c530fc545079e1ab21c5906a Mon Sep 17 00:00:00 2001 From: howiezhao Date: Sat, 28 Dec 2019 17:26:43 +0800 Subject: [PATCH 0487/2840] Update docs files --- docs/document.rst | 45 +++ docs/index.rst | 1 + docs/testing.rst | 6 +- {{cookiecutter.project_slug}}/docs/Makefile | 159 +---------- {{cookiecutter.project_slug}}/docs/conf.py | 258 ++---------------- {{cookiecutter.project_slug}}/docs/index.rst | 14 +- {{cookiecutter.project_slug}}/docs/make.bat | 191 ++----------- .../docs/pycharm/configuration.rst | 6 + 8 files changed, 123 insertions(+), 557 deletions(-) create mode 100644 docs/document.rst diff --git a/docs/document.rst b/docs/document.rst new file mode 100644 index 000000000..abf115a17 --- /dev/null +++ b/docs/document.rst @@ -0,0 +1,45 @@ +.. _document: + +Document +========= + +This project uses Sphinx_ documentation generator. +After you have set up to `develop locally`_, run the following commands to generate the HTML documentation: :: + + $ sphinx-build docs/ docs/_build/html/ + +If you set up your project to `develop locally with docker`_, run the following command: :: + + $ docker-compose -f local.yml run --rm django sphinx-build docs/ docs/_build/html/ + +Generate API documentation +---------------------------- + +Sphinx can automatically generate documentation from docstrings, to enable this feature, follow these steps: + +1. Add Sphinx extension in ``docs/conf.py`` file, like below: :: + + extensions = [ + 'sphinx.ext.autodoc', + ] + +2. Uncomment the following lines in the ``docs/conf.py`` file: :: + + # import django + # sys.path.insert(0, os.path.abspath('..')) + # os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local") + # django.setup() + +3. Run the following command: :: + + $ sphinx-apidoc -f -o ./docs/modules/ ./tpub/ migrations/* + + If you set up your project to `develop locally with docker`_, run the following command: :: + + $ docker-compose -f local.yml run --rm django sphinx-apidoc -f -o ./docs/modules ./tpub/ migrations/* + +4. Regenerate HTML documentation as written above. + +.. _Sphinx: https://www.sphinx-doc.org/en/master/index.html +.. _develop locally: ../developing-locally.rst +.. _develop locally with docker: ..../developing-locally-docker.rst diff --git a/docs/index.rst b/docs/index.rst index 5cb07b4b0..8e0d04aa3 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -18,6 +18,7 @@ Contents: settings linters testing + document deployment-on-pythonanywhere deployment-on-heroku deployment-with-docker diff --git a/docs/testing.rst b/docs/testing.rst index 63cb9e186..cd323e5cd 100644 --- a/docs/testing.rst +++ b/docs/testing.rst @@ -19,7 +19,7 @@ You will get a readout of the `users` app that has already been set up with test If you set up your project to `develop locally with docker`_, run the following command: :: - $ docker-compose -f local.yml run django pytest + $ docker-compose -f local.yml run --rm django pytest Targeting particular apps for testing in ``docker`` follows a similar pattern as previously shown above. @@ -28,11 +28,11 @@ Coverage You should build your tests to provide the highest level of **code coverage**. You can run the ``pytest`` with code ``coverage`` by typing in the following command: :: - $ docker-compose -f local.yml run django coverage run -m pytest + $ docker-compose -f local.yml run --rm django coverage run -m pytest Once the tests are complete, in order to see the code coverage, run the following command: :: - $ docker-compose -f local.yml run django coverage report + $ docker-compose -f local.yml run --rm django coverage report .. note:: diff --git a/{{cookiecutter.project_slug}}/docs/Makefile b/{{cookiecutter.project_slug}}/docs/Makefile index a5d4ea96e..d4bb2cbb9 100644 --- a/{{cookiecutter.project_slug}}/docs/Makefile +++ b/{{cookiecutter.project_slug}}/docs/Makefile @@ -1,153 +1,20 @@ -# Makefile for Sphinx documentation +# Minimal makefile for Sphinx documentation # -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = . BUILDDIR = _build -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext - +# Put it first so that "make" without argument is like "make help". help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -clean: - -rm -rf $(BUILDDIR)/* +.PHONY: help Makefile -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/{{ cookiecutter.project_slug }}.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/{{ cookiecutter.project_slug }}.qhc" - -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/{{ cookiecutter.project_slug }}" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/{{ cookiecutter.project_slug }}" - @echo "# devhelp" - -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -info: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - make -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/{{cookiecutter.project_slug}}/docs/conf.py b/{{cookiecutter.project_slug}}/docs/conf.py index 154c3a7aa..3c5d84ad8 100644 --- a/{{cookiecutter.project_slug}}/docs/conf.py +++ b/{{cookiecutter.project_slug}}/docs/conf.py @@ -1,255 +1,55 @@ -# {{ cookiecutter.project_name }} documentation build configuration file, created by -# sphinx-quickstart. +# Configuration file for the Sphinx documentation builder. # -# This file is execfile()d with the current directory set to its containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html -import os -import sys +# -- Path setup -------------------------------------------------------------- # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -# sys.path.insert(0, os.path.abspath('.')) +# +import os +import sys +# import django +# sys.path.insert(0, os.path.abspath('..')) +# os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local") +# django.setup() -# -- General configuration ----------------------------------------------------- -# If your documentation needs a minimal Sphinx version, state it here. -# needs_sphinx = '1.0' +# -- Project information ----------------------------------------------------- -# Add any Sphinx extension module names here, as strings. They can be extensions -# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = [] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ["_templates"] - -# The suffix of source filenames. -source_suffix = ".rst" - -# The encoding of source files. -# source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = "index" - -# General information about the project. project = "{{ cookiecutter.project_name }}" copyright = """{% now 'utc', '%Y' %}, {{ cookiecutter.author_name }}""" +author = "{{ cookiecutter.author_name }}" -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = "0.1" -# The full version, including alpha/beta/rc tags. -release = "0.1" -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -# language = None +# -- General configuration --------------------------------------------------- -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -# today = '' -# Else, today_fmt is used as the format for a strftime call. -# today_fmt = '%B %d, %Y' +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. -exclude_patterns = ["_build"] - -# The reST default role (used for this markup: `text`) to use for all documents. -# default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -# add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -# add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -# show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = "sphinx" - -# A list of ignored prefixes for module index sorting. -# modindex_common_prefix = [] +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] -# -- Options for HTML output --------------------------------------------------- +# -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -html_theme = "default" - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -# html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -# html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -# html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -# html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -# html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -# html_favicon = None +# +html_theme = 'alabaster' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ["_static"] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -# html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -# html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -# html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -# html_additional_pages = {} - -# If false, no module index is generated. -# html_domain_indices = True - -# If false, no index is generated. -# html_use_index = True - -# If true, the index is split into individual pages for each letter. -# html_split_index = False - -# If true, links to the reST sources are added to the pages. -# html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -# html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -# html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -# html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -# html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = "{{ cookiecutter.project_slug }}doc" - - -# -- Options for LaTeX output -------------------------------------------------- - -latex_elements = { - # The paper size ('letterpaper' or 'a4paper'). - # 'papersize': 'letterpaper', - # The font size ('10pt', '11pt' or '12pt'). - # 'pointsize': '10pt', - # Additional stuff for the LaTeX preamble. - # 'preamble': '', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass [howto/manual]). -latex_documents = [ - ( - "index", - "{{ cookiecutter.project_slug }}.tex", - "{{ cookiecutter.project_name }} Documentation", - """{{ cookiecutter.author_name }}""", - "manual", - ) -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -# latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -# latex_use_parts = False - -# If true, show page references after internal links. -# latex_show_pagerefs = False - -# If true, show URL addresses after external links. -# latex_show_urls = False - -# Documents to append as an appendix to all manuals. -# latex_appendices = [] - -# If false, no module index is generated. -# latex_domain_indices = True - - -# -- Options for manual page output -------------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ( - "index", - "{{ cookiecutter.project_slug }}", - "{{ cookiecutter.project_name }} Documentation", - ["""{{ cookiecutter.author_name }}"""], - 1, - ) -] - -# If true, show URL addresses after external links. -# man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------------ - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ( - "index", - "{{ cookiecutter.project_slug }}", - "{{ cookiecutter.project_name }} Documentation", - """{{ cookiecutter.author_name }}""", - "{{ cookiecutter.project_name }}", - """{{ cookiecutter.description }}""", - "Miscellaneous", - ) -] - -# Documents to append as an appendix to all manuals. -# texinfo_appendices = [] - -# If false, no module index is generated. -# texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -# texinfo_show_urls = 'footnote' +html_static_path = ['_static'] diff --git a/{{cookiecutter.project_slug}}/docs/index.rst b/{{cookiecutter.project_slug}}/docs/index.rst index 96752d807..b107a9e5c 100644 --- a/{{cookiecutter.project_slug}}/docs/index.rst +++ b/{{cookiecutter.project_slug}}/docs/index.rst @@ -3,17 +3,19 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -{{ cookiecutter.project_name }} Project Documentation -==================================================================== - -Table of Contents: +Welcome to {{ cookiecutter.project_name }}'s documentation! +====================================================================== .. toctree:: :maxdepth: 2 + :caption: Contents: + + pycharm/configuration -Indices & Tables -================ + +Indices and tables +================== * :ref:`genindex` * :ref:`modindex` diff --git a/{{cookiecutter.project_slug}}/docs/make.bat b/{{cookiecutter.project_slug}}/docs/make.bat index ec43148b3..922152e96 100644 --- a/{{cookiecutter.project_slug}}/docs/make.bat +++ b/{{cookiecutter.project_slug}}/docs/make.bat @@ -1,190 +1,35 @@ @ECHO OFF +pushd %~dp0 + REM Command file for Sphinx documentation if "%SPHINXBUILD%" == "" ( set SPHINXBUILD=sphinx-build ) +set SOURCEDIR=. set BUILDDIR=_build -set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . -set I18NSPHINXOPTS=%SPHINXOPTS% . -if NOT "%PAPER%" == "" ( - set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% - set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% -) if "%1" == "" goto help -if "%1" == "help" ( - :help - echo.Please use `make ^` where ^ is one of - echo. html to make standalone HTML files - echo. dirhtml to make HTML files named index.html in directories - echo. singlehtml to make a single large HTML file - echo. pickle to make pickle files - echo. json to make JSON files - echo. htmlhelp to make HTML files and a HTML help project - echo. qthelp to make HTML files and a qthelp project - echo. devhelp to make HTML files and a Devhelp project - echo. epub to make an epub - echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter - echo. text to make text files - echo. man to make manual pages - echo. texinfo to make Texinfo files - echo. gettext to make PO message catalogs - echo. changes to make an overview over all changed/added/deprecated items - echo. linkcheck to check all external links for integrity - echo. doctest to run all doctests embedded in the documentation if enabled - goto end -) - -if "%1" == "clean" ( - for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i - del /q /s %BUILDDIR%\* - goto end -) - -if "%1" == "html" ( - %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html - if errorlevel 1 exit /b 1 +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/html. - goto end + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 ) -if "%1" == "dirhtml" ( - %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. - goto end -) +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end -if "%1" == "singlehtml" ( - %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. - goto end -) - -if "%1" == "pickle" ( - %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the pickle files. - goto end -) - -if "%1" == "json" ( - %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the JSON files. - goto end -) - -if "%1" == "htmlhelp" ( - %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run HTML Help Workshop with the ^ -.hhp project file in %BUILDDIR%/htmlhelp. - goto end -) - -if "%1" == "qthelp" ( - %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run "qcollectiongenerator" with the ^ -.qhcp project file in %BUILDDIR%/qthelp, like this: - echo.^> qcollectiongenerator %BUILDDIR%\qthelp\{{ cookiecutter.project_slug }}.qhcp - echo.To view the help file: - echo.^> assistant -collectionFile %BUILDDIR%\qthelp\{{ cookiecutter.project_slug }}.ghc - goto end -) - -if "%1" == "devhelp" ( - %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. - goto end -) - -if "%1" == "epub" ( - %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The epub file is in %BUILDDIR%/epub. - goto end -) - -if "%1" == "latex" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "text" ( - %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The text files are in %BUILDDIR%/text. - goto end -) - -if "%1" == "man" ( - %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The manual pages are in %BUILDDIR%/man. - goto end -) - -if "%1" == "texinfo" ( - %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. - goto end -) - -if "%1" == "gettext" ( - %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The message catalogs are in %BUILDDIR%/locale. - goto end -) - -if "%1" == "changes" ( - %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes - if errorlevel 1 exit /b 1 - echo. - echo.The overview file is in %BUILDDIR%/changes. - goto end -) - -if "%1" == "linkcheck" ( - %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck - if errorlevel 1 exit /b 1 - echo. - echo.Link check complete; look for any errors in the above output ^ -or in %BUILDDIR%/linkcheck/output.txt. - goto end -) - -if "%1" == "doctest" ( - %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest - if errorlevel 1 exit /b 1 - echo. - echo.Testing of doctests in the sources finished, look at the ^ -results in %BUILDDIR%/doctest/output.txt. - goto end -) +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% :end +popd diff --git a/{{cookiecutter.project_slug}}/docs/pycharm/configuration.rst b/{{cookiecutter.project_slug}}/docs/pycharm/configuration.rst index c1d4f4b98..1c20d023f 100644 --- a/{{cookiecutter.project_slug}}/docs/pycharm/configuration.rst +++ b/{{cookiecutter.project_slug}}/docs/pycharm/configuration.rst @@ -36,12 +36,18 @@ After few seconds, all *Run/Debug Configurations* should be ready to use. **Things you can do with provided configuration**: * run and debug python code + .. image:: images/f1.png + * run and debug tests + .. image:: images/f2.png .. image:: images/f3.png + * run and debug migrations or different django management commands + .. image:: images/f4.png + * and many others.. Known issues From 028728351acebb1935be021d73ba528e7a5f5250 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 28 Dec 2019 08:00:31 -0300 Subject: [PATCH 0488/2840] Update tox from 3.14.2 to 3.14.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index eccb2d9da..2ab19a9e7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ flake8==3.7.9 # Testing # ------------------------------------------------------------------------------ -tox==3.14.2 +tox==3.14.3 pytest==5.3.2 pytest_cases==1.12.0 pytest-cookies==0.4.0 From aa48a03c1ff86c06491a8997a2bbb62757cc0281 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 31 Dec 2019 08:00:30 -0300 Subject: [PATCH 0489/2840] Update django-compressor from 2.3 to 2.4 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index c31481a35..7c8c7b2f0 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -25,7 +25,7 @@ django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils django-allauth==0.41.0 # https://github.com/pennersr/django-allauth django-crispy-forms==1.8.1 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} -django-compressor==2.3 # https://github.com/django-compressor/django-compressor +django-compressor==2.4 # https://github.com/django-compressor/django-compressor {%- endif %} django-redis==4.11.0 # https://github.com/niwinz/django-redis From e33e90fb69a056d3f0f490659a9c826a0df42584 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 2 Jan 2020 08:00:30 -0300 Subject: [PATCH 0490/2840] Update pillow from 6.2.1 to 7.0.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index c31481a35..2d107178c 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,6 +1,6 @@ pytz==2019.3 # https://github.com/stub42/pytz python-slugify==4.0.0 # https://github.com/un33k/python-slugify -Pillow==6.2.1 # https://github.com/python-pillow/Pillow +Pillow==7.0.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin {%- endif %} From 41d514e6cfe4563974b6d1d893fa5de5dbb9e6bf Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 3 Jan 2020 08:00:31 -0300 Subject: [PATCH 0491/2840] Update pre-commit from 1.20.0 to 1.21.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 070a0b2d2..8dd68ea4c 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -24,7 +24,7 @@ pylint-django==2.0.13 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==1.20.0 # https://github.com/pre-commit/pre-commit +pre-commit==1.21.0 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From bfe094963582b7b1ccda377709067fb2ca7923c6 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 6 Jan 2020 11:00:33 +0000 Subject: [PATCH 0492/2840] Update coverage from 5.0 to 5.0.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 070a0b2d2..0acd5ec12 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -18,7 +18,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ flake8==3.7.9 # https://github.com/PyCQA/flake8 -coverage==5.0 # https://github.com/nedbat/coveragepy +coverage==5.0.2 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black pylint-django==2.0.13 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} From a0359d9d6a48e1cae6de3a5898e7a9a2258de9b2 Mon Sep 17 00:00:00 2001 From: Hunterx7 Date: Mon, 6 Jan 2020 13:57:19 +0100 Subject: [PATCH 0493/2840] Bumped runtime for heroku. --- {{cookiecutter.project_slug}}/runtime.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/runtime.txt b/{{cookiecutter.project_slug}}/runtime.txt index 42731f2fb..6919bf9ed 100644 --- a/{{cookiecutter.project_slug}}/runtime.txt +++ b/{{cookiecutter.project_slug}}/runtime.txt @@ -1 +1 @@ -python-3.7.4 +python-3.7.6 From f0e06a2a17746575825c33ee3535a7cfdbbad08b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 7 Jan 2020 11:00:32 +0000 Subject: [PATCH 0494/2840] Update pyyaml from 5.2 to 5.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index eccb2d9da..8ecf7328d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,4 +14,4 @@ pytest==5.3.2 pytest_cases==1.12.0 pytest-cookies==0.4.0 pytest-xdist==1.31.0 -pyyaml==5.2 +pyyaml==5.3 From b22045bcd4ebf563ccdcf226fb389a6bb71e2654 Mon Sep 17 00:00:00 2001 From: Trung Dong Huynh Date: Tue, 7 Jan 2020 11:06:31 +0000 Subject: [PATCH 0495/2840] Replaced base Docker image with debian:buster-slim (#2373) Using system Python 3 distribution (3.7.3) in order to allow the use of Debian packages for numpy, scipy, etc. without the need of building them or installing build dependencies. Changed `#!/bin/sh` in shell scripts to `#!/bin/bash` to make `set -o pipefail` work. --- .../compose/local/django/Dockerfile | 24 +++++++++-------- .../compose/local/django/celery/beat/start | 2 +- .../compose/local/django/celery/flower/start | 2 +- .../compose/local/django/celery/worker/start | 2 +- .../compose/local/django/start | 2 +- .../compose/production/django/Dockerfile | 26 ++++++++++++------- .../production/django/celery/beat/start | 2 +- .../production/django/celery/flower/start | 2 +- .../production/django/celery/worker/start | 2 +- .../compose/production/django/entrypoint | 2 +- .../compose/production/django/start | 2 +- 11 files changed, 38 insertions(+), 30 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index a98547bdd..6747322a1 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -1,19 +1,21 @@ -FROM python:3.7-alpine +FROM debian:buster-slim ENV PYTHONUNBUFFERED 1 -RUN apk update \ +RUN apt-get update \ + # dependencies for building Python packages + && apt-get install -y build-essential python3-dev python3-pip \ + # link the system python3 as just python for convenience + && ln -s `which python3` /usr/local/bin/python \ + # update pip et al + && pip3 install -U pip setuptools wheel \ # psycopg2 dependencies - && apk add --virtual build-deps gcc python3-dev musl-dev \ - && apk add postgresql-dev \ - # Pillow dependencies - && apk add jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev \ - # CFFI dependencies - && apk add libffi-dev py-cffi \ + && apt-get install -y libpq-dev \ # Translations dependencies - && apk add gettext \ - # https://docs.djangoproject.com/en/dev/ref/django-admin/#dbshell - && apk add postgresql-client + && apt-get install -y gettext \ + # cleaning up unused files + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ + && rm -rf /var/lib/apt/lists/* # Requirements are installed here to ensure they will be cached. COPY ./requirements /requirements diff --git a/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start b/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start index 389e2baf1..c04a7365e 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash set -o errexit set -o nounset diff --git a/{{cookiecutter.project_slug}}/compose/local/django/celery/flower/start b/{{cookiecutter.project_slug}}/compose/local/django/celery/flower/start index be67050da..5bcaa8164 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/celery/flower/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/celery/flower/start @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash set -o errexit set -o nounset diff --git a/{{cookiecutter.project_slug}}/compose/local/django/celery/worker/start b/{{cookiecutter.project_slug}}/compose/local/django/celery/worker/start index 072c6ae62..acd6f1574 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/celery/worker/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/celery/worker/start @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash set -o errexit set -o nounset diff --git a/{{cookiecutter.project_slug}}/compose/local/django/start b/{{cookiecutter.project_slug}}/compose/local/django/start index 921604dcb..f076ee51e 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/start @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash set -o errexit set -o pipefail diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index b0861d605..ddc46f7b3 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -9,21 +9,27 @@ RUN npm run build # Python build stage {%- endif %} -FROM python:3.7-alpine +FROM debian:buster-slim ENV PYTHONUNBUFFERED 1 -RUN apk update \ +RUN apt-get update \ + # dependencies for building Python packages + && apt-get install -y build-essential python3-dev python3-pip \ + # link the system python3 as just python for convenience + && ln -s `which python3` /usr/local/bin/python \ + # update pip et al + && pip3 install -U pip setuptools wheel \ # psycopg2 dependencies - && apk add --virtual build-deps gcc python3-dev musl-dev \ - && apk add postgresql-dev \ - # Pillow dependencies - && apk add jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev \ - # CFFI dependencies - && apk add libffi-dev py-cffi + && apt-get install -y libpq-dev \ + # Translations dependencies + && apt-get install -y gettext \ + # cleaning up unused files + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ + && rm -rf /var/lib/apt/lists/* -RUN addgroup -S django \ - && adduser -S -G django django +RUN addgroup --system django \ + && adduser --system --ingroup django django # Requirements are installed here to ensure they will be cached. COPY ./requirements /requirements diff --git a/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start b/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start index 0e793e38e..20b93123a 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash set -o errexit set -o pipefail diff --git a/{{cookiecutter.project_slug}}/compose/production/django/celery/flower/start b/{{cookiecutter.project_slug}}/compose/production/django/celery/flower/start index be67050da..5bcaa8164 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/celery/flower/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/celery/flower/start @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash set -o errexit set -o nounset diff --git a/{{cookiecutter.project_slug}}/compose/production/django/celery/worker/start b/{{cookiecutter.project_slug}}/compose/production/django/celery/worker/start index 4e519c3fc..38fb77f35 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/celery/worker/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/celery/worker/start @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash set -o errexit set -o pipefail diff --git a/{{cookiecutter.project_slug}}/compose/production/django/entrypoint b/{{cookiecutter.project_slug}}/compose/production/django/entrypoint index 0a76b3107..95ab8297a 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/entrypoint +++ b/{{cookiecutter.project_slug}}/compose/production/django/entrypoint @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash set -o errexit set -o pipefail diff --git a/{{cookiecutter.project_slug}}/compose/production/django/start b/{{cookiecutter.project_slug}}/compose/production/django/start index 0ad39dfae..709c1dd04 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/start @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash set -o errexit set -o pipefail From 4a71b0b9360b2ecea9518b4531a30f25c5735fff Mon Sep 17 00:00:00 2001 From: Trung Dong Huynh Date: Tue, 7 Jan 2020 13:54:15 +0000 Subject: [PATCH 0496/2840] Using the python:3.7-slim-buster image for later Python version - 3.7.6 (instead of debian:buster-slim, shipped with Python 3.7.3) --- .../compose/local/django/Dockerfile | 8 ++------ .../compose/production/django/Dockerfile | 8 ++------ 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index 6747322a1..94c799520 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -1,14 +1,10 @@ -FROM debian:buster-slim +FROM python:3.7-slim-buster ENV PYTHONUNBUFFERED 1 RUN apt-get update \ # dependencies for building Python packages - && apt-get install -y build-essential python3-dev python3-pip \ - # link the system python3 as just python for convenience - && ln -s `which python3` /usr/local/bin/python \ - # update pip et al - && pip3 install -U pip setuptools wheel \ + && apt-get install -y build-essential \ # psycopg2 dependencies && apt-get install -y libpq-dev \ # Translations dependencies diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index ddc46f7b3..9d4dc5fc6 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -9,17 +9,13 @@ RUN npm run build # Python build stage {%- endif %} -FROM debian:buster-slim +FROM python:3.7-slim-buster ENV PYTHONUNBUFFERED 1 RUN apt-get update \ # dependencies for building Python packages - && apt-get install -y build-essential python3-dev python3-pip \ - # link the system python3 as just python for convenience - && ln -s `which python3` /usr/local/bin/python \ - # update pip et al - && pip3 install -U pip setuptools wheel \ + && apt-get install -y build-essential \ # psycopg2 dependencies && apt-get install -y libpq-dev \ # Translations dependencies From c94c6acfc453489c952e9bce85c27ef543e5bd6e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 8 Jan 2020 11:00:33 +0000 Subject: [PATCH 0497/2840] Update sentry-sdk from 0.13.5 to 0.14.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 438ccca6d..db3d5e0a8 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==1.3.1 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.13.5 # https://github.com/getsentry/sentry-python +sentry-sdk==0.14.0 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 3814fc7a3f8a513e0bc46ba6a20ad4ce3b1c31ea Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 11 Jan 2020 13:45:37 +0000 Subject: [PATCH 0498/2840] Update contributors list --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 53edb28e8..71ba3d344 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -122,6 +122,7 @@ Listed in alphabetical order. Henrique G. G. Pereira `@ikkebr`_ Ian Lee `@IanLee1521`_ Irfan Ahmad `@erfaan`_ @erfaan + Isaac12x `@Isaac12x`_ Jan Van Bruggen `@jvanbrug`_ Jelmer Draaijer `@foarsitter`_ Jens Nilsson `@phiberjenz`_ @@ -282,6 +283,7 @@ Listed in alphabetical order. .. _@hjwp: https://github.com/hjwp .. _@IanLee1521: https://github.com/IanLee1521 .. _@ikkebr: https://github.com/ikkebr +.. _@Isaac12x: https://github.com/Isaac12x .. _@iynaix: https://github.com/iynaix .. _@jangeador: https://github.com/jangeador .. _@jazztpt: https://github.com/jazztpt From d9d6eb82c64ea0ba04f9017fd096be6442f11f19 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 11 Jan 2020 13:52:47 +0000 Subject: [PATCH 0499/2840] Update changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e7d9220d..f526bddb2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ All enhancements and patches to Cookiecutter Django will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [2020-01-11] +### Changed +- Speed up & reduce size for production Django image +- Bumped runtime version for Heroku +- Added Debian 10 (Buster) OS dependencies + ## [2019-10-06] ### Changed - Default Python version is now 3.7 (@nicolas471) From 5e1bec2744eef38a909645b85fc1442b7172c59e Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 11 Jan 2020 14:19:11 +0000 Subject: [PATCH 0500/2840] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f526bddb2..58026739e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Speed up & reduce size for production Django image - Bumped runtime version for Heroku - Added Debian 10 (Buster) OS dependencies +- Update Traefik to v2 ## [2019-10-06] ### Changed From 9bd9891541966a38311f7952a30e229c56e773b9 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 11 Jan 2020 16:10:14 +0000 Subject: [PATCH 0501/2840] Align psycopg2 versions --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index f4c228709..37305f4b4 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -4,7 +4,7 @@ Werkzeug==0.16.0 # https://github.com/pallets/werkzeug ipdb==0.12.3 # https://github.com/gotcha/ipdb Sphinx==2.3.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} -psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 +psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 {%- endif %} diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index db3d5e0a8..9e87b18c8 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -3,7 +3,7 @@ -r ./base.txt gunicorn==20.0.4 # https://github.com/benoitc/gunicorn -psycopg2==2.8.3 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 +psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==1.3.1 # https://github.com/antonagestam/collectfast {%- endif %} From 30f8000869b75ebe3e0a312b8a105c121541fca1 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 11 Jan 2020 16:47:44 +0000 Subject: [PATCH 0502/2840] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58026739e..10ee2d03d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Bumped runtime version for Heroku - Added Debian 10 (Buster) OS dependencies - Update Traefik to v2 +- Switched from Alpine based image to Debian based image ## [2019-10-06] ### Changed From 88ff9c1846b84a8feb552ddad8c70fec3b8594c0 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 11 Jan 2020 16:48:16 +0000 Subject: [PATCH 0503/2840] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 10ee2d03d..7a2af7c03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Bumped runtime version for Heroku - Added Debian 10 (Buster) OS dependencies - Update Traefik to v2 -- Switched from Alpine based image to Debian based image +- Switched Docker images from Alpine based to Debian based ## [2019-10-06] ### Changed From 08729822451f5149fae49b2fbaab47ebf4c02483 Mon Sep 17 00:00:00 2001 From: Daniel Hillier Date: Mon, 13 Jan 2020 00:28:37 +1100 Subject: [PATCH 0504/2840] Fix failing mypy tests in users app with django-stubs (#2395) Adds django-stubs as a requirement for local virtualenv. This is required now that the User Model type is being resolved properly. --- .../config/settings/production.py | 2 +- .../config/settings/test.py | 2 +- .../requirements/local.txt | 1 + {{cookiecutter.project_slug}}/setup.cfg | 1 + .../{{cookiecutter.project_slug}}/conftest.py | 4 ++-- .../users/tests/test_models.py | 5 +++-- .../users/tests/test_urls.py | 5 +++-- .../users/tests/test_views.py | 14 ++++---------- 8 files changed, 16 insertions(+), 18 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 22a2acaef..39dbc7cd5 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -154,7 +154,7 @@ MEDIA_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/" # TEMPLATES # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#templates -TEMPLATES[0]["OPTIONS"]["loaders"] = [ # noqa F405 +TEMPLATES[0]["OPTIONS"]["loaders"] = [ # type: ignore[index] # noqa F405 ( "django.template.loaders.cached.Loader", [ diff --git a/{{cookiecutter.project_slug}}/config/settings/test.py b/{{cookiecutter.project_slug}}/config/settings/test.py index fad41afdd..d31b2864a 100644 --- a/{{cookiecutter.project_slug}}/config/settings/test.py +++ b/{{cookiecutter.project_slug}}/config/settings/test.py @@ -32,7 +32,7 @@ PASSWORD_HASHERS = ["django.contrib.auth.hashers.MD5PasswordHasher"] # TEMPLATES # ------------------------------------------------------------------------------ -TEMPLATES[0]["OPTIONS"]["loaders"] = [ # noqa F405 +TEMPLATES[0]["OPTIONS"]["loaders"] = [ # type: ignore[index] # noqa F405 ( "django.template.loaders.cached.Loader", [ diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 37305f4b4..c46444efc 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,6 +12,7 @@ psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.761 # https://github.com/python/mypy +django-stubs==1.3.1 # https://github.com/typeddjango/django-stubs pytest==5.3.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar diff --git a/{{cookiecutter.project_slug}}/setup.cfg b/{{cookiecutter.project_slug}}/setup.cfg index f7cd01cb6..5f7d9b655 100644 --- a/{{cookiecutter.project_slug}}/setup.cfg +++ b/{{cookiecutter.project_slug}}/setup.cfg @@ -13,6 +13,7 @@ ignore_missing_imports = True warn_unused_ignores = True warn_redundant_casts = True warn_unused_configs = True +plugins = mypy_django_plugin.main [mypy.plugins.django-stubs] django_settings_module = config.settings.test diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/conftest.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/conftest.py index aae11d269..8cd51d7fe 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/conftest.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/conftest.py @@ -1,7 +1,7 @@ import pytest -from django.conf import settings from django.test import RequestFactory +from {{ cookiecutter.project_slug }}.users.models import User from {{ cookiecutter.project_slug }}.users.tests.factories import UserFactory @@ -11,7 +11,7 @@ def media_storage(settings, tmpdir): @pytest.fixture -def user() -> settings.AUTH_USER_MODEL: +def user() -> User: return UserFactory() diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_models.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_models.py index 548636323..3194be1fd 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_models.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_models.py @@ -1,8 +1,9 @@ import pytest -from django.conf import settings + +from {{ cookiecutter.project_slug }}.users.models import User pytestmark = pytest.mark.django_db -def test_user_get_absolute_url(user: settings.AUTH_USER_MODEL): +def test_user_get_absolute_url(user: User): assert user.get_absolute_url() == f"/users/{user.username}/" diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py index c6361920d..933396ba0 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py @@ -1,11 +1,12 @@ import pytest -from django.conf import settings from django.urls import reverse, resolve +from {{ cookiecutter.project_slug }}.users.models import User + pytestmark = pytest.mark.django_db -def test_detail(user: settings.AUTH_USER_MODEL): +def test_detail(user: User): assert ( reverse("users:detail", kwargs={"username": user.username}) == f"/users/{user.username}/" diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py index 76cb80aa8..9e868899c 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py @@ -1,7 +1,7 @@ import pytest -from django.conf import settings from django.test import RequestFactory +from {{ cookiecutter.project_slug }}.users.models import User from {{ cookiecutter.project_slug }}.users.views import UserRedirectView, UserUpdateView pytestmark = pytest.mark.django_db @@ -16,9 +16,7 @@ class TestUserUpdateView: https://github.com/pytest-dev/pytest-django/pull/258 """ - def test_get_success_url( - self, user: settings.AUTH_USER_MODEL, request_factory: RequestFactory - ): + def test_get_success_url(self, user: User, request_factory: RequestFactory): view = UserUpdateView() request = request_factory.get("/fake-url/") request.user = user @@ -27,9 +25,7 @@ class TestUserUpdateView: assert view.get_success_url() == f"/users/{user.username}/" - def test_get_object( - self, user: settings.AUTH_USER_MODEL, request_factory: RequestFactory - ): + def test_get_object(self, user: User, request_factory: RequestFactory): view = UserUpdateView() request = request_factory.get("/fake-url/") request.user = user @@ -40,9 +36,7 @@ class TestUserUpdateView: class TestUserRedirectView: - def test_get_redirect_url( - self, user: settings.AUTH_USER_MODEL, request_factory: RequestFactory - ): + def test_get_redirect_url(self, user: User, request_factory: RequestFactory): view = UserRedirectView() request = request_factory.get("/fake-url") request.user = user From 9d1d5e47ff18682a1190fa4ef2b916044daf34ab Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 13 Jan 2020 11:00:33 +0000 Subject: [PATCH 0505/2840] Update coverage from 5.0.2 to 5.0.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 37305f4b4..01394c15d 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -18,7 +18,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ flake8==3.7.9 # https://github.com/PyCQA/flake8 -coverage==5.0.2 # https://github.com/nedbat/coveragepy +coverage==5.0.3 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black pylint-django==2.0.13 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} From 60bf49a10cc840d551d15c99ab9ec962f1d34ebf Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 13 Jan 2020 12:40:32 +0000 Subject: [PATCH 0506/2840] Update CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 87c8b4bd5..3e1f1cfef 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -94,6 +94,7 @@ Listed in alphabetical order. Dan Shultz `@shultz`_ Dani Hodovic `@danihodovic`_ Daniel Hepper `@dhepper`_ @danielhepper + Daniel Hillier `@danifus`_ Daniele Tricoli `@eriol`_ David Díaz `@ddiazpinto`_ @DavidDiazPinto Davit Tovmasyan `@davitovmasyan`_ @@ -255,6 +256,7 @@ Listed in alphabetical order. .. _@curtisstpierre: https://github.com/curtisstpierre .. _@dadokkio: https://github.com/dadokkio .. _@danihodovic: https://github.com/danihodovic +.. _@danifus: https://github.com/danifus .. _@davitovmasyan: https://github.com/davitovmasyan .. _@ddiazpinto: https://github.com/ddiazpinto .. _@delneg: https://github.com/delneg From 463c1f83e6896284b6c77b868b42797425a99c38 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 13 Jan 2020 17:51:50 +0000 Subject: [PATCH 0507/2840] Update CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 3e1f1cfef..14394dde9 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -125,6 +125,7 @@ Listed in alphabetical order. Ian Lee `@IanLee1521`_ Irfan Ahmad `@erfaan`_ @erfaan Isaac12x `@Isaac12x`_ + Ivan Khomutov `@ikhomutov`_ Jan Van Bruggen `@jvanbrug`_ Jelmer Draaijer `@foarsitter`_ Jens Nilsson `@phiberjenz`_ @@ -286,6 +287,7 @@ Listed in alphabetical order. .. _@hendrikschneider: https://github.com/hendrikschneider .. _@hjwp: https://github.com/hjwp .. _@IanLee1521: https://github.com/IanLee1521 +.. _@ikhomutov: https://github.com/ikhomutov .. _@ikkebr: https://github.com/ikkebr .. _@Isaac12x: https://github.com/Isaac12x .. _@iynaix: https://github.com/iynaix From d9d80751dd44d40c9b7da5a56b71e1e92d350c7d Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 13 Jan 2020 22:42:35 +0000 Subject: [PATCH 0508/2840] Update CHANGELOG.md --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a2af7c03..b12ce03ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [2020-01-12] +### Changed +- Fix mypy setup and added django-stubs +- Add Gitlab CI as option + ## [2020-01-11] ### Changed - Speed up & reduce size for production Django image From 6d4128b487f83e1083b9249d5709558c24feec2b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 14 Jan 2020 11:00:32 +0000 Subject: [PATCH 0509/2840] Update django-stubs from 1.3.1 to 1.4.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 600ef4f5e..ebaad16ef 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.761 # https://github.com/python/mypy -django-stubs==1.3.1 # https://github.com/typeddjango/django-stubs +django-stubs==1.4.0 # https://github.com/typeddjango/django-stubs pytest==5.3.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar From 82c483bad52871498bf9f2d5d65f956124df3589 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 14 Jan 2020 11:00:37 +0000 Subject: [PATCH 0510/2840] Update pytest-django from 3.7.0 to 3.8.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 600ef4f5e..95c57d7c0 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -34,4 +34,4 @@ factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.1 # https://github.com/jazzband/django-debug-toolbar django-extensions==2.2.5 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin -pytest-django==3.7.0 # https://github.com/pytest-dev/pytest-django +pytest-django==3.8.0 # https://github.com/pytest-dev/pytest-django From 43601d805ab3a10ccb42496e26f0ea851e57794e Mon Sep 17 00:00:00 2001 From: Bo Date: Tue, 14 Jan 2020 08:49:33 -0600 Subject: [PATCH 0511/2840] Update CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 14394dde9..e4ef31816 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -71,6 +71,7 @@ Listed in alphabetical order. Benjamin Abel Bert de Miranda `@bertdemiranda`_ Bo Lopker `@blopker`_ + Bo Peng `@BoPeng`_ Bouke Haarsma Brent Payne `@brentpayne`_ @brentpayne Bruce Olivier `@bolivierjr`_ @@ -235,6 +236,7 @@ Listed in alphabetical order. .. _@blopker: https://github.com/blopker .. _@bogdal: https://github.com/bogdal .. _@bolivierjr: https://github.com/bolivierjr +.. _@BoPeng: https://github.com/BoPeng .. _@brentpayne: https://github.com/brentpayne .. _@btknu: https://github.com/btknu .. _@burhan: https://github.com/burhan From 15fc92ace134386adfced5b94504117eec8e954b Mon Sep 17 00:00:00 2001 From: Bo Date: Tue, 14 Jan 2020 08:50:38 -0600 Subject: [PATCH 0512/2840] Assuming DTL to be the last instead of first template engine --- {{cookiecutter.project_slug}}/config/settings/production.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 39dbc7cd5..36667b33a 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -154,7 +154,7 @@ MEDIA_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/" # TEMPLATES # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#templates -TEMPLATES[0]["OPTIONS"]["loaders"] = [ # type: ignore[index] # noqa F405 +TEMPLATES[-1]["OPTIONS"]["loaders"] = [ # type: ignore[index] # noqa F405 ( "django.template.loaders.cached.Loader", [ From 1609d4410edc51a43a2487e55b6c013d1ce1c3ac Mon Sep 17 00:00:00 2001 From: Bo Date: Tue, 14 Jan 2020 21:19:44 -0600 Subject: [PATCH 0513/2840] Fix loaders option in test environment as well --- {{cookiecutter.project_slug}}/config/settings/test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/test.py b/{{cookiecutter.project_slug}}/config/settings/test.py index d31b2864a..667bb20d8 100644 --- a/{{cookiecutter.project_slug}}/config/settings/test.py +++ b/{{cookiecutter.project_slug}}/config/settings/test.py @@ -32,7 +32,7 @@ PASSWORD_HASHERS = ["django.contrib.auth.hashers.MD5PasswordHasher"] # TEMPLATES # ------------------------------------------------------------------------------ -TEMPLATES[0]["OPTIONS"]["loaders"] = [ # type: ignore[index] # noqa F405 +TEMPLATES[-1]["OPTIONS"]["loaders"] = [ # type: ignore[index] # noqa F405 ( "django.template.loaders.cached.Loader", [ From 2f9d69398063025a59e7b2159f345af4bbaeb4ea Mon Sep 17 00:00:00 2001 From: howiezhao Date: Thu, 16 Jan 2020 11:31:37 +0800 Subject: [PATCH 0514/2840] style: formatting code --- {{cookiecutter.project_slug}}/docs/conf.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/{{cookiecutter.project_slug}}/docs/conf.py b/{{cookiecutter.project_slug}}/docs/conf.py index 3c5d84ad8..bfde1e3a6 100644 --- a/{{cookiecutter.project_slug}}/docs/conf.py +++ b/{{cookiecutter.project_slug}}/docs/conf.py @@ -12,6 +12,7 @@ # import os import sys + # import django # sys.path.insert(0, os.path.abspath('..')) # os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local") @@ -30,16 +31,15 @@ author = "{{ cookiecutter.author_name }}" # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = [ -] +extensions = [] # Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] +templates_path = ["_templates"] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] +exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] # -- Options for HTML output ------------------------------------------------- @@ -47,9 +47,9 @@ exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = 'alabaster' +html_theme = "alabaster" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] +html_static_path = ["_static"] From d1a46b5d4ded1342459aba839963a92ceaccccd3 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 17 Jan 2020 10:53:54 +0000 Subject: [PATCH 0515/2840] Update badge from Gitter to Slack --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 2fba0979a..337a88458 100644 --- a/README.rst +++ b/README.rst @@ -9,8 +9,8 @@ Cookiecutter Django :target: https://pyup.io/repos/github/pydanny/cookiecutter-django/ :alt: Updates -.. image:: https://badges.gitter.im/Join Chat.svg - :target: https://gitter.im/pydanny/cookiecutter-django?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge +.. image:: https://img.shields.io/badge/cookiecutter-Join%20on%20Slack-green?style=flat&logo=slack + :target: https://join.slack.com/t/cookie-cutter/shared_invite/enQtNzI0Mzg5NjE5Nzk5LTRlYWI2YTZhYmQ4YmU1Y2Q2NmE1ZjkwOGM0NDQyNTIwY2M4ZTgyNDVkNjMxMDdhZGI5ZGE5YmJjM2M3ODJlY2U?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge .. image:: https://www.codetriage.com/pydanny/cookiecutter-django/badges/users.svg :target: https://www.codetriage.com/pydanny/cookiecutter-django From cb95128b178b7948cc4a6c72784952d86c756b36 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 17 Jan 2020 10:56:11 +0000 Subject: [PATCH 0516/2840] Change link from Gitter to Slack --- README.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 337a88458..6e534b0f2 100644 --- a/README.rst +++ b/README.rst @@ -10,7 +10,7 @@ Cookiecutter Django :alt: Updates .. image:: https://img.shields.io/badge/cookiecutter-Join%20on%20Slack-green?style=flat&logo=slack - :target: https://join.slack.com/t/cookie-cutter/shared_invite/enQtNzI0Mzg5NjE5Nzk5LTRlYWI2YTZhYmQ4YmU1Y2Q2NmE1ZjkwOGM0NDQyNTIwY2M4ZTgyNDVkNjMxMDdhZGI5ZGE5YmJjM2M3ODJlY2U?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge + :target: https://join.slack.com/t/cookie-cutter/shared_invite/enQtNzI0Mzg5NjE5Nzk5LTRlYWI2YTZhYmQ4YmU1Y2Q2NmE1ZjkwOGM0NDQyNTIwY2M4ZTgyNDVkNjMxMDdhZGI5ZGE5YmJjM2M3ODJlY2U .. image:: https://www.codetriage.com/pydanny/cookiecutter-django/badges/users.svg :target: https://www.codetriage.com/pydanny/cookiecutter-django @@ -226,11 +226,11 @@ Community * Have questions? **Before you ask questions anywhere else**, please post your question on `Stack Overflow`_ under the *cookiecutter-django* tag. We check there periodically for questions. * If you think you found a bug or want to request a feature, please open an issue_. -* For anything else, you can chat with us on `Gitter`_. +* For anything else, you can chat with us on `Slack`_. .. _`Stack Overflow`: http://stackoverflow.com/questions/tagged/cookiecutter-django .. _`issue`: https://github.com/pydanny/cookiecutter-django/issues -.. _`Gitter`: https://gitter.im/pydanny/cookiecutter-django?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge +.. _`Slack`: https://join.slack.com/t/cookie-cutter/shared_invite/enQtNzI0Mzg5NjE5Nzk5LTRlYWI2YTZhYmQ4YmU1Y2Q2NmE1ZjkwOGM0NDQyNTIwY2M4ZTgyNDVkNjMxMDdhZGI5ZGE5YmJjM2M3ODJlY2U For Readers of Two Scoops of Django -------------------------------------------- From c02587300ea6f879b220637d6d5406a78fcd26b3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 17 Jan 2020 11:00:36 +0000 Subject: [PATCH 0517/2840] Update django-extensions from 2.2.5 to 2.2.6 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index d0f8ef22d..544930ad4 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -32,6 +32,6 @@ pre-commit==1.21.0 # https://github.com/pre-commit/pre-commit factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.1 # https://github.com/jazzband/django-debug-toolbar -django-extensions==2.2.5 # https://github.com/django-extensions/django-extensions +django-extensions==2.2.6 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.8.0 # https://github.com/pytest-dev/pytest-django From 70f43c77160bc786f5a965ee8e3ea67e28175022 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 17 Jan 2020 11:00:40 +0000 Subject: [PATCH 0518/2840] Update django-coverage-plugin from 1.6.0 to 1.7.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index d0f8ef22d..4abefa7e9 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -33,5 +33,5 @@ factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.1 # https://github.com/jazzband/django-debug-toolbar django-extensions==2.2.5 # https://github.com/django-extensions/django-extensions -django-coverage-plugin==1.6.0 # https://github.com/nedbat/django_coverage_plugin +django-coverage-plugin==1.7.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.8.0 # https://github.com/pytest-dev/pytest-django From 546168c64ba47219e8d3cddc4322bb97c6c9efc6 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 18 Jan 2020 11:00:33 +0000 Subject: [PATCH 0519/2840] Update pytest from 5.3.2 to 5.3.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 2f7772b2f..b4be7b5d2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.9 # Testing # ------------------------------------------------------------------------------ tox==3.14.3 -pytest==5.3.2 +pytest==5.3.3 pytest_cases==1.12.0 pytest-cookies==0.4.0 pytest-xdist==1.31.0 From a69bf2e778ff4d0bc12857c45e5187e1074a829d Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 18 Jan 2020 11:00:34 +0000 Subject: [PATCH 0520/2840] Update pytest from 5.3.1 to 5.3.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 544930ad4..345193b59 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -13,7 +13,7 @@ psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 # ------------------------------------------------------------------------------ mypy==0.761 # https://github.com/python/mypy django-stubs==1.4.0 # https://github.com/typeddjango/django-stubs -pytest==5.3.1 # https://github.com/pytest-dev/pytest +pytest==5.3.3 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From 3f6562c7fe79b961952014285c887d958e102906 Mon Sep 17 00:00:00 2001 From: Bo Peng <47236991+bioworkflows@users.noreply.github.com> Date: Sun, 19 Jan 2020 16:21:27 -0600 Subject: [PATCH 0521/2840] Honor passed password for UserFactory --- .../{{cookiecutter.project_slug}}/users/tests/factories.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py index b53713661..290f7b41e 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py @@ -12,7 +12,7 @@ class UserFactory(DjangoModelFactory): @post_generation def password(self, create: bool, extracted: Sequence[Any], **kwargs): - password = Faker( + password = extracted if extracted else Faker( "password", length=42, special_chars=True, From a0fff1d0859699a430d69ad05c158477e6ea8710 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 21 Jan 2020 11:00:33 +0000 Subject: [PATCH 0522/2840] Update pytest from 5.3.3 to 5.3.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index b4be7b5d2..8d9b1685c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.9 # Testing # ------------------------------------------------------------------------------ tox==3.14.3 -pytest==5.3.3 +pytest==5.3.4 pytest_cases==1.12.0 pytest-cookies==0.4.0 pytest-xdist==1.31.0 From 8ceaa3e1c72e13ea5b29c7581fa09b61bf45a12b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 21 Jan 2020 11:00:34 +0000 Subject: [PATCH 0523/2840] Update pytest from 5.3.3 to 5.3.4 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 6fd88bc76..4acb1d9d0 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -13,7 +13,7 @@ psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 # ------------------------------------------------------------------------------ mypy==0.761 # https://github.com/python/mypy django-stubs==1.4.0 # https://github.com/typeddjango/django-stubs -pytest==5.3.3 # https://github.com/pytest-dev/pytest +pytest==5.3.4 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From bc00a343ea6c93cc078e8f55f033fef1d9af1a88 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 22 Jan 2020 10:52:31 +0000 Subject: [PATCH 0524/2840] Fix broken links in doc fixes #2408 --- docs/testing.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/testing.rst b/docs/testing.rst index 63cb9e186..9aaa2455b 100644 --- a/docs/testing.rst +++ b/docs/testing.rst @@ -49,8 +49,8 @@ Once the tests are complete, in order to see the code coverage, run the followin Since this is a fresh install, and there are no tests built using the Python `unittest`_ library yet, you should get feedback that says there were no tests carried out. .. _Pytest: https://docs.pytest.org/en/latest/example/simple.html -.. _develop locally: ../developing-locally.rst -.. _develop locally with docker: ..../developing-locally-docker.rst +.. _develop locally: ./developing-locally.html +.. _develop locally with docker: ./developing-locally-docker.html .. _customize: https://docs.pytest.org/en/latest/customize.html .. _unittest: https://docs.python.org/3/library/unittest.html#module-unittest -.. _configuring: https://coverage.readthedocs.io/en/v4.5.x/config.html \ No newline at end of file +.. _configuring: https://coverage.readthedocs.io/en/v4.5.x/config.html From 9bf6ee16b215648c4014f4ef6fbe351fb0f0d5bc Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 22 Jan 2020 11:00:32 +0000 Subject: [PATCH 0525/2840] Update sentry-sdk from 0.14.0 to 0.14.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 9e87b18c8..38420a385 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==1.3.1 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.14.0 # https://github.com/getsentry/sentry-python +sentry-sdk==0.14.1 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 2833600aec432f9af9f4437e38a7fb2674f17335 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 23 Jan 2020 14:43:17 +0000 Subject: [PATCH 0526/2840] Test generation with and without DRF --- tests/test_cookiecutter_generation.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 8c2f71fe8..cd23b312a 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -33,6 +33,7 @@ def context(): @pytest.mark.parametrize("use_mailhog", ["y", "n"], ids=lambda yn: f"mailhog:{yn}") @pytest.mark.parametrize("use_sentry", ["y", "n"], ids=lambda yn: f"sentry:{yn}") @pytest.mark.parametrize("use_compressor", ["y", "n"], ids=lambda yn: f"cmpr:{yn}") +@pytest.mark.parametrize("use_drf", ["y", "n"], ids=lambda yn: f"drf:{yn}") @pytest.mark.parametrize( "use_whitenoise,cloud_provider", [ @@ -53,6 +54,7 @@ def context_combination( use_sentry, use_compressor, use_whitenoise, + use_drf, cloud_provider, ): """Fixture that parametrize the function where it's used.""" @@ -64,6 +66,7 @@ def context_combination( "use_mailhog": use_mailhog, "use_sentry": use_sentry, "use_whitenoise": use_whitenoise, + "use_drf": use_drf, "cloud_provider": cloud_provider, } From fd43059e289e15296015b7a2eff9db9b8b1ff5e1 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 23 Jan 2020 17:52:17 +0000 Subject: [PATCH 0527/2840] Update formatting --- .../users/tests/factories.py | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py index 290f7b41e..8917c5aec 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py @@ -12,14 +12,18 @@ class UserFactory(DjangoModelFactory): @post_generation def password(self, create: bool, extracted: Sequence[Any], **kwargs): - password = extracted if extracted else Faker( - "password", - length=42, - special_chars=True, - digits=True, - upper_case=True, - lower_case=True, - ).generate(extra_kwargs={}) + password = ( + extracted + if extracted + else Faker( + "password", + length=42, + special_chars=True, + digits=True, + upper_case=True, + lower_case=True, + ).generate(extra_kwargs={}) + ) self.set_password(password) class Meta: From fa9a8cfe7ba3d40540d30f8f5b834541191b3f0d Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 23 Jan 2020 15:04:30 +0000 Subject: [PATCH 0528/2840] Fix code formatting --- {{cookiecutter.project_slug}}/config/api_router.py | 4 ++-- {{cookiecutter.project_slug}}/config/settings/base.py | 10 ++++------ {{cookiecutter.project_slug}}/config/urls.py | 5 +++-- .../users/api/serializers.py | 6 +++--- .../{{cookiecutter.project_slug}}/users/api/views.py | 8 ++++---- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/api_router.py b/{{cookiecutter.project_slug}}/config/api_router.py index fc8107b44..46a797a74 100644 --- a/{{cookiecutter.project_slug}}/config/api_router.py +++ b/{{cookiecutter.project_slug}}/config/api_router.py @@ -7,8 +7,8 @@ if settings.DEBUG: else: router = SimpleRouter() -router.register('users', UserViewSet) +router.register("users", UserViewSet) -app_name = 'api' +app_name = "api" urlpatterns = router.urls diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 06a3fc890..ca43eb88f 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -308,13 +308,11 @@ STATICFILES_FINDERS += ["compressor.finders.CompressorFinder"] # ------------------------------------------------------------------------------- # django-rest-framework - https://www.django-rest-framework.org/api-guide/settings/ REST_FRAMEWORK = { - 'DEFAULT_AUTHENTICATION_CLASSES': ( - 'rest_framework.authentication.SessionAuthentication', - 'rest_framework.authentication.TokenAuthentication', + "DEFAULT_AUTHENTICATION_CLASSES": ( + "rest_framework.authentication.SessionAuthentication", + "rest_framework.authentication.TokenAuthentication", ), - 'DEFAULT_PERMISSION_CLASSES': ( - 'rest_framework.permissions.IsAuthenticated', - ) + "DEFAULT_PERMISSION_CLASSES": ("rest_framework.permissions.IsAuthenticated",), } {%- endif %} # Your stuff... diff --git a/{{cookiecutter.project_slug}}/config/urls.py b/{{cookiecutter.project_slug}}/config/urls.py index 5382bdb7c..382bf8951 100644 --- a/{{cookiecutter.project_slug}}/config/urls.py +++ b/{{cookiecutter.project_slug}}/config/urls.py @@ -24,9 +24,10 @@ urlpatterns = [ # API URLS urlpatterns += [ # API base url - path("api/", include('config.api_router')), + path("api/", include("config.api_router")), # DRF auth token - path("auth-token/", obtain_auth_token)] + path("auth-token/", obtain_auth_token), +] {%- endif %} if settings.DEBUG: diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py index 8fc2262ec..bb52738b7 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py @@ -1,12 +1,12 @@ from rest_framework import serializers from {{ cookiecutter.project_slug }}.users.models import User + class UserSerializer(serializers.ModelSerializer): class Meta: model = User - fields = ['username', 'email', 'name', 'url'] + fields = ["username", "email", "name", "url"] extra_kwargs = { - 'url': {'view_name': 'api:user-detail', 'lookup_field': 'username'} + "url": {"view_name": "api:user-detail", "lookup_field": "username"} } - diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py index 440cc9b24..7b5af999b 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py @@ -5,20 +5,20 @@ from rest_framework.mixins import RetrieveModelMixin, ListModelMixin, UpdateMode from rest_framework.response import Response from rest_framework.viewsets import GenericViewSet - from .serializers import UserSerializer + User = get_user_model() class UserViewSet(RetrieveModelMixin, ListModelMixin, UpdateModelMixin, GenericViewSet): serializer_class = UserSerializer queryset = User.objects.all() - lookup_field = 'username' + lookup_field = "username" def get_queryset(self, *args, **kwargs): return self.queryset.filter(id=self.request.user.id) - @action(detail=False, methods=['GET']) + @action(detail=False, methods=["GET"]) def me(self, request): - serializer = UserSerializer(request.user, context={'request': request}) + serializer = UserSerializer(request.user, context={"request": request}) return Response(status=status.HTTP_200_OK, data=serializer.data) From 4bf0533bfabf5f34cdeff08f8bac75f090fa0def Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 23 Jan 2020 18:39:38 +0000 Subject: [PATCH 0529/2840] Fix broken links duplicated from testing.rst --- docs/document.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/document.rst b/docs/document.rst index abf115a17..7207e357c 100644 --- a/docs/document.rst +++ b/docs/document.rst @@ -41,5 +41,5 @@ Sphinx can automatically generate documentation from docstrings, to enable this 4. Regenerate HTML documentation as written above. .. _Sphinx: https://www.sphinx-doc.org/en/master/index.html -.. _develop locally: ../developing-locally.rst -.. _develop locally with docker: ..../developing-locally-docker.rst +.. _develop locally: ./developing-locally.html +.. _develop locally with docker: ./developing-locally-docker.html From e8fcf9ed6053bd467284fff40c9effeabd33a7a6 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 23 Jan 2020 18:53:03 +0000 Subject: [PATCH 0530/2840] Update list of contributors and changelog --- CHANGELOG.md | 20 ++++++++++++-------- CONTRIBUTORS.rst | 2 ++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b12ce03ef..ae8f7efe8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,19 +1,23 @@ # Change Log All enhancements and patches to Cookiecutter Django will be documented in this file. -This project adheres to [Semantic Versioning](http://semver.org/). + +## [2020-01-23] +### Changed +- Fix UserFactory to set the password if provided (@BoPeng) +- Update documentation files with latest Sphinx (@howiezhao) ## [2020-01-12] ### Changed -- Fix mypy setup and added django-stubs -- Add Gitlab CI as option +- Fix mypy setup and added django-stubs (@danifus) +- Add Gitlab CI as option (@ikhomutov) ## [2020-01-11] ### Changed -- Speed up & reduce size for production Django image -- Bumped runtime version for Heroku -- Added Debian 10 (Buster) OS dependencies -- Update Traefik to v2 -- Switched Docker images from Alpine based to Debian based +- Speed up & reduce size for production Django image (@maxp) +- Bumped runtime version for Heroku (@Isaac12x) +- Added Debian 10 (Buster) OS dependencies (@ddiazpinto) +- Update Traefik to v2 (@blaxpy) +- Switched Docker images from Alpine based to Debian based (@trungdong) ## [2019-10-06] ### Changed diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index e4ef31816..77ede253b 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -123,6 +123,7 @@ Listed in alphabetical order. Harry Percival `@hjwp`_ Hendrik Schneider `@hendrikschneider`_ Henrique G. G. Pereira `@ikkebr`_ + Howie Zhao `@howiezhao`_ Ian Lee `@IanLee1521`_ Irfan Ahmad `@erfaan`_ @erfaan Isaac12x `@Isaac12x`_ @@ -288,6 +289,7 @@ Listed in alphabetical order. .. _@hanaquadara: https://github.com/hanaquadara .. _@hendrikschneider: https://github.com/hendrikschneider .. _@hjwp: https://github.com/hjwp +.. _@howiezhao: https://github.com/howiezhao .. _@IanLee1521: https://github.com/IanLee1521 .. _@ikhomutov: https://github.com/ikhomutov .. _@ikkebr: https://github.com/ikkebr From 2b34e270139f970bd4cc16ae3b1cd8c5a64f65f4 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 24 Jan 2020 11:00:30 +0000 Subject: [PATCH 0531/2840] Update django-coverage-plugin from 1.7.0 to 1.8.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 4acb1d9d0..51ab40c48 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -33,5 +33,5 @@ factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.1 # https://github.com/jazzband/django-debug-toolbar django-extensions==2.2.6 # https://github.com/django-extensions/django-extensions -django-coverage-plugin==1.7.0 # https://github.com/nedbat/django_coverage_plugin +django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.8.0 # https://github.com/pytest-dev/pytest-django From 884e80fc5254398bf295ffce913066f81a756bfd Mon Sep 17 00:00:00 2001 From: Michael Samoylov Date: Fri, 24 Jan 2020 13:59:36 +0200 Subject: [PATCH 0532/2840] Fixed the redis-py project URL Previously it was pointing to the Redis project repository. --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 9ea6b9123..217536400 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.2.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==5.0.1 # https://github.com/evansd/whitenoise {%- endif %} -redis==3.3.11 # https://github.com/antirez/redis +redis==3.3.11 # https://github.com/andymccurdy/redis-py {%- if cookiecutter.use_celery == "y" %} celery==4.4.0 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==1.5.0 # https://github.com/celery/django-celery-beat From f109e65816265c4812077a17fadfb19ecec0da2e Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 24 Jan 2020 15:28:03 +0000 Subject: [PATCH 0533/2840] Update list of contributors --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 77ede253b..44e32cddd 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -167,6 +167,7 @@ Listed in alphabetical order. Meghan Heintz `@dot2dotseurat`_ Mesut Yılmaz `@myilmaz`_ Michael Gecht `@mimischi`_ @_mischi + Michael Samoylov `@msamoylov`_ Min ho Kim `@minho42`_ mozillazg `@mozillazg`_ Nico Stefani `@nicolas471`_ @moby_dick91 @@ -325,6 +326,7 @@ Listed in alphabetical order. .. _@mozillazg: https://github.com/mozillazg .. _@mrcoles: https://github.com/mrcoles .. _@msaizar: https://github.com/msaizar +.. _@msamoylov: https://github.com/msamoylov .. _@myilmaz: https://github.com/myilmaz .. _@nicolas471: https://github.com/nicolas471 .. _@noisy: https://github.com/noisy From 9734582a88a9566910b60ffa66756a8fd50212ed Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 27 Jan 2020 11:00:31 +0000 Subject: [PATCH 0534/2840] Update werkzeug from 0.16.0 to 0.16.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 51ab40c48..426fae385 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,6 +1,6 @@ -r ./base.txt -Werkzeug==0.16.0 # https://github.com/pallets/werkzeug +Werkzeug==0.16.1 # https://github.com/pallets/werkzeug ipdb==0.12.3 # https://github.com/gotcha/ipdb Sphinx==2.3.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} From 54a38bfb4312e2f03e487051daf19d54015b03a0 Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Tue, 28 Jan 2020 10:55:09 +0100 Subject: [PATCH 0535/2840] Allow rendering custom widgets from root templates dir (#2356) * Allow rendering custom widgets from root templates dir Rendering custom widgets from the projects root template directory doesn't work out of the box. See: https://stackoverflow.com/questions/45844032/django-templatedoesnotexist-in-case-of-a-custom-widget/46208414#46-208414 This changes the setting to use the same template finding logic that the TEMPLATES setting uses. * update APP_DIRS=True * fixup! update APP_DIRS=True --- {{cookiecutter.project_slug}}/config/settings/base.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index ecfeed7ae..42edac1f4 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -68,6 +68,7 @@ DJANGO_APPS = [ "django.contrib.staticfiles", # "django.contrib.humanize", # Handy template tags "django.contrib.admin", + "django.forms", ] THIRD_PARTY_APPS = [ "crispy_forms", @@ -196,6 +197,10 @@ TEMPLATES = [ }, } ] + +# https://docs.djangoproject.com/en/dev/ref/settings/#form-renderer +FORM_RENDERER = "django.forms.renderers.TemplatesSetting" + # http://django-crispy-forms.readthedocs.io/en/latest/install.html#template-packs CRISPY_TEMPLATE_PACK = "bootstrap4" From 2698867cf8b949b03ed215883f51538fe2f04b38 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 28 Jan 2020 10:33:24 +0000 Subject: [PATCH 0536/2840] Typo --- tests/test_cookiecutter_generation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index cd23b312a..40e6cf1be 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -42,7 +42,7 @@ def context(): ("y", "None"), ("n", "AWS"), ("n", "GCP"), - # no whitenoise + co cloud provider is not supported + # no whitenoise + no cloud provider is not supported ], ids=lambda id: f"wnoise:{id[0]}-cloud:{id[1]}", ) From f9564485f5b9a2817a54c14be91174860a075236 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 29 Jan 2020 11:00:31 +0000 Subject: [PATCH 0537/2840] Update pytest_cases from 1.12.0 to 1.12.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 8d9b1685c..ae3a3c052 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.9 # ------------------------------------------------------------------------------ tox==3.14.3 pytest==5.3.4 -pytest_cases==1.12.0 +pytest_cases==1.12.1 pytest-cookies==0.4.0 pytest-xdist==1.31.0 pyyaml==5.3 From abdbe387a0d5c7e757840dde84cd095addfed6d0 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 29 Jan 2020 11:00:34 +0000 Subject: [PATCH 0538/2840] Update pre-commit from 1.21.0 to 2.0.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 426fae385..80500e5ed 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -25,7 +25,7 @@ pylint-django==2.0.13 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==1.21.0 # https://github.com/pre-commit/pre-commit +pre-commit==2.0.0 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From a0e2e7aa0566e1dd867e11d095d7849ae8780dac Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 30 Jan 2020 11:00:30 +0000 Subject: [PATCH 0539/2840] Update pytest from 5.3.4 to 5.3.5 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index ae3a3c052..afc125ad5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8==3.7.9 # Testing # ------------------------------------------------------------------------------ tox==3.14.3 -pytest==5.3.4 +pytest==5.3.5 pytest_cases==1.12.1 pytest-cookies==0.4.0 pytest-xdist==1.31.0 From 1305ddaa6af7eb3fc312f048565ce18f36afc7bf Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 30 Jan 2020 11:00:31 +0000 Subject: [PATCH 0540/2840] Update pytest from 5.3.4 to 5.3.5 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 80500e5ed..f4844ed87 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -13,7 +13,7 @@ psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 # ------------------------------------------------------------------------------ mypy==0.761 # https://github.com/python/mypy django-stubs==1.4.0 # https://github.com/typeddjango/django-stubs -pytest==5.3.4 # https://github.com/pytest-dev/pytest +pytest==5.3.5 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality From d292590ceba9127250b52cdc3b711b7912bff63b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 30 Jan 2020 11:00:35 +0000 Subject: [PATCH 0541/2840] Update pre-commit from 2.0.0 to 2.0.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 80500e5ed..df3e2780c 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -25,7 +25,7 @@ pylint-django==2.0.13 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.0.0 # https://github.com/pre-commit/pre-commit +pre-commit==2.0.1 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From dec1abb3d0799f6a6dc88194ea910c3bd7b1be8e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 31 Jan 2020 11:00:30 +0000 Subject: [PATCH 0542/2840] Update redis from 3.3.11 to 3.4.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 217536400..fb32701f7 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.2.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==5.0.1 # https://github.com/evansd/whitenoise {%- endif %} -redis==3.3.11 # https://github.com/andymccurdy/redis-py +redis==3.4.0 # https://github.com/andymccurdy/redis-py {%- if cookiecutter.use_celery == "y" %} celery==4.4.0 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==1.5.0 # https://github.com/celery/django-celery-beat From 1f35086fe50df7e341985784b3493e382a1f7fda Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 31 Jan 2020 17:15:37 +0000 Subject: [PATCH 0543/2840] Downgrade Redis to 3.3.11 as Kombu is incompatible with 3.4.0 Fixes #2425 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index fb32701f7..b4926de51 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.2.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==5.0.1 # https://github.com/evansd/whitenoise {%- endif %} -redis==3.4.0 # https://github.com/andymccurdy/redis-py +redis==3.3.11 # pyup: != 3.4.0 # https://github.com/andymccurdy/redis-py {%- if cookiecutter.use_celery == "y" %} celery==4.4.0 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==1.5.0 # https://github.com/celery/django-celery-beat From af7dcd7ab275baaa8a5741b925fc8b729320e044 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 1 Feb 2020 11:00:29 +0000 Subject: [PATCH 0544/2840] Update django-celery-beat from 1.5.0 to 1.6.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index b4926de51..dabc10c98 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -11,7 +11,7 @@ whitenoise==5.0.1 # https://github.com/evansd/whitenoise redis==3.3.11 # pyup: != 3.4.0 # https://github.com/andymccurdy/redis-py {%- if cookiecutter.use_celery == "y" %} celery==4.4.0 # pyup: < 5.0 # https://github.com/celery/celery -django-celery-beat==1.5.0 # https://github.com/celery/django-celery-beat +django-celery-beat==1.6.0 # https://github.com/celery/django-celery-beat {%- if cookiecutter.use_docker == 'y' %} flower==0.9.3 # https://github.com/mher/flower {%- endif %} From 3c177776d8209721b7a9d98833f7256f7c288459 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 1 Feb 2020 11:00:33 +0000 Subject: [PATCH 0545/2840] Update django-debug-toolbar from 2.1 to 2.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 611ea1197..f7782f0d7 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -31,7 +31,7 @@ pre-commit==2.0.1 # https://github.com/pre-commit/pre-commit # ------------------------------------------------------------------------------ factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy -django-debug-toolbar==2.1 # https://github.com/jazzband/django-debug-toolbar +django-debug-toolbar==2.2 # https://github.com/jazzband/django-debug-toolbar django-extensions==2.2.6 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.8.0 # https://github.com/pytest-dev/pytest-django From 2a6ee05782d73f0539dcdccdb3d30bcb47871da6 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 2 Feb 2020 11:00:30 +0000 Subject: [PATCH 0546/2840] Update redis from 3.3.11 to 3.4.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index dabc10c98..92898a241 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.2.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==5.0.1 # https://github.com/evansd/whitenoise {%- endif %} -redis==3.3.11 # pyup: != 3.4.0 # https://github.com/andymccurdy/redis-py +redis==3.4.1 # pyup: != 3.4.0 # https://github.com/andymccurdy/redis-py {%- if cookiecutter.use_celery == "y" %} celery==4.4.0 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==1.6.0 # https://github.com/celery/django-celery-beat From 06c7628a4c9162ac8f124a68fa3e3eca5c4abe8e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 3 Feb 2020 01:45:39 -0800 Subject: [PATCH 0547/2840] Update pytest-cookies from 0.4.0 to 0.5.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index afc125ad5..e05cff3f5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,6 +12,6 @@ flake8==3.7.9 tox==3.14.3 pytest==5.3.5 pytest_cases==1.12.1 -pytest-cookies==0.4.0 +pytest-cookies==0.5.0 pytest-xdist==1.31.0 pyyaml==5.3 From b49e0f2e39bfa129744cab8d4ad807778039dd09 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 3 Feb 2020 11:00:31 +0000 Subject: [PATCH 0548/2840] Update django-storages from 1.8 to 1.9 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 38420a385..0a1975c2c 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -14,7 +14,7 @@ sentry-sdk==0.14.1 # https://github.com/getsentry/sentry-python # Django # ------------------------------------------------------------------------------ {%- if cookiecutter.cloud_provider == 'AWS' %} -django-storages[boto3]==1.8 # https://github.com/jschneier/django-storages +django-storages[boto3]==1.9 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} django-storages[google]==1.8 # https://github.com/jschneier/django-storages {%- endif %} From f6f78c9da849e3fa766842e5c311c5e7f99afebd Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 3 Feb 2020 11:00:32 +0000 Subject: [PATCH 0549/2840] Update django-storages from 1.8 to 1.9 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 0a1975c2c..0f21e11aa 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -16,6 +16,6 @@ sentry-sdk==0.14.1 # https://github.com/getsentry/sentry-python {%- if cookiecutter.cloud_provider == 'AWS' %} django-storages[boto3]==1.9 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} -django-storages[google]==1.8 # https://github.com/jschneier/django-storages +django-storages[google]==1.9 # https://github.com/jschneier/django-storages {%- endif %} django-anymail[mailgun]==7.0.0 # https://github.com/anymail/django-anymail From e8a946dc7b61140b182354e968bd709b39f2efea Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 3 Feb 2020 11:00:35 +0000 Subject: [PATCH 0550/2840] Update django from 2.2.9 to 2.2.10 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index dabc10c98..1347b6b26 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -19,7 +19,7 @@ flower==0.9.3 # https://github.com/mher/flower # Django # ------------------------------------------------------------------------------ -django==2.2.9 # pyup: < 3.0 # https://www.djangoproject.com/ +django==2.2.10 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils django-allauth==0.41.0 # https://github.com/pennersr/django-allauth From 2f6cb4e8f68fa67fb14553bb90a18d3c2b91c5a1 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 3 Feb 2020 12:29:37 +0000 Subject: [PATCH 0551/2840] Fix deprecation warning --- tests/test_cookiecutter_generation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 40e6cf1be..39b05d7c6 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -3,7 +3,7 @@ import re import pytest from cookiecutter.exceptions import FailedHookException -from pytest_cases import pytest_fixture_plus +from pytest_cases import fixture_plus import sh import yaml from binaryornot.check import is_binary @@ -26,7 +26,7 @@ def context(): } -@pytest_fixture_plus +@fixture_plus @pytest.mark.parametrize("windows", ["y", "n"], ids=lambda yn: f"win:{yn}") @pytest.mark.parametrize("use_docker", ["y", "n"], ids=lambda yn: f"docker:{yn}") @pytest.mark.parametrize("use_celery", ["y", "n"], ids=lambda yn: f"celery:{yn}") From 37ec5a45bbbab1e3b00e191264e5b3af6e6eb2af Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 3 Feb 2020 12:56:37 +0000 Subject: [PATCH 0552/2840] Remove pyup filter --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 35727e1a4..5427f1d0e 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.2.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==5.0.1 # https://github.com/evansd/whitenoise {%- endif %} -redis==3.4.1 # pyup: != 3.4.0 # https://github.com/andymccurdy/redis-py +redis==3.4.1 # https://github.com/andymccurdy/redis-py {%- if cookiecutter.use_celery == "y" %} celery==4.4.0 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==1.6.0 # https://github.com/celery/django-celery-beat From 8fd0d42de0e7c3c8fea92bb4d1d2df3e4af6aa31 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 3 Feb 2020 14:29:20 +0000 Subject: [PATCH 0553/2840] Don't include POSTGRES_... environment in the PyCharm start script when not using Docker --- {{cookiecutter.project_slug}}/.idea/workspace.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.idea/workspace.xml b/{{cookiecutter.project_slug}}/.idea/workspace.xml index a5d73c185..deb28ba1b 100644 --- a/{{cookiecutter.project_slug}}/.idea/workspace.xml +++ b/{{cookiecutter.project_slug}}/.idea/workspace.xml @@ -1,6 +1,11 @@ - {%- if cookiecutter.use_celery == 'y' %} + {%- if cookiecutter.use_docker == 'n' %} + + + {%- elif cookiecutter.use_celery == 'y' %} From e9c6b3d9e9243a96814ce71c41809c302c86c4d7 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 4 Feb 2020 11:00:30 +0000 Subject: [PATCH 0554/2840] Update django-storages from 1.9 to 1.9.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 0f21e11aa..7b8e4b491 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -14,7 +14,7 @@ sentry-sdk==0.14.1 # https://github.com/getsentry/sentry-python # Django # ------------------------------------------------------------------------------ {%- if cookiecutter.cloud_provider == 'AWS' %} -django-storages[boto3]==1.9 # https://github.com/jschneier/django-storages +django-storages[boto3]==1.9.1 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} django-storages[google]==1.9 # https://github.com/jschneier/django-storages {%- endif %} From c7a6dbdd1039dbb4f349a39a2082e8973f69b6f2 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 4 Feb 2020 11:00:31 +0000 Subject: [PATCH 0555/2840] Update django-storages from 1.9 to 1.9.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 7b8e4b491..9c1de8276 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -16,6 +16,6 @@ sentry-sdk==0.14.1 # https://github.com/getsentry/sentry-python {%- if cookiecutter.cloud_provider == 'AWS' %} django-storages[boto3]==1.9.1 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} -django-storages[google]==1.9 # https://github.com/jschneier/django-storages +django-storages[google]==1.9.1 # https://github.com/jschneier/django-storages {%- endif %} django-anymail[mailgun]==7.0.0 # https://github.com/anymail/django-anymail From 86c9b3cb282a4e0fc9a47b2ffa991fbc72486b20 Mon Sep 17 00:00:00 2001 From: Demetris Stavrou <1180929+demestav@users.noreply.github.com> Date: Tue, 4 Feb 2020 15:04:47 +0200 Subject: [PATCH 0556/2840] Flower now served by Traefik --- .../compose/production/traefik/traefik.yml | 19 ++++++++++++++++++- {{cookiecutter.project_slug}}/production.yml | 2 -- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml index 324c62afa..bb3be1500 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml @@ -10,6 +10,9 @@ entryPoints: # https address: ":443" + flower: + address: ":5555" + certificatesResolvers: letsencrypt: # https://docs.traefik.io/master/https/acme/#lets-encrypt @@ -42,6 +45,15 @@ http: # https://docs.traefik.io/master/routing/routers/#certresolver certResolver: letsencrypt + flower-secure-router: + rule: "Host(`{{ cookiecutter.domain_name }}`)" + entryPoints: + - flower + service: flower + tls: + # https://docs.traefik.io/master/routing/routers/#certresolver + certResolver: letsencrypt + middlewares: redirect: # https://docs.traefik.io/master/middlewares/redirectscheme/ @@ -52,7 +64,7 @@ http: # https://docs.traefik.io/master/middlewares/headers/#hostsproxyheaders # https://docs.djangoproject.com/en/dev/ref/csrf/#ajax headers: - hostsProxyHeaders: ['X-CSRFToken'] + hostsProxyHeaders: ["X-CSRFToken"] services: django: @@ -60,6 +72,11 @@ http: servers: - url: http://django:5000 + flower: + loadBalancer: + servers: + - url: http://flower:5555 + providers: # https://docs.traefik.io/master/providers/file/ file: diff --git a/{{cookiecutter.project_slug}}/production.yml b/{{cookiecutter.project_slug}}/production.yml index 62ec9d829..125d4876c 100644 --- a/{{cookiecutter.project_slug}}/production.yml +++ b/{{cookiecutter.project_slug}}/production.yml @@ -60,8 +60,6 @@ services: flower: <<: *django image: {{ cookiecutter.project_slug }}_production_flower - ports: - - "5555:5555" command: /start-flower {%- endif %} From 25a70c5b846f7e17ff416385decbc0bd16251797 Mon Sep 17 00:00:00 2001 From: Demetris Stavrou <1180929+demestav@users.noreply.github.com> Date: Tue, 4 Feb 2020 22:47:56 +0200 Subject: [PATCH 0557/2840] Added Flower access documentation for production. --- docs/deployment-with-docker.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/deployment-with-docker.rst b/docs/deployment-with-docker.rst index 0df50ff45..8a206885a 100644 --- a/docs/deployment-with-docker.rst +++ b/docs/deployment-with-docker.rst @@ -25,7 +25,9 @@ Provided you have opted for Celery (via setting ``use_celery`` to ``y``) there a * ``celeryworker`` running a Celery worker process; * ``celerybeat`` running a Celery beat process; -* ``flower`` running Flower_ (for more info, check out :ref:`CeleryFlower` instructions for local environment). +* ``flower`` running Flower_. + +The ``flower`` service is served by Traefik over HTTPS, through the port ``5555``. For more information about Flower and its login credentials, check out :ref:`CeleryFlower` instructions for local environment. .. _`Flower`: https://github.com/mher/flower From 45c353241b06391d9778b0abec411e55bbb505a7 Mon Sep 17 00:00:00 2001 From: Leonardo Date: Thu, 6 Feb 2020 05:37:31 -0400 Subject: [PATCH 0558/2840] Include `use_drf` option on documentation --- docs/project-generation-options.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/project-generation-options.rst b/docs/project-generation-options.rst index ae47b0972..2ed77facd 100644 --- a/docs/project-generation-options.rst +++ b/docs/project-generation-options.rst @@ -70,6 +70,9 @@ cloud_provider: Note that if you choose no cloud provider, media files won't work. +use_drf: + Indicates whether the project should be configured to use `Django Rest Framework`_. + custom_bootstrap_compilation: Indicates whether the project should support Bootstrap recompilation via the selected JavaScript task runner's task. This can be useful @@ -129,6 +132,8 @@ debug: .. _AWS: https://aws.amazon.com/s3/ .. _GCP: https://cloud.google.com/storage/ +.. _Django Rest Framework: https://github.com/encode/django-rest-framework/ + .. _Django Compressor: https://github.com/django-compressor/django-compressor .. _Celery: https://github.com/celery/celery From 6709fc64c9f16d534a2f156b48425061ec01c7a8 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Thu, 6 Feb 2020 15:17:46 -0500 Subject: [PATCH 0559/2840] Added all supported Anymail Providers in cookiecutter.json * Utilizes {% if %} since it's financially more wise to use AWS SES only if AWS is the cloud provider. * FIXME: If AWS is not cloud provider, there are two None options. This may require a little hack inside of cookiecutter that I may not be aware of. --- cookiecutter.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cookiecutter.json b/cookiecutter.json index 4e77d1109..5efa745e9 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -33,6 +33,18 @@ "GCP", "None" ], + "mail_service": [ + "{% if cookiecutter.cloud_provider == 'AWS' %}Amazon SES{% else %}Mailgun{% endif %}", + "{% if cookiecutter.cloud_provider == 'AWS' %}Mailgun{% else %}Mailjet{% endif %}", + "{% if cookiecutter.cloud_provider == 'AWS' %}Mailjet{% else %}Mandrill{% endif %}", + "{% if cookiecutter.cloud_provider == 'AWS' %}Mandrill{% else %}Postmark{% endif %}", + "{% if cookiecutter.cloud_provider == 'AWS' %}Postmark{% else %}Sendgrid{% endif %}", + "{% if cookiecutter.cloud_provider == 'AWS' %}Sendgrid{% else %}SendinBlue{% endif %}", + "{% if cookiecutter.cloud_provider == 'AWS' %}SendinBlue{% else %}SparkPost{% endif %}", + "{% if cookiecutter.cloud_provider == 'AWS' %}SparkPost{% else %}Plain Django-Anymail{% endif %}", + "{% if cookiecutter.cloud_provider == 'AWS' %}Plain Django-Anymail{% else %}None{% endif %}", + "{% if cookiecutter.cloud_provider == 'AWS' %}None{% else %}None{% endif %}" + ], "use_drf": "n", "custom_bootstrap_compilation": "n", "use_compressor": "n", From b7d3379f4405e38df62fe097b10a3df2a608e9a5 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Thu, 6 Feb 2020 15:36:51 -0500 Subject: [PATCH 0560/2840] Fixes the duplicate None in cookiecutter.json * The duplicate occurs if AWS is not the selected cloud provider --- cookiecutter.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/cookiecutter.json b/cookiecutter.json index 5efa745e9..cbe3cbf70 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -34,16 +34,16 @@ "None" ], "mail_service": [ - "{% if cookiecutter.cloud_provider == 'AWS' %}Amazon SES{% else %}Mailgun{% endif %}", - "{% if cookiecutter.cloud_provider == 'AWS' %}Mailgun{% else %}Mailjet{% endif %}", - "{% if cookiecutter.cloud_provider == 'AWS' %}Mailjet{% else %}Mandrill{% endif %}", - "{% if cookiecutter.cloud_provider == 'AWS' %}Mandrill{% else %}Postmark{% endif %}", - "{% if cookiecutter.cloud_provider == 'AWS' %}Postmark{% else %}Sendgrid{% endif %}", - "{% if cookiecutter.cloud_provider == 'AWS' %}Sendgrid{% else %}SendinBlue{% endif %}", - "{% if cookiecutter.cloud_provider == 'AWS' %}SendinBlue{% else %}SparkPost{% endif %}", - "{% if cookiecutter.cloud_provider == 'AWS' %}SparkPost{% else %}Plain Django-Anymail{% endif %}", - "{% if cookiecutter.cloud_provider == 'AWS' %}Plain Django-Anymail{% else %}None{% endif %}", - "{% if cookiecutter.cloud_provider == 'AWS' %}None{% else %}None{% endif %}" + {% if cookiecutter.cloud_provider == 'AWS' %}"Amazon SES",{% endif %} + "Mailgun", + "Mailjet", + "Mandrill", + "Postmark", + "Sendgrid", + "SendinBlue", + "SparkPost", + "Plain/Vanilla Django-Anymail", + "None" ], "use_drf": "n", "custom_bootstrap_compilation": "n", From 575dead7cb3e7c04ff7d7133575af32540c94bbf Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Thu, 6 Feb 2020 16:00:32 -0500 Subject: [PATCH 0561/2840] More concise cookiecutter.json; removed several if statements * Unfortunately, with https://github.com/pydanny/cookiecutter-django/pull/2321#issuecomment-558796906, I don't think I am going to add AWS SES specifically if AWS is not chosen as cloud provider. In that case, we'll just deal with 2 None's when AWS is not selected. * FIXME 2 Nones --- cookiecutter.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cookiecutter.json b/cookiecutter.json index cbe3cbf70..ae0576b58 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -34,7 +34,7 @@ "None" ], "mail_service": [ - {% if cookiecutter.cloud_provider == 'AWS' %}"Amazon SES",{% endif %} + "{% if cookiecutter.cloud_provider == 'AWS' %}Amazon SES{% else %}None{% endif %}", "Mailgun", "Mailjet", "Mandrill", From c8eb5462eb921313d3fbb9a9957125022d444cd3 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Thu, 6 Feb 2020 16:58:15 -0500 Subject: [PATCH 0562/2840] Configurations and Packages added * Production settings updated for all * Added env vars from production settings * Added packages requirements.txt --- .../.envs/.production/.django | 19 ++++++- .../config/settings/production.py | 52 ++++++++++++++++++- .../requirements/production.txt | 18 +++++++ 3 files changed, 87 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.envs/.production/.django b/{{cookiecutter.project_slug}}/.envs/.production/.django index 2c2e94f2d..358b5e95d 100644 --- a/{{cookiecutter.project_slug}}/.envs/.production/.django +++ b/{{cookiecutter.project_slug}}/.envs/.production/.django @@ -13,9 +13,26 @@ DJANGO_SECURE_SSL_REDIRECT=False # Email # ------------------------------------------------------------------------------ -MAILGUN_API_KEY= DJANGO_SERVER_EMAIL= +{% if cookiecutter.mail_service == 'Mailgun' %} +MAILGUN_API_KEY= MAILGUN_DOMAIN= +{% elif cookiecutter.mail_service == 'Mailjet' %} +MAILJET_API_KEY= +MAILJET_SECRET_KEY= +{% elif cookiecutter.mail_service == 'Mandrill' %} +MANDRILL_API_KEY= +{% elif cookiecutter.mail_service == 'Postmark' %} +POSTMARK_SERVER_TOKEN= +{% elif cookiecutter.mail_service == 'Sendgrid' %} +SENDGRID_API_KEY= +SENDGRID_GENERATE_MESSAGE_ID=True +SENDGRID_MERGE_FIELD_FORMAT=None +{% elif cookiecutter.mail_service == 'SendinBlue' %} +SENDINBLUE_API_KEY= +{% elif cookiecutter.mail_service == 'SparkPost' %} +SPARKPOST_API_KEY= +{% endif %} {% if cookiecutter.cloud_provider == 'AWS' %} # AWS # ------------------------------------------------------------------------------ diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 36667b33a..e0af4c596 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -182,16 +182,66 @@ EMAIL_SUBJECT_PREFIX = env( # Django Admin URL regex. ADMIN_URL = env("DJANGO_ADMIN_URL") -# Anymail (Mailgun) +# Anymail # ------------------------------------------------------------------------------ # https://anymail.readthedocs.io/en/stable/installation/#installing-anymail INSTALLED_APPS += ["anymail"] # noqa F405 +{%- if cookiecutter.mail_service == 'Amazon SES' %} +EMAIL_BACKEND = "anymail.backends.amazon_ses.EmailBackend" +# https://anymail.readthedocs.io/en/stable/esps/amazon_ses/ +{%- elif cookiecutter.mail_service == 'Mailgun' %} EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend" +# https://anymail.readthedocs.io/en/stable/esps/mailgun/ +{%- elif cookiecutter.mail_service == 'Mailjet' %} +EMAIL_BACKEND = "anymail.backends.mailjet.EmailBackend" +# https://anymail.readthedocs.io/en/stable/esps/mailjet/ +{%- elif cookiecutter.mail_service == 'Mandrill' %} +EMAIL_BACKEND = "anymail.backends.mandrill.EmailBackend" +# https://anymail.readthedocs.io/en/stable/esps/mandrill/ +{%- elif cookiecutter.mail_service == 'Postmark' %} +EMAIL_BACKEND = "anymail.backends.postmark.EmailBackend" +# https://anymail.readthedocs.io/en/stable/esps/postmark/ +{%- elif cookiecutter.mail_service == 'Sendgrid' %} +EMAIL_BACKEND = "anymail.backends.sendgrid.EmailBackend" +# https://anymail.readthedocs.io/en/stable/esps/sendgrid/ +{%- elif cookiecutter.mail_service == 'SendinBlue' %} +EMAIL_BACKEND = "anymail.backends.sendinblue.EmailBackend" +# https://anymail.readthedocs.io/en/stable/esps/sendinblue/ +{%- elif cookiecutter.mail_service == 'SparkPost' %} +EMAIL_BACKEND = "anymail.backends.sparkpost.EmailBackend" +# https://anymail.readthedocs.io/en/stable/esps/sparkpost/ +{%- elif cookiecutter.mail_service == 'Plain/Vanilla Django-Anymail' %} +EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend" +# https://docs.djangoproject.com/en/3.0/ref/settings/#email-backend +{%- endif %} # https://anymail.readthedocs.io/en/stable/installation/#anymail-settings-reference ANYMAIL = { + {%- if cookiecutter.mail_service == 'Mailgun' %} "MAILGUN_API_KEY": env("MAILGUN_API_KEY"), "MAILGUN_SENDER_DOMAIN": env("MAILGUN_DOMAIN"), "MAILGUN_API_URL": env("MAILGUN_API_URL", default="https://api.mailgun.net/v3"), + {%- elif cookiecutter.mail_service == 'Mailjet' %} + "MAILJET_API_KEY": env("MAILJET_API_KEY"), + "MAILJET_SECRET_KEY": env("MAILJET_SECRET_KEY"), + "MAILJET_API_URL": env("MAILJET_API_URL", default="https://api.mailjet.com/v3"), + {%- elif cookiecutter.mail_service == 'Mandrill' %} + "MANDRILL_API_KEY": env("MANDRILL_API_KEY"), + "MANDRILL_API_URL": env("MANDRILL_API_URL", default="https://mandrillapp.com/api/1.0"), + {%- elif cookiecutter.mail_service == 'Postmark' %} + "POSTMARK_SERVER_TOKEN": env("POSTMARK_SERVER_TOKEN"), + "POSTMARK_API_URL": env("POSTMARK_API_URL", default="https://api.postmarkapp.com/"), + {%- elif cookiecutter.mail_service == 'Sendgrid' %} + "SENDGRID_API_KEY": env("SENDGRID_API_KEY"), + "SENDGRID_GENERATE_MESSAGE_ID": env("SENDGRID_GENERATE_MESSAGE_ID"), + "SENDGRID_MERGE_FIELD_FORMAT": env("SENDGRID_MERGE_FIELD_FORMAT"), + "SENDGRID_API_URL": env("SENDGRID_API_URL", default="https://api.sendgrid.com/v3/"), + {%- elif cookiecutter.mail_service == 'SendinBlue' %} + "SENDINBLUE_API_KEY": env("SENDINBLUE_API_KEY"), + "SENDINBLUE_API_URL": env("SENDINBLUE_API_URL", default="https://api.sendinblue.com/v3/"), + {%- elif cookiecutter.mail_service == 'SparkPost' %} + "SPARKPOST_API_KEY": env("SPARKPOST_API_KEY"), + "SPARKPOST_API_URL": env("SPARKPOST_API_URL", default="https://api.sparkpost.com/api/v1"), + {%- endif %} } {% if cookiecutter.use_compressor == 'y' -%} diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 9c1de8276..3e1d8515b 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -18,4 +18,22 @@ django-storages[boto3]==1.9.1 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} django-storages[google]==1.9.1 # https://github.com/jschneier/django-storages {%- endif %} +{%- if cookiecutter.mail_service == 'Amazon SES' %} +django-anymail[amazon_ses]==7.0.0 # https://github.com/anymail/django-anymail +{%- elif cookiecutter.mail_service == 'Mailgun' %} django-anymail[mailgun]==7.0.0 # https://github.com/anymail/django-anymail +{%- elif cookiecutter.mail_service == 'Mailjet' %} +django-anymail[mailjet]==7.0.0 # https://github.com/anymail/django-anymail +{%- elif cookiecutter.mail_service == 'Mandrill' %} +django-anymail[mandrill]==7.0.0 # https://github.com/anymail/django-anymail +{%- elif cookiecutter.mail_service == 'Postmark' %} +django-anymail[postmark]==7.0.0 # https://github.com/anymail/django-anymail +{%- elif cookiecutter.mail_service == 'Sendgrid' %} +django-anymail[sendgrid]==7.0.0 # https://github.com/anymail/django-anymail +{%- elif cookiecutter.mail_service == 'SendinBlue' %} +django-anymail[sendinblue]==7.0.0 # https://github.com/anymail/django-anymail +{%- elif cookiecutter.mail_service == 'SparkPost' %} +django-anymail[sparkpost]==7.0.0 # https://github.com/anymail/django-anymail +{%- elif cookiecutter.mail_service == 'Plain/Vanilla Django-Anymail' %} +django-anymail==7.0.0 # https://github.com/anymail/django-anymail +{%- endif %} From fecf9e0037885bac16228ac3bd8060f04f83375b Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Thu, 6 Feb 2020 16:59:42 -0500 Subject: [PATCH 0563/2840] Add @Andrew-Chen-Wang to CONTRIBUTORS --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 2554d2cfc..6dca6ddb4 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -56,6 +56,7 @@ Listed in alphabetical order. Andreas Meistad `@ameistad`_ Andres Gonzalez `@andresgz`_ Andrew Mikhnevich `@zcho`_ + Andrew Chen Wang `@Andrew-Chen-Wang`_ Andy Rose Anna Callahan `@jazztpt`_ Anna Sidwell `@takkaria`_ @@ -228,6 +229,7 @@ Listed in alphabetical order. .. _@andor-pierdelacabeza: https://github.com/andor-pierdelacabeza .. _@andresgz: https://github.com/andresgz .. _@antoniablair: https://github.com/antoniablair +.. _@Andrew-Chen-Wang: https://github.com/Andrew-Chen-Wang .. _@apirobot: https://github.com/apirobot .. _@archinal: https://github.com/archinal .. _@areski: https://github.com/areski From 0621929cd2889892106d853a9a2cd3b0a491f73c Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Thu, 6 Feb 2020 18:41:30 -0500 Subject: [PATCH 0564/2840] Removed None option for mail service * This is necessary in order to be compatible with Django-allauth --- cookiecutter.json | 5 ++--- .../config/settings/production.py | 19 ++++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/cookiecutter.json b/cookiecutter.json index ae0576b58..5e85af486 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -34,7 +34,7 @@ "None" ], "mail_service": [ - "{% if cookiecutter.cloud_provider == 'AWS' %}Amazon SES{% else %}None{% endif %}", + "{% if cookiecutter.cloud_provider == 'AWS' %}Amazon SES{% else %}Plain/Vanilla Django-Anymail{% endif %}", "Mailgun", "Mailjet", "Mandrill", @@ -42,8 +42,7 @@ "Sendgrid", "SendinBlue", "SparkPost", - "Plain/Vanilla Django-Anymail", - "None" + "Plain/Vanilla Django-Anymail" ], "use_drf": "n", "custom_bootstrap_compilation": "n", diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index e0af4c596..6d4318001 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -188,59 +188,60 @@ ADMIN_URL = env("DJANGO_ADMIN_URL") INSTALLED_APPS += ["anymail"] # noqa F405 {%- if cookiecutter.mail_service == 'Amazon SES' %} EMAIL_BACKEND = "anymail.backends.amazon_ses.EmailBackend" -# https://anymail.readthedocs.io/en/stable/esps/amazon_ses/ {%- elif cookiecutter.mail_service == 'Mailgun' %} EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend" -# https://anymail.readthedocs.io/en/stable/esps/mailgun/ {%- elif cookiecutter.mail_service == 'Mailjet' %} EMAIL_BACKEND = "anymail.backends.mailjet.EmailBackend" -# https://anymail.readthedocs.io/en/stable/esps/mailjet/ {%- elif cookiecutter.mail_service == 'Mandrill' %} EMAIL_BACKEND = "anymail.backends.mandrill.EmailBackend" -# https://anymail.readthedocs.io/en/stable/esps/mandrill/ {%- elif cookiecutter.mail_service == 'Postmark' %} EMAIL_BACKEND = "anymail.backends.postmark.EmailBackend" -# https://anymail.readthedocs.io/en/stable/esps/postmark/ {%- elif cookiecutter.mail_service == 'Sendgrid' %} EMAIL_BACKEND = "anymail.backends.sendgrid.EmailBackend" -# https://anymail.readthedocs.io/en/stable/esps/sendgrid/ {%- elif cookiecutter.mail_service == 'SendinBlue' %} EMAIL_BACKEND = "anymail.backends.sendinblue.EmailBackend" -# https://anymail.readthedocs.io/en/stable/esps/sendinblue/ {%- elif cookiecutter.mail_service == 'SparkPost' %} EMAIL_BACKEND = "anymail.backends.sparkpost.EmailBackend" -# https://anymail.readthedocs.io/en/stable/esps/sparkpost/ {%- elif cookiecutter.mail_service == 'Plain/Vanilla Django-Anymail' %} EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend" # https://docs.djangoproject.com/en/3.0/ref/settings/#email-backend {%- endif %} # https://anymail.readthedocs.io/en/stable/installation/#anymail-settings-reference ANYMAIL = { - {%- if cookiecutter.mail_service == 'Mailgun' %} + {%- if cookiecutter.mail_service == 'Amazon SES' %} + # https://anymail.readthedocs.io/en/stable/esps/amazon_ses/ + {%- elif cookiecutter.mail_service == 'Mailgun' %} "MAILGUN_API_KEY": env("MAILGUN_API_KEY"), "MAILGUN_SENDER_DOMAIN": env("MAILGUN_DOMAIN"), "MAILGUN_API_URL": env("MAILGUN_API_URL", default="https://api.mailgun.net/v3"), + # https://anymail.readthedocs.io/en/stable/esps/mailgun/ {%- elif cookiecutter.mail_service == 'Mailjet' %} "MAILJET_API_KEY": env("MAILJET_API_KEY"), "MAILJET_SECRET_KEY": env("MAILJET_SECRET_KEY"), "MAILJET_API_URL": env("MAILJET_API_URL", default="https://api.mailjet.com/v3"), + # https://anymail.readthedocs.io/en/stable/esps/mailjet/ {%- elif cookiecutter.mail_service == 'Mandrill' %} "MANDRILL_API_KEY": env("MANDRILL_API_KEY"), "MANDRILL_API_URL": env("MANDRILL_API_URL", default="https://mandrillapp.com/api/1.0"), + # https://anymail.readthedocs.io/en/stable/esps/mandrill/ {%- elif cookiecutter.mail_service == 'Postmark' %} "POSTMARK_SERVER_TOKEN": env("POSTMARK_SERVER_TOKEN"), "POSTMARK_API_URL": env("POSTMARK_API_URL", default="https://api.postmarkapp.com/"), + # https://anymail.readthedocs.io/en/stable/esps/postmark/ {%- elif cookiecutter.mail_service == 'Sendgrid' %} "SENDGRID_API_KEY": env("SENDGRID_API_KEY"), "SENDGRID_GENERATE_MESSAGE_ID": env("SENDGRID_GENERATE_MESSAGE_ID"), "SENDGRID_MERGE_FIELD_FORMAT": env("SENDGRID_MERGE_FIELD_FORMAT"), "SENDGRID_API_URL": env("SENDGRID_API_URL", default="https://api.sendgrid.com/v3/"), + # https://anymail.readthedocs.io/en/stable/esps/sendgrid/ {%- elif cookiecutter.mail_service == 'SendinBlue' %} "SENDINBLUE_API_KEY": env("SENDINBLUE_API_KEY"), "SENDINBLUE_API_URL": env("SENDINBLUE_API_URL", default="https://api.sendinblue.com/v3/"), + # https://anymail.readthedocs.io/en/stable/esps/sendinblue/ {%- elif cookiecutter.mail_service == 'SparkPost' %} "SPARKPOST_API_KEY": env("SPARKPOST_API_KEY"), "SPARKPOST_API_URL": env("SPARKPOST_API_URL", default="https://api.sparkpost.com/api/v1"), + # https://anymail.readthedocs.io/en/stable/esps/sparkpost/ {%- endif %} } From ac884f3f75fa7f5b25f6a754a452193cd037b318 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Thu, 6 Feb 2020 20:18:49 -0500 Subject: [PATCH 0565/2840] Updated mail service docs * Trying to appease the Black-linter god... --- README.rst | 4 +-- docs/project-generation-options.rst | 23 ++++++++++++ docs/settings.rst | 15 ++++++++ .../config/settings/production.py | 36 +++++++++++++++---- 4 files changed, 69 insertions(+), 9 deletions(-) diff --git a/README.rst b/README.rst index 6e534b0f2..1d43b84e8 100644 --- a/README.rst +++ b/README.rst @@ -46,7 +46,7 @@ Features * Registration via django-allauth_ * Comes with custom user model ready to go * Optional custom static build using Gulp and livereload -* Send emails via Anymail_ (using Mailgun_ by default, but switchable) +* Send emails via Anymail_ (using Mailgun_ by default or Amazon SES if AWS is selected cloud provider, but switchable) * Media storage using Amazon S3 or Google Cloud Storage * Docker support using docker-compose_ for development and production (using Traefik_ with LetsEncrypt_ support) * Procfile_ for deploying to Heroku @@ -85,7 +85,7 @@ Optional Integrations .. _PythonAnywhere: https://www.pythonanywhere.com/ .. _Traefik: https://traefik.io/ .. _LetsEncrypt: https://letsencrypt.org/ -.. _pre-commit: https://github.com/pre-commit/pre-commit +.. _pre-commit: https://github.com/pre-commit/pre-commit Constraints ----------- diff --git a/docs/project-generation-options.rst b/docs/project-generation-options.rst index 2ed77facd..87ae90b1d 100644 --- a/docs/project-generation-options.rst +++ b/docs/project-generation-options.rst @@ -70,6 +70,19 @@ cloud_provider: Note that if you choose no cloud provider, media files won't work. +mail_service: + Select an email service that Django-Anymail provides + + 1. Amazon SES_ + 2. Mailgun_ + 3. Mailjet_ + 4. Mandrill_ + 5. Postmark_ + 6. SendGrid_ + 7. SendinBlue_ + 8. SparkPost_ + 9. Plain/Vanilla Django-Anymail_ + use_drf: Indicates whether the project should be configured to use `Django Rest Framework`_. @@ -132,6 +145,16 @@ debug: .. _AWS: https://aws.amazon.com/s3/ .. _GCP: https://cloud.google.com/storage/ +.. _SES: https://aws.amazon.com/ses/ +.. _Mailgun: https://www.mailgun.com +.. _Mailjet: https://www.mailjet.com +.. _Mandrill: http://mandrill.com +.. _Postmark: https://postmarkapp.com +.. _SendGrid: https://sendgrid.com +.. _SendinBlue: https://www.sendinblue.com +.. _SparkPost: https://www.sparkpost.com +.. _Django-Anymail: https://anymail.readthedocs.io/en/stable/ + .. _Django Rest Framework: https://github.com/encode/django-rest-framework/ .. _Django Compressor: https://github.com/django-compressor/django-compressor diff --git a/docs/settings.rst b/docs/settings.rst index e586c9634..2ae8814e9 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -52,6 +52,21 @@ DJANGO_SENTRY_LOG_LEVEL SENTRY_LOG_LEVEL n/a MAILGUN_API_KEY MAILGUN_API_KEY n/a raises error MAILGUN_DOMAIN MAILGUN_SENDER_DOMAIN n/a raises error MAILGUN_API_URL n/a n/a "https://api.mailgun.net/v3" +MAILJET_API_KEY MAILJET_API_KEY n/a raises error +MAILJET_SECRET_KEY MAILJET_SECRET_KEY n/a raises error +MAILJET_API_URL n/a n/a "https://api.mailjet.com/v3" +MANDRILL_API_KEY MANDRILL_API_KEY n/a raises error +MANDRILL_API_URL n/a n/a "https://mandrillapp.com/api/1.0" +POSTMARK_SERVER_TOKEN POSTMARK_SERVER_TOKEN n/a raises error +POSTMARK_API_URL n/a n/a "https://api.postmarkapp.com/" +SENDGRID_API_KEY SENDGRID_API_KEY n/a raises error +SENDGRID_GENERATE_MESSAGE_ID True n/a raises error +SENDGRID_MERGE_FIELD_FORMAT None n/a raises error +SENDGRID_API_URL n/a n/a "https://api.sendgrid.com/v3/" +SENDINBLUE_API_KEY SENDINBLUE_API_KEY n/a raises error +SENDINBLUE_API_URL n/a n/a "https://api.sendinblue.com/v3/" +SPARKPOST_API_KEY SPARKPOST_API_KEY n/a raises error +SPARKPOST_API_URL n/a n/a "https://api.sparkpost.com/api/v1" ======================================= =========================== ============================================== ====================================================================== -------------------------- diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 6d4318001..57b8eb397 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -208,39 +208,61 @@ EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend" {%- endif %} # https://anymail.readthedocs.io/en/stable/installation/#anymail-settings-reference ANYMAIL = { + # https://anymail.readthedocs.io/en/stable/esps/ {%- if cookiecutter.mail_service == 'Amazon SES' %} # https://anymail.readthedocs.io/en/stable/esps/amazon_ses/ {%- elif cookiecutter.mail_service == 'Mailgun' %} "MAILGUN_API_KEY": env("MAILGUN_API_KEY"), "MAILGUN_SENDER_DOMAIN": env("MAILGUN_DOMAIN"), - "MAILGUN_API_URL": env("MAILGUN_API_URL", default="https://api.mailgun.net/v3"), + "MAILGUN_API_URL": env( + "MAILGUN_API_URL", + default="https://api.mailgun.net/v3" + ), # https://anymail.readthedocs.io/en/stable/esps/mailgun/ {%- elif cookiecutter.mail_service == 'Mailjet' %} "MAILJET_API_KEY": env("MAILJET_API_KEY"), "MAILJET_SECRET_KEY": env("MAILJET_SECRET_KEY"), - "MAILJET_API_URL": env("MAILJET_API_URL", default="https://api.mailjet.com/v3"), + "MAILJET_API_URL": env( + "MAILJET_API_URL", + default="https://api.mailjet.com/v3" + ), # https://anymail.readthedocs.io/en/stable/esps/mailjet/ {%- elif cookiecutter.mail_service == 'Mandrill' %} "MANDRILL_API_KEY": env("MANDRILL_API_KEY"), - "MANDRILL_API_URL": env("MANDRILL_API_URL", default="https://mandrillapp.com/api/1.0"), + "MANDRILL_API_URL": env( + "MANDRILL_API_URL", + default="https://mandrillapp.com/api/1.0" + ), # https://anymail.readthedocs.io/en/stable/esps/mandrill/ {%- elif cookiecutter.mail_service == 'Postmark' %} "POSTMARK_SERVER_TOKEN": env("POSTMARK_SERVER_TOKEN"), - "POSTMARK_API_URL": env("POSTMARK_API_URL", default="https://api.postmarkapp.com/"), + "POSTMARK_API_URL": env( + "POSTMARK_API_URL", + default="https://api.postmarkapp.com/" + ), # https://anymail.readthedocs.io/en/stable/esps/postmark/ {%- elif cookiecutter.mail_service == 'Sendgrid' %} "SENDGRID_API_KEY": env("SENDGRID_API_KEY"), "SENDGRID_GENERATE_MESSAGE_ID": env("SENDGRID_GENERATE_MESSAGE_ID"), "SENDGRID_MERGE_FIELD_FORMAT": env("SENDGRID_MERGE_FIELD_FORMAT"), - "SENDGRID_API_URL": env("SENDGRID_API_URL", default="https://api.sendgrid.com/v3/"), + "SENDGRID_API_URL": env( + "SENDGRID_API_URL", + default="https://api.sendgrid.com/v3/" + ), # https://anymail.readthedocs.io/en/stable/esps/sendgrid/ {%- elif cookiecutter.mail_service == 'SendinBlue' %} "SENDINBLUE_API_KEY": env("SENDINBLUE_API_KEY"), - "SENDINBLUE_API_URL": env("SENDINBLUE_API_URL", default="https://api.sendinblue.com/v3/"), + "SENDINBLUE_API_URL": env( + "SENDINBLUE_API_URL", + default="https://api.sendinblue.com/v3/" + ), # https://anymail.readthedocs.io/en/stable/esps/sendinblue/ {%- elif cookiecutter.mail_service == 'SparkPost' %} "SPARKPOST_API_KEY": env("SPARKPOST_API_KEY"), - "SPARKPOST_API_URL": env("SPARKPOST_API_URL", default="https://api.sparkpost.com/api/v1"), + "SPARKPOST_API_URL": env( + "SPARKPOST_API_URL", + default="https://api.sparkpost.com/api/v1" + ), # https://anymail.readthedocs.io/en/stable/esps/sparkpost/ {%- endif %} } From 0df8cfdb901882f1bcbfba51da59450911fd4343 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Thu, 6 Feb 2020 21:03:49 -0500 Subject: [PATCH 0566/2840] Added mail service pytests in test_cookiecutter_generation.py --- tests/test_cookiecutter_generation.py | 55 +++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 39b05d7c6..5a5699614 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -46,6 +46,41 @@ def context(): ], ids=lambda id: f"wnoise:{id[0]}-cloud:{id[1]}", ) +@pytest.mark.parametrize( + "cloud_provider,mail_service", + [ + ("AWS", "Amazon SES"), + ("AWS", "Mailgun"), + ("AWS", "Mailjet"), + ("AWS", "Mandrill"), + ("AWS", "Postmark"), + ("AWS", "Sendgrid"), + ("AWS", "SendinBlue"), + ("AWS", "SparkPost"), + ("AWS", "Plain/Vanilla Django-Anymail"), + + ("GCP", "Mailgun"), + ("GCP", "Mailjet"), + ("GCP", "Mandrill"), + ("GCP", "Postmark"), + ("GCP", "Sendgrid"), + ("GCP", "SendinBlue"), + ("GCP", "SparkPost"), + ("GCP", "Plain/Vanilla Django-Anymail"), + + ("None", "Mailgun"), + ("None", "Mailjet"), + ("None", "Mandrill"), + ("None", "Postmark"), + ("None", "Sendgrid"), + ("None", "SendinBlue"), + ("None", "SparkPost"), + ("None", "Plain/Vanilla Django-Anymail"), + + # GCP or None (i.e. no cloud provider) + Amazon SES is not supported + ], + ids=lambda id: f"cloud:{id[0]}-mail:{id[1]}", +) def context_combination( windows, use_docker, @@ -56,6 +91,7 @@ def context_combination( use_whitenoise, use_drf, cloud_provider, + mail_service, ): """Fixture that parametrize the function where it's used.""" return { @@ -68,6 +104,7 @@ def context_combination( "use_whitenoise": use_whitenoise, "use_drf": use_drf, "cloud_provider": cloud_provider, + "mail_service": mail_service, } @@ -194,3 +231,21 @@ def test_no_whitenoise_and_no_cloud_provider(cookies, context): assert result.exit_code != 0 assert isinstance(result.exception, FailedHookException) + + +def test_gcp_with_aws_ses_mail_service(cookies, context): + """It should not generate project if SES is set with GCP cloud provider""" + context.update({"cloud_provider": "GCP", "mail_service": "Amazon SES"}) + result = cookies.bake(extra_context=context) + + assert result.exit_code != 0 + assert isinstance(result.exception, FailedHookException) + + +def test_no_cloud_provider_with_aws_ses_mail_service(cookies, context): + """It should not generate project if SES is set with no cloud provider""" + context.update({"cloud_provider": "None", "mail_service": "Amazon SES"}) + result = cookies.bake(extra_context=context) + + assert result.exit_code != 0 + assert isinstance(result.exception, FailedHookException) From c839862aefded2e2f09f51afd448c8a3d015c409 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Thu, 6 Feb 2020 22:12:30 -0500 Subject: [PATCH 0567/2840] Testing mail service does not raise KeyError * KeyError raised when cloud_provider was used twice in mark parametrization. * Tox isn't working properly for me (collecting 17,000 files; obviously neglecting tox.ini and/or pytest.ini) --- tests/test_cookiecutter_generation.py | 41 +++++++-------------------- 1 file changed, 11 insertions(+), 30 deletions(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 5a5699614..e8b341c96 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -47,39 +47,20 @@ def context(): ids=lambda id: f"wnoise:{id[0]}-cloud:{id[1]}", ) @pytest.mark.parametrize( - "cloud_provider,mail_service", + "mail_service", [ - ("AWS", "Amazon SES"), - ("AWS", "Mailgun"), - ("AWS", "Mailjet"), - ("AWS", "Mandrill"), - ("AWS", "Postmark"), - ("AWS", "Sendgrid"), - ("AWS", "SendinBlue"), - ("AWS", "SparkPost"), - ("AWS", "Plain/Vanilla Django-Anymail"), - - ("GCP", "Mailgun"), - ("GCP", "Mailjet"), - ("GCP", "Mandrill"), - ("GCP", "Postmark"), - ("GCP", "Sendgrid"), - ("GCP", "SendinBlue"), - ("GCP", "SparkPost"), - ("GCP", "Plain/Vanilla Django-Anymail"), - - ("None", "Mailgun"), - ("None", "Mailjet"), - ("None", "Mandrill"), - ("None", "Postmark"), - ("None", "Sendgrid"), - ("None", "SendinBlue"), - ("None", "SparkPost"), - ("None", "Plain/Vanilla Django-Anymail"), - + "Amazon SES", + "Mailgun", + "MailJet", + "Mandrill", + "Postmark", + "Sendgrid", + "SendinBlue", + "SparkPost", + "Plain/Vanilla Django-Anymail" # GCP or None (i.e. no cloud provider) + Amazon SES is not supported ], - ids=lambda id: f"cloud:{id[0]}-mail:{id[1]}", + ids=lambda id: f"mail:{id[0]}", ) def context_combination( windows, From 816fb1c44b5a5c4d82f3d154db1288cba3991524 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 7 Feb 2020 11:00:30 +0000 Subject: [PATCH 0568/2840] Update werkzeug from 0.16.1 to 1.0.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index f7782f0d7..151dc67ec 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,6 +1,6 @@ -r ./base.txt -Werkzeug==0.16.1 # https://github.com/pallets/werkzeug +Werkzeug==1.0.0 # https://github.com/pallets/werkzeug ipdb==0.12.3 # https://github.com/gotcha/ipdb Sphinx==2.3.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} From be019ea54a20ca2008260bcdfc49446b3ea5d5f2 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 9 Feb 2020 11:00:30 +0000 Subject: [PATCH 0569/2840] Update sphinx from 2.3.1 to 2.4.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index f7782f0d7..f7d8b3681 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==0.16.1 # https://github.com/pallets/werkzeug ipdb==0.12.3 # https://github.com/gotcha/ipdb -Sphinx==2.3.1 # https://github.com/sphinx-doc/sphinx +Sphinx==2.4.0 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From 311e0dfc241199c9681c2b439a0b8b976ac67068 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 11 Feb 2020 11:00:30 +0000 Subject: [PATCH 0570/2840] Update django-extensions from 2.2.6 to 2.2.8 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index f7782f0d7..f949d90d9 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -32,6 +32,6 @@ pre-commit==2.0.1 # https://github.com/pre-commit/pre-commit factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.2 # https://github.com/jazzband/django-debug-toolbar -django-extensions==2.2.6 # https://github.com/django-extensions/django-extensions +django-extensions==2.2.8 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.8.0 # https://github.com/pytest-dev/pytest-django From a8e668d659c2c06a7ac3cd7d6674ac2448c2d5a4 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 12 Feb 2020 11:00:32 +0000 Subject: [PATCH 0571/2840] Update sphinx from 2.4.0 to 2.4.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 98cb19e60..81d793cb1 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==1.0.0 # https://github.com/pallets/werkzeug ipdb==0.12.3 # https://github.com/gotcha/ipdb -Sphinx==2.4.0 # https://github.com/sphinx-doc/sphinx +Sphinx==2.4.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From b64cb03b17e7872f99ff03f7d6b803d7465b3d9c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 13 Feb 2020 16:59:38 -0800 Subject: [PATCH 0572/2840] Update tox from 3.14.3 to 3.14.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index e05cff3f5..0e72e65b6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ flake8==3.7.9 # Testing # ------------------------------------------------------------------------------ -tox==3.14.3 +tox==3.14.4 pytest==5.3.5 pytest_cases==1.12.1 pytest-cookies==0.5.0 From 8c945af82a94ccc61de99038457510b375043826 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 14 Feb 2020 08:34:04 -0800 Subject: [PATCH 0573/2840] Update pytest-cookies from 0.5.0 to 0.5.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 0e72e65b6..4b0a20872 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,6 +12,6 @@ flake8==3.7.9 tox==3.14.4 pytest==5.3.5 pytest_cases==1.12.1 -pytest-cookies==0.5.0 +pytest-cookies==0.5.1 pytest-xdist==1.31.0 pyyaml==5.3 From a857038e13c35eb31615da50ffa4a8ca8d6099a7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 17 Feb 2020 02:52:00 -0800 Subject: [PATCH 0574/2840] Update tox from 3.14.4 to 3.14.5 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 4b0a20872..7d68e3f41 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ flake8==3.7.9 # Testing # ------------------------------------------------------------------------------ -tox==3.14.4 +tox==3.14.5 pytest==5.3.5 pytest_cases==1.12.1 pytest-cookies==0.5.1 From 10be405c890743cad7a833d78a565260256a97a1 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 17 Feb 2020 11:00:34 +0000 Subject: [PATCH 0575/2840] Update collectfast from 1.3.1 to 1.3.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 9c1de8276..974ae1e61 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -5,7 +5,7 @@ gunicorn==20.0.4 # https://github.com/benoitc/gunicorn psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} -Collectfast==1.3.1 # https://github.com/antonagestam/collectfast +Collectfast==1.3.2 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} sentry-sdk==0.14.1 # https://github.com/getsentry/sentry-python From 1a7bcccd945bc7c79b5c395a2682b818a5725bce Mon Sep 17 00:00:00 2001 From: Demetris Stavrou <1180929+demestav@users.noreply.github.com> Date: Tue, 18 Feb 2020 11:01:56 +0200 Subject: [PATCH 0576/2840] Added celery cookiecutter condition in Traefik configuration --- .../compose/production/traefik/traefik.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml index bb3be1500..923774f4d 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml @@ -9,9 +9,11 @@ entryPoints: web-secure: # https address: ":443" + {%- if cookiecutter.use_celery == 'y' %} flower: address: ":5555" + {%- endif %} certificatesResolvers: letsencrypt: @@ -44,6 +46,7 @@ http: tls: # https://docs.traefik.io/master/routing/routers/#certresolver certResolver: letsencrypt + {%- if cookiecutter.use_celery == 'y' %} flower-secure-router: rule: "Host(`{{ cookiecutter.domain_name }}`)" @@ -53,6 +56,7 @@ http: tls: # https://docs.traefik.io/master/routing/routers/#certresolver certResolver: letsencrypt + {%- endif %} middlewares: redirect: @@ -71,11 +75,13 @@ http: loadBalancer: servers: - url: http://django:5000 + {%- if cookiecutter.use_celery == 'y' %} flower: loadBalancer: servers: - url: http://flower:5555 + {%- endif %} providers: # https://docs.traefik.io/master/providers/file/ From b84017a8a856d6fdce5109f7d388a2f63c17f2a5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 19 Feb 2020 11:00:32 +0000 Subject: [PATCH 0577/2840] Update pytest_cases from 1.12.1 to 1.12.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7d68e3f41..06f5a80ed 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8==3.7.9 # ------------------------------------------------------------------------------ tox==3.14.5 pytest==5.3.5 -pytest_cases==1.12.1 +pytest_cases==1.12.2 pytest-cookies==0.5.1 pytest-xdist==1.31.0 pyyaml==5.3 From 15e8e667e50750e37206e5a73b4b2c89a1d8d5b3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 19 Feb 2020 11:00:36 +0000 Subject: [PATCH 0578/2840] Update sphinx from 2.4.1 to 2.4.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 81d793cb1..57a015595 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==1.0.0 # https://github.com/pallets/werkzeug ipdb==0.12.3 # https://github.com/gotcha/ipdb -Sphinx==2.4.1 # https://github.com/sphinx-doc/sphinx +Sphinx==2.4.2 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From d5edf1fa4dbccb838b815b742c7dcf6db5762fdd Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 19 Feb 2020 11:00:39 +0000 Subject: [PATCH 0579/2840] Update pre-commit from 2.0.1 to 2.1.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 81d793cb1..d3cfa24a3 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -25,7 +25,7 @@ pylint-django==2.0.13 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.0.1 # https://github.com/pre-commit/pre-commit +pre-commit==2.1.0 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From 2fb739fed2d5794204a2a9189c66d67169dd4105 Mon Sep 17 00:00:00 2001 From: "Vicente G. Reyes" Date: Thu, 20 Feb 2020 02:02:48 +0800 Subject: [PATCH 0580/2840] Update README.rst Update command $ pip install "cookiecutter>=1.7.0" on docs --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 6e534b0f2..0ae86d053 100644 --- a/README.rst +++ b/README.rst @@ -135,7 +135,7 @@ and then editing the results to include your name, email, and various configurat First, get Cookiecutter. Trust me, it's awesome:: - $ pip install "cookiecutter>=1.4.0" + $ pip install "cookiecutter>=1.7.0" Now run it against this repo:: From d1c417b63d8729e3fdb431a73032e798b116e9da Mon Sep 17 00:00:00 2001 From: "Vicente G. Reyes" Date: Thu, 20 Feb 2020 02:06:20 +0800 Subject: [PATCH 0581/2840] Update CONTRIBUTORS.rst added myself --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 2554d2cfc..130d7e6ee 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -205,6 +205,7 @@ Listed in alphabetical order. Tubo Shi `@Tubo`_ Umair Ashraf `@umrashrf`_ @fabumair Vadim Iskuchekov `@Egregors`_ @egregors + Vicente G. Reyes `@reyesvicente`_ @highcenburg Vitaly Babiy Vivian Guillen `@viviangb`_ Vlad Doster `@vladdoster`_ From 161d8bcf9e749b235757cbf8c542c16b68accdee Mon Sep 17 00:00:00 2001 From: "Vicente G. Reyes" Date: Thu, 20 Feb 2020 02:39:21 +0800 Subject: [PATCH 0582/2840] Update CONTRIBUTORS.rst fixed conflict --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 130d7e6ee..a07ea8e9b 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -341,6 +341,7 @@ Listed in alphabetical order. .. _@purplediane: https://github.com/purplediane .. _@raonyguimaraes: https://github.com/raonyguimaraes .. _@reggieriser: https://github.com/reggieriser +.. _@reyesvicente: https://github.com/reyesvicente .. _@rm--: https://github.com/rm-- .. _@rolep: https://github.com/rolep .. _@romanosipenko: https://github.com/romanosipenko From e8b36af72fb371a528ee20acceea6e7ed4ef4d52 Mon Sep 17 00:00:00 2001 From: Cole Maclean Date: Wed, 19 Feb 2020 13:13:10 -0800 Subject: [PATCH 0583/2840] Remove coreapi requirement --- {{cookiecutter.project_slug}}/requirements/base.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 5427f1d0e..31a6a32b6 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -31,4 +31,3 @@ django-redis==4.11.0 # https://github.com/niwinz/django-redis # Django REST Framework djangorestframework==3.11.0 # https://github.com/encode/django-rest-framework -coreapi==2.3.3 # https://github.com/core-api/python-client From 54dd167501b2049e70acfd786ba856e3e2ed0845 Mon Sep 17 00:00:00 2001 From: Cole Maclean Date: Wed, 19 Feb 2020 13:17:02 -0800 Subject: [PATCH 0584/2840] Add myself to contributors --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 2554d2cfc..5859bc3a1 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -87,6 +87,7 @@ Listed in alphabetical order. Chris Pappalardo `@ChrisPappalardo`_ Christopher Clarke `@chrisdev`_ Cole Mackenzie `@cmackenzie1`_ + Cole Maclean `@cole`_ @cole Collederas `@Collederas`_ Craig Margieson `@cmargieson`_ Cristian Vargas `@cdvv7788`_ @@ -258,6 +259,7 @@ Listed in alphabetical order. .. _@chuckus: https://github.com/chuckus .. _@cmackenzie1: https://github.com/cmackenzie1 .. _@cmargieson: https://github.com/cmargieson +.. _@cole: https://github.com/cole .. _@Collederas: https://github.com/Collederas .. _@curtisstpierre: https://github.com/curtisstpierre .. _@dadokkio: https://github.com/dadokkio From f6a63a5f0c69bc074655304098478b3fa9aae2c7 Mon Sep 17 00:00:00 2001 From: Demetris Stavrou <1180929+demestav@users.noreply.github.com> Date: Fri, 21 Feb 2020 10:08:10 +0200 Subject: [PATCH 0585/2840] Added 5555 port mapping to traefik service --- {{cookiecutter.project_slug}}/production.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/production.yml b/{{cookiecutter.project_slug}}/production.yml index 125d4876c..45e1c447c 100644 --- a/{{cookiecutter.project_slug}}/production.yml +++ b/{{cookiecutter.project_slug}}/production.yml @@ -42,6 +42,7 @@ services: ports: - "0.0.0.0:80:80" - "0.0.0.0:443:443" + - "0.0.0.0:5555:5555" redis: image: redis:5.0 From e3d7ea0e108a76827e96002e05eb8726768eaa7a Mon Sep 17 00:00:00 2001 From: Demetris Stavrou <1180929+demestav@users.noreply.github.com> Date: Sat, 22 Feb 2020 21:29:40 +0200 Subject: [PATCH 0586/2840] Added condition for Flower port mapping --- {{cookiecutter.project_slug}}/production.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/{{cookiecutter.project_slug}}/production.yml b/{{cookiecutter.project_slug}}/production.yml index 45e1c447c..2cd2af132 100644 --- a/{{cookiecutter.project_slug}}/production.yml +++ b/{{cookiecutter.project_slug}}/production.yml @@ -42,7 +42,9 @@ services: ports: - "0.0.0.0:80:80" - "0.0.0.0:443:443" + {%- if cookiecutter.use_celery == 'y' %} - "0.0.0.0:5555:5555" + {%- endif %} redis: image: redis:5.0 From 405d33d99e5f45d18a9db3b39b352027ed54187c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 23 Feb 2020 11:00:30 +0000 Subject: [PATCH 0587/2840] Update sphinx from 2.4.2 to 2.4.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index e2f2b5815..2c7fc85be 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==1.0.0 # https://github.com/pallets/werkzeug ipdb==0.12.3 # https://github.com/gotcha/ipdb -Sphinx==2.4.2 # https://github.com/sphinx-doc/sphinx +Sphinx==2.4.3 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From 7df671611a280a3171c9280a9e13a4e603ae15a5 Mon Sep 17 00:00:00 2001 From: Pawan Chaurasia Date: Mon, 24 Feb 2020 18:46:01 +0530 Subject: [PATCH 0588/2840] fixed pre-commit not loading the flake8 config. added path of setup.cfg in .pre-commit-config.yaml --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index b9d69a9a1..4b72ee80a 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,4 +16,5 @@ repos: entry: flake8 language: python types: [python] + args: ['--config=setup.cfg'] From c5ef5bf757555135e9703c2fd830bf30ef8d135f Mon Sep 17 00:00:00 2001 From: Pawan Chaurasia Date: Mon, 24 Feb 2020 18:49:13 +0530 Subject: [PATCH 0589/2840] added name in contributors.rst --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 691b43ca3..1069a951b 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -176,6 +176,7 @@ Listed in alphabetical order. Oleg Russkin `@rolep`_ Pablo `@oubiga`_ Parbhat Puri `@parbhat`_ + Pawan Chaurasia `@rjsnh1522`_ Peter Bittner `@bittner`_ Peter Coles `@mrcoles`_ Philipp Matthies `@canonnervio`_ From 786b2beb44efcc0a3e52e9eb365e2aafed02d278 Mon Sep 17 00:00:00 2001 From: Pawan Chaurasia Date: Tue, 25 Feb 2020 10:06:49 +0530 Subject: [PATCH 0590/2840] fixed broken link in contributors.rst --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 1069a951b..86804b69d 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -339,6 +339,7 @@ Listed in alphabetical order. .. _@originell: https://github.com/originell .. _@oubiga: https://github.com/oubiga .. _@parbhat: https://github.com/parbhat +.. _@rjsnh1522: https://github.com/rjsnh1522 .. _@pchiquet: https://github.com/pchiquet .. _@phiberjenz: https://github.com/phiberjenz .. _@purplediane: https://github.com/purplediane From 487ed35bc5e7c13ade498c68752f9a2f25d7dec9 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 25 Feb 2020 11:00:32 +0000 Subject: [PATCH 0591/2840] Update collectfast from 1.3.2 to 2.0.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 974ae1e61..821550083 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -5,7 +5,7 @@ gunicorn==20.0.4 # https://github.com/benoitc/gunicorn psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} -Collectfast==1.3.2 # https://github.com/antonagestam/collectfast +Collectfast==2.0.1 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} sentry-sdk==0.14.1 # https://github.com/getsentry/sentry-python From a36f6a7495ccc141f1b8d565e4acbc925b66d807 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 25 Feb 2020 11:00:36 +0000 Subject: [PATCH 0592/2840] Update pylint-django from 2.0.13 to 2.0.14 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 2c7fc85be..5011f3c34 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -21,7 +21,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar flake8==3.7.9 # https://github.com/PyCQA/flake8 coverage==5.0.3 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black -pylint-django==2.0.13 # https://github.com/PyCQA/pylint-django +pylint-django==2.0.14 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} From f9b0c4846b1d09c7c0c470ab8ced814b5df6513b Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 25 Feb 2020 12:58:45 +0000 Subject: [PATCH 0593/2840] Update pre-commit from 2.1.0 to 2.1.1 (#2463) --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5011f3c34..194e25d58 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -25,7 +25,7 @@ pylint-django==2.0.14 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.1.0 # https://github.com/pre-commit/pre-commit +pre-commit==2.1.1 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From fe7a70be6606b5516a02b71ae0ed5a95e9174b0b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 27 Feb 2020 11:00:32 +0000 Subject: [PATCH 0594/2840] Update sentry-sdk from 0.14.1 to 0.14.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 821550083..62fe3e40c 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==2.0.1 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.14.1 # https://github.com/getsentry/sentry-python +sentry-sdk==0.14.2 # https://github.com/getsentry/sentry-python {%- endif %} # Django From c54345e5f8a572045aa08634af5fdcd1cc45edaa Mon Sep 17 00:00:00 2001 From: Daniel Roy Greenfeld Date: Thu, 27 Feb 2020 21:07:31 -0800 Subject: [PATCH 0595/2840] Switch sponsorship to Django Crash Course --- README.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.rst b/README.rst index 0ae86d053..3add09cf3 100644 --- a/README.rst +++ b/README.rst @@ -105,16 +105,16 @@ This project is run by volunteers. Please support them in their efforts to maint Projects that provide financial support to the maintainers: -Two Scoops of Django 1.11 +Django Crash Course ~~~~~~~~~~~~~~~~~~~~~~~~~ -.. image:: https://cdn.shopify.com/s/files/1/0304/6901/products/2017-06-29-tsd11-sticker-02.png - :name: Two Scoops of Django 1.11 Cover +.. image:: https://cdn.shopify.com/s/files/1/0304/6901/files/Django-Crash-Course-300x436.jpg + :name: Django Crash Course: Covers Django 3.0 and Python 3.8 :align: center - :alt: Two Scoops of Django - :target: http://twoscoopspress.com/products/two-scoops-of-django-1-11 + :alt: Django Crash Course + :target: https://www.roygreenfeld.com/products/django-crash-course -Two Scoops of Django is the best dessert-themed Django reference in the universe +Django Crash Course for Django 3.0 and Python 3.8 is the best cheese-themed Django reference in the universe! pyup ~~~~~~~~~~~~~~~~~~ From 89f85f1255598578126776372f41ceb8eaa0e5af Mon Sep 17 00:00:00 2001 From: James Williams Date: Tue, 11 Feb 2020 20:17:50 +0000 Subject: [PATCH 0596/2840] - configure compressor when not using s3 - update django start script to compress if using whitenoise and compress enabled - add to contributors.rst --- CONTRIBUTORS.rst | 1 + .../compose/production/django/start | 6 ++++++ .../config/settings/production.py | 18 ++++++++++++++++++ 3 files changed, 25 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 86804b69d..043312b03 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -129,6 +129,7 @@ Listed in alphabetical order. Irfan Ahmad `@erfaan`_ @erfaan Isaac12x `@Isaac12x`_ Ivan Khomutov `@ikhomutov`_ + James Williams `@jameswilliams1`_ Jan Van Bruggen `@jvanbrug`_ Jelmer Draaijer `@foarsitter`_ Jerome Caisip `@jeromecaisip`_ diff --git a/{{cookiecutter.project_slug}}/compose/production/django/start b/{{cookiecutter.project_slug}}/compose/production/django/start index 709c1dd04..a3aa1161c 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/start @@ -6,4 +6,10 @@ set -o nounset python /app/manage.py collectstatic --noinput +{%- if cookiecutter.use_whitenoise == 'y' and cookiecutter.use_compressor == 'y' %} +if [ "${COMPRESS_ENABLED:-}" = "True" ]; +then + python /app/manage.py compress +fi +{%- endif %} /usr/local/bin/gunicorn config.wsgi --bind 0.0.0.0:5000 --chdir=/app diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 36667b33a..a3e4b9c27 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -200,9 +200,27 @@ ANYMAIL = { # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_ENABLED COMPRESS_ENABLED = env.bool("COMPRESS_ENABLED", default=True) # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_STORAGE +{%- if cookiecutter.cloud_provider == 'AWS' %} COMPRESS_STORAGE = "storages.backends.s3boto3.S3Boto3Storage" +{%- elif cookiecutter.cloud_provider == 'GCP' %} +COMPRESS_STORAGE = "storages.backends.gcloud.GoogleCloudStorage" +{%- elif cookiecutter.cloud_provider == 'None' %} +COMPRESS_STORAGE = "compressor.storage.GzipCompressorFileStorage" +{%- endif %} # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_URL COMPRESS_URL = STATIC_URL{% if cookiecutter.use_whitenoise == 'y' or cookiecutter.cloud_provider == 'None' %} # noqa F405{% endif %} +{%- if cookiecutter.use_whitenoise == 'y' %} +# https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_OFFLINE +COMPRESS_OFFLINE = True # Offline compression is required when using Whitenoise +{%- endif %} +# https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_FILTERS +COMPRESS_FILTERS = { + "css": [ + "compressor.filters.css_default.CssAbsoluteFilter", + "compressor.filters.cssmin.rCSSMinFilter", + ], + "js": ["compressor.filters.jsmin.JSMinFilter"], +} {% endif %} {%- if cookiecutter.use_whitenoise == 'n' -%} # Collectfast From e1cb30b699460dc8dbdef9587d20c8423d022b1a Mon Sep 17 00:00:00 2001 From: James Williams Date: Fri, 28 Feb 2020 16:08:20 +0000 Subject: [PATCH 0597/2840] fix broken contributors link --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 043312b03..beba320bf 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -299,6 +299,7 @@ Listed in alphabetical order. .. _@howiezhao: https://github.com/howiezhao .. _@IanLee1521: https://github.com/IanLee1521 .. _@ikhomutov: https://github.com/ikhomutov +.. _@jameswilliams1: https://github.com/jameswilliams1 .. _@ikkebr: https://github.com/ikkebr .. _@Isaac12x: https://github.com/Isaac12x .. _@iynaix: https://github.com/iynaix From d3db7a867fbf58b80ceea4dc05829a2fcbbdbe60 Mon Sep 17 00:00:00 2001 From: James Williams Date: Fri, 28 Feb 2020 17:04:15 +0000 Subject: [PATCH 0598/2840] fix compresss offline never runs using environ --- .../compose/production/django/start | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/production/django/start b/{{cookiecutter.project_slug}}/compose/production/django/start index a3aa1161c..4985aeedd 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/start @@ -6,9 +6,24 @@ set -o nounset python /app/manage.py collectstatic --noinput -{%- if cookiecutter.use_whitenoise == 'y' and cookiecutter.use_compressor == 'y' %} -if [ "${COMPRESS_ENABLED:-}" = "True" ]; -then +{% if cookiecutter.use_whitenoise == 'y' and cookiecutter.use_compressor == 'y' %} +compress_enabled() { +python << END +import sys + +from environ import Env + +env = Env(COMPRESS_ENABLED=(bool, True)) +if env('COMPRESS_ENABLED'): + sys.exit(0) +else: + sys.exit(1) + +END +} + +if compress_enabled; then + # NOTE this command will fail if django-compressor is disabled python /app/manage.py compress fi {%- endif %} From 7e0f86b4ba0666dc03cbb3dc6644b53291e74d26 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 29 Feb 2020 11:00:30 +0000 Subject: [PATCH 0599/2840] Update django-celery-beat from 1.6.0 to 2.0.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 31a6a32b6..0d6d14070 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -11,7 +11,7 @@ whitenoise==5.0.1 # https://github.com/evansd/whitenoise redis==3.4.1 # https://github.com/andymccurdy/redis-py {%- if cookiecutter.use_celery == "y" %} celery==4.4.0 # pyup: < 5.0 # https://github.com/celery/celery -django-celery-beat==1.6.0 # https://github.com/celery/django-celery-beat +django-celery-beat==2.0.0 # https://github.com/celery/django-celery-beat {%- if cookiecutter.use_docker == 'y' %} flower==0.9.3 # https://github.com/mher/flower {%- endif %} From ccfe97972a189b877fc499f965bbe1bf6f954d55 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 29 Feb 2020 11:00:33 +0000 Subject: [PATCH 0600/2840] Update django-crispy-forms from 1.8.1 to 1.9.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 31a6a32b6..182dd224e 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -23,7 +23,7 @@ django==2.2.10 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils django-allauth==0.41.0 # https://github.com/pennersr/django-allauth -django-crispy-forms==1.8.1 # https://github.com/django-crispy-forms/django-crispy-forms +django-crispy-forms==1.9.0 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.4 # https://github.com/django-compressor/django-compressor {%- endif %} From 37652710159de08a322771d549b19d2097afeac9 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 29 Feb 2020 11:00:36 +0000 Subject: [PATCH 0601/2840] Update ipdb from 0.12.3 to 0.13.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 194e25d58..e70cb63fd 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,7 +1,7 @@ -r ./base.txt Werkzeug==1.0.0 # https://github.com/pallets/werkzeug -ipdb==0.12.3 # https://github.com/gotcha/ipdb +ipdb==0.13.1 # https://github.com/gotcha/ipdb Sphinx==2.4.3 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 From 33f210abc432c79ad2b6e619629a8b9633237d2f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 29 Feb 2020 17:15:35 +0000 Subject: [PATCH 0602/2840] Simplify setup for the automated tests --- .travis.yml | 4 - pytest.ini | 3 - requirements.txt | 1 - tests/test_cookiecutter_generation.py | 146 +++++++++++++------------- tox.ini | 12 +-- 5 files changed, 75 insertions(+), 91 deletions(-) diff --git a/.travis.yml b/.travis.yml index 925d82e7b..52786a17f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,10 +15,6 @@ matrix: include: - name: Test results script: tox -e py37 - - name: Run flake8 on result - script: tox -e flake8 - - name: Run black on result - script: tox -e black - name: Black template script: tox -e black-template - name: Basic Docker diff --git a/pytest.ini b/pytest.ini index 89aeb302c..5d5a9c932 100644 --- a/pytest.ini +++ b/pytest.ini @@ -2,6 +2,3 @@ addopts = -x --tb=short python_paths = . norecursedirs = .tox .git */migrations/* */static/* docs venv */{{cookiecutter.project_slug}}/* -markers = - flake8: Run flake8 on all possible template combinations - black: Run black on all possible template combinations diff --git a/requirements.txt b/requirements.txt index 06f5a80ed..853ae4eb2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,6 @@ flake8==3.7.9 # ------------------------------------------------------------------------------ tox==3.14.5 pytest==5.3.5 -pytest_cases==1.12.2 pytest-cookies==0.5.1 pytest-xdist==1.31.0 pyyaml==5.3 diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 39b05d7c6..964c91d7a 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -3,7 +3,6 @@ import re import pytest from cookiecutter.exceptions import FailedHookException -from pytest_cases import fixture_plus import sh import yaml from binaryornot.check import is_binary @@ -26,49 +25,62 @@ def context(): } -@fixture_plus -@pytest.mark.parametrize("windows", ["y", "n"], ids=lambda yn: f"win:{yn}") -@pytest.mark.parametrize("use_docker", ["y", "n"], ids=lambda yn: f"docker:{yn}") -@pytest.mark.parametrize("use_celery", ["y", "n"], ids=lambda yn: f"celery:{yn}") -@pytest.mark.parametrize("use_mailhog", ["y", "n"], ids=lambda yn: f"mailhog:{yn}") -@pytest.mark.parametrize("use_sentry", ["y", "n"], ids=lambda yn: f"sentry:{yn}") -@pytest.mark.parametrize("use_compressor", ["y", "n"], ids=lambda yn: f"cmpr:{yn}") -@pytest.mark.parametrize("use_drf", ["y", "n"], ids=lambda yn: f"drf:{yn}") -@pytest.mark.parametrize( - "use_whitenoise,cloud_provider", - [ - ("y", "AWS"), - ("y", "GCP"), - ("y", "None"), - ("n", "AWS"), - ("n", "GCP"), - # no whitenoise + no cloud provider is not supported - ], - ids=lambda id: f"wnoise:{id[0]}-cloud:{id[1]}", -) -def context_combination( - windows, - use_docker, - use_celery, - use_mailhog, - use_sentry, - use_compressor, - use_whitenoise, - use_drf, - cloud_provider, -): - """Fixture that parametrize the function where it's used.""" - return { - "windows": windows, - "use_docker": use_docker, - "use_compressor": use_compressor, - "use_celery": use_celery, - "use_mailhog": use_mailhog, - "use_sentry": use_sentry, - "use_whitenoise": use_whitenoise, - "use_drf": use_drf, - "cloud_provider": cloud_provider, - } +SUPPORTED_COMBINATIONS = [ + {"open_source_license": "MIT"}, + {"open_source_license": "BSD"}, + {"open_source_license": "GPLv3"}, + {"open_source_license": "Apache Software License 2.0"}, + {"open_source_license": "Not open source"}, + {"windows": "y"}, + {"windows": "n"}, + {"use_pycharm": "y"}, + {"use_pycharm": "n"}, + {"use_docker": "y"}, + {"use_docker": "n"}, + {"postgresql_version": "11.3"}, + {"postgresql_version": "10.8"}, + {"postgresql_version": "9.6"}, + {"postgresql_version": "9.5"}, + {"postgresql_version": "9.4"}, + {"cloud_provider": "AWS", "use_whitenoise": "y"}, + {"cloud_provider": "AWS", "use_whitenoise": "n"}, + {"cloud_provider": "GCP", "use_whitenoise": "y"}, + {"cloud_provider": "GCP", "use_whitenoise": "n"}, + {"cloud_provider": "None", "use_whitenoise": "y"}, + # Note: cloud_provider=None AND use_whitenoise=n is not supported + {"use_drf": "y"}, + {"use_drf": "n"}, + {"js_task_runner": "None"}, + {"js_task_runner": "Gulp"}, + {"custom_bootstrap_compilation": "y"}, + {"custom_bootstrap_compilation": "n"}, + {"use_compressor": "y"}, + {"use_compressor": "n"}, + {"use_celery": "y"}, + {"use_celery": "n"}, + {"use_mailhog": "y"}, + {"use_mailhog": "n"}, + {"use_sentry": "y"}, + {"use_sentry": "n"}, + {"use_whitenoise": "y"}, + {"use_whitenoise": "n"}, + {"use_heroku": "y"}, + {"use_heroku": "n"}, + {"ci_tool": "None"}, + {"ci_tool": "Travis"}, + {"ci_tool": "Gitlab"}, + {"keep_local_envs_in_vcs": "y"}, + {"keep_local_envs_in_vcs": "n"}, + {"debug": "y"}, + {"debug": "n"}, +] + +UNSUPPORTED_COMBINATIONS = [{"cloud_provider": "None", "use_whitenoise": "n"}] + + +def _fixture_id(ctx): + """Helper to get a user friendly test name from the parametrized context.""" + return "-".join(f"{key}:{value}" for key, value in ctx.items()) def build_files_list(root_dir): @@ -81,9 +93,7 @@ def build_files_list(root_dir): def check_paths(paths): - """Method to check all paths have correct substitutions, - used by other tests cases - """ + """Method to check all paths have correct substitutions.""" # Assert that no match is found in any of the files for path in paths: if is_binary(path): @@ -95,13 +105,10 @@ def check_paths(paths): assert match is None, msg.format(path) -def test_project_generation(cookies, context, context_combination): - """ - Test that project is generated and fully rendered. - - This is parametrized for each combination from ``context_combination`` fixture - """ - result = cookies.bake(extra_context={**context, **context_combination}) +@pytest.mark.parametrize("context_override", SUPPORTED_COMBINATIONS, ids=_fixture_id) +def test_project_generation(cookies, context, context_override): + """Test that project is generated and fully rendered.""" + result = cookies.bake(extra_context={**context, **context_override}) assert result.exit_code == 0 assert result.exception is None assert result.project.basename == context["project_slug"] @@ -112,14 +119,10 @@ def test_project_generation(cookies, context, context_combination): check_paths(paths) -@pytest.mark.flake8 -def test_flake8_passes(cookies, context_combination): - """ - Generated project should pass flake8. - - This is parametrized for each combination from ``context_combination`` fixture - """ - result = cookies.bake(extra_context=context_combination) +@pytest.mark.parametrize("context_override", SUPPORTED_COMBINATIONS, ids=_fixture_id) +def test_flake8_passes(cookies, context_override): + """Generated project should pass flake8.""" + result = cookies.bake(extra_context=context_override) try: sh.flake8(str(result.project)) @@ -127,14 +130,10 @@ def test_flake8_passes(cookies, context_combination): pytest.fail(e) -@pytest.mark.black -def test_black_passes(cookies, context_combination): - """ - Generated project should pass black. - - This is parametrized for each combination from ``context_combination`` fixture - """ - result = cookies.bake(extra_context=context_combination) +@pytest.mark.parametrize("context_override", SUPPORTED_COMBINATIONS, ids=_fixture_id) +def test_black_passes(cookies, context_override): + """Generated project should pass black.""" + result = cookies.bake(extra_context=context_override) try: sh.black("--check", "--diff", "--exclude", "migrations", f"{result.project}/") @@ -187,9 +186,10 @@ def test_invalid_slug(cookies, context, slug): assert isinstance(result.exception, FailedHookException) -def test_no_whitenoise_and_no_cloud_provider(cookies, context): - """It should not generate project if neither whitenoise or cloud provider are set""" - context.update({"use_whitenoise": "n", "cloud_provider": "None"}) +@pytest.mark.parametrize("invalid_context", UNSUPPORTED_COMBINATIONS) +def test_error_if_incompatible(cookies, context, invalid_context): + """It should not generate project an incompatible combination is selected.""" + context.update(invalid_context) result = cookies.bake(extra_context=context) assert result.exit_code != 0 diff --git a/tox.ini b/tox.ini index 1c83465cc..737b26e73 100644 --- a/tox.ini +++ b/tox.ini @@ -1,18 +1,10 @@ [tox] skipsdist = true -envlist = py37,flake8,black,black-template +envlist = py37,black-template [testenv] deps = -rrequirements.txt -commands = pytest -m "not flake8" -m "not black" {posargs:./tests} - -[testenv:flake8] -deps = -rrequirements.txt -commands = pytest -m flake8 {posargs:./tests} - -[testenv:black] -deps = -rrequirements.txt -commands = pytest -m black {posargs:./tests} +commands = pytest {posargs:./tests} [testenv:black-template] deps = black From fa6ca7b1c853f46a2124ef2f69bb29967409cb13 Mon Sep 17 00:00:00 2001 From: jeromecaisip Date: Mon, 2 Mar 2020 19:16:33 +0100 Subject: [PATCH 0603/2840] Add rest_framework.authtoken on installed apps. Add rest_framework.authtoken on installed apps when the option to use DRF is selected, because the endpoint '/auth-token/" depends on the said app. --- {{cookiecutter.project_slug}}/config/settings/base.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 6ad8e820b..a771ed46e 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -79,6 +79,10 @@ THIRD_PARTY_APPS = [ {%- if cookiecutter.use_celery == 'y' %} "django_celery_beat", {%- endif %} +{% if cookiecutter.use_drf == "y" -%} + "rest_framework.authtoken", +{%- endif %} + ] LOCAL_APPS = [ From bfe463fa7c5731d0219f113f5f192f9a421aa472 Mon Sep 17 00:00:00 2001 From: jeromecaisip Date: Mon, 2 Mar 2020 19:27:07 +0100 Subject: [PATCH 0604/2840] Update base.py --- {{cookiecutter.project_slug}}/config/settings/base.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index a771ed46e..22b1fed81 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -79,10 +79,9 @@ THIRD_PARTY_APPS = [ {%- if cookiecutter.use_celery == 'y' %} "django_celery_beat", {%- endif %} -{% if cookiecutter.use_drf == "y" -%} +{%- if cookiecutter.use_drf == "y" %} "rest_framework.authtoken", {%- endif %} - ] LOCAL_APPS = [ From 4fd15474b1806ea06554451efec59708f3a349a1 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 3 Mar 2020 11:00:31 +0000 Subject: [PATCH 0605/2840] Update collectfast from 2.0.1 to 2.1.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 62fe3e40c..f0c4fed12 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -5,7 +5,7 @@ gunicorn==20.0.4 # https://github.com/benoitc/gunicorn psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} -Collectfast==2.0.1 # https://github.com/antonagestam/collectfast +Collectfast==2.1.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} sentry-sdk==0.14.2 # https://github.com/getsentry/sentry-python From ff43635bb784e005593489368a72a101c79b865b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 3 Mar 2020 11:00:36 +0000 Subject: [PATCH 0606/2840] Update celery from 4.4.0 to 4.4.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 99c9d4cd9..44c2600f2 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -10,7 +10,7 @@ whitenoise==5.0.1 # https://github.com/evansd/whitenoise {%- endif %} redis==3.4.1 # https://github.com/andymccurdy/redis-py {%- if cookiecutter.use_celery == "y" %} -celery==4.4.0 # pyup: < 5.0 # https://github.com/celery/celery +celery==4.4.1 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==2.0.0 # https://github.com/celery/django-celery-beat {%- if cookiecutter.use_docker == 'y' %} flower==0.9.3 # https://github.com/mher/flower From 4825b932c7e81075db901abae019fcd358467a5c Mon Sep 17 00:00:00 2001 From: jeromecaisip Date: Tue, 3 Mar 2020 14:45:20 +0100 Subject: [PATCH 0607/2840] Optionally remove/add restframework according to choice --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 99c9d4cd9..601ee96ff 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -29,5 +29,7 @@ django-compressor==2.4 # https://github.com/django-compressor/django-compressor {%- endif %} django-redis==4.11.0 # https://github.com/niwinz/django-redis +{%- if cookiecutter.use_drf == "y" %} # Django REST Framework djangorestframework==3.11.0 # https://github.com/encode/django-rest-framework +{%- endif %} From a24a6f337b6bf6c15b92df84937c0731d82f4401 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 3 Mar 2020 18:56:18 +0000 Subject: [PATCH 0608/2840] Add Heroku dyno for celery beat --- {{cookiecutter.project_slug}}/Procfile | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/Procfile b/{{cookiecutter.project_slug}}/Procfile index 5b8e9eaf8..3838eafd7 100644 --- a/{{cookiecutter.project_slug}}/Procfile +++ b/{{cookiecutter.project_slug}}/Procfile @@ -2,4 +2,5 @@ release: python manage.py migrate web: gunicorn config.wsgi:application {% if cookiecutter.use_celery == "y" -%} worker: celery worker --app=config.celery_app --loglevel=info +beat: celery beat --app=config.celery_app --loglevel=info {%- endif %} From 52dc302c9326dab67fe5f6673f032bfd15634f87 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 3 Mar 2020 19:37:27 +0000 Subject: [PATCH 0609/2840] Better error reporting in case of flake8 or black error --- tests/test_cookiecutter_generation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 964c91d7a..e51e4b9fa 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -127,7 +127,7 @@ def test_flake8_passes(cookies, context_override): try: sh.flake8(str(result.project)) except sh.ErrorReturnCode as e: - pytest.fail(e) + pytest.fail(e.stdout.decode()) @pytest.mark.parametrize("context_override", SUPPORTED_COMBINATIONS, ids=_fixture_id) @@ -138,7 +138,7 @@ def test_black_passes(cookies, context_override): try: sh.black("--check", "--diff", "--exclude", "migrations", f"{result.project}/") except sh.ErrorReturnCode as e: - pytest.fail(e) + pytest.fail(e.stdout.decode()) def test_travis_invokes_pytest(cookies, context): From fab6b8724aea351dc9ef46e17245875bfaf719d2 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 3 Mar 2020 19:53:15 +0000 Subject: [PATCH 0610/2840] Test isort flake8-isort & fix issues fixes #2123 --- pytest.ini | 2 +- requirements.txt | 1 + {{cookiecutter.project_slug}}/.editorconfig | 4 ++-- {{cookiecutter.project_slug}}/config/api_router.py | 3 ++- {{cookiecutter.project_slug}}/config/celery_app.py | 1 + {{cookiecutter.project_slug}}/config/settings/production.py | 1 + {{cookiecutter.project_slug}}/config/urls.py | 6 +++--- {{cookiecutter.project_slug}}/requirements/local.txt | 1 + .../{{cookiecutter.project_slug}}/users/api/serializers.py | 1 + .../{{cookiecutter.project_slug}}/users/api/views.py | 2 +- .../{{cookiecutter.project_slug}}/users/forms.py | 2 +- .../{{cookiecutter.project_slug}}/users/tests/test_tasks.py | 1 - .../{{cookiecutter.project_slug}}/users/tests/test_urls.py | 2 +- .../{{cookiecutter.project_slug}}/users/urls.py | 2 +- .../{{cookiecutter.project_slug}}/users/views.py | 4 ++-- 15 files changed, 19 insertions(+), 14 deletions(-) diff --git a/pytest.ini b/pytest.ini index 5d5a9c932..edf3a7c34 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,4 +1,4 @@ [pytest] -addopts = -x --tb=short +addopts = --tb=short python_paths = . norecursedirs = .tox .git */migrations/* */static/* docs venv */{{cookiecutter.project_slug}}/* diff --git a/requirements.txt b/requirements.txt index 853ae4eb2..56f72f9b5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,6 +6,7 @@ binaryornot==0.4.4 # ------------------------------------------------------------------------------ black==19.10b0 flake8==3.7.9 +flake8-isort==2.8.0 # Testing # ------------------------------------------------------------------------------ diff --git a/{{cookiecutter.project_slug}}/.editorconfig b/{{cookiecutter.project_slug}}/.editorconfig index 792dd3b06..39c15f079 100644 --- a/{{cookiecutter.project_slug}}/.editorconfig +++ b/{{cookiecutter.project_slug}}/.editorconfig @@ -13,8 +13,8 @@ indent_style = space indent_size = 4 [*.py] -line_length = 120 -known_first_party = {{ cookiecutter.project_slug }} +line_length = 88 +known_first_party = {{cookiecutter.project_slug}},config multi_line_output = 3 default_section = THIRDPARTY recursive = true diff --git a/{{cookiecutter.project_slug}}/config/api_router.py b/{{cookiecutter.project_slug}}/config/api_router.py index 46a797a74..743069b2c 100644 --- a/{{cookiecutter.project_slug}}/config/api_router.py +++ b/{{cookiecutter.project_slug}}/config/api_router.py @@ -1,5 +1,6 @@ -from rest_framework.routers import DefaultRouter, SimpleRouter from django.conf import settings +from rest_framework.routers import DefaultRouter, SimpleRouter + from {{ cookiecutter.project_slug }}.users.api.views import UserViewSet if settings.DEBUG: diff --git a/{{cookiecutter.project_slug}}/config/celery_app.py b/{{cookiecutter.project_slug}}/config/celery_app.py index e275f054f..0728a649e 100644 --- a/{{cookiecutter.project_slug}}/config/celery_app.py +++ b/{{cookiecutter.project_slug}}/config/celery_app.py @@ -1,4 +1,5 @@ import os + from celery import Celery # set the default Django settings module for the 'celery' program. diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 36667b33a..73ce4d648 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -1,3 +1,4 @@ +"""isort:skip_file""" {% if cookiecutter.use_sentry == 'y' -%} import logging diff --git a/{{cookiecutter.project_slug}}/config/urls.py b/{{cookiecutter.project_slug}}/config/urls.py index 382bf8951..818609061 100644 --- a/{{cookiecutter.project_slug}}/config/urls.py +++ b/{{cookiecutter.project_slug}}/config/urls.py @@ -1,10 +1,10 @@ from django.conf import settings -from django.urls import include, path from django.conf.urls.static import static from django.contrib import admin -from django.views.generic import TemplateView +from django.urls import include, path from django.views import defaults as default_views -{% if cookiecutter.use_drf == 'y' -%} +from django.views.generic import TemplateView +{%- if cookiecutter.use_drf == 'y' %} from rest_framework.authtoken.views import obtain_auth_token {%- endif %} diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index e70cb63fd..33c0dc36d 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -19,6 +19,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ flake8==3.7.9 # https://github.com/PyCQA/flake8 +flake8-isort==2.8.0 # https://github.com/gforcada/flake8-isort coverage==5.0.3 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black pylint-django==2.0.14 # https://github.com/PyCQA/pylint-django diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py index bb52738b7..04bf4c85e 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py @@ -1,4 +1,5 @@ from rest_framework import serializers + from {{ cookiecutter.project_slug }}.users.models import User diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py index 7b5af999b..288ea7ab2 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py @@ -1,7 +1,7 @@ from django.contrib.auth import get_user_model from rest_framework import status from rest_framework.decorators import action -from rest_framework.mixins import RetrieveModelMixin, ListModelMixin, UpdateModelMixin +from rest_framework.mixins import ListModelMixin, RetrieveModelMixin, UpdateModelMixin from rest_framework.response import Response from rest_framework.viewsets import GenericViewSet diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py index 250cc9040..25065419a 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py @@ -1,4 +1,4 @@ -from django.contrib.auth import get_user_model, forms +from django.contrib.auth import forms, get_user_model from django.core.exceptions import ValidationError from django.utils.translation import ugettext_lazy as _ diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_tasks.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_tasks.py index addb091db..61586b5ca 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_tasks.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_tasks.py @@ -1,7 +1,6 @@ import pytest from celery.result import EagerResult - from {{ cookiecutter.project_slug }}.users.tasks import get_users_count from {{ cookiecutter.project_slug }}.users.tests.factories import UserFactory diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py index 933396ba0..aab6d0a87 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py @@ -1,5 +1,5 @@ import pytest -from django.urls import reverse, resolve +from django.urls import resolve, reverse from {{ cookiecutter.project_slug }}.users.models import User diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/urls.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/urls.py index eff24dd04..8c8c7e2ea 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/urls.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/urls.py @@ -1,9 +1,9 @@ from django.urls import path from {{ cookiecutter.project_slug }}.users.views import ( + user_detail_view, user_redirect_view, user_update_view, - user_detail_view, ) app_name = "users" diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py index 5c0d5b5c2..f0e81dffc 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py @@ -1,9 +1,9 @@ +from django.contrib import messages from django.contrib.auth import get_user_model from django.contrib.auth.mixins import LoginRequiredMixin from django.urls import reverse -from django.views.generic import DetailView, RedirectView, UpdateView -from django.contrib import messages from django.utils.translation import ugettext_lazy as _ +from django.views.generic import DetailView, RedirectView, UpdateView User = get_user_model() From e1141d699945d5dfbf1d163cea989e04dd06eb42 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 3 Mar 2020 20:33:44 +0000 Subject: [PATCH 0611/2840] Remove pytest-xdist to try get a better output --- requirements.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 56f72f9b5..bc8767466 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,5 +13,4 @@ flake8-isort==2.8.0 tox==3.14.5 pytest==5.3.5 pytest-cookies==0.5.1 -pytest-xdist==1.31.0 pyyaml==5.3 From c8fc7cf119583018665b4dd71fa5c40f11a304b5 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 3 Mar 2020 20:46:13 +0000 Subject: [PATCH 0612/2840] Add pytest-instafail plugin to get failures earlier --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index bc8767466..140dc2cdd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,4 +13,5 @@ flake8-isort==2.8.0 tox==3.14.5 pytest==5.3.5 pytest-cookies==0.5.1 +pytest-instafail==0.4.1.post0 pyyaml==5.3 From 7f957564a19871022e7ee34b12de72f7eb4047ef Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 3 Mar 2020 20:46:35 +0000 Subject: [PATCH 0613/2840] Bump pytest verbosity --- pytest.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytest.ini b/pytest.ini index edf3a7c34..03ca13891 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,4 +1,4 @@ [pytest] -addopts = --tb=short +addopts = -v --tb=short python_paths = . norecursedirs = .tox .git */migrations/* */static/* docs venv */{{cookiecutter.project_slug}}/* From effb548b5de992349d86a27e1a50acc94eb92bae Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 4 Mar 2020 11:00:32 +0000 Subject: [PATCH 0614/2840] Update django from 2.2.10 to 2.2.11 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 44c2600f2..e4bb31baf 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -19,7 +19,7 @@ flower==0.9.3 # https://github.com/mher/flower # Django # ------------------------------------------------------------------------------ -django==2.2.10 # pyup: < 3.0 # https://www.djangoproject.com/ +django==2.2.11 # pyup: < 3.0 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils django-allauth==0.41.0 # https://github.com/pennersr/django-allauth From 2fd0cf0e35aad2cf5743967c1620c1c5da7513d5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 4 Mar 2020 11:00:36 +0000 Subject: [PATCH 0615/2840] Update ipdb from 0.13.1 to 0.13.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 33c0dc36d..80558f5c7 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,7 +1,7 @@ -r ./base.txt Werkzeug==1.0.0 # https://github.com/pallets/werkzeug -ipdb==0.13.1 # https://github.com/gotcha/ipdb +ipdb==0.13.2 # https://github.com/gotcha/ipdb Sphinx==2.4.3 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 From 09fd30b6a87f004d0f319af28968c13ad317b01e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 6 Mar 2020 11:00:31 +0000 Subject: [PATCH 0616/2840] Update sphinx from 2.4.3 to 2.4.4 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 80558f5c7..dcffd53ec 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==1.0.0 # https://github.com/pallets/werkzeug ipdb==0.13.2 # https://github.com/gotcha/ipdb -Sphinx==2.4.3 # https://github.com/sphinx-doc/sphinx +Sphinx==2.4.4 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From 3a3550cd3f4abe2990298d2d9c5368e88bdf6817 Mon Sep 17 00:00:00 2001 From: jeromecaisip Date: Sun, 8 Mar 2020 17:55:19 +0100 Subject: [PATCH 0617/2840] Update base.txt --- {{cookiecutter.project_slug}}/requirements/base.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 601ee96ff..3b72da7f6 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -28,7 +28,6 @@ django-crispy-forms==1.9.0 # https://github.com/django-crispy-forms/django-cris django-compressor==2.4 # https://github.com/django-compressor/django-compressor {%- endif %} django-redis==4.11.0 # https://github.com/niwinz/django-redis - {%- if cookiecutter.use_drf == "y" %} # Django REST Framework djangorestframework==3.11.0 # https://github.com/encode/django-rest-framework From 9ec538962ec692a3a65241038b5b57906c01e559 Mon Sep 17 00:00:00 2001 From: Daniel Roy Greenfeld Date: Mon, 9 Mar 2020 13:51:23 -0700 Subject: [PATCH 0618/2840] Update FUNDING.yml --- .github/FUNDING.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 9f4c97f31..6ea27a8f0 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,7 +1,7 @@ # These are supported funding model platforms github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] -patreon: danielroygreenfeld +patreon: roygreenfeld open_collective: # Replace with a single Open Collective username ko_fi: # Replace with a single Ko-fi username tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel From 427c69562e94063a650215f72a2524c6fe37c031 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 11 Mar 2020 11:00:31 +0000 Subject: [PATCH 0619/2840] Update mypy from 0.761 to 0.770 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index dcffd53ec..ddc5d2a51 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -11,7 +11,7 @@ psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ -mypy==0.761 # https://github.com/python/mypy +mypy==0.770 # https://github.com/python/mypy django-stubs==1.4.0 # https://github.com/typeddjango/django-stubs pytest==5.3.5 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar From 7e345d5fb3fa17bb1b547198dc1d223c2ef391c2 Mon Sep 17 00:00:00 2001 From: Agustin Scaramuzza Date: Wed, 11 Mar 2020 14:37:12 -0300 Subject: [PATCH 0620/2840] Add PYTHONDONTWRITEBYTECODE flag to local development Dockerfile --- CONTRIBUTORS.rst | 1 + {{cookiecutter.project_slug}}/compose/local/django/Dockerfile | 1 + 2 files changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 86804b69d..edb2ccdd3 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -49,6 +49,7 @@ Listed in alphabetical order. Adam Dobrawy `@ad-m`_ Adam Steele `@adammsteele`_ Agam Dua + Agustín Scaramuzza `@scaramagus`_ @scaramagus Alberto Sanchez `@alb3rto`_ Alex Tsai `@caffodian`_ Alvaro [Andor] `@andor-pierdelacabeza`_ diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index 94c799520..6a356ac60 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -1,6 +1,7 @@ FROM python:3.7-slim-buster ENV PYTHONUNBUFFERED 1 +ENV PYTHONDONTWRITEBYTECODE 1 RUN apt-get update \ # dependencies for building Python packages From 324e3074029cccb4d0e4b1ca155087798f7f88cc Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 13 Mar 2020 11:00:34 +0000 Subject: [PATCH 0621/2840] Update pre-commit from 2.1.1 to 2.2.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index ddc5d2a51..fd8c104ab 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -26,7 +26,7 @@ pylint-django==2.0.14 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.1.1 # https://github.com/pre-commit/pre-commit +pre-commit==2.2.0 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From 81d9274e09fdbbd72ad959ac5daf1b8e93b0db57 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 13 Mar 2020 07:21:10 -0700 Subject: [PATCH 0622/2840] Update pytest from 5.3.5 to 5.4.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 140dc2cdd..bc8292a8c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8-isort==2.8.0 # Testing # ------------------------------------------------------------------------------ tox==3.14.5 -pytest==5.3.5 +pytest==5.4.1 pytest-cookies==0.5.1 pytest-instafail==0.4.1.post0 pyyaml==5.3 From 6d0a187addb1fb616568859f268ab503870d2d00 Mon Sep 17 00:00:00 2001 From: Daniel Roy Greenfeld Date: Fri, 13 Mar 2020 14:32:25 -0700 Subject: [PATCH 0623/2840] Update FUNDING.yml --- .github/FUNDING.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 6ea27a8f0..5a5aefc78 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,6 +1,6 @@ # These are supported funding model platforms -github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +github: pydanny patreon: roygreenfeld open_collective: # Replace with a single Open Collective username ko_fi: # Replace with a single Ko-fi username From 397889050205bda8ee819200bb20920d3006b1d7 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Sat, 14 Mar 2020 13:43:37 -0400 Subject: [PATCH 0624/2840] Adjusted readability * Changed Vanilla/Plain Django-Anymail to Other SMTP * Made Mailgun default again * config/production.py adjusted if conditions according to @browniebroke --- cookiecutter.json | 4 +- .../config/settings/production.py | 81 ++++++++++--------- .../requirements/production.txt | 8 +- 3 files changed, 49 insertions(+), 44 deletions(-) diff --git a/cookiecutter.json b/cookiecutter.json index 5e85af486..cfa1b346a 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -34,15 +34,15 @@ "None" ], "mail_service": [ - "{% if cookiecutter.cloud_provider == 'AWS' %}Amazon SES{% else %}Plain/Vanilla Django-Anymail{% endif %}", "Mailgun", + "Amazon SES", "Mailjet", "Mandrill", "Postmark", "Sendgrid", "SendinBlue", "SparkPost", - "Plain/Vanilla Django-Anymail" + "Other SMTP" ], "use_drf": "n", "custom_bootstrap_compilation": "n", diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index e227186e9..6b07141dc 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -187,62 +187,58 @@ ADMIN_URL = env("DJANGO_ADMIN_URL") # ------------------------------------------------------------------------------ # https://anymail.readthedocs.io/en/stable/installation/#installing-anymail INSTALLED_APPS += ["anymail"] # noqa F405 -{%- if cookiecutter.mail_service == 'Amazon SES' %} -EMAIL_BACKEND = "anymail.backends.amazon_ses.EmailBackend" -{%- elif cookiecutter.mail_service == 'Mailgun' %} -EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend" -{%- elif cookiecutter.mail_service == 'Mailjet' %} -EMAIL_BACKEND = "anymail.backends.mailjet.EmailBackend" -{%- elif cookiecutter.mail_service == 'Mandrill' %} -EMAIL_BACKEND = "anymail.backends.mandrill.EmailBackend" -{%- elif cookiecutter.mail_service == 'Postmark' %} -EMAIL_BACKEND = "anymail.backends.postmark.EmailBackend" -{%- elif cookiecutter.mail_service == 'Sendgrid' %} -EMAIL_BACKEND = "anymail.backends.sendgrid.EmailBackend" -{%- elif cookiecutter.mail_service == 'SendinBlue' %} -EMAIL_BACKEND = "anymail.backends.sendinblue.EmailBackend" -{%- elif cookiecutter.mail_service == 'SparkPost' %} -EMAIL_BACKEND = "anymail.backends.sparkpost.EmailBackend" -{%- elif cookiecutter.mail_service == 'Plain/Vanilla Django-Anymail' %} -EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend" -# https://docs.djangoproject.com/en/3.0/ref/settings/#email-backend -{%- endif %} +# https://docs.djangoproject.com/en/dev/ref/settings/#email-backend # https://anymail.readthedocs.io/en/stable/installation/#anymail-settings-reference +{%- if cookiecutter.mail_service == 'Mailgun' %} +# https://anymail.readthedocs.io/en/stable/esps/mailgun/ +EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend" ANYMAIL = { - # https://anymail.readthedocs.io/en/stable/esps/ - {%- if cookiecutter.mail_service == 'Amazon SES' %} - # https://anymail.readthedocs.io/en/stable/esps/amazon_ses/ - {%- elif cookiecutter.mail_service == 'Mailgun' %} "MAILGUN_API_KEY": env("MAILGUN_API_KEY"), "MAILGUN_SENDER_DOMAIN": env("MAILGUN_DOMAIN"), "MAILGUN_API_URL": env( "MAILGUN_API_URL", default="https://api.mailgun.net/v3" ), - # https://anymail.readthedocs.io/en/stable/esps/mailgun/ - {%- elif cookiecutter.mail_service == 'Mailjet' %} +} +{%- elif cookiecutter.mail_service == 'Amazon SES' %} +# https://anymail.readthedocs.io/en/stable/esps/amazon_ses/ +EMAIL_BACKEND = "anymail.backends.amazon_ses.EmailBackend" +ANYMAIL = {} +{%- elif cookiecutter.mail_service == 'Mailjet' %} +# https://anymail.readthedocs.io/en/stable/esps/mailjet/ +EMAIL_BACKEND = "anymail.backends.mailjet.EmailBackend" +ANYMAIL = { "MAILJET_API_KEY": env("MAILJET_API_KEY"), "MAILJET_SECRET_KEY": env("MAILJET_SECRET_KEY"), "MAILJET_API_URL": env( "MAILJET_API_URL", default="https://api.mailjet.com/v3" ), - # https://anymail.readthedocs.io/en/stable/esps/mailjet/ - {%- elif cookiecutter.mail_service == 'Mandrill' %} +} +{%- elif cookiecutter.mail_service == 'Mandrill' %} +# https://anymail.readthedocs.io/en/stable/esps/mandrill/ +EMAIL_BACKEND = "anymail.backends.mandrill.EmailBackend" +ANYMAIL = { "MANDRILL_API_KEY": env("MANDRILL_API_KEY"), "MANDRILL_API_URL": env( "MANDRILL_API_URL", default="https://mandrillapp.com/api/1.0" ), - # https://anymail.readthedocs.io/en/stable/esps/mandrill/ - {%- elif cookiecutter.mail_service == 'Postmark' %} +} +{%- elif cookiecutter.mail_service == 'Postmark' %} +# https://anymail.readthedocs.io/en/stable/esps/postmark/ +EMAIL_BACKEND = "anymail.backends.postmark.EmailBackend" +ANYMAIL = { "POSTMARK_SERVER_TOKEN": env("POSTMARK_SERVER_TOKEN"), "POSTMARK_API_URL": env( "POSTMARK_API_URL", default="https://api.postmarkapp.com/" ), - # https://anymail.readthedocs.io/en/stable/esps/postmark/ - {%- elif cookiecutter.mail_service == 'Sendgrid' %} +} +{%- elif cookiecutter.mail_service == 'Sendgrid' %} +# https://anymail.readthedocs.io/en/stable/esps/sendgrid/ +EMAIL_BACKEND = "anymail.backends.sendgrid.EmailBackend" +ANYMAIL = { "SENDGRID_API_KEY": env("SENDGRID_API_KEY"), "SENDGRID_GENERATE_MESSAGE_ID": env("SENDGRID_GENERATE_MESSAGE_ID"), "SENDGRID_MERGE_FIELD_FORMAT": env("SENDGRID_MERGE_FIELD_FORMAT"), @@ -250,23 +246,32 @@ ANYMAIL = { "SENDGRID_API_URL", default="https://api.sendgrid.com/v3/" ), - # https://anymail.readthedocs.io/en/stable/esps/sendgrid/ - {%- elif cookiecutter.mail_service == 'SendinBlue' %} +} +{%- elif cookiecutter.mail_service == 'SendinBlue' %} +# https://anymail.readthedocs.io/en/stable/esps/sendinblue/ +EMAIL_BACKEND = "anymail.backends.sendinblue.EmailBackend" +ANYMAIL = { "SENDINBLUE_API_KEY": env("SENDINBLUE_API_KEY"), "SENDINBLUE_API_URL": env( "SENDINBLUE_API_URL", default="https://api.sendinblue.com/v3/" ), - # https://anymail.readthedocs.io/en/stable/esps/sendinblue/ - {%- elif cookiecutter.mail_service == 'SparkPost' %} +} +{%- elif cookiecutter.mail_service == 'SparkPost' %} +# https://anymail.readthedocs.io/en/stable/esps/sparkpost/ +EMAIL_BACKEND = "anymail.backends.sparkpost.EmailBackend" +ANYMAIL = { "SPARKPOST_API_KEY": env("SPARKPOST_API_KEY"), "SPARKPOST_API_URL": env( "SPARKPOST_API_URL", default="https://api.sparkpost.com/api/v1" ), - # https://anymail.readthedocs.io/en/stable/esps/sparkpost/ - {%- endif %} } +{%- elif cookiecutter.mail_service == 'Other SMTP' %} +# https://anymail.readthedocs.io/en/stable/esps +EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend" +ANYMAIL = {} +{%- endif %} {% if cookiecutter.use_compressor == 'y' -%} # django-compressor diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 06e2a4d2e..da9cbc97a 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -18,10 +18,10 @@ django-storages[boto3]==1.9.1 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} django-storages[google]==1.9.1 # https://github.com/jschneier/django-storages {%- endif %} -{%- if cookiecutter.mail_service == 'Amazon SES' %} -django-anymail[amazon_ses]==7.0.0 # https://github.com/anymail/django-anymail -{%- elif cookiecutter.mail_service == 'Mailgun' %} +{%- if cookiecutter.mail_service == 'Mailgun' %} django-anymail[mailgun]==7.0.0 # https://github.com/anymail/django-anymail +{%- elif cookiecutter.mail_service == 'Amazon SES' %} +django-anymail[amazon_ses]==7.0.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} django-anymail[mailjet]==7.0.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} @@ -34,6 +34,6 @@ django-anymail[sendgrid]==7.0.0 # https://github.com/anymail/django-anymail django-anymail[sendinblue]==7.0.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} django-anymail[sparkpost]==7.0.0 # https://github.com/anymail/django-anymail -{%- elif cookiecutter.mail_service == 'Plain/Vanilla Django-Anymail' %} +{%- elif cookiecutter.mail_service == 'Other SMTP' %} django-anymail==7.0.0 # https://github.com/anymail/django-anymail {%- endif %} From 5e1d1dd1c39b92bae280ae071b3e20cad1c88ae2 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Sat, 14 Mar 2020 15:09:05 -0400 Subject: [PATCH 0625/2840] Fixed tests for mail providers --- tests/test_cookiecutter_generation.py | 20 ++++++------- .../config/settings/production.py | 29 +++++-------------- 2 files changed, 16 insertions(+), 33 deletions(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index d4db10856..91f44ae5a 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -48,6 +48,15 @@ SUPPORTED_COMBINATIONS = [ {"cloud_provider": "GCP", "use_whitenoise": "n"}, {"cloud_provider": "None", "use_whitenoise": "y"}, # Note: cloud_provider=None AND use_whitenoise=n is not supported + {"mail_service": "Mailgun"}, + {"mail_service": "Amazon SES"}, + {"mail_service": "Mailjet"}, + {"mail_service": "Mandrill"}, + {"mail_service": "Postmark"}, + {"mail_service": "Sendgrid"}, + {"mail_service": "SendinBlue"}, + {"mail_service": "SparkPost"}, + {"mail_service": "Other SMTP"}, {"use_drf": "y"}, {"use_drf": "n"}, {"js_task_runner": "None"}, @@ -73,21 +82,10 @@ SUPPORTED_COMBINATIONS = [ {"keep_local_envs_in_vcs": "n"}, {"debug": "y"}, {"debug": "n"}, - {"mail_service", "AWS SES"}, - {"mail_service", "Mailgun"}, - {"mail_service", "Mailjet"}, - {"mail_service", "Mandrill"}, - {"mail_service", "Postmark"}, - {"mail_service", "Sendgrid"}, - {"mail_service", "SendinBlue"}, - {"mail_service", "SparkPost"}, - {"mail_service", "Other SMTP"}, ] UNSUPPORTED_COMBINATIONS = [ {"cloud_provider": "None", "use_whitenoise": "n"}, - {"cloud_provider": "GCP", "mail_service": "Amazon SES"}, - {"cloud_provider": "None", "mail_service": "Amazon SES"} ] diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 6b07141dc..13e8c6971 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -195,10 +195,7 @@ EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend" ANYMAIL = { "MAILGUN_API_KEY": env("MAILGUN_API_KEY"), "MAILGUN_SENDER_DOMAIN": env("MAILGUN_DOMAIN"), - "MAILGUN_API_URL": env( - "MAILGUN_API_URL", - default="https://api.mailgun.net/v3" - ), + "MAILGUN_API_URL": env("MAILGUN_API_URL", default="https://api.mailgun.net/v3"), } {%- elif cookiecutter.mail_service == 'Amazon SES' %} # https://anymail.readthedocs.io/en/stable/esps/amazon_ses/ @@ -210,10 +207,7 @@ EMAIL_BACKEND = "anymail.backends.mailjet.EmailBackend" ANYMAIL = { "MAILJET_API_KEY": env("MAILJET_API_KEY"), "MAILJET_SECRET_KEY": env("MAILJET_SECRET_KEY"), - "MAILJET_API_URL": env( - "MAILJET_API_URL", - default="https://api.mailjet.com/v3" - ), + "MAILJET_API_URL": env("MAILJET_API_URL", default="https://api.mailjet.com/v3"), } {%- elif cookiecutter.mail_service == 'Mandrill' %} # https://anymail.readthedocs.io/en/stable/esps/mandrill/ @@ -221,8 +215,7 @@ EMAIL_BACKEND = "anymail.backends.mandrill.EmailBackend" ANYMAIL = { "MANDRILL_API_KEY": env("MANDRILL_API_KEY"), "MANDRILL_API_URL": env( - "MANDRILL_API_URL", - default="https://mandrillapp.com/api/1.0" + "MANDRILL_API_URL", default="https://mandrillapp.com/api/1.0" ), } {%- elif cookiecutter.mail_service == 'Postmark' %} @@ -230,10 +223,7 @@ ANYMAIL = { EMAIL_BACKEND = "anymail.backends.postmark.EmailBackend" ANYMAIL = { "POSTMARK_SERVER_TOKEN": env("POSTMARK_SERVER_TOKEN"), - "POSTMARK_API_URL": env( - "POSTMARK_API_URL", - default="https://api.postmarkapp.com/" - ), + "POSTMARK_API_URL": env("POSTMARK_API_URL", default="https://api.postmarkapp.com/"), } {%- elif cookiecutter.mail_service == 'Sendgrid' %} # https://anymail.readthedocs.io/en/stable/esps/sendgrid/ @@ -242,10 +232,7 @@ ANYMAIL = { "SENDGRID_API_KEY": env("SENDGRID_API_KEY"), "SENDGRID_GENERATE_MESSAGE_ID": env("SENDGRID_GENERATE_MESSAGE_ID"), "SENDGRID_MERGE_FIELD_FORMAT": env("SENDGRID_MERGE_FIELD_FORMAT"), - "SENDGRID_API_URL": env( - "SENDGRID_API_URL", - default="https://api.sendgrid.com/v3/" - ), + "SENDGRID_API_URL": env("SENDGRID_API_URL", default="https://api.sendgrid.com/v3/"), } {%- elif cookiecutter.mail_service == 'SendinBlue' %} # https://anymail.readthedocs.io/en/stable/esps/sendinblue/ @@ -253,8 +240,7 @@ EMAIL_BACKEND = "anymail.backends.sendinblue.EmailBackend" ANYMAIL = { "SENDINBLUE_API_KEY": env("SENDINBLUE_API_KEY"), "SENDINBLUE_API_URL": env( - "SENDINBLUE_API_URL", - default="https://api.sendinblue.com/v3/" + "SENDINBLUE_API_URL", default="https://api.sendinblue.com/v3/" ), } {%- elif cookiecutter.mail_service == 'SparkPost' %} @@ -263,8 +249,7 @@ EMAIL_BACKEND = "anymail.backends.sparkpost.EmailBackend" ANYMAIL = { "SPARKPOST_API_KEY": env("SPARKPOST_API_KEY"), "SPARKPOST_API_URL": env( - "SPARKPOST_API_URL", - default="https://api.sparkpost.com/api/v1" + "SPARKPOST_API_URL", default="https://api.sparkpost.com/api/v1" ), } {%- elif cookiecutter.mail_service == 'Other SMTP' %} From 95057c47695c4a7f0535dd7aba7b13c6f004eb1c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 15 Mar 2020 11:00:30 +0000 Subject: [PATCH 0626/2840] Update django-stubs from 1.4.0 to 1.5.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index fd8c104ab..ee2e1d41e 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -12,7 +12,7 @@ psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 # Testing # ------------------------------------------------------------------------------ mypy==0.770 # https://github.com/python/mypy -django-stubs==1.4.0 # https://github.com/typeddjango/django-stubs +django-stubs==1.5.0 # https://github.com/typeddjango/django-stubs pytest==5.3.5 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar From fa8311405d98bef284301424006c93cf4e7fc06e Mon Sep 17 00:00:00 2001 From: Guilherme Guy Date: Sun, 15 Mar 2020 09:23:21 -0300 Subject: [PATCH 0627/2840] Fixes gitlabCI failing due to postgres config --- {{cookiecutter.project_slug}}/.gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/.gitlab-ci.yml b/{{cookiecutter.project_slug}}/.gitlab-ci.yml index 15ff73b10..91ad7238c 100644 --- a/{{cookiecutter.project_slug}}/.gitlab-ci.yml +++ b/{{cookiecutter.project_slug}}/.gitlab-ci.yml @@ -6,6 +6,7 @@ variables: POSTGRES_USER: '{{ cookiecutter.project_slug }}' POSTGRES_PASSWORD: '' POSTGRES_DB: 'test_{{ cookiecutter.project_slug }}' + POSTGRES_HOST_AUTH_METHOD: trust flake8: stage: lint From 0822add31145a6a8ba27ce8455087b841f29a3c8 Mon Sep 17 00:00:00 2001 From: Guilherme Guy Date: Sun, 15 Mar 2020 09:29:07 -0300 Subject: [PATCH 0628/2840] Adds @guilherme1guy to CONTRIBUTORS --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 86804b69d..fb65dc274 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -118,6 +118,7 @@ Listed in alphabetical order. Garry Cairns `@garry-cairns`_ Garry Polley `@garrypolley`_ Gilbishkosma `@Gilbishkosma`_ + Guilherme Guy `@guilherme1guy`_ Hamish Durkin `@durkode`_ Hana Quadara `@hanaquadara`_ Harry Moreno `@morenoh149`_ @morenoh149 @@ -275,6 +276,7 @@ Listed in alphabetical order. .. _@dhepper: https://github.com/dhepper .. _@dot2dotseurat: https://github.com/dot2dotseurat .. _@dsclementsen: https://github.com/dsclementsen +.. _@guilherme1guy: https://github.com/guilherme1guy .. _@durkode: https://github.com/durkode .. _@Egregors: https://github.com/Egregors .. _@epileptic-fish: https://gihub.com/epileptic-fish From 783e61bee7677bc31c8d614d775120430c22df6d Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 15 Mar 2020 19:11:43 +0000 Subject: [PATCH 0629/2840] Fix broken link in list of contributors --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 326165721..d2418f8a9 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -353,6 +353,7 @@ Listed in alphabetical order. .. _@rolep: https://github.com/rolep .. _@romanosipenko: https://github.com/romanosipenko .. _@saschalalala: https://github.com/saschalalala +.. _@scaramagus: https://github.com/scaramagus .. _@shireenrao: https://github.com/shireenrao .. _@show0k: https://github.com/show0k .. _@shultz: https://github.com/shultz From 530868d072248b4472fb09a42e511c6024f361dd Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 15 Mar 2020 19:20:44 +0000 Subject: [PATCH 0630/2840] Move "rest_framework" in THIRD_PARTY_APPS --- {{cookiecutter.project_slug}}/config/settings/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 22b1fed81..c3941fd9e 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -75,11 +75,11 @@ THIRD_PARTY_APPS = [ "allauth", "allauth.account", "allauth.socialaccount", - "rest_framework", {%- if cookiecutter.use_celery == 'y' %} "django_celery_beat", {%- endif %} {%- if cookiecutter.use_drf == "y" %} + "rest_framework", "rest_framework.authtoken", {%- endif %} ] From 090b93c01ebc5333c477cc9f955c6a9924c90bbc Mon Sep 17 00:00:00 2001 From: James Williams <33026008+jameswilliams1@users.noreply.github.com> Date: Sun, 15 Mar 2020 22:16:40 +0000 Subject: [PATCH 0631/2840] remove setting compress_enabled to null in .django --- {{cookiecutter.project_slug}}/.envs/.production/.django | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.envs/.production/.django b/{{cookiecutter.project_slug}}/.envs/.production/.django index 2c2e94f2d..ae13ee01d 100644 --- a/{{cookiecutter.project_slug}}/.envs/.production/.django +++ b/{{cookiecutter.project_slug}}/.envs/.production/.django @@ -31,11 +31,7 @@ DJANGO_GCP_STORAGE_BUCKET_NAME= # django-allauth # ------------------------------------------------------------------------------ DJANGO_ACCOUNT_ALLOW_REGISTRATION=True -{% if cookiecutter.use_compressor == 'y' %} -# django-compressor -# ------------------------------------------------------------------------------ -COMPRESS_ENABLED= -{% endif %} + # Gunicorn # ------------------------------------------------------------------------------ WEB_CONCURRENCY=4 From a553fa9aafe89a1daec41e7d1a6e509f0b867754 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 16 Mar 2020 12:53:12 -0700 Subject: [PATCH 0632/2840] Update flake8-isort from 2.8.0 to 2.9.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index bc8292a8c..6894fa8f6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ binaryornot==0.4.4 # ------------------------------------------------------------------------------ black==19.10b0 flake8==3.7.9 -flake8-isort==2.8.0 +flake8-isort==2.9.0 # Testing # ------------------------------------------------------------------------------ From e3486dc782ad87cf994fb5f465a98dee6b23e019 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 17 Mar 2020 11:00:31 +0000 Subject: [PATCH 0633/2840] Update celery from 4.4.1 to 4.4.2 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index d645dc05d..7ef43601c 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -10,7 +10,7 @@ whitenoise==5.0.1 # https://github.com/evansd/whitenoise {%- endif %} redis==3.4.1 # https://github.com/andymccurdy/redis-py {%- if cookiecutter.use_celery == "y" %} -celery==4.4.1 # pyup: < 5.0 # https://github.com/celery/celery +celery==4.4.2 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==2.0.0 # https://github.com/celery/django-celery-beat {%- if cookiecutter.use_docker == 'y' %} flower==0.9.3 # https://github.com/mher/flower From 61476eaca1fdd60fbb038367378e903fb5f66bb2 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 17 Mar 2020 11:00:35 +0000 Subject: [PATCH 0634/2840] Update flake8-isort from 2.8.0 to 2.9.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index ee2e1d41e..00f8bcd16 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -19,7 +19,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ flake8==3.7.9 # https://github.com/PyCQA/flake8 -flake8-isort==2.8.0 # https://github.com/gforcada/flake8-isort +flake8-isort==2.9.0 # https://github.com/gforcada/flake8-isort coverage==5.0.3 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black pylint-django==2.0.14 # https://github.com/PyCQA/pylint-django From 06a880164a434df3b27618d60c12a89701329fc0 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 17 Mar 2020 11:00:39 +0000 Subject: [PATCH 0635/2840] Update coverage from 5.0.3 to 5.0.4 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index ee2e1d41e..cba162d51 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # ------------------------------------------------------------------------------ flake8==3.7.9 # https://github.com/PyCQA/flake8 flake8-isort==2.8.0 # https://github.com/gforcada/flake8-isort -coverage==5.0.3 # https://github.com/nedbat/coveragepy +coverage==5.0.4 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black pylint-django==2.0.14 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} From 5498716c74542a604fe599956968c7bdc67f576b Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 17 Mar 2020 15:35:42 +0000 Subject: [PATCH 0636/2840] Fix isort --- {{cookiecutter.project_slug}}/config/settings/base.py | 3 +-- {{cookiecutter.project_slug}}/config/wsgi.py | 2 +- .../merge_production_dotenvs_in_dotenv.py | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index fe2131c51..a0bf8f0a9 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -1,11 +1,10 @@ """ Base settings to build other settings files upon. """ +from pathlib import Path import environ -from pathlib import Path - ROOT_DIR = Path(__file__).parents[2] # {{ cookiecutter.project_slug }}/) APPS_DIR = ROOT_DIR / "{{ cookiecutter.project_slug }}" diff --git a/{{cookiecutter.project_slug}}/config/wsgi.py b/{{cookiecutter.project_slug}}/config/wsgi.py index b5755c5ce..fccfea354 100644 --- a/{{cookiecutter.project_slug}}/config/wsgi.py +++ b/{{cookiecutter.project_slug}}/config/wsgi.py @@ -15,9 +15,9 @@ framework. """ import os import sys +from pathlib import Path from django.core.wsgi import get_wsgi_application -from pathlib import Path # This allows easy placement of apps within the interior # {{ cookiecutter.project_slug }} directory. diff --git a/{{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py b/{{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py index b204494eb..936e24060 100644 --- a/{{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py +++ b/{{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py @@ -1,6 +1,6 @@ import os -from typing import Sequence from pathlib import Path +from typing import Sequence import pytest From 984b5bcfbecf61f154b88bcb036fbba1fd717c65 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 17 Mar 2020 15:46:55 +0000 Subject: [PATCH 0637/2840] Nicer syntax to join paths --- .../merge_production_dotenvs_in_dotenv.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py b/{{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py index 936e24060..d1170eff6 100644 --- a/{{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py +++ b/{{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py @@ -5,7 +5,7 @@ from typing import Sequence import pytest ROOT_DIR_PATH = Path(__file__).parent.resolve() -PRODUCTION_DOTENVS_DIR_PATH = ROOT_DIR_PATH.joinpath(".envs", ".production") +PRODUCTION_DOTENVS_DIR_PATH = ROOT_DIR_PATH / ".envs" / ".production" PRODUCTION_DOTENV_FILE_PATHS = [ PRODUCTION_DOTENVS_DIR_PATH / ".django", PRODUCTION_DOTENVS_DIR_PATH / ".postgres", From ab99cc768ff9d5253ae44b50d3e2762fbdc96ec0 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 17 Mar 2020 18:26:38 +0000 Subject: [PATCH 0638/2840] Adding @highpost to the list of contributors Helped in writing code to rule out an issue with the template --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index af13839b0..075b3f329 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -99,6 +99,7 @@ Listed in alphabetical order. Dani Hodovic `@danihodovic`_ Daniel Hepper `@dhepper`_ @danielhepper Daniel Hillier `@danifus`_ + Daniel Sears `@highpost`_ @highpost Daniele Tricoli `@eriol`_ David Díaz `@ddiazpinto`_ @DavidDiazPinto Davit Tovmasyan `@davitovmasyan`_ @@ -301,6 +302,7 @@ Listed in alphabetical order. .. _@hairychris: https://github.com/hairychris .. _@hanaquadara: https://github.com/hanaquadara .. _@hendrikschneider: https://github.com/hendrikschneider +.. _@highpost: https://github.com/highpost .. _@hjwp: https://github.com/hjwp .. _@howiezhao: https://github.com/howiezhao .. _@IanLee1521: https://github.com/IanLee1521 From 92bbddc2901c5720042fcadbbceaa68642e7cf3d Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 17 Mar 2020 18:41:27 +0000 Subject: [PATCH 0639/2840] Change style for pytest marker Update pytest.mark.django_db to be more consistent with rest of the project --- .../{{cookiecutter.project_slug}}/users/tests/test_tasks.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_tasks.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_tasks.py index 61586b5ca..41d5af292 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_tasks.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_tasks.py @@ -4,8 +4,9 @@ from celery.result import EagerResult from {{ cookiecutter.project_slug }}.users.tasks import get_users_count from {{ cookiecutter.project_slug }}.users.tests.factories import UserFactory +pytestmark = pytest.mark.django_db + -@pytest.mark.django_db def test_user_count(settings): """A basic test to execute the get_users_count Celery task.""" UserFactory.create_batch(3) From 5b9161e16e7789a423aeb788c8c0296c8a2a6906 Mon Sep 17 00:00:00 2001 From: Demetris Stavrou <1180929+demestav@users.noreply.github.com> Date: Tue, 17 Mar 2020 22:11:16 +0200 Subject: [PATCH 0640/2840] Fixed pre-commit files selector regex --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 4b72ee80a..c50fefe94 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -7,7 +7,7 @@ repos: rev: master hooks: - id: trailing-whitespace - files: (^|/)a/.+\.(py|html|sh|css|js)$ + files: (^|/).+\.(py|html|sh|css|js)$ - repo: local hooks: From 67aeb8c5c6889d7e36732a455cd8b93402e34afa Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 18 Mar 2020 23:05:19 -0700 Subject: [PATCH 0641/2840] Update pyyaml from 5.3 to 5.3.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6894fa8f6..81fbf524a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,4 +14,4 @@ tox==3.14.5 pytest==5.4.1 pytest-cookies==0.5.1 pytest-instafail==0.4.1.post0 -pyyaml==5.3 +pyyaml==5.3.1 From 12a4bd27e8a3e5754c8ec78271f34ce7024a0f07 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 21 Mar 2020 11:00:31 +0000 Subject: [PATCH 0642/2840] Update sentry-sdk from 0.14.2 to 0.14.3 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index da9cbc97a..a8bc31dce 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==2.1.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.14.2 # https://github.com/getsentry/sentry-python +sentry-sdk==0.14.3 # https://github.com/getsentry/sentry-python {%- endif %} # Django From 484fa4ae77b2115db6fe50f494329a3c34a8f481 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Sun, 22 Mar 2020 13:31:52 -0400 Subject: [PATCH 0643/2840] Added unsupported mail_service combinations * Added default yaml Loader for pre_gen_projects.py --- docs/project-generation-options.rst | 14 ++++----- hooks/pre_gen_project.py | 12 ++++++++ tests/test_cookiecutter_generation.py | 42 +++++++++++++++++++-------- 3 files changed, 49 insertions(+), 19 deletions(-) diff --git a/docs/project-generation-options.rst b/docs/project-generation-options.rst index 87ae90b1d..8abeda9b9 100644 --- a/docs/project-generation-options.rst +++ b/docs/project-generation-options.rst @@ -73,15 +73,15 @@ cloud_provider: mail_service: Select an email service that Django-Anymail provides - 1. Amazon SES_ - 2. Mailgun_ + 1. Mailgun_ + 2. `Amazon SES`_ 3. Mailjet_ 4. Mandrill_ 5. Postmark_ 6. SendGrid_ 7. SendinBlue_ 8. SparkPost_ - 9. Plain/Vanilla Django-Anymail_ + 9. `Other SMTP`_ use_drf: Indicates whether the project should be configured to use `Django Rest Framework`_. @@ -114,8 +114,8 @@ ci_tool: Select a CI tool for running tests. The choices are: 1. None - 2. Travis_ - 3. Gitlab_ + 2. `Travis CI`_ + 3. `Gitlab CI`_ keep_local_envs_in_vcs: Indicates whether the project's ``.envs/.local/`` should be kept in VCS @@ -145,7 +145,7 @@ debug: .. _AWS: https://aws.amazon.com/s3/ .. _GCP: https://cloud.google.com/storage/ -.. _SES: https://aws.amazon.com/ses/ +.. _Amazon SES: https://aws.amazon.com/ses/ .. _Mailgun: https://www.mailgun.com .. _Mailjet: https://www.mailjet.com .. _Mandrill: http://mandrill.com @@ -153,7 +153,7 @@ debug: .. _SendGrid: https://sendgrid.com .. _SendinBlue: https://www.sendinblue.com .. _SparkPost: https://www.sparkpost.com -.. _Django-Anymail: https://anymail.readthedocs.io/en/stable/ +.. _Other SMTP: https://anymail.readthedocs.io/en/stable/ .. _Django Rest Framework: https://github.com/encode/django-rest-framework/ diff --git a/hooks/pre_gen_project.py b/hooks/pre_gen_project.py index 668a6e278..54334dedd 100644 --- a/hooks/pre_gen_project.py +++ b/hooks/pre_gen_project.py @@ -68,3 +68,15 @@ if ( "You should either use Whitenoise or select a Cloud Provider to serve static files" ) sys.exit(1) + +if ( + "{{ cookiecutter.cloud_provider }}" == "GCP" + and "{{ cookiecutter.mail_service }}" == "Amazon SES" +) or ( + "{{ cookiecutter.cloud_provider }}" == "None" + and "{{ cookiecutter.mail_service }}" == "Amazon SES" +): + print( + "You should either use AWS or select a different Mail Service for sending emails." + ) + sys.exit(1) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 91f44ae5a..2c7e6dc43 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -46,17 +46,33 @@ SUPPORTED_COMBINATIONS = [ {"cloud_provider": "AWS", "use_whitenoise": "n"}, {"cloud_provider": "GCP", "use_whitenoise": "y"}, {"cloud_provider": "GCP", "use_whitenoise": "n"}, - {"cloud_provider": "None", "use_whitenoise": "y"}, + {"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Mailgun"}, + {"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Mailjet"}, + {"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Mandrill"}, + {"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Postmark"}, + {"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Sendgrid"}, + {"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "SendinBlue"}, + {"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "SparkPost"}, + {"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Other SMTP"}, # Note: cloud_provider=None AND use_whitenoise=n is not supported - {"mail_service": "Mailgun"}, - {"mail_service": "Amazon SES"}, - {"mail_service": "Mailjet"}, - {"mail_service": "Mandrill"}, - {"mail_service": "Postmark"}, - {"mail_service": "Sendgrid"}, - {"mail_service": "SendinBlue"}, - {"mail_service": "SparkPost"}, - {"mail_service": "Other SMTP"}, + {"cloud_provider": "AWS", "mail_service": "Mailgun"}, + {"cloud_provider": "AWS", "mail_service": "Amazon SES"}, + {"cloud_provider": "AWS", "mail_service": "Mailjet"}, + {"cloud_provider": "AWS", "mail_service": "Mandrill"}, + {"cloud_provider": "AWS", "mail_service": "Postmark"}, + {"cloud_provider": "AWS", "mail_service": "Sendgrid"}, + {"cloud_provider": "AWS", "mail_service": "SendinBlue"}, + {"cloud_provider": "AWS", "mail_service": "SparkPost"}, + {"cloud_provider": "AWS", "mail_service": "Other SMTP"}, + {"cloud_provider": "GCP", "mail_service": "Mailgun"}, + {"cloud_provider": "GCP", "mail_service": "Mailjet"}, + {"cloud_provider": "GCP", "mail_service": "Mandrill"}, + {"cloud_provider": "GCP", "mail_service": "Postmark"}, + {"cloud_provider": "GCP", "mail_service": "Sendgrid"}, + {"cloud_provider": "GCP", "mail_service": "SendinBlue"}, + {"cloud_provider": "GCP", "mail_service": "SparkPost"}, + {"cloud_provider": "GCP", "mail_service": "Other SMTP"}, + # Note: cloud_providers GCP and None with mail_service Amazon SES is not supported {"use_drf": "y"}, {"use_drf": "n"}, {"js_task_runner": "None"}, @@ -86,6 +102,8 @@ SUPPORTED_COMBINATIONS = [ UNSUPPORTED_COMBINATIONS = [ {"cloud_provider": "None", "use_whitenoise": "n"}, + {"cloud_provider": "GCP", "mail_service": "Amazon SES"}, + {"cloud_provider": "None", "mail_service": "Amazon SES"}, ] @@ -163,7 +181,7 @@ def test_travis_invokes_pytest(cookies, context): with open(f"{result.project}/.travis.yml", "r") as travis_yml: try: - assert yaml.load(travis_yml)["script"] == ["pytest"] + assert yaml.load(travis_yml, Loader=yaml.FullLoader)["script"] == ["pytest"] except yaml.YAMLError as e: pytest.fail(e) @@ -179,7 +197,7 @@ def test_gitlab_invokes_flake8_and_pytest(cookies, context): with open(f"{result.project}/.gitlab-ci.yml", "r") as gitlab_yml: try: - gitlab_config = yaml.load(gitlab_yml) + gitlab_config = yaml.load(gitlab_yml, Loader=yaml.FullLoader) assert gitlab_config["flake8"]["script"] == ["flake8"] assert gitlab_config["pytest"]["script"] == ["pytest"] except yaml.YAMLError as e: From ea5db6c4f4d0d013be1acc8fa141922a5f84bcb4 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 23 Mar 2020 21:41:51 +0000 Subject: [PATCH 0644/2840] Django 3.0 support (#2469) * Bump Django version to 3.0.x to see what breaks * Update places where Django 2.2 is mentioned to 3.0 * Update to latest Django 3.0 version * Bump version in setup.py --- README.rst | 2 +- setup.py | 4 ++-- {{cookiecutter.project_slug}}/config/settings/base.py | 2 +- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index 56db4c785..649199236 100644 --- a/README.rst +++ b/README.rst @@ -36,7 +36,7 @@ production-ready Django projects quickly. Features --------- -* For Django 2.2 +* For Django 3.0 * Works with Python 3.7 * Renders Django projects with 100% starting test coverage * Twitter Bootstrap_ v4 (`maintained Foundation fork`_ also available) diff --git a/setup.py b/setup.py index 330320096..e311e82ad 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ except ImportError: # Our version ALWAYS matches the version of Django we support # If Django has a new release, we branch, tag, then update this setting after the tag. -version = "2.2.1" +version = "3.0.4" if sys.argv[-1] == "tag": os.system(f'git tag -a {version} -m "version {version}"') @@ -34,7 +34,7 @@ setup( classifiers=[ "Development Status :: 4 - Beta", "Environment :: Console", - "Framework :: Django :: 2.2", + "Framework :: Django :: 3.0", "Intended Audience :: Developers", "Natural Language :: English", "License :: OSI Approved :: BSD License", diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index a0bf8f0a9..6a2a9c3f2 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -228,7 +228,7 @@ X_FRAME_OPTIONS = "DENY" EMAIL_BACKEND = env( "DJANGO_EMAIL_BACKEND", default="django.core.mail.backends.smtp.EmailBackend" ) -# https://docs.djangoproject.com/en/2.2/ref/settings/#email-timeout +# https://docs.djangoproject.com/en/dev/ref/settings/#email-timeout EMAIL_TIMEOUT = 5 # ADMIN diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 7ef43601c..b41be3b06 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -19,7 +19,7 @@ flower==0.9.3 # https://github.com/mher/flower # Django # ------------------------------------------------------------------------------ -django==2.2.11 # pyup: < 3.0 # https://www.djangoproject.com/ +django==3.0.4 # pyup: < 3.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils django-allauth==0.41.0 # https://github.com/pennersr/django-allauth From 2e1a922577ec888589c7e6ee368dd3f1aedf1a89 Mon Sep 17 00:00:00 2001 From: Gabriel Mejia Date: Mon, 23 Mar 2020 16:43:59 -0500 Subject: [PATCH 0645/2840] Add CELERY_BROKER_URL for gitlab #2504 (#2505) * Solved issue #2504 * Added new contributor Co-authored-by: Gabriel Mejia --- CONTRIBUTORS.rst | 1 + {{cookiecutter.project_slug}}/.gitlab-ci.yml | 3 +++ 2 files changed, 4 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 075b3f329..c244f64b8 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -222,6 +222,7 @@ Listed in alphabetical order. Xaver Y.R. Chen `@yrchen`_ @yrchen Yaroslav Halchenko Yuchen Xie `@mapx`_ + Gabriel Mejia `@elgartoinf` @elgartoinf ========================== ============================ ============== .. _@a7p: https://github.com/a7p diff --git a/{{cookiecutter.project_slug}}/.gitlab-ci.yml b/{{cookiecutter.project_slug}}/.gitlab-ci.yml index 91ad7238c..611ff202f 100644 --- a/{{cookiecutter.project_slug}}/.gitlab-ci.yml +++ b/{{cookiecutter.project_slug}}/.gitlab-ci.yml @@ -7,6 +7,9 @@ variables: POSTGRES_PASSWORD: '' POSTGRES_DB: 'test_{{ cookiecutter.project_slug }}' POSTGRES_HOST_AUTH_METHOD: trust + {% if cookiecutter.use_celery == 'y' -%} + CELERY_BROKER_URL: 'redis://redis:6379/0' + {%- endif %} flake8: stage: lint From 0c36c57f2d45be9bdf5c4bdd0c8754765a75a0ea Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 23 Mar 2020 21:45:38 +0000 Subject: [PATCH 0646/2840] Fix broken link in list of contributors --- CONTRIBUTORS.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index c244f64b8..2e7b11e62 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -118,6 +118,7 @@ Listed in alphabetical order. Eyad Al Sibai `@eyadsibai`_ Felipe Arruda `@arruda`_ Florian Idelberger `@step21`_ @windrush + Gabriel Mejia `@elgartoinf`_ @elgartoinf Garry Cairns `@garry-cairns`_ Garry Polley `@garrypolley`_ Gilbishkosma `@Gilbishkosma`_ @@ -222,7 +223,6 @@ Listed in alphabetical order. Xaver Y.R. Chen `@yrchen`_ @yrchen Yaroslav Halchenko Yuchen Xie `@mapx`_ - Gabriel Mejia `@elgartoinf` @elgartoinf ========================== ============================ ============== .. _@a7p: https://github.com/a7p @@ -286,6 +286,7 @@ Listed in alphabetical order. .. _@guilherme1guy: https://github.com/guilherme1guy .. _@durkode: https://github.com/durkode .. _@Egregors: https://github.com/Egregors +.. _@elgartoinf: https://gihub.com/elgartoinf .. _@epileptic-fish: https://gihub.com/epileptic-fish .. _@eraldo: https://github.com/eraldo .. _@erfaan: https://github.com/erfaan From c4b1666707551cd2ce3f82ffd8a676d34e33130a Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 3 Mar 2020 20:28:02 +0000 Subject: [PATCH 0647/2840] Move storages classes into their own module --- hooks/post_gen_project.py | 5 +++ .../config/settings/production.py | 37 ++----------------- .../utils/storages.py | 25 +++++++++++++ 3 files changed, 34 insertions(+), 33 deletions(-) create mode 100644 {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/storages.py diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index 5cc8c32f7..9bde5377b 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -292,6 +292,10 @@ def remove_drf_starter_files(): shutil.rmtree(os.path.join("{{cookiecutter.project_slug}}", "users", "api")) +def remove_storages_module(): + os.remove(os.path.join("{{cookiecutter.project_slug}}", "utils", "storages.py")) + + def main(): debug = "{{ cookiecutter.debug }}".lower() == "y" @@ -352,6 +356,7 @@ def main(): WARNING + "You chose not to use a cloud provider, " "media files won't be served in production." + TERMINATOR ) + remove_storages_module() if "{{ cookiecutter.use_celery }}".lower() == "n": remove_celery_files() diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 22832d341..2043e89e2 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -104,11 +104,11 @@ GS_DEFAULT_ACL = "publicRead" {% if cookiecutter.use_whitenoise == 'y' -%} STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" {% elif cookiecutter.cloud_provider == 'AWS' -%} -STATICFILES_STORAGE = "config.settings.production.StaticRootS3Boto3Storage" +STATICFILES_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.StaticRootS3Boto3Storage" COLLECTFAST_STRATEGY = "collectfast.strategies.boto3.Boto3Strategy" STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" {% elif cookiecutter.cloud_provider == 'GCP' -%} -STATICFILES_STORAGE = "config.settings.production.StaticRootGoogleCloudStorage" +STATICFILES_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.StaticRootGoogleCloudStorage" COLLECTFAST_STRATEGY = "collectfast.strategies.gcloud.GoogleCloudStrategy" STATIC_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/static/" {% endif -%} @@ -116,39 +116,10 @@ STATIC_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/static/" # MEDIA # ------------------------------------------------------------------------------ {%- if cookiecutter.cloud_provider == 'AWS' %} -# region http://stackoverflow.com/questions/10390244/ -# Full-fledge class: https://stackoverflow.com/a/18046120/104731 -from storages.backends.s3boto3 import S3Boto3Storage # noqa E402 - - -class StaticRootS3Boto3Storage(S3Boto3Storage): - location = "static" - default_acl = "public-read" - - -class MediaRootS3Boto3Storage(S3Boto3Storage): - location = "media" - file_overwrite = False - - -# endregion -DEFAULT_FILE_STORAGE = "config.settings.production.MediaRootS3Boto3Storage" +DEFAULT_FILE_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.MediaRootS3Boto3Storage" MEDIA_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/media/" {%- elif cookiecutter.cloud_provider == 'GCP' %} -from storages.backends.gcloud import GoogleCloudStorage # noqa E402 - - -class StaticRootGoogleCloudStorage(GoogleCloudStorage): - location = "static" - default_acl = "publicRead" - - -class MediaRootGoogleCloudStorage(GoogleCloudStorage): - location = "media" - file_overwrite = False - - -DEFAULT_FILE_STORAGE = "config.settings.production.MediaRootGoogleCloudStorage" +DEFAULT_FILE_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.MediaRootGoogleCloudStorage" MEDIA_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/" {%- endif %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/storages.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/storages.py new file mode 100644 index 000000000..72b8ea3ba --- /dev/null +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/storages.py @@ -0,0 +1,25 @@ +{% if cookiecutter.cloud_provider == 'AWS' -%} +from storages.backends.s3boto3 import S3Boto3Storage # noqa E402 + + +class StaticRootS3Boto3Storage(S3Boto3Storage): + location = "static" + default_acl = "public-read" + + +class MediaRootS3Boto3Storage(S3Boto3Storage): + location = "media" + file_overwrite = False +{%- elif cookiecutter.cloud_provider == 'GCP' -%} +from storages.backends.gcloud import GoogleCloudStorage # noqa E402 + + +class StaticRootGoogleCloudStorage(GoogleCloudStorage): + location = "static" + default_acl = "publicRead" + + +class MediaRootGoogleCloudStorage(GoogleCloudStorage): + location = "media" + file_overwrite = False +{%- endif %} From 56d5e271aabffbbf9b8dbb00922507f1cc1e3f13 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 3 Mar 2020 20:32:03 +0000 Subject: [PATCH 0648/2840] Remove isort exception in production config & fix issue --- {{cookiecutter.project_slug}}/config/settings/production.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 2043e89e2..cea29b8e5 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -1,9 +1,7 @@ -"""isort:skip_file""" {% if cookiecutter.use_sentry == 'y' -%} import logging import sentry_sdk - from sentry_sdk.integrations.django import DjangoIntegration from sentry_sdk.integrations.logging import LoggingIntegration {%- if cookiecutter.use_celery == 'y' %} From 7e1cb599af980075459d47cbcabbde0fe1db1e81 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 3 Mar 2020 21:10:50 +0000 Subject: [PATCH 0649/2840] Remove flake noqa exception --- .../{{cookiecutter.project_slug}}/utils/storages.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/storages.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/storages.py index 72b8ea3ba..b712d3239 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/storages.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/storages.py @@ -1,5 +1,5 @@ {% if cookiecutter.cloud_provider == 'AWS' -%} -from storages.backends.s3boto3 import S3Boto3Storage # noqa E402 +from storages.backends.s3boto3 import S3Boto3Storage class StaticRootS3Boto3Storage(S3Boto3Storage): @@ -11,7 +11,7 @@ class MediaRootS3Boto3Storage(S3Boto3Storage): location = "media" file_overwrite = False {%- elif cookiecutter.cloud_provider == 'GCP' -%} -from storages.backends.gcloud import GoogleCloudStorage # noqa E402 +from storages.backends.gcloud import GoogleCloudStorage class StaticRootGoogleCloudStorage(GoogleCloudStorage): From aee2de347bbefbf57edd1790acef2a0c8cef4501 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Tue, 24 Mar 2020 15:40:14 -0400 Subject: [PATCH 0650/2840] Add uvicorn and web sockets for Django 3 * Add use_async option to cookiecutter.json * Add websocket configuration --- cookiecutter.json | 1 + docs/project-generation-options.rst | 3 ++ hooks/post_gen_project.py | 12 ++++++ tests/test_cookiecutter_generation.py | 2 + .../compose/local/django/start | 4 ++ .../compose/production/django/start | 4 ++ {{cookiecutter.project_slug}}/config/asgi.py | 41 +++++++++++++++++++ .../config/websocket.py | 18 ++++++++ .../requirements/base.txt | 3 ++ 9 files changed, 88 insertions(+) create mode 100644 {{cookiecutter.project_slug}}/config/asgi.py create mode 100644 {{cookiecutter.project_slug}}/config/websocket.py diff --git a/cookiecutter.json b/cookiecutter.json index cfa1b346a..62155ad0e 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -44,6 +44,7 @@ "SparkPost", "Other SMTP" ], + "use_async": "n", "use_drf": "n", "custom_bootstrap_compilation": "n", "use_compressor": "n", diff --git a/docs/project-generation-options.rst b/docs/project-generation-options.rst index 8abeda9b9..1c2fc3149 100644 --- a/docs/project-generation-options.rst +++ b/docs/project-generation-options.rst @@ -83,6 +83,9 @@ mail_service: 8. SparkPost_ 9. `Other SMTP`_ +use_async: + Indicates whether the project should use web sockets with Uvicorn + Gunicorn. + use_drf: Indicates whether the project should be configured to use `Django Rest Framework`_. diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index 5cc8c32f7..2e2c19e1f 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -101,6 +101,15 @@ def remove_celery_files(): os.remove(file_name) +def remove_async_files(): + file_names = [ + os.path.join("config", "asgi.py"), + os.path.join("config", "websocket.py"), + ] + for file_name in file_names: + os.remove(file_name) + + def remove_dottravisyml_file(): os.remove(".travis.yml") @@ -367,6 +376,9 @@ def main(): if "{{ cookiecutter.use_drf }}".lower() == "n": remove_drf_starter_files() + if "{{ cookiecutter.use_async }}".lower() == "n": + remove_async_files() + print(SUCCESS + "Project initialized, keep up the good work!" + TERMINATOR) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 2c7e6dc43..eee56115f 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -73,6 +73,8 @@ SUPPORTED_COMBINATIONS = [ {"cloud_provider": "GCP", "mail_service": "SparkPost"}, {"cloud_provider": "GCP", "mail_service": "Other SMTP"}, # Note: cloud_providers GCP and None with mail_service Amazon SES is not supported + {"use_async", "y"}, + {"use_async", "n"}, {"use_drf": "y"}, {"use_drf": "n"}, {"js_task_runner": "None"}, diff --git a/{{cookiecutter.project_slug}}/compose/local/django/start b/{{cookiecutter.project_slug}}/compose/local/django/start index f076ee51e..bc1293dee 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/start @@ -6,4 +6,8 @@ set -o nounset python manage.py migrate +{%- if cookiecutter.use_async %} +/usr/local/bin/uvicorn config.asgi --bind 0.0.0.0:5000 --chdir=/app +{%- else %} python manage.py runserver_plus 0.0.0.0:8000 +{% endif %} diff --git a/{{cookiecutter.project_slug}}/compose/production/django/start b/{{cookiecutter.project_slug}}/compose/production/django/start index 4985aeedd..dd06949a6 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/start @@ -27,4 +27,8 @@ if compress_enabled; then python /app/manage.py compress fi {%- endif %} +{% if cookiecutter.use_async %} +/usr/local/bin/uvicorn config.asgi --bind 0.0.0.0:5000 --chdir=/app +{% else %} /usr/local/bin/gunicorn config.wsgi --bind 0.0.0.0:5000 --chdir=/app +{%- endif %} diff --git a/{{cookiecutter.project_slug}}/config/asgi.py b/{{cookiecutter.project_slug}}/config/asgi.py new file mode 100644 index 000000000..81f1c76aa --- /dev/null +++ b/{{cookiecutter.project_slug}}/config/asgi.py @@ -0,0 +1,41 @@ +""" +ASGI config for {{ cookiecutter.project_name }} project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/dev/howto/deployment/asgi/ +""" +import os +import sys +from pathlib import Path + +from django.core.asgi import get_asgi_application +from .websocket import websocket_application + +# This allows easy placement of apps within the interior +# {{ cookiecutter.project_slug }} directory. +app_path = Path(__file__).parents[1].resolve() +sys.path.append(str(app_path / "{{ cookiecutter.project_slug }}")) +# We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks +# if running multiple sites in the same mod_wsgi process. To fix this, use +# mod_wsgi daemon mode with each site in its own daemon process, or use +# os.environ["DJANGO_SETTINGS_MODULE"] = "config.settings.production" +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.production") + +# This application object is used by any ASGI server configured to use this +# file. This includes Django's development server, if the ASGI_APPLICATION +# setting points here. +django_application = get_asgi_application() +# Apply ASGI middleware here. +# from helloworld.asgi import HelloWorldApplication +# application = HelloWorldApplication(application) + + +async def application(scope, receive, send): + if scope['type'] == 'http': + await django_application(scope, receive, send) + elif scope['type'] == 'websocket': + await websocket_application(scope, receive, send) + else: + raise NotImplementedError(f"Unknown scope type {scope['type']}") diff --git a/{{cookiecutter.project_slug}}/config/websocket.py b/{{cookiecutter.project_slug}}/config/websocket.py new file mode 100644 index 000000000..9c84a5282 --- /dev/null +++ b/{{cookiecutter.project_slug}}/config/websocket.py @@ -0,0 +1,18 @@ +async def websocket_application(scope, receive, send): + while True: + event = await receive() + + if event['type'] == 'websocket.connect': + await send({ + 'type': 'websocket.accept' + }) + + if event['type'] == 'websocket.disconnect': + break + + if event['type'] == 'websocket.receive': + if event['text'] == 'ping': + await send({ + 'type': 'websocket.send', + 'text': 'pong!' + }) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index b41be3b06..ec861f352 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -16,6 +16,9 @@ django-celery-beat==2.0.0 # https://github.com/celery/django-celery-beat flower==0.9.3 # https://github.com/mher/flower {%- endif %} {%- endif %} +{%- if cookiecutter.use_async %} +uvicorn==0.11.3 # https://github.com/encode/uvicorn +{%- endif %} # Django # ------------------------------------------------------------------------------ From c4eaf68982eefa368390ff7bbc1296633d86fc63 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Tue, 24 Mar 2020 15:53:45 -0400 Subject: [PATCH 0651/2840] Fixed test_cookiecutter_generation.py for use_async from set to dict --- tests/test_cookiecutter_generation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index eee56115f..853f4ebde 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -73,8 +73,8 @@ SUPPORTED_COMBINATIONS = [ {"cloud_provider": "GCP", "mail_service": "SparkPost"}, {"cloud_provider": "GCP", "mail_service": "Other SMTP"}, # Note: cloud_providers GCP and None with mail_service Amazon SES is not supported - {"use_async", "y"}, - {"use_async", "n"}, + {"use_async": "y"}, + {"use_async": "n"}, {"use_drf": "y"}, {"use_drf": "n"}, {"js_task_runner": "None"}, From 910ed86d1132b084f3fc4b56aa5657ce1444d98f Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Tue, 24 Mar 2020 16:12:47 -0400 Subject: [PATCH 0652/2840] Fixed linter check for #2506 --- {{cookiecutter.project_slug}}/config/asgi.py | 5 +++-- .../config/websocket.py | 17 ++++++----------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/asgi.py b/{{cookiecutter.project_slug}}/config/asgi.py index 81f1c76aa..4cc878cac 100644 --- a/{{cookiecutter.project_slug}}/config/asgi.py +++ b/{{cookiecutter.project_slug}}/config/asgi.py @@ -11,6 +11,7 @@ import sys from pathlib import Path from django.core.asgi import get_asgi_application + from .websocket import websocket_application # This allows easy placement of apps within the interior @@ -33,9 +34,9 @@ django_application = get_asgi_application() async def application(scope, receive, send): - if scope['type'] == 'http': + if scope["type"] == "http": await django_application(scope, receive, send) - elif scope['type'] == 'websocket': + elif scope["type"] == "websocket": await websocket_application(scope, receive, send) else: raise NotImplementedError(f"Unknown scope type {scope['type']}") diff --git a/{{cookiecutter.project_slug}}/config/websocket.py b/{{cookiecutter.project_slug}}/config/websocket.py index 9c84a5282..81adfbc66 100644 --- a/{{cookiecutter.project_slug}}/config/websocket.py +++ b/{{cookiecutter.project_slug}}/config/websocket.py @@ -2,17 +2,12 @@ async def websocket_application(scope, receive, send): while True: event = await receive() - if event['type'] == 'websocket.connect': - await send({ - 'type': 'websocket.accept' - }) + if event["type"] == "websocket.connect": + await send({"type": "websocket.accept"}) - if event['type'] == 'websocket.disconnect': + if event["type"] == "websocket.disconnect": break - if event['type'] == 'websocket.receive': - if event['text'] == 'ping': - await send({ - 'type': 'websocket.send', - 'text': 'pong!' - }) + if event["type"] == "websocket.receive": + if event["text"] == "ping": + await send({"type": "websocket.send", "text": "pong!"}) From 125ffec2431337fcd95bf74ea391e2097cd5a1e1 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Tue, 24 Mar 2020 20:51:43 -0400 Subject: [PATCH 0653/2840] Changed starting commands for running server * Performance is very low --- {{cookiecutter.project_slug}}/compose/local/django/start | 2 +- {{cookiecutter.project_slug}}/compose/production/django/start | 2 +- {{cookiecutter.project_slug}}/config/asgi.py | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/start b/{{cookiecutter.project_slug}}/compose/local/django/start index bc1293dee..259e7cd15 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/start @@ -7,7 +7,7 @@ set -o nounset python manage.py migrate {%- if cookiecutter.use_async %} -/usr/local/bin/uvicorn config.asgi --bind 0.0.0.0:5000 --chdir=/app +/usr/local/bin/gunicorn config.asgi --bind 0.0.0.0:8000 --chdir=/app -k uvicorn.workers.UvicornWorker -e DJANGO_SETTINGS_MODULE=config.settings.local --reload {%- else %} python manage.py runserver_plus 0.0.0.0:8000 {% endif %} diff --git a/{{cookiecutter.project_slug}}/compose/production/django/start b/{{cookiecutter.project_slug}}/compose/production/django/start index dd06949a6..96c8987c4 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/start @@ -28,7 +28,7 @@ if compress_enabled; then fi {%- endif %} {% if cookiecutter.use_async %} -/usr/local/bin/uvicorn config.asgi --bind 0.0.0.0:5000 --chdir=/app +/usr/local/bin/gunicorn config.asgi --workers 4 --bind 0.0.0.0:5000 --chdir=/app -k uvicorn.workers.UvicornWorker {% else %} /usr/local/bin/gunicorn config.wsgi --bind 0.0.0.0:5000 --chdir=/app {%- endif %} diff --git a/{{cookiecutter.project_slug}}/config/asgi.py b/{{cookiecutter.project_slug}}/config/asgi.py index 4cc878cac..3dd31f70e 100644 --- a/{{cookiecutter.project_slug}}/config/asgi.py +++ b/{{cookiecutter.project_slug}}/config/asgi.py @@ -11,7 +11,6 @@ import sys from pathlib import Path from django.core.asgi import get_asgi_application - from .websocket import websocket_application # This allows easy placement of apps within the interior From e6b800d9854bb0956afd1df175501466faa5be2b Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Tue, 24 Mar 2020 20:59:28 -0400 Subject: [PATCH 0654/2840] Added static files URL for runserver-level/best performance * The reason there was a degraded performance was because we're using Gunicorn itself as a local tester. So we needed to add the staticfiles urls --- {{cookiecutter.project_slug}}/config/urls.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/{{cookiecutter.project_slug}}/config/urls.py b/{{cookiecutter.project_slug}}/config/urls.py index 818609061..2cf7be95e 100644 --- a/{{cookiecutter.project_slug}}/config/urls.py +++ b/{{cookiecutter.project_slug}}/config/urls.py @@ -7,6 +7,9 @@ from django.views.generic import TemplateView {%- if cookiecutter.use_drf == 'y' %} from rest_framework.authtoken.views import obtain_auth_token {%- endif %} +{%- if cookiecutter.use_async %} +from django.contrib.staticfiles.urls import staticfiles_urlpatterns +{%- endif %} urlpatterns = [ path("", TemplateView.as_view(template_name="pages/home.html"), name="home"), @@ -20,6 +23,11 @@ urlpatterns = [ path("accounts/", include("allauth.urls")), # Your stuff: custom urls includes go here ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) +{% if cookiecutter.use_async %} +# Static file serving when using Gunicorn + Uvicorn for local development +if settings.DEBUG: + urlpatterns += staticfiles_urlpatterns() +{% endif %} {% if cookiecutter.use_drf == 'y' -%} # API URLS urlpatterns += [ From 7cd390854b72abd2c93f46c7a2476890f29cabd8 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Tue, 24 Mar 2020 21:42:28 -0400 Subject: [PATCH 0655/2840] Fixed linter checks --- {{cookiecutter.project_slug}}/config/asgi.py | 1 + {{cookiecutter.project_slug}}/config/urls.py | 14 +++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/asgi.py b/{{cookiecutter.project_slug}}/config/asgi.py index 3dd31f70e..4cc878cac 100644 --- a/{{cookiecutter.project_slug}}/config/asgi.py +++ b/{{cookiecutter.project_slug}}/config/asgi.py @@ -11,6 +11,7 @@ import sys from pathlib import Path from django.core.asgi import get_asgi_application + from .websocket import websocket_application # This allows easy placement of apps within the interior diff --git a/{{cookiecutter.project_slug}}/config/urls.py b/{{cookiecutter.project_slug}}/config/urls.py index 2cf7be95e..168d77a8b 100644 --- a/{{cookiecutter.project_slug}}/config/urls.py +++ b/{{cookiecutter.project_slug}}/config/urls.py @@ -1,15 +1,15 @@ from django.conf import settings from django.conf.urls.static import static from django.contrib import admin +{%- if cookiecutter.use_async == 'y' %} +from django.contrib.staticfiles.urls import staticfiles_urlpatterns +{%- endif %} from django.urls import include, path from django.views import defaults as default_views from django.views.generic import TemplateView {%- if cookiecutter.use_drf == 'y' %} from rest_framework.authtoken.views import obtain_auth_token {%- endif %} -{%- if cookiecutter.use_async %} -from django.contrib.staticfiles.urls import staticfiles_urlpatterns -{%- endif %} urlpatterns = [ path("", TemplateView.as_view(template_name="pages/home.html"), name="home"), @@ -23,12 +23,12 @@ urlpatterns = [ path("accounts/", include("allauth.urls")), # Your stuff: custom urls includes go here ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) -{% if cookiecutter.use_async %} -# Static file serving when using Gunicorn + Uvicorn for local development +{%- if cookiecutter.use_async == 'y' %} if settings.DEBUG: + # Static file serving when using Gunicorn + Uvicorn for local web socket development urlpatterns += staticfiles_urlpatterns() -{% endif %} -{% if cookiecutter.use_drf == 'y' -%} +{%- endif %} +{% if cookiecutter.use_drf == 'y' %} # API URLS urlpatterns += [ # API base url From 367225e4e84998e664bed8fabc4c7f159a1c49e1 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Tue, 24 Mar 2020 21:46:40 -0400 Subject: [PATCH 0656/2840] Removed the 4 workers from the production start of uvicorn --- {{cookiecutter.project_slug}}/compose/local/django/start | 2 +- {{cookiecutter.project_slug}}/compose/production/django/start | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/start b/{{cookiecutter.project_slug}}/compose/local/django/start index 259e7cd15..129266c8d 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/start @@ -6,7 +6,7 @@ set -o nounset python manage.py migrate -{%- if cookiecutter.use_async %} +{%- if cookiecutter.use_async == 'y' %} /usr/local/bin/gunicorn config.asgi --bind 0.0.0.0:8000 --chdir=/app -k uvicorn.workers.UvicornWorker -e DJANGO_SETTINGS_MODULE=config.settings.local --reload {%- else %} python manage.py runserver_plus 0.0.0.0:8000 diff --git a/{{cookiecutter.project_slug}}/compose/production/django/start b/{{cookiecutter.project_slug}}/compose/production/django/start index 96c8987c4..1a41ed48d 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/start @@ -27,8 +27,8 @@ if compress_enabled; then python /app/manage.py compress fi {%- endif %} -{% if cookiecutter.use_async %} -/usr/local/bin/gunicorn config.asgi --workers 4 --bind 0.0.0.0:5000 --chdir=/app -k uvicorn.workers.UvicornWorker +{% if cookiecutter.use_async == 'y' %} +/usr/local/bin/gunicorn config.asgi --bind 0.0.0.0:5000 --chdir=/app -k uvicorn.workers.UvicornWorker {% else %} /usr/local/bin/gunicorn config.wsgi --bind 0.0.0.0:5000 --chdir=/app {%- endif %} From c9744497c90db88ea85246607215e21008b42ca1 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Tue, 24 Mar 2020 21:53:53 -0400 Subject: [PATCH 0657/2840] Added gunicorn to base.txt requirements for async work --- {{cookiecutter.project_slug}}/requirements/base.txt | 3 ++- {{cookiecutter.project_slug}}/requirements/production.txt | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index ec861f352..2d47c6e1a 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -16,8 +16,9 @@ django-celery-beat==2.0.0 # https://github.com/celery/django-celery-beat flower==0.9.3 # https://github.com/mher/flower {%- endif %} {%- endif %} -{%- if cookiecutter.use_async %} +{%- if cookiecutter.use_async == 'y' %} uvicorn==0.11.3 # https://github.com/encode/uvicorn +gunicorn==20.0.4 # https://github.com/benoitc/gunicorn {%- endif %} # Django diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index a8bc31dce..75ae8c300 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -2,8 +2,10 @@ -r ./base.txt -gunicorn==20.0.4 # https://github.com/benoitc/gunicorn psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 +{%- if cookiecutter.use_async == 'n' %} +gunicorn==20.0.4 # https://github.com/benoitc/gunicorn +{%- endif %} {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==2.1.0 # https://github.com/antonagestam/collectfast {%- endif %} From 6c9ba12ddf2531c6b9d7737b20a02b2b8700ff19 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 25 Mar 2020 12:13:30 +0000 Subject: [PATCH 0658/2840] Update tox from 3.14.5 to 3.14.6 (#2507) --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 81fbf524a..7967d95c4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8-isort==2.9.0 # Testing # ------------------------------------------------------------------------------ -tox==3.14.5 +tox==3.14.6 pytest==5.4.1 pytest-cookies==0.5.1 pytest-instafail==0.4.1.post0 From 83f28a592c2a1270dc5413a243719a8485e31c9b Mon Sep 17 00:00:00 2001 From: "Fabio C. Barrioneuvo da Luz" Date: Wed, 25 Mar 2020 11:57:33 -0300 Subject: [PATCH 0659/2840] Migrate book domain to Feldroy and other small fixes --- LICENSE | 2 +- README.rst | 2 +- docs/faq.rst | 2 +- docs/index.rst | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/LICENSE b/LICENSE index 28466d40f..a67e4da21 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2013-2018, Daniel Roy Greenfeld +Copyright (c) 2013-2020, Daniel Roy Greenfeld All rights reserved. Redistribution and use in source and binary forms, with or without modification, diff --git a/README.rst b/README.rst index 649199236..1855f59f6 100644 --- a/README.rst +++ b/README.rst @@ -272,7 +272,7 @@ If you do rename your fork, I encourage you to submit it to the following places * cookiecutter_ so it gets listed in the README as a template. * The cookiecutter grid_ on Django Packages. -.. _cookiecutter: https://github.com/audreyr/cookiecutter +.. _cookiecutter: https://github.com/cookiecutter/cookiecutter .. _grid: https://www.djangopackages.com/grids/g/cookiecutters/ Submit a Pull Request diff --git a/docs/faq.rst b/docs/faq.rst index 1481a8bac..59e82465f 100644 --- a/docs/faq.rst +++ b/docs/faq.rst @@ -24,4 +24,4 @@ Why doesn't this follow the layout from Two Scoops of Django? You may notice that some elements of this project do not exactly match what we describe in chapter 3 of `Two Scoops of Django 1.11`_. The reason for that is this project, amongst other things, serves as a test bed for trying out new ideas and concepts. Sometimes they work, sometimes they don't, but the end result is that it won't necessarily match precisely what is described in the book I co-authored. -.. _Two Scoops of Django 1.11: https://www.twoscoopspress.com/collections/django/products/two-scoops-of-django-1-11 +.. _Two Scoops of Django 1.11: https://www.feldroy.com/collections/django/products/two-scoops-of-django-1-11 diff --git a/docs/index.rst b/docs/index.rst index 8e0d04aa3..b29e728e9 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -5,7 +5,7 @@ Welcome to Cookiecutter Django's documentation! A Cookiecutter_ template for Django. -.. _cookiecutter: https://github.com/audreyr/cookiecutter +.. _cookiecutter: https://github.com/cookiecutter/cookiecutter Contents: From 1e612c4cfb30b3b030a9f8582dbad7fca3906974 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 17 Mar 2020 19:00:55 +0000 Subject: [PATCH 0660/2840] Remove request_factory fixture, use the rf one from pytest-django --- .../{{cookiecutter.project_slug}}/conftest.py | 6 ------ .../users/tests/test_views.py | 12 ++++++------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/conftest.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/conftest.py index 8cd51d7fe..335648e07 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/conftest.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/conftest.py @@ -1,5 +1,4 @@ import pytest -from django.test import RequestFactory from {{ cookiecutter.project_slug }}.users.models import User from {{ cookiecutter.project_slug }}.users.tests.factories import UserFactory @@ -13,8 +12,3 @@ def media_storage(settings, tmpdir): @pytest.fixture def user() -> User: return UserFactory() - - -@pytest.fixture -def request_factory() -> RequestFactory: - return RequestFactory() diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py index 9e868899c..ca0060595 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py @@ -16,18 +16,18 @@ class TestUserUpdateView: https://github.com/pytest-dev/pytest-django/pull/258 """ - def test_get_success_url(self, user: User, request_factory: RequestFactory): + def test_get_success_url(self, user: User, rf: RequestFactory): view = UserUpdateView() - request = request_factory.get("/fake-url/") + request = rf.get("/fake-url/") request.user = user view.request = request assert view.get_success_url() == f"/users/{user.username}/" - def test_get_object(self, user: User, request_factory: RequestFactory): + def test_get_object(self, user: User, rf: RequestFactory): view = UserUpdateView() - request = request_factory.get("/fake-url/") + request = rf.get("/fake-url/") request.user = user view.request = request @@ -36,9 +36,9 @@ class TestUserUpdateView: class TestUserRedirectView: - def test_get_redirect_url(self, user: User, request_factory: RequestFactory): + def test_get_redirect_url(self, user: User, rf: RequestFactory): view = UserRedirectView() - request = request_factory.get("/fake-url") + request = rf.get("/fake-url") request.user = user view.request = request From 820f574bf534b7c6126f9d7e8c6484116bf094ac Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 27 Mar 2020 11:00:30 +0000 Subject: [PATCH 0661/2840] Update django-extensions from 2.2.8 to 2.2.9 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 81ef97c71..2c7ee6026 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -33,6 +33,6 @@ pre-commit==2.2.0 # https://github.com/pre-commit/pre-commit factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.2 # https://github.com/jazzband/django-debug-toolbar -django-extensions==2.2.8 # https://github.com/django-extensions/django-extensions +django-extensions==2.2.9 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.8.0 # https://github.com/pytest-dev/pytest-django From 62236dd908dcd35fbd2baabec1e9fadde40406d5 Mon Sep 17 00:00:00 2001 From: Tim Gates Date: Fri, 27 Mar 2020 22:15:56 +1100 Subject: [PATCH 0662/2840] docs: Fix simple typo, interpteter -> interpreter There is a small typo in {{cookiecutter.project_slug}}/docs/pycharm/configuration.rst. Should read `interpreter` rather than `interpteter`. --- {{cookiecutter.project_slug}}/docs/pycharm/configuration.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/docs/pycharm/configuration.rst b/{{cookiecutter.project_slug}}/docs/pycharm/configuration.rst index 1c20d023f..d8e769167 100644 --- a/{{cookiecutter.project_slug}}/docs/pycharm/configuration.rst +++ b/{{cookiecutter.project_slug}}/docs/pycharm/configuration.rst @@ -14,7 +14,7 @@ This repository comes with already prepared "Run/Debug Configurations" for docke .. image:: images/2.png -But as you can see, at the beginning there is something wrong with them. They have red X on django icon, and they cannot be used, without configuring remote python interpteter. To do that, you have to go to *Settings > Build, Execution, Deployment* first. +But as you can see, at the beginning there is something wrong with them. They have red X on django icon, and they cannot be used, without configuring remote python interpreter. To do that, you have to go to *Settings > Build, Execution, Deployment* first. Next, you have to add new remote python interpreter, based on already tested deployment settings. Go to *Settings > Project > Project Interpreter*. Click on the cog icon, and click *Add Remote*. From efbb04da9155d1e45885d5c925c2b26ad3a9cf7f Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Fri, 27 Mar 2020 21:32:17 -0400 Subject: [PATCH 0663/2840] Update so apps load first when using asgi.py --- {{cookiecutter.project_slug}}/config/asgi.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/asgi.py b/{{cookiecutter.project_slug}}/config/asgi.py index 4cc878cac..a325839b4 100644 --- a/{{cookiecutter.project_slug}}/config/asgi.py +++ b/{{cookiecutter.project_slug}}/config/asgi.py @@ -12,8 +12,6 @@ from pathlib import Path from django.core.asgi import get_asgi_application -from .websocket import websocket_application - # This allows easy placement of apps within the interior # {{ cookiecutter.project_slug }} directory. app_path = Path(__file__).parents[1].resolve() @@ -32,6 +30,9 @@ django_application = get_asgi_application() # from helloworld.asgi import HelloWorldApplication # application = HelloWorldApplication(application) +# Importing websocket application so that apps are loaded first +from .websocket import websocket_application # noqa + async def application(scope, receive, send): if scope["type"] == "http": From 558380ebe98017fe220b99eda58bc533efd4347f Mon Sep 17 00:00:00 2001 From: "pyup.io bot" Date: Sun, 29 Mar 2020 05:11:07 +0200 Subject: [PATCH 0664/2840] Update flake8-isort to 2.9.1 (#2511) --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7967d95c4..f4d5a931e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ binaryornot==0.4.4 # ------------------------------------------------------------------------------ black==19.10b0 flake8==3.7.9 -flake8-isort==2.9.0 +flake8-isort==2.9.1 # Testing # ------------------------------------------------------------------------------ From e49afda665a445899916f448bf6afa0a77a69f13 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 29 Mar 2020 12:00:30 +0100 Subject: [PATCH 0665/2840] Update flower from 0.9.3 to 0.9.4 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index b41be3b06..0b18afc51 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -13,7 +13,7 @@ redis==3.4.1 # https://github.com/andymccurdy/redis-py celery==4.4.2 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==2.0.0 # https://github.com/celery/django-celery-beat {%- if cookiecutter.use_docker == 'y' %} -flower==0.9.3 # https://github.com/mher/flower +flower==0.9.4 # https://github.com/mher/flower {%- endif %} {%- endif %} From 53b240af9a9be8439ea9e36ab9f7acd33786687f Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 29 Mar 2020 12:00:34 +0100 Subject: [PATCH 0666/2840] Update flake8-isort from 2.9.0 to 2.9.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 2c7ee6026..70c498f28 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -19,7 +19,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ flake8==3.7.9 # https://github.com/PyCQA/flake8 -flake8-isort==2.9.0 # https://github.com/gforcada/flake8-isort +flake8-isort==2.9.1 # https://github.com/gforcada/flake8-isort coverage==5.0.4 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black pylint-django==2.0.14 # https://github.com/PyCQA/pylint-django From ec374425348c1241a918905a4a8409930e73599e Mon Sep 17 00:00:00 2001 From: Ernesto Cedeno Date: Sun, 29 Mar 2020 19:54:30 +0200 Subject: [PATCH 0667/2840] Add Ernesto Cedeno to Contributors --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 2e7b11e62..e1416cf76 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -115,6 +115,7 @@ Listed in alphabetical order. Emanuel Calso `@bloodpet`_ @bloodpet Eraldo Energy `@eraldo`_ Eric Groom `@ericgroom`_ + Ernesto Cedeno `@codnee` Eyad Al Sibai `@eyadsibai`_ Felipe Arruda `@arruda`_ Florian Idelberger `@step21`_ @windrush From 0cdf60ceac4398aa74bbf8a45a4a92756c0e3d3b Mon Sep 17 00:00:00 2001 From: Ernesto Cedeno Date: Sun, 29 Mar 2020 19:55:27 +0200 Subject: [PATCH 0668/2840] Change Python version to 3.8 --- .travis.yml | 4 ++-- CONTRIBUTING.rst | 4 ++-- README.rst | 2 +- docs/deployment-on-pythonanywhere.rst | 2 +- docs/developing-locally.rst | 4 ++-- hooks/pre_gen_project.py | 2 +- setup.py | 2 +- tox.ini | 2 +- {{cookiecutter.project_slug}}/.travis.yml | 2 +- {{cookiecutter.project_slug}}/compose/local/django/Dockerfile | 2 +- .../compose/production/django/Dockerfile | 2 +- {{cookiecutter.project_slug}}/runtime.txt | 2 +- {{cookiecutter.project_slug}}/setup.cfg | 2 +- 13 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.travis.yml b/.travis.yml index 52786a17f..b250148e0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: language: python -python: 3.7 +python: 3.8 before_install: - docker-compose -v @@ -14,7 +14,7 @@ before_install: matrix: include: - name: Test results - script: tox -e py37 + script: tox -e py38 - name: Black template script: tox -e black-template - name: Basic Docker diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index cb59ae5f3..0a64e628b 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -39,9 +39,9 @@ To run all tests using various versions of python in virtualenvs defined in tox. It is possible to test with a specific version of python. To do this, the command is:: - $ tox -e py37 + $ tox -e py38 -This will run py.test with the python3.7 interpreter, for example. +This will run py.test with the python3.8 interpreter, for example. To run a particular test with tox for against your current Python version:: diff --git a/README.rst b/README.rst index 1855f59f6..475d41cf7 100644 --- a/README.rst +++ b/README.rst @@ -37,7 +37,7 @@ Features --------- * For Django 3.0 -* Works with Python 3.7 +* Works with Python 3.8 * Renders Django projects with 100% starting test coverage * Twitter Bootstrap_ v4 (`maintained Foundation fork`_ also available) * 12-Factor_ based settings via django-environ_ diff --git a/docs/deployment-on-pythonanywhere.rst b/docs/deployment-on-pythonanywhere.rst index 4738d5a55..75109675d 100644 --- a/docs/deployment-on-pythonanywhere.rst +++ b/docs/deployment-on-pythonanywhere.rst @@ -35,7 +35,7 @@ Make sure your project is fully committed and pushed up to Bitbucket or Github o git clone # you can also use hg cd my-project-name - mkvirtualenv --python=/usr/bin/python3.7 my-project-name + mkvirtualenv --python=/usr/bin/python3.8 my-project-name pip install -r requirements/production.txt # may take a few minutes diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst index 7a58d0999..f02e5c56d 100644 --- a/docs/developing-locally.rst +++ b/docs/developing-locally.rst @@ -9,7 +9,7 @@ Setting Up Development Environment Make sure to have the following on your host: -* Python 3.7 +* Python 3.8 * PostgreSQL_. * Redis_, if using Celery @@ -17,7 +17,7 @@ First things first. #. Create a virtualenv: :: - $ python3.7 -m venv + $ python3.8 -m venv #. Activate the virtualenv you have just created: :: diff --git a/hooks/pre_gen_project.py b/hooks/pre_gen_project.py index 54334dedd..8eaf4983d 100644 --- a/hooks/pre_gen_project.py +++ b/hooks/pre_gen_project.py @@ -35,7 +35,7 @@ if "{{ cookiecutter.use_docker }}".lower() == "n": if python_major_version == 2: print( WARNING + "You're running cookiecutter under Python 2, but the generated " - "project requires Python 3.7+. Do you want to proceed (y/n)? " + TERMINATOR + "project requires Python 3.8+. Do you want to proceed (y/n)? " + TERMINATOR ) yes_options, no_options = frozenset(["y"]), frozenset(["n"]) while True: diff --git a/setup.py b/setup.py index e311e82ad..ee325e8ab 100644 --- a/setup.py +++ b/setup.py @@ -40,7 +40,7 @@ setup( "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development", ], diff --git a/tox.ini b/tox.ini index 737b26e73..242183c39 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] skipsdist = true -envlist = py37,black-template +envlist = py38,black-template [testenv] deps = -rrequirements.txt diff --git a/{{cookiecutter.project_slug}}/.travis.yml b/{{cookiecutter.project_slug}}/.travis.yml index 31695e419..6f7596970 100644 --- a/{{cookiecutter.project_slug}}/.travis.yml +++ b/{{cookiecutter.project_slug}}/.travis.yml @@ -10,7 +10,7 @@ before_install: - sudo apt-get install -qq libsqlite3-dev libxml2 libxml2-dev libssl-dev libbz2-dev wget curl llvm language: python python: - - "3.7" + - "3.8" install: - pip install -r requirements/local.txt script: diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index 6a356ac60..5473f114e 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.7-slim-buster +FROM python:3.8-slim-buster ENV PYTHONUNBUFFERED 1 ENV PYTHONDONTWRITEBYTECODE 1 diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index 42ecbeafc..72f71d6ec 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -9,7 +9,7 @@ RUN npm run build # Python build stage {%- endif %} -FROM python:3.7-slim-buster +FROM python:3.8-slim-buster ENV PYTHONUNBUFFERED 1 diff --git a/{{cookiecutter.project_slug}}/runtime.txt b/{{cookiecutter.project_slug}}/runtime.txt index 6919bf9ed..724c203e1 100644 --- a/{{cookiecutter.project_slug}}/runtime.txt +++ b/{{cookiecutter.project_slug}}/runtime.txt @@ -1 +1 @@ -python-3.7.6 +python-3.8.2 diff --git a/{{cookiecutter.project_slug}}/setup.cfg b/{{cookiecutter.project_slug}}/setup.cfg index 5f7d9b655..f1f66519e 100644 --- a/{{cookiecutter.project_slug}}/setup.cfg +++ b/{{cookiecutter.project_slug}}/setup.cfg @@ -7,7 +7,7 @@ max-line-length = 120 exclude = .tox,.git,*/migrations/*,*/static/CACHE/*,docs,node_modules [mypy] -python_version = 3.7 +python_version = 3.8 check_untyped_defs = True ignore_missing_imports = True warn_unused_ignores = True From a2966da438aafcc2cdeb9c987e20f5866fd146d9 Mon Sep 17 00:00:00 2001 From: codnee Date: Sun, 29 Mar 2020 23:30:42 +0200 Subject: [PATCH 0669/2840] Update CONTRIBUTORS.rst Fix link to @codnee Co-Authored-By: Bruno Alla --- CONTRIBUTORS.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index e1416cf76..3d2a84637 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -115,7 +115,7 @@ Listed in alphabetical order. Emanuel Calso `@bloodpet`_ @bloodpet Eraldo Energy `@eraldo`_ Eric Groom `@ericgroom`_ - Ernesto Cedeno `@codnee` + Ernesto Cedeno `@codnee`_ Eyad Al Sibai `@eyadsibai`_ Felipe Arruda `@arruda`_ Florian Idelberger `@step21`_ @windrush From 94a1fef0af2450b89e6b4861b5155a02c2ee5e05 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 31 Mar 2020 12:00:31 +0100 Subject: [PATCH 0670/2840] Update pytest-django from 3.8.0 to 3.9.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 70c498f28..e2e3fdd68 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -35,4 +35,4 @@ factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.2 # https://github.com/jazzband/django-debug-toolbar django-extensions==2.2.9 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin -pytest-django==3.8.0 # https://github.com/pytest-dev/pytest-django +pytest-django==3.9.0 # https://github.com/pytest-dev/pytest-django From bbd940363f29ba41f6e0527d6b2e8b908738bf96 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 1 Apr 2020 12:00:31 +0100 Subject: [PATCH 0671/2840] Update django from 3.0.4 to 3.0.5 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 0b18afc51..8f473c50c 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -19,7 +19,7 @@ flower==0.9.4 # https://github.com/mher/flower # Django # ------------------------------------------------------------------------------ -django==3.0.4 # pyup: < 3.1 # https://www.djangoproject.com/ +django==3.0.5 # pyup: < 3.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils django-allauth==0.41.0 # https://github.com/pennersr/django-allauth From 80fdb5c7cc3c65dcc78552585d76d5e36102b37b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 1 Apr 2020 12:00:35 +0100 Subject: [PATCH 0672/2840] Update werkzeug from 1.0.0 to 1.0.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index e2e3fdd68..8f7cbd73b 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,6 +1,6 @@ -r ./base.txt -Werkzeug==1.0.0 # https://github.com/pallets/werkzeug +Werkzeug==1.0.1 # https://github.com/pallets/werkzeug ipdb==0.13.2 # https://github.com/gotcha/ipdb Sphinx==2.4.4 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} From a9977e78e058b83907854938cebea15586dec22f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 1 Apr 2020 16:02:21 +0100 Subject: [PATCH 0673/2840] Bump version --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index e311e82ad..d1051d8bc 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ except ImportError: # Our version ALWAYS matches the version of Django we support # If Django has a new release, we branch, tag, then update this setting after the tag. -version = "3.0.4" +version = "3.0.5" if sys.argv[-1] == "tag": os.system(f'git tag -a {version} -m "version {version}"') From 8eb14e6c84f1b964c24645de93eeb1c6c96fa7bc Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 2 Apr 2020 12:00:31 +0100 Subject: [PATCH 0674/2840] Update pillow from 7.0.0 to 7.1.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 8f473c50c..8752ec372 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,6 +1,6 @@ pytz==2019.3 # https://github.com/stub42/pytz python-slugify==4.0.0 # https://github.com/un33k/python-slugify -Pillow==7.0.0 # https://github.com/python-pillow/Pillow +Pillow==7.1.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin {%- endif %} From d16760bf8b3dff00fc63d35993395be0e017fbb4 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 3 Apr 2020 12:00:30 +0100 Subject: [PATCH 0675/2840] Update pillow from 7.1.0 to 7.1.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 8752ec372..b7a370d46 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,6 +1,6 @@ pytz==2019.3 # https://github.com/stub42/pytz python-slugify==4.0.0 # https://github.com/un33k/python-slugify -Pillow==7.1.0 # https://github.com/python-pillow/Pillow +Pillow==7.1.1 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin {%- endif %} From 68d751f2d4dde5297771a6e665c395585e95a7e1 Mon Sep 17 00:00:00 2001 From: gwiskur Date: Sat, 4 Apr 2020 08:59:00 -0500 Subject: [PATCH 0676/2840] Add compress command when using Django Compressor If the django-compressor option is selected, then the ``compress`` command is required where COMPRESS_OFFLINE = True is default in the production settings. See here: https://django-compressor.readthedocs.io/en/latest/usage/#offline-compression --- CONTRIBUTORS.rst | 2 ++ docs/deployment-on-pythonanywhere.rst | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 2e7b11e62..3ab939c27 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -122,6 +122,7 @@ Listed in alphabetical order. Garry Cairns `@garry-cairns`_ Garry Polley `@garrypolley`_ Gilbishkosma `@Gilbishkosma`_ + Glenn Wiskur `@gwiskur`_ Guilherme Guy `@guilherme1guy`_ Hamish Durkin `@durkode`_ Hana Quadara `@hanaquadara`_ @@ -298,6 +299,7 @@ Listed in alphabetical order. .. _@garry-cairns: https://github.com/garry-cairns .. _@garrypolley: https://github.com/garrypolley .. _@Gilbishkosma: https://github.com/Gilbishkosma +.. _@gwiskur: https://github.com/gwiskur .. _@glasslion: https://github.com/glasslion .. _@goldhand: https://github.com/goldhand .. _@hackebrot: https://github.com/hackebrot diff --git a/docs/deployment-on-pythonanywhere.rst b/docs/deployment-on-pythonanywhere.rst index 4738d5a55..a924d69ac 100644 --- a/docs/deployment-on-pythonanywhere.rst +++ b/docs/deployment-on-pythonanywhere.rst @@ -15,7 +15,7 @@ Full instructions follow, but here's a high-level view. 2. Set your config variables in the *postactivate* script -3. Run the *manage.py* ``migrate`` and ``collectstatic`` commands +3. Run the *manage.py* ``migrate`` and ``collectstatic`` {%- if cookiecutter.use_compressor == "y" %}and ``compress`` {%- endif %}commands 4. Add an entry to the PythonAnywhere *Web tab* @@ -109,6 +109,7 @@ Now run the migration, and collectstatic: source $VIRTUAL_ENV/bin/postactivate python manage.py migrate python manage.py collectstatic + {%- if cookiecutter.use_compressor == "y" %}python manage.py compress {%- endif %} # and, optionally python manage.py createsuperuser @@ -175,6 +176,7 @@ For subsequent deployments, the procedure is much simpler. In a Bash console: git pull python manage.py migrate python manage.py collectstatic + {%- if cookiecutter.use_compressor == "y" %}python manage.py compress {%- endif %} And then go to the Web tab and hit **Reload** From 0df3087d3d93a26daeceac8ed31518ce7be40541 Mon Sep 17 00:00:00 2001 From: Tevak Date: Sat, 4 Apr 2020 17:26:24 +0200 Subject: [PATCH 0677/2840] Traefik - Also redirect wwww. to service. --- CONTRIBUTORS.rst | 2 ++ .../compose/production/traefik/traefik.yml | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 3ab939c27..b39845c22 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -200,6 +200,7 @@ Listed in alphabetical order. Sascha `@saschalalala`_ @saschalalala Shupeyko Nikita `@webyneter`_ Sławek Ehlert `@slafs`_ + Sorasful `@sorasful`_ Srinivas Nyayapati `@shireenrao`_ stepmr `@stepmr`_ Steve Steiner `@ssteinerX`_ @@ -372,6 +373,7 @@ Listed in alphabetical order. .. _@siauPatrick: https://github.com/siauPatrick .. _@sladinji: https://github.com/sladinji .. _@slafs: https://github.com/slafs +.. _@sorasful:: https://github.com/sorasful .. _@ssteinerX: https://github.com/ssteinerx .. _@step21: https://github.com/step21 .. _@stepmr: https://github.com/stepmr diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml index 923774f4d..960d1ac2e 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml @@ -28,7 +28,7 @@ certificatesResolvers: http: routers: web-router: - rule: "Host(`{{ cookiecutter.domain_name }}`)" + rule: "Host(`{{ cookiecutter.domain_name }}`) || Host(`www.{{ cookiecutter.domain_name }}`)" entryPoints: - web middlewares: @@ -37,7 +37,7 @@ http: service: django web-secure-router: - rule: "Host(`{{ cookiecutter.domain_name }}`)" + rule: "Host(`{{ cookiecutter.domain_name }}`) || Host(`www.{{ cookiecutter.domain_name }}`)" entryPoints: - web-secure middlewares: From bd104afb3dfdc0c4a6e0bc817c0deb5ff73df66a Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 6 Apr 2020 12:00:30 +0100 Subject: [PATCH 0678/2840] Update sphinx from 2.4.4 to 3.0.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 8f7cbd73b..370ea21ec 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==1.0.1 # https://github.com/pallets/werkzeug ipdb==0.13.2 # https://github.com/gotcha/ipdb -Sphinx==2.4.4 # https://github.com/sphinx-doc/sphinx +Sphinx==3.0.0 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From 75f4d304f4898114b699e9e1cc4ef9e3a64a60ae Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 6 Apr 2020 12:00:33 +0100 Subject: [PATCH 0679/2840] Update psycopg2-binary from 2.8.4 to 2.8.5 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 370ea21ec..49ed908dc 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -6,7 +6,7 @@ Sphinx==3.0.0 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} -psycopg2-binary==2.8.4 # https://github.com/psycopg/psycopg2 +psycopg2-binary==2.8.5 # https://github.com/psycopg/psycopg2 {%- endif %} # Testing From 94d7bd11ad27511d9f5beab72282a7d978a2f06f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 6 Apr 2020 13:36:25 +0100 Subject: [PATCH 0680/2840] Update psycopg2 from 2.8.4 to 2.8.5 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 49ed908dc..6dbf448e2 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -4,7 +4,7 @@ Werkzeug==1.0.1 # https://github.com/pallets/werkzeug ipdb==0.13.2 # https://github.com/gotcha/ipdb Sphinx==3.0.0 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} -psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 +psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} psycopg2-binary==2.8.5 # https://github.com/psycopg/psycopg2 {%- endif %} diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index a8bc31dce..b13c4533c 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -3,7 +3,7 @@ -r ./base.txt gunicorn==20.0.4 # https://github.com/benoitc/gunicorn -psycopg2==2.8.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 +psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==2.1.0 # https://github.com/antonagestam/collectfast {%- endif %} From 041751a359fd774857f723c4344e5b8dd9680c66 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Tue, 7 Apr 2020 00:23:31 -0400 Subject: [PATCH 0681/2840] Fixed linter for asgi.py --- {{cookiecutter.project_slug}}/config/asgi.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/asgi.py b/{{cookiecutter.project_slug}}/config/asgi.py index a325839b4..ef3ff58e3 100644 --- a/{{cookiecutter.project_slug}}/config/asgi.py +++ b/{{cookiecutter.project_slug}}/config/asgi.py @@ -5,6 +5,7 @@ It exposes the ASGI callable as a module-level variable named ``application``. For more information on this file, see https://docs.djangoproject.com/en/dev/howto/deployment/asgi/ + """ import os import sys @@ -30,8 +31,8 @@ django_application = get_asgi_application() # from helloworld.asgi import HelloWorldApplication # application = HelloWorldApplication(application) -# Importing websocket application so that apps are loaded first -from .websocket import websocket_application # noqa +# Import websocket application here, so apps from django_application are loaded first +from .websocket import websocket_application # noqa isort:skip async def application(scope, receive, send): From 1d2d881aba9b72653bbd206af4afd6ba297d0649 Mon Sep 17 00:00:00 2001 From: Duda Nogueira Date: Tue, 7 Apr 2020 18:53:09 -0300 Subject: [PATCH 0682/2840] Fix INTERNAL_IPS for DOCKER when ip higher than 9 previously, for IP ex: 172.19.0.13 becomes: 172.19.0.11 now, it becomes 172.19.0.1 --- {{cookiecutter.project_slug}}/config/settings/local.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/local.py b/{{cookiecutter.project_slug}}/config/settings/local.py index 015d8aff8..9bbfa60d2 100644 --- a/{{cookiecutter.project_slug}}/config/settings/local.py +++ b/{{cookiecutter.project_slug}}/config/settings/local.py @@ -68,7 +68,7 @@ if env("USE_DOCKER") == "yes": import socket hostname, _, ips = socket.gethostbyname_ex(socket.gethostname()) - INTERNAL_IPS += [ip[:-1] + "1" for ip in ips] + INTERNAL_IPS += [".".join(ip.split(".")[:-1]+["1"]) for ip in ips] {%- endif %} # django-extensions From 8d9796d9f8db16df6e222daa4c09bf12f1d3db9d Mon Sep 17 00:00:00 2001 From: Duda Nogueira Date: Tue, 7 Apr 2020 19:03:34 -0300 Subject: [PATCH 0683/2840] Update CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 3ab939c27..01248eccc 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -112,6 +112,7 @@ Listed in alphabetical order. Diane Chen `@purplediane`_ @purplediane88 Dónal Adams `@epileptic-fish`_ Dong Huynh `@trungdong`_ + Duda Nogueira `@dudanogueira`_ @dudanogueira Emanuel Calso `@bloodpet`_ @bloodpet Eraldo Energy `@eraldo`_ Eric Groom `@ericgroom`_ From 5602d4f73b04a1a0b9dc3a124303f74932dd4f17 Mon Sep 17 00:00:00 2001 From: Duda Nogueira Date: Tue, 7 Apr 2020 19:11:43 -0300 Subject: [PATCH 0684/2840] Link to my github --- CONTRIBUTORS.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 01248eccc..64a901d12 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -112,7 +112,7 @@ Listed in alphabetical order. Diane Chen `@purplediane`_ @purplediane88 Dónal Adams `@epileptic-fish`_ Dong Huynh `@trungdong`_ - Duda Nogueira `@dudanogueira`_ @dudanogueira + Duda Nogueira `@dudanogueira`_ @dudanogueira Emanuel Calso `@bloodpet`_ @bloodpet Eraldo Energy `@eraldo`_ Eric Groom `@ericgroom`_ @@ -284,6 +284,7 @@ Listed in alphabetical order. .. _@dezoito: https://github.com/dezoito .. _@dhepper: https://github.com/dhepper .. _@dot2dotseurat: https://github.com/dot2dotseurat +.. _@dudanogueira: https://github.com/dudanogueira .. _@dsclementsen: https://github.com/dsclementsen .. _@guilherme1guy: https://github.com/guilherme1guy .. _@durkode: https://github.com/durkode From 819e9ff27351001055dc10382b70a919e3634573 Mon Sep 17 00:00:00 2001 From: Duda Nogueira Date: Tue, 7 Apr 2020 19:29:46 -0300 Subject: [PATCH 0685/2840] Adding some spaces to pass build :P --- {{cookiecutter.project_slug}}/config/settings/local.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/local.py b/{{cookiecutter.project_slug}}/config/settings/local.py index 9bbfa60d2..21e6a8dfc 100644 --- a/{{cookiecutter.project_slug}}/config/settings/local.py +++ b/{{cookiecutter.project_slug}}/config/settings/local.py @@ -68,7 +68,7 @@ if env("USE_DOCKER") == "yes": import socket hostname, _, ips = socket.gethostbyname_ex(socket.gethostname()) - INTERNAL_IPS += [".".join(ip.split(".")[:-1]+["1"]) for ip in ips] + INTERNAL_IPS += [".".join(ip.split(".")[:-1] + ["1"]) for ip in ips] {%- endif %} # django-extensions From e474ed3f1aa70cf8790089200c99ae71037c1e1b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 11 Apr 2020 12:00:29 +0100 Subject: [PATCH 0686/2840] Update sphinx from 3.0.0 to 3.0.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 6dbf448e2..ddecd5414 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==1.0.1 # https://github.com/pallets/werkzeug ipdb==0.13.2 # https://github.com/gotcha/ipdb -Sphinx==3.0.0 # https://github.com/sphinx-doc/sphinx +Sphinx==3.0.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From 0f388a6d96655e732b5f066844bcfddba7529196 Mon Sep 17 00:00:00 2001 From: Tano Abeleyra Date: Sat, 11 Apr 2020 14:49:04 -0300 Subject: [PATCH 0687/2840] Fix minor typo --- {{cookiecutter.project_slug}}/config/settings/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 6a2a9c3f2..390f2252c 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -311,7 +311,7 @@ INSTALLED_APPS += ["compressor"] STATICFILES_FINDERS += ["compressor.finders.CompressorFinder"] {%- endif %} {% if cookiecutter.use_drf == "y" -%} -# django-reset-framework +# django-rest-framework # ------------------------------------------------------------------------------- # django-rest-framework - https://www.django-rest-framework.org/api-guide/settings/ REST_FRAMEWORK = { From 83934f3d86e77ee98f62e3b36a6e2c6f653b27a1 Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Sun, 12 Apr 2020 21:40:02 +0300 Subject: [PATCH 0688/2840] Store coverage config in setup.cfg Less is more. Unify tooling configuration in one file. --- {{cookiecutter.project_slug}}/.coveragerc | 5 ----- {{cookiecutter.project_slug}}/setup.cfg | 6 ++++++ 2 files changed, 6 insertions(+), 5 deletions(-) delete mode 100644 {{cookiecutter.project_slug}}/.coveragerc diff --git a/{{cookiecutter.project_slug}}/.coveragerc b/{{cookiecutter.project_slug}}/.coveragerc deleted file mode 100644 index 283a4b89c..000000000 --- a/{{cookiecutter.project_slug}}/.coveragerc +++ /dev/null @@ -1,5 +0,0 @@ -[run] -include = {{cookiecutter.project_slug}}/* -omit = *migrations*, *tests* -plugins = - django_coverage_plugin diff --git a/{{cookiecutter.project_slug}}/setup.cfg b/{{cookiecutter.project_slug}}/setup.cfg index 5f7d9b655..5bcbc8c4d 100644 --- a/{{cookiecutter.project_slug}}/setup.cfg +++ b/{{cookiecutter.project_slug}}/setup.cfg @@ -21,3 +21,9 @@ django_settings_module = config.settings.test [mypy-*.migrations.*] # Django migrations should not produce any errors: ignore_errors = True + +[coverage:run] +include = {{cookiecutter.project_slug}}/* +omit = *migrations*, *tests* +plugins = + django_coverage_plugin From 6510ab1555dfea7281847ca832bb7e55e3b4b555 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 13 Apr 2020 12:00:29 +0100 Subject: [PATCH 0689/2840] Update coverage from 5.0.4 to 5.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index ddecd5414..975ed2526 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # ------------------------------------------------------------------------------ flake8==3.7.9 # https://github.com/PyCQA/flake8 flake8-isort==2.9.1 # https://github.com/gforcada/flake8-isort -coverage==5.0.4 # https://github.com/nedbat/coveragepy +coverage==5.1 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black pylint-django==2.0.14 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} From 7bf1a81dcc7365cc44d7b8fcf4cc34b2f8224ec1 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 13 Apr 2020 15:16:08 +0100 Subject: [PATCH 0690/2840] Fix broken link in contributors list --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 209d22a3b..40119fd39 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -272,6 +272,7 @@ Listed in alphabetical order. .. _@chuckus: https://github.com/chuckus .. _@cmackenzie1: https://github.com/cmackenzie1 .. _@cmargieson: https://github.com/cmargieson +.. _@codnee: https://github.com/codnee .. _@cole: https://github.com/cole .. _@Collederas: https://github.com/Collederas .. _@curtisstpierre: https://github.com/curtisstpierre From 02aaba1ee5c38586408c3ff31fe64af64a1815c5 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 13 Apr 2020 15:24:45 +0100 Subject: [PATCH 0691/2840] Added a few things to the changelog --- CHANGELOG.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ae8f7efe8..27a8578a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,36 @@ # Change Log All enhancements and patches to Cookiecutter Django will be documented in this file. +## [2020-04-13] +### Changed +- Updated to Python 3.8 (@codnee) +- Moved converage config in setup.cfg (@danihodovic) + +## [2020-04-08] +### Fixed +- Internal IPs for debug toolbar (@dudanogueira) + +## [2020-04-04] +### Fixed +- Added compress command command with Django compressor (@gwiskur) + +## [2020-03-23] +### Changed +- Updated project to Django 3.0 + +## [2020-03-17] +### Changed +- Handle paths using Pathlib (@jules-ch) + +### Fixed +- Pre-commit hook regex (@demestav) + +## [2020-03-16] +### Added +- Support for all Anymail providers (@Andrew-Chen-Wang) +### Fixed +- Django compressor setup (@jameswilliams1) + ## [2020-01-23] ### Changed - Fix UserFactory to set the password if provided (@BoPeng) From f0813a24b2e5648b8f6d2f2d5ce7da36dd4fead5 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Mon, 13 Apr 2020 10:57:42 -0400 Subject: [PATCH 0692/2840] Added Heroku and Gulp support * Deleted some unnecessary info inside asgi.py --- {{cookiecutter.project_slug}}/Procfile | 4 ++++ {{cookiecutter.project_slug}}/config/asgi.py | 12 ++---------- {{cookiecutter.project_slug}}/gulpfile.js | 17 +++++++++++++++++ 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/{{cookiecutter.project_slug}}/Procfile b/{{cookiecutter.project_slug}}/Procfile index 3838eafd7..0becb2cbe 100644 --- a/{{cookiecutter.project_slug}}/Procfile +++ b/{{cookiecutter.project_slug}}/Procfile @@ -1,5 +1,9 @@ release: python manage.py migrate +{% if cookiecutter.use_async == "y" -%} +web: gunicorn config.asgi:application -k uvicorn.workers.UvicornWorker +{%- else %} web: gunicorn config.wsgi:application +{%- endif %} {% if cookiecutter.use_celery == "y" -%} worker: celery worker --app=config.celery_app --loglevel=info beat: celery beat --app=config.celery_app --loglevel=info diff --git a/{{cookiecutter.project_slug}}/config/asgi.py b/{{cookiecutter.project_slug}}/config/asgi.py index ef3ff58e3..485c8ecad 100644 --- a/{{cookiecutter.project_slug}}/config/asgi.py +++ b/{{cookiecutter.project_slug}}/config/asgi.py @@ -7,7 +7,6 @@ For more information on this file, see https://docs.djangoproject.com/en/dev/howto/deployment/asgi/ """ -import os import sys from pathlib import Path @@ -17,22 +16,15 @@ from django.core.asgi import get_asgi_application # {{ cookiecutter.project_slug }} directory. app_path = Path(__file__).parents[1].resolve() sys.path.append(str(app_path / "{{ cookiecutter.project_slug }}")) -# We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks -# if running multiple sites in the same mod_wsgi process. To fix this, use -# mod_wsgi daemon mode with each site in its own daemon process, or use -# os.environ["DJANGO_SETTINGS_MODULE"] = "config.settings.production" -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.production") -# This application object is used by any ASGI server configured to use this -# file. This includes Django's development server, if the ASGI_APPLICATION -# setting points here. +# This application object is used by any ASGI server configured to use this file. django_application = get_asgi_application() # Apply ASGI middleware here. # from helloworld.asgi import HelloWorldApplication # application = HelloWorldApplication(application) # Import websocket application here, so apps from django_application are loaded first -from .websocket import websocket_application # noqa isort:skip +from config.websocket import websocket_application # noqa isort:skip async def application(scope, receive, send): diff --git a/{{cookiecutter.project_slug}}/gulpfile.js b/{{cookiecutter.project_slug}}/gulpfile.js index 3c28a7359..89894d38b 100644 --- a/{{cookiecutter.project_slug}}/gulpfile.js +++ b/{{cookiecutter.project_slug}}/gulpfile.js @@ -110,6 +110,18 @@ function imgCompression() { .pipe(dest(paths.images)) } +{% if cookiecutter.use_async == 'y' -%} +// Run django server +function asyncRunServer(cb) { + var cmd = spawn('gunicorn', [ + 'config.asgi', '-k', 'uvicorn.workers.UvicornWorker', '--reload' + ], {stdio: 'inherit'} + ) + cmd.on('close', function(code) { + console.log('gunicorn exited with code ' + code) + }) +} +{%- else %} // Run django server function runServer(cb) { var cmd = spawn('python', ['manage.py', 'runserver'], {stdio: 'inherit'}) @@ -118,6 +130,7 @@ function runServer(cb) { cb(code) }) } +{%- endif %} // Browser sync server for live reload function initBrowserSync() { @@ -166,8 +179,12 @@ const generateAssets = parallel( // Set up dev environment const dev = parallel( {%- if cookiecutter.use_docker == 'n' %} + {%- if cookiecutter.use_async == 'y' %} + asyncRunServer, + {%- else %} runServer, {%- endif %} + {%- endif %} initBrowserSync, watchPaths ) From cc099ae941a6136da9dfd5dd24ce41766fd720cb Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Mon, 13 Apr 2020 11:26:09 -0400 Subject: [PATCH 0693/2840] Edited docs for local running async --- docs/developing-locally.rst | 6 +++++- {{cookiecutter.project_slug}}/compose/local/django/start | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst index 7a58d0999..dae14f6ac 100644 --- a/docs/developing-locally.rst +++ b/docs/developing-locally.rst @@ -68,10 +68,14 @@ First things first. $ python manage.py migrate -#. See the application being served through Django development server: :: +#. If you're running synchronously, see the application being served through Django development server: :: $ python manage.py runserver 0.0.0.0:8000 +or if you're running asynchronously: :: + + $ gunicorn config.asgi --bind 0.0.0.0:8000 -k uvicorn.workers.UvicornWorker --reload + .. _PostgreSQL: https://www.postgresql.org/download/ .. _Redis: https://redis.io/download .. _createdb: https://www.postgresql.org/docs/current/static/app-createdb.html diff --git a/{{cookiecutter.project_slug}}/compose/local/django/start b/{{cookiecutter.project_slug}}/compose/local/django/start index 129266c8d..9c0b43d1f 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/start @@ -7,7 +7,7 @@ set -o nounset python manage.py migrate {%- if cookiecutter.use_async == 'y' %} -/usr/local/bin/gunicorn config.asgi --bind 0.0.0.0:8000 --chdir=/app -k uvicorn.workers.UvicornWorker -e DJANGO_SETTINGS_MODULE=config.settings.local --reload +/usr/local/bin/gunicorn config.asgi --bind 0.0.0.0:8000 --chdir=/app -k uvicorn.workers.UvicornWorker --reload {%- else %} python manage.py runserver_plus 0.0.0.0:8000 {% endif %} From efd53908af9579c4a7b5b230bebec1bf18d3628e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 14 Apr 2020 12:00:30 +0100 Subject: [PATCH 0694/2840] Update django-anymail from 7.0.0 to 7.1.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index b13c4533c..e0f4b3323 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -19,7 +19,7 @@ django-storages[boto3]==1.9.1 # https://github.com/jschneier/django-storages django-storages[google]==1.9.1 # https://github.com/jschneier/django-storages {%- endif %} {%- if cookiecutter.mail_service == 'Mailgun' %} -django-anymail[mailgun]==7.0.0 # https://github.com/anymail/django-anymail +django-anymail[mailgun]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Amazon SES' %} django-anymail[amazon_ses]==7.0.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} From cbaf953ed29c37d11c7d251ca2c7c33e683860f7 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 14 Apr 2020 12:00:31 +0100 Subject: [PATCH 0695/2840] Update django-anymail from 7.0.0 to 7.1.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index e0f4b3323..f53110b79 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -21,7 +21,7 @@ django-storages[google]==1.9.1 # https://github.com/jschneier/django-storages {%- if cookiecutter.mail_service == 'Mailgun' %} django-anymail[mailgun]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Amazon SES' %} -django-anymail[amazon_ses]==7.0.0 # https://github.com/anymail/django-anymail +django-anymail[amazon_ses]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} django-anymail[mailjet]==7.0.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} From 7cc6fc0b3052102758b2fb6c28c8edc093de6cfe Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 14 Apr 2020 12:00:32 +0100 Subject: [PATCH 0696/2840] Update django-anymail from 7.0.0 to 7.1.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index f53110b79..617c49786 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -23,7 +23,7 @@ django-anymail[mailgun]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Amazon SES' %} django-anymail[amazon_ses]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} -django-anymail[mailjet]==7.0.0 # https://github.com/anymail/django-anymail +django-anymail[mailjet]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} django-anymail[mandrill]==7.0.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} From d816a62e43d39d45cb5cd2d8b5855d8bec081c7a Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 14 Apr 2020 12:00:33 +0100 Subject: [PATCH 0697/2840] Update django-anymail from 7.0.0 to 7.1.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 617c49786..9b9926aac 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -25,7 +25,7 @@ django-anymail[amazon_ses]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} django-anymail[mailjet]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} -django-anymail[mandrill]==7.0.0 # https://github.com/anymail/django-anymail +django-anymail[mandrill]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} django-anymail[postmark]==7.0.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} From 81363cc0f8faeea9e85ef0df3e15583b25c21eb7 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 14 Apr 2020 12:00:35 +0100 Subject: [PATCH 0698/2840] Update django-anymail from 7.0.0 to 7.1.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 9b9926aac..48da0fa20 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -27,7 +27,7 @@ django-anymail[mailjet]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} django-anymail[mandrill]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} -django-anymail[postmark]==7.0.0 # https://github.com/anymail/django-anymail +django-anymail[postmark]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} django-anymail[sendgrid]==7.0.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} From 8bbcc6aa01637349719852ac37dc2b49885ab40c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 14 Apr 2020 12:00:36 +0100 Subject: [PATCH 0699/2840] Update django-anymail from 7.0.0 to 7.1.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 48da0fa20..59f8dc962 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -29,7 +29,7 @@ django-anymail[mandrill]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} django-anymail[postmark]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} -django-anymail[sendgrid]==7.0.0 # https://github.com/anymail/django-anymail +django-anymail[sendgrid]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} django-anymail[sendinblue]==7.0.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} From 5040eb9ba49fdb711f97df2c64ebaa2dd8604d60 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 14 Apr 2020 12:00:37 +0100 Subject: [PATCH 0700/2840] Update django-anymail from 7.0.0 to 7.1.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 59f8dc962..74a5c00c4 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -31,7 +31,7 @@ django-anymail[postmark]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} django-anymail[sendgrid]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} -django-anymail[sendinblue]==7.0.0 # https://github.com/anymail/django-anymail +django-anymail[sendinblue]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} django-anymail[sparkpost]==7.0.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Other SMTP' %} From 508ca6f4e853a9e8f56a12787113b5dbc4271b92 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 14 Apr 2020 12:00:37 +0100 Subject: [PATCH 0701/2840] Update django-anymail from 7.0.0 to 7.1.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 74a5c00c4..bf34ee702 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -33,7 +33,7 @@ django-anymail[sendgrid]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} django-anymail[sendinblue]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} -django-anymail[sparkpost]==7.0.0 # https://github.com/anymail/django-anymail +django-anymail[sparkpost]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Other SMTP' %} django-anymail==7.0.0 # https://github.com/anymail/django-anymail {%- endif %} From 82cde2eacc598c119e717a4d32918ed2869953f3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 14 Apr 2020 12:00:39 +0100 Subject: [PATCH 0702/2840] Update django-anymail from 7.0.0 to 7.1.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index bf34ee702..83ed366f4 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -35,5 +35,5 @@ django-anymail[sendinblue]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} django-anymail[sparkpost]==7.1.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Other SMTP' %} -django-anymail==7.0.0 # https://github.com/anymail/django-anymail +django-anymail==7.1.0 # https://github.com/anymail/django-anymail {%- endif %} From 0c32fac51eac0b121a57aede6fb5bc78dea65b38 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 14 Apr 2020 12:00:42 +0100 Subject: [PATCH 0703/2840] Update pylint-django from 2.0.14 to 2.0.15 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 975ed2526..0d052969c 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -22,7 +22,7 @@ flake8==3.7.9 # https://github.com/PyCQA/flake8 flake8-isort==2.9.1 # https://github.com/gforcada/flake8-isort coverage==5.1 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black -pylint-django==2.0.14 # https://github.com/PyCQA/pylint-django +pylint-django==2.0.15 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} From 264466904e6621eac99036e40bbe34eccf5d2d1b Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Tue, 14 Apr 2020 11:36:11 -0400 Subject: [PATCH 0704/2840] Add Apache Software License 2.0 to LICENSE --- {{cookiecutter.project_slug}}/LICENSE | 203 ++++++++++++++++++++++++++ 1 file changed, 203 insertions(+) diff --git a/{{cookiecutter.project_slug}}/LICENSE b/{{cookiecutter.project_slug}}/LICENSE index 3a6c7e13a..0bf0b7c7a 100644 --- a/{{cookiecutter.project_slug}}/LICENSE +++ b/{{cookiecutter.project_slug}}/LICENSE @@ -50,4 +50,207 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . +{% elif cookiecutter.open_source_license == 'Apache Software License 2.0' %} + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {% now 'utc', '%Y' %} {{ cookiecutter.author_name }} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. {% endif %} From e2b5dba3f7acda9c898241ebb7a19efe192a4a35 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Tue, 14 Apr 2020 11:50:44 -0400 Subject: [PATCH 0705/2840] Remove Apache LICENSE Appendix --- {{cookiecutter.project_slug}}/LICENSE | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/{{cookiecutter.project_slug}}/LICENSE b/{{cookiecutter.project_slug}}/LICENSE index 0bf0b7c7a..c831e0309 100644 --- a/{{cookiecutter.project_slug}}/LICENSE +++ b/{{cookiecutter.project_slug}}/LICENSE @@ -229,17 +229,6 @@ along with this program. If not, see . END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - Copyright {% now 'utc', '%Y' %} {{ cookiecutter.author_name }} Licensed under the Apache License, Version 2.0 (the "License"); From 3c63b3e46ef2c4c99c1cab341eb5e09c5f4e8884 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Tue, 14 Apr 2020 11:52:14 -0400 Subject: [PATCH 0706/2840] Add Docker support to Travis and GitLab CI * Celerybeat start files wait for table migration so that errors don't occur if a migration does not happen post-build --- tests/test_cookiecutter_generation.py | 10 +++- {{cookiecutter.project_slug}}/.gitlab-ci.yml | 12 +++++ {{cookiecutter.project_slug}}/.travis.yml | 52 ++++++++++++++----- .../compose/local/django/celery/beat/start | 37 +++++++++++++ .../production/django/celery/beat/start | 35 +++++++++++++ 5 files changed, 132 insertions(+), 14 deletions(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 2c7e6dc43..8785d7ce1 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -181,7 +181,15 @@ def test_travis_invokes_pytest(cookies, context): with open(f"{result.project}/.travis.yml", "r") as travis_yml: try: - assert yaml.load(travis_yml, Loader=yaml.FullLoader)["script"] == ["pytest"] + yml = yaml.load(travis_yml, Loader=yaml.FullLoader)["jobs"]["include"] + assert yml[0]["script"] == ["flake8"] + + if context.get("use_docker") == "y": + assert yml[1]["script"] == [ + "docker-compose -f local.yml run django pytest" + ] + else: + assert yml[1]["script"] == ["pytest"] except yaml.YAMLError as e: pytest.fail(e) diff --git a/{{cookiecutter.project_slug}}/.gitlab-ci.yml b/{{cookiecutter.project_slug}}/.gitlab-ci.yml index 91ad7238c..8c032bf73 100644 --- a/{{cookiecutter.project_slug}}/.gitlab-ci.yml +++ b/{{cookiecutter.project_slug}}/.gitlab-ci.yml @@ -19,8 +19,19 @@ flake8: pytest: stage: test image: python:3.7 + {% if cookiecutter.use_docker == 'y' -%} tags: - docker + services: + - docker + before_script: + - docker-compose -f local.yml build + - docker-compose -f local.yml up -d + script: + - docker-compose -f local.yml run django pytest + {%- else %} + tags: + - python services: - postgres:11 variables: @@ -31,4 +42,5 @@ pytest: script: - pytest + {%- endif %} diff --git a/{{cookiecutter.project_slug}}/.travis.yml b/{{cookiecutter.project_slug}}/.travis.yml index 31695e419..7b618e37a 100644 --- a/{{cookiecutter.project_slug}}/.travis.yml +++ b/{{cookiecutter.project_slug}}/.travis.yml @@ -1,17 +1,43 @@ dist: xenial -services: - - postgresql -before_install: - - sudo apt-get update -qq - - sudo apt-get install -qq build-essential gettext python-dev zlib1g-dev libpq-dev xvfb - - sudo apt-get install -qq libjpeg8-dev libfreetype6-dev libwebp-dev - - sudo apt-get install -qq graphviz-dev python-setuptools python3-dev python-virtualenv python-pip - - sudo apt-get install -qq firefox automake libtool libreadline6 libreadline6-dev libreadline-dev - - sudo apt-get install -qq libsqlite3-dev libxml2 libxml2-dev libssl-dev libbz2-dev wget curl llvm + language: python python: - "3.7" -install: - - pip install -r requirements/local.txt -script: - - "pytest" + +services: + - {% if cookiecutter.use_docker == 'y' %}docker{% else %}postgresql{% endif %} +jobs: + include: + - name: "Linter" + before_script: + - pip install -q flake8 + script: + - "flake8" + + - name: "Django Test" + {% if cookiecutter.use_docker == 'y' -%} + before_script: + - docker-compose -v + - docker -v + - docker-compose -f local.yml build + - docker-compose -f local.yml up -d + script: + - "docker-compose -f local.yml run django pytest" + after_failure: + - docker-compose -f local.yml logs + {%- else %} + before_install: + - sudo apt-get update -qq + - sudo apt-get install -qq build-essential gettext python-dev zlib1g-dev libpq-dev xvfb + - sudo apt-get install -qq libjpeg8-dev libfreetype6-dev libwebp-dev + - sudo apt-get install -qq graphviz-dev python-setuptools python3-dev python-virtualenv python-pip + - sudo apt-get install -qq firefox automake libtool libreadline6 libreadline6-dev libreadline-dev + - sudo apt-get install -qq libsqlite3-dev libxml2 libxml2-dev libssl-dev libbz2-dev wget curl llvm + language: python + python: + - "3.8" + install: + - pip install -r requirements/local.txt + script: + - "pytest" + {%- endif %} diff --git a/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start b/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start index c04a7365e..779750caf 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start @@ -5,4 +5,41 @@ set -o nounset rm -f './celerybeat.pid' + +postgres_ready() { +python << END +import sys +from time import sleep +import psycopg2 +try: + conn = psycopg2.connect( + dbname="${POSTGRES_DB}", + user="${POSTGRES_USER}", + password="${POSTGRES_PASSWORD}", + host="${POSTGRES_HOST}", + port="${POSTGRES_PORT}", + ) + # Check if table exists yet. + # If not, wait for docker-compose up to migrate all tables. + cur = conn.cursor() + cur.execute( + "select exists(select * from ${POSTGRES_DB}.tables where table_name=%s)", + ('django_celery_beat_periodictask',) + ) + conn.close() +except psycopg2.OperationalError: + sys.exit(-1) +except psycopg2.errors.UndefinedTable: + conn.close() + sys.exit(-1) + +sys.exit(0) +END +} +until postgres_ready; do + >&2 echo 'Waiting for celerybeat models to be migrated...' + sleep 1 +done +>&2 echo 'PostgreSQL is ready' + celery -A config.celery_app beat -l INFO diff --git a/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start b/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start index 20b93123a..0bc76667b 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start @@ -4,5 +4,40 @@ set -o errexit set -o pipefail set -o nounset +postgres_ready() { +python << END +import sys +from time import sleep +import psycopg2 +try: + conn = psycopg2.connect( + dbname="${POSTGRES_DB}", + user="${POSTGRES_USER}", + password="${POSTGRES_PASSWORD}", + host="${POSTGRES_HOST}", + port="${POSTGRES_PORT}", + ) + # Check if table exists yet. + # If not, wait for docker-compose up to migrate all tables. + cur = conn.cursor() + cur.execute( + "select exists(select * from ${POSTGRES_DB}.tables where table_name=%s)", + ('django_celery_beat_periodictask',) + ) + conn.close() +except psycopg2.OperationalError: + sys.exit(-1) +except psycopg2.errors.UndefinedTable: + conn.close() + sys.exit(-1) + +sys.exit(0) +END +} +until postgres_ready; do + >&2 echo 'Waiting for celerybeat models to be migrated...' + sleep 1 +done +>&2 echo 'PostgreSQL is ready' celery -A config.celery_app beat -l INFO From dd0e7c0c801a55f13c6235dc5937ef81664752e8 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Tue, 14 Apr 2020 12:04:41 -0400 Subject: [PATCH 0707/2840] Remove unnecssary import in celerybeat start files --- .../compose/local/django/celery/beat/start | 1 - .../compose/production/django/celery/beat/start | 1 - 2 files changed, 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start b/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start index 779750caf..2499f8666 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start @@ -9,7 +9,6 @@ rm -f './celerybeat.pid' postgres_ready() { python << END import sys -from time import sleep import psycopg2 try: conn = psycopg2.connect( diff --git a/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start b/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start index 0bc76667b..3882e1948 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start @@ -7,7 +7,6 @@ set -o nounset postgres_ready() { python << END import sys -from time import sleep import psycopg2 try: conn = psycopg2.connect( From 25cd8ea72b8dd3e017ddac738373ab64ce934524 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Tue, 14 Apr 2020 15:05:53 -0400 Subject: [PATCH 0708/2840] Update beat start files with better? SQL statement --- .../compose/local/django/celery/beat/start | 13 +++++++------ .../compose/production/django/celery/beat/start | 12 +++++++----- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start b/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start index 2499f8666..477dfca30 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start @@ -22,17 +22,18 @@ try: # If not, wait for docker-compose up to migrate all tables. cur = conn.cursor() cur.execute( - "select exists(select * from ${POSTGRES_DB}.tables where table_name=%s)", + "select exists(select * from information_schema.tables where table_name=%s)", ('django_celery_beat_periodictask',) ) - conn.close() + if cur.fetchone()[0] == 1: + cur.close() + sys.exit(0) + else: + cur.close() + sys.exit(-1) except psycopg2.OperationalError: sys.exit(-1) -except psycopg2.errors.UndefinedTable: - conn.close() - sys.exit(-1) -sys.exit(0) END } until postgres_ready; do diff --git a/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start b/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start index 3882e1948..0cc8ae8a4 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start @@ -20,15 +20,17 @@ try: # If not, wait for docker-compose up to migrate all tables. cur = conn.cursor() cur.execute( - "select exists(select * from ${POSTGRES_DB}.tables where table_name=%s)", + "select exists(select * from information_schema.tables where table_name=%s)", ('django_celery_beat_periodictask',) ) - conn.close() + if cur.fetchone()[0] == 1: + cur.close() + sys.exit(0) + else: + cur.close() + sys.exit(-1) except psycopg2.OperationalError: sys.exit(-1) -except psycopg2.errors.UndefinedTable: - conn.close() - sys.exit(-1) sys.exit(0) END From 7e3f61a2f8a6dbe57f98f684b6dcebf010007980 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 15 Apr 2020 10:37:57 +0100 Subject: [PATCH 0709/2840] Update .pyup.yml --- .pyup.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.pyup.yml b/.pyup.yml index 4978524e8..c503dabf3 100644 --- a/.pyup.yml +++ b/.pyup.yml @@ -8,6 +8,11 @@ update: all # allowed: True, False pin: True +# add a label to pull requests, default is not set +# requires private repo permissions, even on public repos +# default: empty +label_prs: update + # Specify requirement files by hand, pyup seems to struggle to # find the ones in the project_slug folder requirements: From f2f881179c3e35fddb5c937e8aebff92240a3f05 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 15 Apr 2020 09:43:34 -0700 Subject: [PATCH 0710/2840] Update flake8-isort from 2.9.1 to 3.0.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index f4d5a931e..3beb162b3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ binaryornot==0.4.4 # ------------------------------------------------------------------------------ black==19.10b0 flake8==3.7.9 -flake8-isort==2.9.1 +flake8-isort==3.0.0 # Testing # ------------------------------------------------------------------------------ From c639541d506c20405e43a903058b75f5fee63192 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 16 Apr 2020 09:11:15 +0100 Subject: [PATCH 0711/2840] Default DJANGO_SETTINGS_MODULE to local settings in asgi.py This is to be consistent with `manage.py` behaviour and required to run locally. --- {{cookiecutter.project_slug}}/config/asgi.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/{{cookiecutter.project_slug}}/config/asgi.py b/{{cookiecutter.project_slug}}/config/asgi.py index 485c8ecad..562ecf402 100644 --- a/{{cookiecutter.project_slug}}/config/asgi.py +++ b/{{cookiecutter.project_slug}}/config/asgi.py @@ -7,6 +7,7 @@ For more information on this file, see https://docs.djangoproject.com/en/dev/howto/deployment/asgi/ """ +import os import sys from pathlib import Path @@ -17,6 +18,9 @@ from django.core.asgi import get_asgi_application app_path = Path(__file__).parents[1].resolve() sys.path.append(str(app_path / "{{ cookiecutter.project_slug }}")) +# If DJANGO_SETTINGS_MODULE is unset, default to the local settings +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local") + # This application object is used by any ASGI server configured to use this file. django_application = get_asgi_application() # Apply ASGI middleware here. From 835cd8c9b5c5811fdcd7e04b6f09739c82b9eddc Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 16 Apr 2020 09:18:58 +0100 Subject: [PATCH 0712/2840] Remove unused parameter in Gulp task --- {{cookiecutter.project_slug}}/gulpfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/gulpfile.js b/{{cookiecutter.project_slug}}/gulpfile.js index 89894d38b..1f9884ec8 100644 --- a/{{cookiecutter.project_slug}}/gulpfile.js +++ b/{{cookiecutter.project_slug}}/gulpfile.js @@ -112,7 +112,7 @@ function imgCompression() { {% if cookiecutter.use_async == 'y' -%} // Run django server -function asyncRunServer(cb) { +function asyncRunServer() { var cmd = spawn('gunicorn', [ 'config.asgi', '-k', 'uvicorn.workers.UvicornWorker', '--reload' ], {stdio: 'inherit'} From 3d6dce66aad8ded5a4ba490336f4fee7f5374eb1 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 16 Apr 2020 09:35:50 +0100 Subject: [PATCH 0713/2840] Mention ASGI in the README --- README.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/README.rst b/README.rst index 1855f59f6..604cff91f 100644 --- a/README.rst +++ b/README.rst @@ -45,6 +45,7 @@ Features * Optimized development and production settings * Registration via django-allauth_ * Comes with custom user model ready to go +* Optional basic ASGI setup for Websockets * Optional custom static build using Gulp and livereload * Send emails via Anymail_ (using Mailgun_ by default or Amazon SES if AWS is selected cloud provider, but switchable) * Media storage using Amazon S3 or Google Cloud Storage From 3d9f7b91d0b813fab5b8c5bbed5fb87b3ab9afde Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 16 Apr 2020 12:00:30 +0100 Subject: [PATCH 0714/2840] Update flake8-isort from 2.9.1 to 3.0.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 0d052969c..4b113507b 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -19,7 +19,7 @@ pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ flake8==3.7.9 # https://github.com/PyCQA/flake8 -flake8-isort==2.9.1 # https://github.com/gforcada/flake8-isort +flake8-isort==3.0.0 # https://github.com/gforcada/flake8-isort coverage==5.1 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black pylint-django==2.0.15 # https://github.com/PyCQA/pylint-django From d2285d9e2d1798e863d355e0efee76fe7e73fdd1 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Thu, 16 Apr 2020 13:34:12 -0400 Subject: [PATCH 0715/2840] pytest.parametrized test for generating CI * Removed celerybeat start's postgres_ready() for new PR for closer inspection and further review. Travis and GitLab CI reflect changes --- tests/test_cookiecutter_generation.py | 30 ++++++++------- {{cookiecutter.project_slug}}/.gitlab-ci.yml | 2 + {{cookiecutter.project_slug}}/.travis.yml | 2 + .../compose/local/django/celery/beat/start | 37 ------------------- .../production/django/celery/beat/start | 36 ------------------ 5 files changed, 21 insertions(+), 86 deletions(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 8785d7ce1..ecd08ea0c 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -170,8 +170,12 @@ def test_black_passes(cookies, context_override): pytest.fail(e.stdout.decode()) -def test_travis_invokes_pytest(cookies, context): - context.update({"ci_tool": "Travis"}) +@pytest.mark.parametrize( + ["use_docker", "expected_test_script"], + [("n", "pytest"), ("y", "docker-compose -f local.yml run django pytest"),], +) +def test_travis_invokes_pytest(cookies, context, use_docker, expected_test_script): + context.update({"ci_tool": "Travis", "use_docker": use_docker}) result = cookies.bake(extra_context=context) assert result.exit_code == 0 @@ -183,19 +187,19 @@ def test_travis_invokes_pytest(cookies, context): try: yml = yaml.load(travis_yml, Loader=yaml.FullLoader)["jobs"]["include"] assert yml[0]["script"] == ["flake8"] - - if context.get("use_docker") == "y": - assert yml[1]["script"] == [ - "docker-compose -f local.yml run django pytest" - ] - else: - assert yml[1]["script"] == ["pytest"] + assert yml[1]["script"] == [expected_test_script] except yaml.YAMLError as e: - pytest.fail(e) + pytest.fail(str(e)) -def test_gitlab_invokes_flake8_and_pytest(cookies, context): - context.update({"ci_tool": "Gitlab"}) +@pytest.mark.parametrize( + ["use_docker", "expected_test_script"], + [("n", "pytest"), ("y", "docker-compose -f local.yml run django pytest"),], +) +def test_gitlab_invokes_flake8_and_pytest( + cookies, context, use_docker, expected_test_script +): + context.update({"ci_tool": "Gitlab", "use_docker": use_docker}) result = cookies.bake(extra_context=context) assert result.exit_code == 0 @@ -207,7 +211,7 @@ def test_gitlab_invokes_flake8_and_pytest(cookies, context): try: gitlab_config = yaml.load(gitlab_yml, Loader=yaml.FullLoader) assert gitlab_config["flake8"]["script"] == ["flake8"] - assert gitlab_config["pytest"]["script"] == ["pytest"] + assert gitlab_config["pytest"]["script"] == [expected_test_script] except yaml.YAMLError as e: pytest.fail(e) diff --git a/{{cookiecutter.project_slug}}/.gitlab-ci.yml b/{{cookiecutter.project_slug}}/.gitlab-ci.yml index 4d67f8a1e..a74d5de87 100644 --- a/{{cookiecutter.project_slug}}/.gitlab-ci.yml +++ b/{{cookiecutter.project_slug}}/.gitlab-ci.yml @@ -29,6 +29,8 @@ pytest: - docker before_script: - docker-compose -f local.yml build + # Ensure celerybeat does not crash due to non-existent tables + - docker-compose -f local.yml run --rm django python manage.py migrate - docker-compose -f local.yml up -d script: - docker-compose -f local.yml run django pytest diff --git a/{{cookiecutter.project_slug}}/.travis.yml b/{{cookiecutter.project_slug}}/.travis.yml index 7f90b5f5e..fac60650a 100644 --- a/{{cookiecutter.project_slug}}/.travis.yml +++ b/{{cookiecutter.project_slug}}/.travis.yml @@ -20,6 +20,8 @@ jobs: - docker-compose -v - docker -v - docker-compose -f local.yml build + # Ensure celerybeat does not crash due to non-existent tables + - docker-compose -f local.yml run --rm django python manage.py migrate - docker-compose -f local.yml up -d script: - "docker-compose -f local.yml run django pytest" diff --git a/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start b/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start index 477dfca30..c04a7365e 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/celery/beat/start @@ -5,41 +5,4 @@ set -o nounset rm -f './celerybeat.pid' - -postgres_ready() { -python << END -import sys -import psycopg2 -try: - conn = psycopg2.connect( - dbname="${POSTGRES_DB}", - user="${POSTGRES_USER}", - password="${POSTGRES_PASSWORD}", - host="${POSTGRES_HOST}", - port="${POSTGRES_PORT}", - ) - # Check if table exists yet. - # If not, wait for docker-compose up to migrate all tables. - cur = conn.cursor() - cur.execute( - "select exists(select * from information_schema.tables where table_name=%s)", - ('django_celery_beat_periodictask',) - ) - if cur.fetchone()[0] == 1: - cur.close() - sys.exit(0) - else: - cur.close() - sys.exit(-1) -except psycopg2.OperationalError: - sys.exit(-1) - -END -} -until postgres_ready; do - >&2 echo 'Waiting for celerybeat models to be migrated...' - sleep 1 -done ->&2 echo 'PostgreSQL is ready' - celery -A config.celery_app beat -l INFO diff --git a/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start b/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start index 0cc8ae8a4..20b93123a 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start +++ b/{{cookiecutter.project_slug}}/compose/production/django/celery/beat/start @@ -4,41 +4,5 @@ set -o errexit set -o pipefail set -o nounset -postgres_ready() { -python << END -import sys -import psycopg2 -try: - conn = psycopg2.connect( - dbname="${POSTGRES_DB}", - user="${POSTGRES_USER}", - password="${POSTGRES_PASSWORD}", - host="${POSTGRES_HOST}", - port="${POSTGRES_PORT}", - ) - # Check if table exists yet. - # If not, wait for docker-compose up to migrate all tables. - cur = conn.cursor() - cur.execute( - "select exists(select * from information_schema.tables where table_name=%s)", - ('django_celery_beat_periodictask',) - ) - if cur.fetchone()[0] == 1: - cur.close() - sys.exit(0) - else: - cur.close() - sys.exit(-1) -except psycopg2.OperationalError: - sys.exit(-1) - -sys.exit(0) -END -} -until postgres_ready; do - >&2 echo 'Waiting for celerybeat models to be migrated...' - sleep 1 -done ->&2 echo 'PostgreSQL is ready' celery -A config.celery_app beat -l INFO From d249158444d1cb0f32cbc9cdd6dc868dcc2210d7 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Thu, 16 Apr 2020 14:15:35 -0400 Subject: [PATCH 0716/2840] Fix .travis.yml indent alignment --- {{cookiecutter.project_slug}}/.travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.travis.yml b/{{cookiecutter.project_slug}}/.travis.yml index fac60650a..24f9f24ac 100644 --- a/{{cookiecutter.project_slug}}/.travis.yml +++ b/{{cookiecutter.project_slug}}/.travis.yml @@ -15,7 +15,7 @@ jobs: - "flake8" - name: "Django Test" - {% if cookiecutter.use_docker == 'y' -%} + {%- if cookiecutter.use_docker == 'y' %} before_script: - docker-compose -v - docker -v From d02b88f681b5d467219b56e14b1e2ecc78e49177 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 17 Apr 2020 19:08:38 +0100 Subject: [PATCH 0717/2840] Bump to version 3.0.5-01 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 98e98fb77..6dfd9e50b 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ except ImportError: # Our version ALWAYS matches the version of Django we support # If Django has a new release, we branch, tag, then update this setting after the tag. -version = "3.0.5" +version = "3.0.5-01" if sys.argv[-1] == "tag": os.system(f'git tag -a {version} -m "version {version}"') From 7a435b3d4a14296f239bd9c4df4ffbedbcc7edc3 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 17 Apr 2020 19:18:56 +0100 Subject: [PATCH 0718/2840] Add GitHub action to label pull requests --- .github/labeler.yml | 11 +++++++++++ .github/workflows/label.yml | 20 ++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 .github/labeler.yml create mode 100644 .github/workflows/label.yml diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 000000000..bad7cac06 --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,11 @@ +# Add 'docs' to any changes within 'docs' folder or any subfolders +docs: + - README.rst + - docs/**/* + - {{cookiecutter.project_slug}}/docs/**/* + +# Flag PR related to docker +docker: + - {{cookiecutter.project_slug}}/compose/**/* + - {{cookiecutter.project_slug}}/local.yml + - {{cookiecutter.project_slug}}/production.yml diff --git a/.github/workflows/label.yml b/.github/workflows/label.yml new file mode 100644 index 000000000..3df0ec0c0 --- /dev/null +++ b/.github/workflows/label.yml @@ -0,0 +1,20 @@ +# This workflow will triage pull requests and apply a label based on the +# paths that are modified in the pull request. +# +# To use this workflow, you will need to set up a .github/labeler.yml +# file with configuration. For more information, see: +# https://github.com/actions/labeler/blob/master/README.md + + +name: Labeler +on: [pull_request] + +jobs: + label: + + runs-on: ubuntu-latest + + steps: + - uses: actions/labeler@v2 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" From 4ab97dd5a4da02305a795841a4c4d3f90ae44a2f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 18 Apr 2020 12:33:13 +0100 Subject: [PATCH 0719/2840] Add GitHub action to draft releases notes --- .github/release-drafter.yml | 30 +++++++++++++++++++++++++++++ .github/workflows/draft-release.yml | 14 ++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 .github/release-drafter.yml create mode 100644 .github/workflows/draft-release.yml diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 000000000..7d3a1b4f5 --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,30 @@ +categories: + - title: 'Breaking Changes' + labels: + - 'breaking' + - title: 'Major Changes' + labels: + - 'major' + - title: 'Minor Changes' + labels: + - 'enhancement' + - title: 'Bugfixes' + labels: + - 'bug' + - title: 'Removals' + labels: + - 'removed' + - title: 'Documentation updates' + labels: + - 'docs' + - title: 'Dependencies updates' + labels: + - 'update' + +exclude-labels: + - 'skip-changelog' + +template: | + ## Changes + + $CHANGES diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml new file mode 100644 index 000000000..6c2d6620d --- /dev/null +++ b/.github/workflows/draft-release.yml @@ -0,0 +1,14 @@ +name: Release Drafter + +on: + push: + branches: + - master + +jobs: + release_notes: + runs-on: ubuntu-latest + steps: + - uses: release-drafter/release-drafter@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From d0481624e77e5ff498415a3e1e73cef51e1596cb Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 18 Apr 2020 14:46:37 +0100 Subject: [PATCH 0720/2840] Remove updates from release drafter --- .github/release-drafter.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 7d3a1b4f5..af10ea701 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -17,9 +17,6 @@ categories: - title: 'Documentation updates' labels: - 'docs' - - title: 'Dependencies updates' - labels: - - 'update' exclude-labels: - 'skip-changelog' From 935c83fa309b5d08fa0b3a2f381be72fac4efd88 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 18 Apr 2020 14:49:20 +0100 Subject: [PATCH 0721/2840] Don't mention updates in release drafter at all --- .github/release-drafter.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index af10ea701..340308617 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -20,6 +20,7 @@ categories: exclude-labels: - 'skip-changelog' + - 'update' template: | ## Changes From d3439b859298776749d152c6e5a76c4447866a07 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 18 Apr 2020 14:53:57 +0100 Subject: [PATCH 0722/2840] Exclude changes for project infrastructure --- .github/release-drafter.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 340308617..734a541af 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -21,6 +21,7 @@ categories: exclude-labels: - 'skip-changelog' - 'update' + - 'project infrastructure' template: | ## Changes From 8eeef9a86c1612d2a934053beb1c10d9ef902119 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 20 Apr 2020 12:00:32 +0100 Subject: [PATCH 0723/2840] Update sphinx from 3.0.1 to 3.0.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 4b113507b..03f8467a9 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==1.0.1 # https://github.com/pallets/werkzeug ipdb==0.13.2 # https://github.com/gotcha/ipdb -Sphinx==3.0.1 # https://github.com/sphinx-doc/sphinx +Sphinx==3.0.2 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From bda0541a2b536e305ec1ec2de10a4b1fde9711a2 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 20 Apr 2020 21:32:43 -0700 Subject: [PATCH 0724/2840] Update cookiecutter from 1.7.0 to 1.7.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3beb162b3..c5601892c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -cookiecutter==1.7.0 +cookiecutter==1.7.2 sh==1.12.14 binaryornot==0.4.4 From 42101feef1eb1b4992e34d6635fabee582265df0 Mon Sep 17 00:00:00 2001 From: Yotam Tal Date: Tue, 21 Apr 2020 13:45:30 +0300 Subject: [PATCH 0725/2840] Add hot-reload support to celery worker --- .../compose/local/django/celery/worker/start | 2 +- {{cookiecutter.project_slug}}/requirements/local.txt | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/celery/worker/start b/{{cookiecutter.project_slug}}/compose/local/django/celery/worker/start index acd6f1574..ef32dd69f 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/celery/worker/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/celery/worker/start @@ -4,4 +4,4 @@ set -o errexit set -o nounset -celery -A config.celery_app worker -l INFO +watchmedo auto-restart --directory=./ --pattern="*tasks.py;*celery_app.py" --recursive -- celery -A config.celery_app worker -l INFO diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 4b113507b..0dc58b68f 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -5,6 +5,10 @@ ipdb==0.13.2 # https://github.com/gotcha/ipdb Sphinx==3.0.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 +{%- if cookiecutter.use_celery == 'y' %} +argh==0.26.2 # http://github.com/neithere/argh/ +watchdog==0.10.2 # http://github.com/gorakhargosh/watchdog +{%- endif %} {%- else %} psycopg2-binary==2.8.5 # https://github.com/psycopg/psycopg2 {%- endif %} From 2bd95984d4fe813c74a4a7fd10f213258e4e7d72 Mon Sep 17 00:00:00 2001 From: Yotam Tal Date: Tue, 21 Apr 2020 13:49:13 +0300 Subject: [PATCH 0726/2840] add myself to contributors --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 280a9f4f1..07e16cd21 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -226,6 +226,7 @@ Listed in alphabetical order. William Archinal `@archinal`_ Xaver Y.R. Chen `@yrchen`_ @yrchen Yaroslav Halchenko + Yotam Tal `@yotamtal`_ Yuchen Xie `@mapx`_ ========================== ============================ ============== @@ -395,6 +396,7 @@ Listed in alphabetical order. .. _@vladdoster: https://github.com/vladdoster .. _@xpostudio4: https://github.com/xpostudio4 .. _@yrchen: https://github.com/yrchen +.. _@yotamtal: https://github.com/yotamtal .. _@yunti: https://github.com/yunti .. _@zcho: https://github.com/zcho From 109784b79d063d2fb529a93c849ab85bc5e478f1 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 21 Apr 2020 17:21:43 +0100 Subject: [PATCH 0727/2840] Fix labeler config --- .github/labeler.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/labeler.yml b/.github/labeler.yml index bad7cac06..a29e237db 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -1,11 +1,11 @@ # Add 'docs' to any changes within 'docs' folder or any subfolders docs: - - README.rst - - docs/**/* - - {{cookiecutter.project_slug}}/docs/**/* + - 'README.rst' + - 'docs/**/*' + - '{{cookiecutter.project_slug}}/docs/**/*' # Flag PR related to docker docker: - - {{cookiecutter.project_slug}}/compose/**/* - - {{cookiecutter.project_slug}}/local.yml - - {{cookiecutter.project_slug}}/production.yml + - '{{cookiecutter.project_slug}}/compose/**/*' + - '{{cookiecutter.project_slug}}/local.yml' + - '{{cookiecutter.project_slug}}/production.yml' From 433aa667f552c2c2b2375606da2f022d5a1c5b4c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 23 Apr 2020 12:00:33 +0100 Subject: [PATCH 0728/2840] Update pre-commit from 2.2.0 to 2.3.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 03f8467a9..f6be44b51 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -26,7 +26,7 @@ pylint-django==2.0.15 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.2.0 # https://github.com/pre-commit/pre-commit +pre-commit==2.3.0 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From cafc0ac1f31d3a4ef4f30dcde6b314fb675ad065 Mon Sep 17 00:00:00 2001 From: Sudarshan Wadkar Date: Fri, 17 Apr 2020 23:50:57 +0530 Subject: [PATCH 0729/2840] Conditionally add www host to traefik router If the domain_name entered contains subdomains, e.g. `api.example.com` then do *not* add an additional `www.api.example.com` route to traefik If the user enters only the domain `example.com` then add the optional `www.example.com` Host to the traefik routers. --- .../compose/production/traefik/traefik.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml index 960d1ac2e..3f6d80721 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml @@ -28,7 +28,11 @@ certificatesResolvers: http: routers: web-router: + {%- if len(cookiecutter.domain_name.split('.')) == 2 %} rule: "Host(`{{ cookiecutter.domain_name }}`) || Host(`www.{{ cookiecutter.domain_name }}`)" + {% else %} + rule: "Host(`{{ cookiecutter.domain_name }}`)" + {%- endif %} entryPoints: - web middlewares: @@ -37,7 +41,11 @@ http: service: django web-secure-router: + {%- if len(cookiecutter.domain_name.split('.')) == 2 %} rule: "Host(`{{ cookiecutter.domain_name }}`) || Host(`www.{{ cookiecutter.domain_name }}`)" + {% else %} + rule: "Host(`{{ cookiecutter.domain_name }}`)" + {%- endif %} entryPoints: - web-secure middlewares: From ab93e28c888588bc4ac41062386c0238745e796e Mon Sep 17 00:00:00 2001 From: Sudarshan Wadkar Date: Fri, 17 Apr 2020 23:57:15 +0530 Subject: [PATCH 0730/2840] Update contributors --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 280a9f4f1..86b529eb7 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -206,6 +206,7 @@ Listed in alphabetical order. Srinivas Nyayapati `@shireenrao`_ stepmr `@stepmr`_ Steve Steiner `@ssteinerX`_ + Sudarshan Wadkar `@wadkar`_ Sule Marshall `@suledev`_ Tano Abeleyra `@tanoabeleyra`_ Taylor Baldwin @@ -393,6 +394,7 @@ Listed in alphabetical order. .. _@umrashrf: https://github.com/umrashrf .. _@viviangb: https://github.com/viviangb .. _@vladdoster: https://github.com/vladdoster +.. _@wadkar: https://github.com/wadkar .. _@xpostudio4: https://github.com/xpostudio4 .. _@yrchen: https://github.com/yrchen .. _@yunti: https://github.com/yunti From 9cf47898f41b135b390f5e27c9c52b4a85fe6a8d Mon Sep 17 00:00:00 2001 From: Sudarshan Wadkar Date: Fri, 24 Apr 2020 14:00:27 +0530 Subject: [PATCH 0731/2840] Only consider TLDs while adding `www` route Instead of checking for `.co.XX` on best effort basis, we only check for the single dot in the domain_name indicating no subdomain usage. --- .../compose/production/traefik/traefik.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml index 5ff2e3636..cfd566a8d 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml @@ -26,10 +26,9 @@ certificatesResolvers: entryPoint: web http: - {%- set domain_dots = cookiecutter.domain_name.count('.') %} routers: web-router: - {%- if domain_dots == 1 or (domain_dots == 2 and '.co.' in cookiecutter.domain_name) %} + {%- if cookiecutter.domain_name.count('.') == 1 %} rule: "Host(`{{ cookiecutter.domain_name }}`) || Host(`www.{{ cookiecutter.domain_name }}`)" {% else %} rule: "Host(`{{ cookiecutter.domain_name }}`)" @@ -42,7 +41,7 @@ http: service: django web-secure-router: - {%- if domain_dots == 1 or (domain_dots == 2 and '.co.' in cookiecutter.domain_name) %} + {%- if cookiecutter.domain_name.count('.') == 1 %} rule: "Host(`{{ cookiecutter.domain_name }}`) || Host(`www.{{ cookiecutter.domain_name }}`)" {% else %} rule: "Host(`{{ cookiecutter.domain_name }}`)" From 4021286be0ba0d857d03f93212a3dd6e946ece01 Mon Sep 17 00:00:00 2001 From: Sudarshan Wadkar Date: Sat, 18 Apr 2020 00:13:12 +0530 Subject: [PATCH 0732/2840] Add condition to include .co.XX TLDs This is best effort checking of domain names and creating the traefik rules. These two checks should cover most of the use cases. --- .../compose/production/traefik/traefik.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml index 3f6d80721..5ff2e3636 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml @@ -26,9 +26,10 @@ certificatesResolvers: entryPoint: web http: + {%- set domain_dots = cookiecutter.domain_name.count('.') %} routers: web-router: - {%- if len(cookiecutter.domain_name.split('.')) == 2 %} + {%- if domain_dots == 1 or (domain_dots == 2 and '.co.' in cookiecutter.domain_name) %} rule: "Host(`{{ cookiecutter.domain_name }}`) || Host(`www.{{ cookiecutter.domain_name }}`)" {% else %} rule: "Host(`{{ cookiecutter.domain_name }}`)" @@ -41,7 +42,7 @@ http: service: django web-secure-router: - {%- if len(cookiecutter.domain_name.split('.')) == 2 %} + {%- if domain_dots == 1 or (domain_dots == 2 and '.co.' in cookiecutter.domain_name) %} rule: "Host(`{{ cookiecutter.domain_name }}`) || Host(`www.{{ cookiecutter.domain_name }}`)" {% else %} rule: "Host(`{{ cookiecutter.domain_name }}`)" From 1838ba37e0c74dd2c75225c1b02c157f02d378b0 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 24 Apr 2020 15:38:20 +0100 Subject: [PATCH 0733/2840] Remove the labeler workflow, it's broken with forks --- .github/labeler.yml | 11 ----------- .github/workflows/label.yml | 20 -------------------- 2 files changed, 31 deletions(-) delete mode 100644 .github/labeler.yml delete mode 100644 .github/workflows/label.yml diff --git a/.github/labeler.yml b/.github/labeler.yml deleted file mode 100644 index a29e237db..000000000 --- a/.github/labeler.yml +++ /dev/null @@ -1,11 +0,0 @@ -# Add 'docs' to any changes within 'docs' folder or any subfolders -docs: - - 'README.rst' - - 'docs/**/*' - - '{{cookiecutter.project_slug}}/docs/**/*' - -# Flag PR related to docker -docker: - - '{{cookiecutter.project_slug}}/compose/**/*' - - '{{cookiecutter.project_slug}}/local.yml' - - '{{cookiecutter.project_slug}}/production.yml' diff --git a/.github/workflows/label.yml b/.github/workflows/label.yml deleted file mode 100644 index 3df0ec0c0..000000000 --- a/.github/workflows/label.yml +++ /dev/null @@ -1,20 +0,0 @@ -# This workflow will triage pull requests and apply a label based on the -# paths that are modified in the pull request. -# -# To use this workflow, you will need to set up a .github/labeler.yml -# file with configuration. For more information, see: -# https://github.com/actions/labeler/blob/master/README.md - - -name: Labeler -on: [pull_request] - -jobs: - label: - - runs-on: ubuntu-latest - - steps: - - uses: actions/labeler@v2 - with: - repo-token: "${{ secrets.GITHUB_TOKEN }}" From f9c20af456750977f52927d30bbfa496a26d28da Mon Sep 17 00:00:00 2001 From: Hannah Lazarus Date: Thu, 16 Apr 2020 09:45:24 -0400 Subject: [PATCH 0734/2840] Add container_names for docker commands container_names make it possible to run docker commands without looking up container hash use in dev.yml --- CONTRIBUTORS.rst | 1 + docs/developing-locally-docker.rst | 9 +++++++++ {{cookiecutter.project_slug}}/local.yml | 8 ++++++++ 3 files changed, 18 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 86b529eb7..660ffc68f 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -128,6 +128,7 @@ Listed in alphabetical order. Guilherme Guy `@guilherme1guy`_ Hamish Durkin `@durkode`_ Hana Quadara `@hanaquadara`_ + Hannah Lazarus `@hanhanhan`_ Harry Moreno `@morenoh149`_ @morenoh149 Harry Percival `@hjwp`_ Hendrik Schneider `@hendrikschneider`_ diff --git a/docs/developing-locally-docker.rst b/docs/developing-locally-docker.rst index 09e684986..d6b4146d5 100644 --- a/docs/developing-locally-docker.rst +++ b/docs/developing-locally-docker.rst @@ -154,6 +154,15 @@ django-debug-toolbar In order for ``django-debug-toolbar`` to work designate your Docker Machine IP with ``INTERNAL_IPS`` in ``local.py``. +docker +"""""" + +The ``container_name`` from the yml file can be used to check on containers with docker commands, for example: :: + + $ docker logs worker + $ docker top worker + + Mailhog ~~~~~~~ diff --git a/{{cookiecutter.project_slug}}/local.yml b/{{cookiecutter.project_slug}}/local.yml index 60f8f9228..b603f1778 100644 --- a/{{cookiecutter.project_slug}}/local.yml +++ b/{{cookiecutter.project_slug}}/local.yml @@ -10,6 +10,7 @@ services: context: . dockerfile: ./compose/local/django/Dockerfile image: {{ cookiecutter.project_slug }}_local_django + container_name: django depends_on: - postgres {%- if cookiecutter.use_mailhog == 'y' %} @@ -29,6 +30,7 @@ services: context: . dockerfile: ./compose/production/postgres/Dockerfile image: {{ cookiecutter.project_slug }}_production_postgres + container_name: postgres volumes: - local_postgres_data:/var/lib/postgresql/data - local_postgres_data_backups:/backups @@ -38,6 +40,7 @@ services: mailhog: image: mailhog/mailhog:v1.0.0 + container_name: mailhog ports: - "8025:8025" @@ -46,10 +49,12 @@ services: redis: image: redis:5.0 + container_name: redis celeryworker: <<: *django image: {{ cookiecutter.project_slug }}_local_celeryworker + container_name: celeryworker depends_on: - redis - postgres @@ -62,6 +67,7 @@ services: celerybeat: <<: *django image: {{ cookiecutter.project_slug }}_local_celerybeat + container_name: celerybeat depends_on: - redis - postgres @@ -74,6 +80,7 @@ services: flower: <<: *django image: {{ cookiecutter.project_slug }}_local_flower + container_name: flower ports: - "5555:5555" command: /start-flower @@ -86,6 +93,7 @@ services: context: . dockerfile: ./compose/local/node/Dockerfile image: {{ cookiecutter.project_slug }}_local_node + container_name: node depends_on: - django volumes: From 95ca7ca29171fc98307219d3d95257e736528635 Mon Sep 17 00:00:00 2001 From: Tano Abeleyra Date: Fri, 24 Apr 2020 21:29:59 -0300 Subject: [PATCH 0735/2840] Update django-redis links --- {{cookiecutter.project_slug}}/config/settings/production.py | 2 +- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index cea29b8e5..c13f1aebe 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -34,7 +34,7 @@ CACHES = { "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", # Mimicing memcache behavior. - # http://niwinz.github.io/django-redis/latest/#_memcached_exceptions_behavior + # http://jazzband.github.io/django-redis/latest/#_memcached_exceptions_behavior "IGNORE_EXCEPTIONS": True, }, } diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 896110c2d..62db8c794 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -31,7 +31,7 @@ django-crispy-forms==1.9.0 # https://github.com/django-crispy-forms/django-cris {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.4 # https://github.com/django-compressor/django-compressor {%- endif %} -django-redis==4.11.0 # https://github.com/niwinz/django-redis +django-redis==4.11.0 # https://github.com/jazzband/django-redis {%- if cookiecutter.use_drf == "y" %} # Django REST Framework djangorestframework==3.11.0 # https://github.com/encode/django-rest-framework From b8a1805a9fd4dd81f798d34bb67143d63d867bc4 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 26 Apr 2020 12:00:30 +0100 Subject: [PATCH 0736/2840] Update pillow from 7.1.1 to 7.1.2 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 62db8c794..0a81a003e 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,6 +1,6 @@ pytz==2019.3 # https://github.com/stub42/pytz python-slugify==4.0.0 # https://github.com/un33k/python-slugify -Pillow==7.1.1 # https://github.com/python-pillow/Pillow +Pillow==7.1.2 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin {%- endif %} From 393526bc4795be176d2a86944e77904c0085a497 Mon Sep 17 00:00:00 2001 From: Jonathan Thompson Date: Mon, 27 Apr 2020 02:31:46 +0000 Subject: [PATCH 0737/2840] Clarify the installation steps for local setup Added a link to Cookiecutter as a prerequisite. Added an installation command for cookiecutter-django. Added a command for git init. The precommit install fails unless you have a git repo. This should make it easier for a newcomer to get things configured. --- docs/developing-locally.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst index 4f70414cb..dc146c232 100644 --- a/docs/developing-locally.rst +++ b/docs/developing-locally.rst @@ -12,6 +12,7 @@ Make sure to have the following on your host: * Python 3.8 * PostgreSQL_. * Redis_, if using Celery +* Cookiecutter_ First things first. @@ -23,9 +24,14 @@ First things first. $ source /bin/activate +#. Install cookiecutter-django + + $ cookiecutter gh:pydanny/cookiecutter-django :: + #. Install development requirements: :: $ pip install -r requirements/local.txt + $ git init # A git repo is required for pre-commit to install $ pre-commit install .. note:: @@ -78,6 +84,7 @@ or if you're running asynchronously: :: .. _PostgreSQL: https://www.postgresql.org/download/ .. _Redis: https://redis.io/download +.. _CookieCutter: https://github.com/cookiecutter/cookiecutter .. _createdb: https://www.postgresql.org/docs/current/static/app-createdb.html .. _initial PostgreSQL set up: http://suite.opengeo.org/docs/latest/dataadmin/pgGettingStarted/firstconnect.html .. _postgres documentation: https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html From a34e3a53c66f7953dbc03d010e4685b41272bfa3 Mon Sep 17 00:00:00 2001 From: Jonathan Thompson Date: Mon, 27 Apr 2020 02:38:51 +0000 Subject: [PATCH 0738/2840] Update CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 86b529eb7..39e05c3fb 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -145,6 +145,7 @@ Listed in alphabetical order. Jerome Leclanche `@jleclanche`_ @Adys Jimmy Gitonga `@afrowave`_ @afrowave John Cass `@jcass77`_ @cass_john + Jonathan Thompson `@nojanath`_ Jules Cheron `@jules-ch`_ Julien Almarcha `@sladinji`_ Julio Castillo `@juliocc`_ @@ -357,6 +358,7 @@ Listed in alphabetical order. .. _@myilmaz: https://github.com/myilmaz .. _@nicolas471: https://github.com/nicolas471 .. _@noisy: https://github.com/noisy +.. _@nojanath: https://github.com/nojanath .. _@originell: https://github.com/originell .. _@oubiga: https://github.com/oubiga .. _@parbhat: https://github.com/parbhat From 04d8b06035bb052f05147c160f303e33fd119729 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 27 Apr 2020 12:00:31 +0100 Subject: [PATCH 0739/2840] Update sphinx from 3.0.2 to 3.0.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index f6be44b51..bf78bce03 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==1.0.1 # https://github.com/pallets/werkzeug ipdb==0.13.2 # https://github.com/gotcha/ipdb -Sphinx==3.0.2 # https://github.com/sphinx-doc/sphinx +Sphinx==3.0.3 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From 3d8c4627f4cc7a49cb6a63b1bec2990f1397aaa5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 27 Apr 2020 12:00:36 +0100 Subject: [PATCH 0740/2840] Update pytest-sugar from 0.9.2 to 0.9.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index f6be44b51..9cc7111db 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -14,7 +14,7 @@ psycopg2-binary==2.8.5 # https://github.com/psycopg/psycopg2 mypy==0.770 # https://github.com/python/mypy django-stubs==1.5.0 # https://github.com/typeddjango/django-stubs pytest==5.3.5 # https://github.com/pytest-dev/pytest -pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar +pytest-sugar==0.9.3 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ From 84d871a1cdcd5118e3ea31dd86f08b8cdabd5cc0 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 27 Apr 2020 11:40:16 -0700 Subject: [PATCH 0741/2840] Update sh from 1.12.14 to 1.13.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index c5601892c..ddd77cece 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ cookiecutter==1.7.2 -sh==1.12.14 +sh==1.13.0 binaryornot==0.4.4 # Code quality From f13f3dc2bf16f8fe40d6bb10b89846ce8c8bb503 Mon Sep 17 00:00:00 2001 From: Pilhwan Kim Date: Tue, 28 Apr 2020 12:41:51 +0900 Subject: [PATCH 0742/2840] add use drf tests --- hooks/post_gen_project.py | 2 ++ .../users/tests/test_drf_urls.py | 24 +++++++++++++++ .../users/tests/test_drf_views.py | 30 +++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_urls.py create mode 100644 {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index ad1db3ee6..21d680e08 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -299,6 +299,8 @@ def remove_aws_dockerfile(): def remove_drf_starter_files(): os.remove(os.path.join("config", "api_router.py")) shutil.rmtree(os.path.join("{{cookiecutter.project_slug}}", "users", "api")) + os.remove(os.path.join("{{cookiecutter.project_slug}}", "users", "tests", "test_drf_urls.py")) + os.remove(os.path.join("{{cookiecutter.project_slug}}", "users", "tests", "test_drf_views.py")) def remove_storages_module(): diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_urls.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_urls.py new file mode 100644 index 000000000..83b623f45 --- /dev/null +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_urls.py @@ -0,0 +1,24 @@ +import pytest +from django.urls import resolve, reverse + +from {{ cookiecutter.project_slug }}.users.models import User + +pytestmark = pytest.mark.django_db + + +def test_user_detail(user: User): + assert ( + reverse("api:user-detail", kwargs={"username": user.username}) + == f"/api/users/{user.username}/" + ) + assert resolve(f"/api/users/{user.username}/").view_name == "api:user-detail" + + +def test_user_list(): + assert reverse("api:user-list") == "/api/users/" + assert resolve("/api/users/").view_name == "api:user-list" + + +def test_user_me(): + assert reverse("api:user-me") == "/api/users/me/" + assert resolve("/api/users/me/").view_name == "api:user-me" diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py new file mode 100644 index 000000000..89c3c1a97 --- /dev/null +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py @@ -0,0 +1,30 @@ +import pytest +from django.test import RequestFactory + +from {{ cookiecutter.project_slug }}.users.models import User +from {{ cookiecutter.project_slug }}.users.api.views import UserViewSet +from {{ cookiecutter.project_slug }}.users.api.serializers import UserSerializer + +pytestmark = pytest.mark.django_db + + +class TestUserViewSet: + def test_get_queryset(self, user: User, rf: RequestFactory): + view = UserViewSet() + request = rf.get("/fake-url/") + request.user = user + + view.request = request + + assert user in view.get_queryset() + + def test_me(self, user: User, rf: RequestFactory): + view = UserViewSet() + request = rf.get("/fake-url/") + request.user = user + + view.request = request + + response = view.me(request) + + assert response.data == UserSerializer(user, context={"request": request}).data From 0c2af32b8d9808e443e36bde52f85d1b5b8e4893 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 28 Apr 2020 12:00:34 +0100 Subject: [PATCH 0743/2840] Update pytz from 2019.3 to 2020.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 0a81a003e..b9e26d397 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,4 +1,4 @@ -pytz==2019.3 # https://github.com/stub42/pytz +pytz==2020.1 # https://github.com/stub42/pytz python-slugify==4.0.0 # https://github.com/un33k/python-slugify Pillow==7.1.2 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} From 4eb718c6837888c19abbd59e4080ee38e40baa25 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 14 Mar 2020 11:00:30 +0000 Subject: [PATCH 0744/2840] Update pytest from 5.3.5 to 5.4.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index d4d9897b5..e3d013dc3 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -13,7 +13,7 @@ psycopg2-binary==2.8.5 # https://github.com/psycopg/psycopg2 # ------------------------------------------------------------------------------ mypy==0.770 # https://github.com/python/mypy django-stubs==1.5.0 # https://github.com/typeddjango/django-stubs -pytest==5.3.5 # https://github.com/pytest-dev/pytest +pytest==5.4.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.3 # https://github.com/Frozenball/pytest-sugar # Code quality From f402437fb543d07902e3571fea31bb7b6f2f361f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 28 Apr 2020 12:49:05 +0100 Subject: [PATCH 0745/2840] Fix broken link in CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 5f2de4713..54031c30c 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -313,6 +313,7 @@ Listed in alphabetical order. .. _@hackebrot: https://github.com/hackebrot .. _@hairychris: https://github.com/hairychris .. _@hanaquadara: https://github.com/hanaquadara +.. _@hanhanhan: https://github.com/hanhanhan .. _@hendrikschneider: https://github.com/hendrikschneider .. _@highpost: https://github.com/highpost .. _@hjwp: https://github.com/hjwp From ed60aa36ee39b5ade0c2e2ad2798c4197e45bced Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 28 Apr 2020 07:40:23 -0700 Subject: [PATCH 0746/2840] Update sh from 1.13.0 to 1.13.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index ddd77cece..18439a352 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ cookiecutter==1.7.2 -sh==1.13.0 +sh==1.13.1 binaryornot==0.4.4 # Code quality From c54c4f5ef7ebe4ee85e96dd9e72df4a49a7242d1 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Tue, 28 Apr 2020 16:26:34 -0400 Subject: [PATCH 0747/2840] Fix reloading when using async --- {{cookiecutter.project_slug}}/compose/local/django/start | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/start b/{{cookiecutter.project_slug}}/compose/local/django/start index 9c0b43d1f..660eda34c 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/start @@ -7,7 +7,7 @@ set -o nounset python manage.py migrate {%- if cookiecutter.use_async == 'y' %} -/usr/local/bin/gunicorn config.asgi --bind 0.0.0.0:8000 --chdir=/app -k uvicorn.workers.UvicornWorker --reload +uvicorn config.asgi:application --host 0.0.0.0 --reload {%- else %} python manage.py runserver_plus 0.0.0.0:8000 {% endif %} From 672be773a376ce27a35b81573388e12c460af11a Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 28 Apr 2020 23:18:52 +0100 Subject: [PATCH 0748/2840] Fix formatting --- hooks/post_gen_project.py | 12 ++++++++++-- .../users/tests/test_drf_views.py | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index 21d680e08..13d0ff00a 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -299,8 +299,16 @@ def remove_aws_dockerfile(): def remove_drf_starter_files(): os.remove(os.path.join("config", "api_router.py")) shutil.rmtree(os.path.join("{{cookiecutter.project_slug}}", "users", "api")) - os.remove(os.path.join("{{cookiecutter.project_slug}}", "users", "tests", "test_drf_urls.py")) - os.remove(os.path.join("{{cookiecutter.project_slug}}", "users", "tests", "test_drf_views.py")) + os.remove( + os.path.join( + "{{cookiecutter.project_slug}}", "users", "tests", "test_drf_urls.py" + ) + ) + os.remove( + os.path.join( + "{{cookiecutter.project_slug}}", "users", "tests", "test_drf_views.py" + ) + ) def remove_storages_module(): diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py index 89c3c1a97..28f7526b7 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py @@ -1,9 +1,9 @@ import pytest from django.test import RequestFactory -from {{ cookiecutter.project_slug }}.users.models import User -from {{ cookiecutter.project_slug }}.users.api.views import UserViewSet from {{ cookiecutter.project_slug }}.users.api.serializers import UserSerializer +from {{ cookiecutter.project_slug }}.users.api.views import UserViewSet +from {{ cookiecutter.project_slug }}.users.models import User pytestmark = pytest.mark.django_db From 5a9648fa90c10afb4a2a26b24bf82c0521ef680e Mon Sep 17 00:00:00 2001 From: Leon Kim Date: Wed, 29 Apr 2020 08:41:33 +0900 Subject: [PATCH 0749/2840] Update {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py OK. I agree with your idea. Even to me, this code is more explicit to check result. Co-Authored-By: Bruno Alla --- .../users/tests/test_drf_views.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py index 28f7526b7..9861af32f 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py @@ -27,4 +27,9 @@ class TestUserViewSet: response = view.me(request) - assert response.data == UserSerializer(user, context={"request": request}).data + assert response.data == { + "username": user.username, + "email": user.email, + "name": user.name, + "url": f"/api/users/{user.username}/", + } From 29fea6efa375a7181ae3be3491e4b1db7a1d1219 Mon Sep 17 00:00:00 2001 From: Pilhwan Kim Date: Wed, 29 Apr 2020 08:54:32 +0900 Subject: [PATCH 0750/2840] remove import UserSerializer in tesf_drf_views.py --- .../users/tests/test_drf_views.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py index 9861af32f..48147f87a 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py @@ -1,7 +1,6 @@ import pytest from django.test import RequestFactory -from {{ cookiecutter.project_slug }}.users.api.serializers import UserSerializer from {{ cookiecutter.project_slug }}.users.api.views import UserViewSet from {{ cookiecutter.project_slug }}.users.models import User @@ -28,8 +27,8 @@ class TestUserViewSet: response = view.me(request) assert response.data == { - "username": user.username, - "email": user.email, - "name": user.name, + "username": user.username, + "email": user.email, + "name": user.name, "url": f"/api/users/{user.username}/", } From e46c9969ddabad3b6a4b184ecf4de7848849308a Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 29 Apr 2020 09:13:18 +0100 Subject: [PATCH 0751/2840] Run DRF tests on Travis --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index b250148e0..9abf37a18 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,8 +19,8 @@ matrix: script: tox -e black-template - name: Basic Docker script: sh tests/test_docker.sh - - name: Docker with Celery - script: sh tests/test_docker.sh use_celery=y + - name: Extended Docker + script: sh tests/test_docker.sh use_celery=y use_drf=y - name: Bare metal script: sh tests/test_bare.sh use_celery=y use_compressor=y services: From d1c9791e9581baed2e918c140b177eb9991038d9 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 29 Apr 2020 09:17:19 +0100 Subject: [PATCH 0752/2840] Update CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 39e05c3fb..81958bfd1 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -161,6 +161,7 @@ Listed in alphabetical order. Krzysztof Żuraw `@krzysztofzuraw`_ Leo won `@leollon`_ Leo Zhou `@glasslion`_ + Leon Kim `@PilhwanKim`_ Leonardo Jimenez `@xpostudio4`_ Lin Xianyi `@iynaix`_ Luis Nell `@originell`_ @@ -365,6 +366,7 @@ Listed in alphabetical order. .. _@rjsnh1522: https://github.com/rjsnh1522 .. _@pchiquet: https://github.com/pchiquet .. _@phiberjenz: https://github.com/phiberjenz +.. _@PilhwanKim: https://github.com/PilhwanKim .. _@purplediane: https://github.com/purplediane .. _@raonyguimaraes: https://github.com/raonyguimaraes .. _@reggieriser: https://github.com/reggieriser From 01b84128057463999625631bd5d6874755db0f50 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 29 Apr 2020 09:23:27 +0100 Subject: [PATCH 0753/2840] Fix expected value --- .../{{cookiecutter.project_slug}}/users/tests/test_drf_views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py index 48147f87a..60944ad3b 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py @@ -30,5 +30,5 @@ class TestUserViewSet: "username": user.username, "email": user.email, "name": user.name, - "url": f"/api/users/{user.username}/", + "url": f"http://testserver/api/users/{user.username}/", } From 47e82bd0849351b96f33f532b07a27a7d79f69ad Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 29 Apr 2020 12:00:30 +0100 Subject: [PATCH 0754/2840] Update uvicorn from 0.11.3 to 0.11.5 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index b9e26d397..c2d5babf5 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -17,7 +17,7 @@ flower==0.9.4 # https://github.com/mher/flower {%- endif %} {%- endif %} {%- if cookiecutter.use_async == 'y' %} -uvicorn==0.11.3 # https://github.com/encode/uvicorn +uvicorn==0.11.5 # https://github.com/encode/uvicorn gunicorn==20.0.4 # https://github.com/benoitc/gunicorn {%- endif %} From d16d0aa5c4e67d439234a0e7d2e0ff57da3def98 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Wed, 29 Apr 2020 15:56:09 -0400 Subject: [PATCH 0755/2840] Add watchgod for uvicorn --- {{cookiecutter.project_slug}}/requirements/base.txt | 1 - {{cookiecutter.project_slug}}/requirements/local.txt | 3 +++ {{cookiecutter.project_slug}}/requirements/production.txt | 2 -- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index c2d5babf5..1f1450c40 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -18,7 +18,6 @@ flower==0.9.4 # https://github.com/mher/flower {%- endif %} {%- if cookiecutter.use_async == 'y' %} uvicorn==0.11.5 # https://github.com/encode/uvicorn -gunicorn==20.0.4 # https://github.com/benoitc/gunicorn {%- endif %} # Django diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index e3d013dc3..9860c74b2 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -8,6 +8,9 @@ psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} psycopg2-binary==2.8.5 # https://github.com/psycopg/psycopg2 {%- endif %} +{%- if cookiecutter.use_async == 'y' %} +watchgod==0.6 # https://github.com/samuelcolvin/watchgod +{%- endif %} # Testing # ------------------------------------------------------------------------------ diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index b45afb66e..83ed366f4 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -2,9 +2,7 @@ -r ./base.txt -{%- if cookiecutter.use_async == 'n' %} gunicorn==20.0.4 # https://github.com/benoitc/gunicorn -{%- endif %} psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==2.1.0 # https://github.com/antonagestam/collectfast From dfd1ee8bb2fd62fdf40fa60aa14821263bd98f94 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Wed, 29 Apr 2020 16:31:19 -0400 Subject: [PATCH 0756/2840] Use hiredis --- {{cookiecutter.project_slug}}/config/settings/production.py | 1 + {{cookiecutter.project_slug}}/requirements/base.txt | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index c13f1aebe..6edc4ada3 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -36,6 +36,7 @@ CACHES = { # Mimicing memcache behavior. # http://jazzband.github.io/django-redis/latest/#_memcached_exceptions_behavior "IGNORE_EXCEPTIONS": True, + "PARSER_CLASS": "redis.connection.HiredisParser", }, } } diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index c2d5babf5..1783c8c19 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,8 @@ argon2-cffi==19.2.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==5.0.1 # https://github.com/evansd/whitenoise {%- endif %} -redis==3.4.1 # https://github.com/andymccurdy/redis-py +redis==3.4.1 # https://github.com/andymccurdy/redis-py +hiredis==1.0.1 # https://github.com/redis/hiredis-py {%- if cookiecutter.use_celery == "y" %} celery==4.4.2 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==2.0.0 # https://github.com/celery/django-celery-beat From 4d54dcaa3218327b851dcbef03d50225dc3a4cf3 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Wed, 29 Apr 2020 16:42:24 -0400 Subject: [PATCH 0757/2840] Put hiredis in production only if using Win --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 ++ {{cookiecutter.project_slug}}/requirements/production.txt | 3 +++ 2 files changed, 5 insertions(+) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 1783c8c19..0455e749c 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -9,7 +9,9 @@ argon2-cffi==19.2.0 # https://github.com/hynek/argon2_cffi whitenoise==5.0.1 # https://github.com/evansd/whitenoise {%- endif %} redis==3.4.1 # https://github.com/andymccurdy/redis-py +{%- if cookiecutter.windows == "n" %} hiredis==1.0.1 # https://github.com/redis/hiredis-py +{%- endif %} {%- if cookiecutter.use_celery == "y" %} celery==4.4.2 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==2.0.0 # https://github.com/celery/django-celery-beat diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index b45afb66e..51389345b 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -12,6 +12,9 @@ Collectfast==2.1.0 # https://github.com/antonagestam/collectfast {%- if cookiecutter.use_sentry == "y" %} sentry-sdk==0.14.3 # https://github.com/getsentry/sentry-python {%- endif %} +{%- if cookiecutter.windows == "y" %} +hiredis==1.0.1 # https://github.com/redis/hiredis-py +{%- endif %} # Django # ------------------------------------------------------------------------------ From f2a7c719e278c0ae0d8baeca64898595b2f72d6e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 30 Apr 2020 12:00:30 +0100 Subject: [PATCH 0758/2840] Update redis from 3.4.1 to 3.5.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index c2d5babf5..4c1b55e10 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -8,7 +8,7 @@ argon2-cffi==19.2.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} whitenoise==5.0.1 # https://github.com/evansd/whitenoise {%- endif %} -redis==3.4.1 # https://github.com/andymccurdy/redis-py +redis==3.5.0 # https://github.com/andymccurdy/redis-py {%- if cookiecutter.use_celery == "y" %} celery==4.4.2 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==2.0.0 # https://github.com/celery/django-celery-beat From 1247f0639552355a17fb74c816adb4f754151932 Mon Sep 17 00:00:00 2001 From: "Fabio C. Barrionuevo da Luz" Date: Wed, 29 Apr 2020 19:07:21 -0300 Subject: [PATCH 0759/2840] Make sure to resolve symbolic links, uses an absolute path in ROOT_DIR and raise an error if the path does not exist by using the "resolve" method. Use "parent.parent.parent" instead of "parents[2]" --- {{cookiecutter.project_slug}}/config/asgi.py | 4 ++-- {{cookiecutter.project_slug}}/config/settings/base.py | 4 ++-- {{cookiecutter.project_slug}}/config/wsgi.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/asgi.py b/{{cookiecutter.project_slug}}/config/asgi.py index 562ecf402..8c99bbf53 100644 --- a/{{cookiecutter.project_slug}}/config/asgi.py +++ b/{{cookiecutter.project_slug}}/config/asgi.py @@ -15,8 +15,8 @@ from django.core.asgi import get_asgi_application # This allows easy placement of apps within the interior # {{ cookiecutter.project_slug }} directory. -app_path = Path(__file__).parents[1].resolve() -sys.path.append(str(app_path / "{{ cookiecutter.project_slug }}")) +ROOT_DIR = Path(__file__).resolve(strict=True).parent.parent +sys.path.append(str(ROOT_DIR / "{{ cookiecutter.project_slug }}")) # If DJANGO_SETTINGS_MODULE is unset, default to the local settings os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local") diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 390f2252c..7f339fadc 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -5,8 +5,8 @@ from pathlib import Path import environ -ROOT_DIR = Path(__file__).parents[2] -# {{ cookiecutter.project_slug }}/) +ROOT_DIR = Path(__file__).resolve(strict=True).parent.parent.parent +# {{ cookiecutter.project_slug }}/ APPS_DIR = ROOT_DIR / "{{ cookiecutter.project_slug }}" env = environ.Env() diff --git a/{{cookiecutter.project_slug}}/config/wsgi.py b/{{cookiecutter.project_slug}}/config/wsgi.py index fccfea354..a7de581ca 100644 --- a/{{cookiecutter.project_slug}}/config/wsgi.py +++ b/{{cookiecutter.project_slug}}/config/wsgi.py @@ -21,8 +21,8 @@ from django.core.wsgi import get_wsgi_application # This allows easy placement of apps within the interior # {{ cookiecutter.project_slug }} directory. -app_path = Path(__file__).parents[1].resolve() -sys.path.append(str(app_path / "{{ cookiecutter.project_slug }}")) +ROOT_DIR = Path(__file__).resolve(strict=True).parent.parent +sys.path.append(str(ROOT_DIR / "{{ cookiecutter.project_slug }}")) # We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks # if running multiple sites in the same mod_wsgi process. To fix this, use # mod_wsgi daemon mode with each site in its own daemon process, or use From 3152bdaeb37c863a4e7942d8a243af1d7453c9ce Mon Sep 17 00:00:00 2001 From: Hannah Lazarus Date: Fri, 24 Apr 2020 10:23:41 -0400 Subject: [PATCH 0760/2840] Add sphinx defaults for cookiecutter'd project -serve, watch + live reload for docs + code file changes -update project makefile + make.bat -separate _source and _build -add packages and paths to use autodoc -edit/add documentation with examples (both at django-cookiecutter and inside generated project) -add formatted comments in User model for pickup by Sphinx apidoc -serve docs from a separate docs container for docker build --- CONTRIBUTORS.rst | 1 + docs/document.rst | 36 ++++---------- .../compose/local/docs/Dockerfile | 30 +++++++++++ {{cookiecutter.project_slug}}/docs/Makefile | 34 ++++++++++--- .../docs/_source/howto.rst | 47 ++++++++++++++++++ .../docs/{ => _source}/index.rst | 2 + .../{ => _source}/pycharm/configuration.rst | 0 .../docs/{ => _source}/pycharm/images/1.png | Bin .../docs/{ => _source}/pycharm/images/2.png | Bin .../docs/{ => _source}/pycharm/images/3.png | Bin .../docs/{ => _source}/pycharm/images/4.png | Bin .../docs/{ => _source}/pycharm/images/7.png | Bin .../docs/{ => _source}/pycharm/images/8.png | Bin .../docs/{ => _source}/pycharm/images/f1.png | Bin .../docs/{ => _source}/pycharm/images/f2.png | Bin .../docs/{ => _source}/pycharm/images/f3.png | Bin .../docs/{ => _source}/pycharm/images/f4.png | Bin .../{ => _source}/pycharm/images/issue1.png | Bin .../{ => _source}/pycharm/images/issue2.png | Bin .../docs/_source/users.rst | 15 ++++++ {{cookiecutter.project_slug}}/docs/conf.py | 26 ++++++---- {{cookiecutter.project_slug}}/docs/make.bat | 19 +++++-- {{cookiecutter.project_slug}}/local.yml | 16 ++++++ .../requirements/local.txt | 6 ++- .../users/models.py | 11 +++- 25 files changed, 193 insertions(+), 50 deletions(-) create mode 100644 {{cookiecutter.project_slug}}/compose/local/docs/Dockerfile create mode 100644 {{cookiecutter.project_slug}}/docs/_source/howto.rst rename {{cookiecutter.project_slug}}/docs/{ => _source}/index.rst (96%) rename {{cookiecutter.project_slug}}/docs/{ => _source}/pycharm/configuration.rst (100%) rename {{cookiecutter.project_slug}}/docs/{ => _source}/pycharm/images/1.png (100%) rename {{cookiecutter.project_slug}}/docs/{ => _source}/pycharm/images/2.png (100%) rename {{cookiecutter.project_slug}}/docs/{ => _source}/pycharm/images/3.png (100%) rename {{cookiecutter.project_slug}}/docs/{ => _source}/pycharm/images/4.png (100%) rename {{cookiecutter.project_slug}}/docs/{ => _source}/pycharm/images/7.png (100%) rename {{cookiecutter.project_slug}}/docs/{ => _source}/pycharm/images/8.png (100%) rename {{cookiecutter.project_slug}}/docs/{ => _source}/pycharm/images/f1.png (100%) rename {{cookiecutter.project_slug}}/docs/{ => _source}/pycharm/images/f2.png (100%) rename {{cookiecutter.project_slug}}/docs/{ => _source}/pycharm/images/f3.png (100%) rename {{cookiecutter.project_slug}}/docs/{ => _source}/pycharm/images/f4.png (100%) rename {{cookiecutter.project_slug}}/docs/{ => _source}/pycharm/images/issue1.png (100%) rename {{cookiecutter.project_slug}}/docs/{ => _source}/pycharm/images/issue2.png (100%) create mode 100644 {{cookiecutter.project_slug}}/docs/_source/users.rst diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 86b529eb7..660ffc68f 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -128,6 +128,7 @@ Listed in alphabetical order. Guilherme Guy `@guilherme1guy`_ Hamish Durkin `@durkode`_ Hana Quadara `@hanaquadara`_ + Hannah Lazarus `@hanhanhan`_ Harry Moreno `@morenoh149`_ @morenoh149 Harry Percival `@hjwp`_ Hendrik Schneider `@hendrikschneider`_ diff --git a/docs/document.rst b/docs/document.rst index 7207e357c..990bbe8a7 100644 --- a/docs/document.rst +++ b/docs/document.rst @@ -4,42 +4,26 @@ Document ========= This project uses Sphinx_ documentation generator. -After you have set up to `develop locally`_, run the following commands to generate the HTML documentation: :: - $ sphinx-build docs/ docs/_build/html/ +After you have set up to `develop locally`_, run the following command from the project directory to build and serve HTML documentation: :: + + $ make -C docs livehtml If you set up your project to `develop locally with docker`_, run the following command: :: - $ docker-compose -f local.yml run --rm django sphinx-build docs/ docs/_build/html/ + $ docker-compose -f local.yml up docs + +Navigate to port 7000 on your host to see the documentation. This will be opened automatically at `localhost`_ for local, non-docker development. Generate API documentation ---------------------------- -Sphinx can automatically generate documentation from docstrings, to enable this feature, follow these steps: +Edit the docs/_source files and project application docstrings to create your documentation. -1. Add Sphinx extension in ``docs/conf.py`` file, like below: :: - - extensions = [ - 'sphinx.ext.autodoc', - ] - -2. Uncomment the following lines in the ``docs/conf.py`` file: :: - - # import django - # sys.path.insert(0, os.path.abspath('..')) - # os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local") - # django.setup() - -3. Run the following command: :: - - $ sphinx-apidoc -f -o ./docs/modules/ ./tpub/ migrations/* - - If you set up your project to `develop locally with docker`_, run the following command: :: - - $ docker-compose -f local.yml run --rm django sphinx-apidoc -f -o ./docs/modules ./tpub/ migrations/* - -4. Regenerate HTML documentation as written above. +Sphinx can automatically include class and function signatures and docstrings in generated documentation. +See the generated project documentation for more examples. +.. _localhost: http://localhost:7000/ .. _Sphinx: https://www.sphinx-doc.org/en/master/index.html .. _develop locally: ./developing-locally.html .. _develop locally with docker: ./developing-locally-docker.html diff --git a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile new file mode 100644 index 000000000..7e79b0fa0 --- /dev/null +++ b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile @@ -0,0 +1,30 @@ +FROM python:3.8-slim-buster + +ENV PYTHONUNBUFFERED 1 +ENV PYTHONDONTWRITEBYTECODE 1 + +RUN apt-get update \ + # dependencies for building Python packages + && apt-get install -y build-essential \ + # psycopg2 dependencies + && apt-get install -y libpq-dev \ + # Translations dependencies + && apt-get install -y gettext \ + # Enable Sphinx output to latex and pdf + && apt-get install -y texlive-latex-recommended \ + && apt-get install -y texlive-fonts-recommended \ + && apt-get install -y texlive-latex-extra \ + && apt-get install -y latexmk \ + # cleaning up unused files + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ + && rm -rf /var/lib/apt/lists/* + +# Requirements are installed here to ensure they will be cached. +COPY ./requirements /requirements +# All imports needed for autodoc. +RUN pip install -r /requirements/local.txt +RUN pip install -r /requirements/production.txt + +WORKDIR /docs + +CMD make livehtml diff --git a/{{cookiecutter.project_slug}}/docs/Makefile b/{{cookiecutter.project_slug}}/docs/Makefile index d4bb2cbb9..90f61de32 100644 --- a/{{cookiecutter.project_slug}}/docs/Makefile +++ b/{{cookiecutter.project_slug}}/docs/Makefile @@ -3,18 +3,38 @@ # You can set these variables from the command line, and also # from the environment for the first two. -SPHINXOPTS ?= -SPHINXBUILD ?= sphinx-build -SOURCEDIR = . -BUILDDIR = _build +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build -c . +SOURCEDIR = ./_source +BUILDDIR = ./_build +{%- if cookiecutter.use_docker == 'y' %} +APP = /app +{%- else %} +APP = ../{{cookiecutter.project_slug}} +{% endif %} + +.PHONY: help livehtml apidocs Makefile # Put it first so that "make" without argument is like "make help". help: - @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + @$(SPHINXBUILD) help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -.PHONY: help Makefile +# Build, watch and serve docs with live reload +livehtml: + sphinx-autobuild -b html + {%- if cookiecutter.use_docker == 'y' %} -H 0.0.0.0 + {%- else %} --open-browser + {%- endif %} -p 7000 --watch $(APP) -c . $(SOURCEDIR) $(BUILDDIR)/html + +# Outputs rst files from django application code +apidocs: + {%- if cookiecutter.use_docker == 'y' %} + sphinx-apidoc -o $(SOURCEDIR)/api /app + {%- else %} + sphinx-apidoc -o $(SOURCEDIR)/api ../{{cookiecutter.project_slug}} + {%- endif %} # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + @$(SPHINXBUILD) -b $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/{{cookiecutter.project_slug}}/docs/_source/howto.rst b/{{cookiecutter.project_slug}}/docs/_source/howto.rst new file mode 100644 index 000000000..309277427 --- /dev/null +++ b/{{cookiecutter.project_slug}}/docs/_source/howto.rst @@ -0,0 +1,47 @@ +How To - Project Documentation +====================================================================== + +Get Started +---------------------------------------------------------------------- + +Documentation can be written as rst files in the `{{cookiecutter.project_slug}}/docs/_source`. + +{% if cookiecutter.use_docker == 'n' %} +To build and serve docs, use the command: + :: + + make livehtml + +from inside the `{{cookiecutter.project_slug}}/docs` directory. +{% else %} +To build and serve docs, use the commands: + :: + + docker-compose -f local.yml build + docker run docs +{% endif %} + +Changes to files in `docs/_source` will be picked up and reloaded automatically. + +`Sphinx `_ is the tool used to build documentation. + +Docstrings to Documentation +---------------------------------------------------------------------- + +The sphinx extension `apidoc `_ is used to automatically document code using signatures and docstrings. + +Numpy or Google style docstrings will be picked up from project files and availble for documentation. See the `Napoleon `_ extension for details. + +For an in-use example, see the `page source <_sources/users.rst.txt>`_ for :ref:`users`. + +To compile all docstrings automatically into documentation source files, use the command: + :: + + make apidocs + +{% if cookiecutter.use_docker == 'y' %} +This can be done in the docker container: + :: + + docker run --rm docs make apidocs +{% endif -%} diff --git a/{{cookiecutter.project_slug}}/docs/index.rst b/{{cookiecutter.project_slug}}/docs/_source/index.rst similarity index 96% rename from {{cookiecutter.project_slug}}/docs/index.rst rename to {{cookiecutter.project_slug}}/docs/_source/index.rst index b107a9e5c..5fafc6966 100644 --- a/{{cookiecutter.project_slug}}/docs/index.rst +++ b/{{cookiecutter.project_slug}}/docs/_source/index.rst @@ -10,7 +10,9 @@ Welcome to {{ cookiecutter.project_name }}'s documentation! :maxdepth: 2 :caption: Contents: + howto pycharm/configuration + users diff --git a/{{cookiecutter.project_slug}}/docs/pycharm/configuration.rst b/{{cookiecutter.project_slug}}/docs/_source/pycharm/configuration.rst similarity index 100% rename from {{cookiecutter.project_slug}}/docs/pycharm/configuration.rst rename to {{cookiecutter.project_slug}}/docs/_source/pycharm/configuration.rst diff --git a/{{cookiecutter.project_slug}}/docs/pycharm/images/1.png b/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/1.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/pycharm/images/1.png rename to {{cookiecutter.project_slug}}/docs/_source/pycharm/images/1.png diff --git a/{{cookiecutter.project_slug}}/docs/pycharm/images/2.png b/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/2.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/pycharm/images/2.png rename to {{cookiecutter.project_slug}}/docs/_source/pycharm/images/2.png diff --git a/{{cookiecutter.project_slug}}/docs/pycharm/images/3.png b/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/3.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/pycharm/images/3.png rename to {{cookiecutter.project_slug}}/docs/_source/pycharm/images/3.png diff --git a/{{cookiecutter.project_slug}}/docs/pycharm/images/4.png b/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/4.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/pycharm/images/4.png rename to {{cookiecutter.project_slug}}/docs/_source/pycharm/images/4.png diff --git a/{{cookiecutter.project_slug}}/docs/pycharm/images/7.png b/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/7.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/pycharm/images/7.png rename to {{cookiecutter.project_slug}}/docs/_source/pycharm/images/7.png diff --git a/{{cookiecutter.project_slug}}/docs/pycharm/images/8.png b/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/8.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/pycharm/images/8.png rename to {{cookiecutter.project_slug}}/docs/_source/pycharm/images/8.png diff --git a/{{cookiecutter.project_slug}}/docs/pycharm/images/f1.png b/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/f1.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/pycharm/images/f1.png rename to {{cookiecutter.project_slug}}/docs/_source/pycharm/images/f1.png diff --git a/{{cookiecutter.project_slug}}/docs/pycharm/images/f2.png b/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/f2.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/pycharm/images/f2.png rename to {{cookiecutter.project_slug}}/docs/_source/pycharm/images/f2.png diff --git a/{{cookiecutter.project_slug}}/docs/pycharm/images/f3.png b/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/f3.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/pycharm/images/f3.png rename to {{cookiecutter.project_slug}}/docs/_source/pycharm/images/f3.png diff --git a/{{cookiecutter.project_slug}}/docs/pycharm/images/f4.png b/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/f4.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/pycharm/images/f4.png rename to {{cookiecutter.project_slug}}/docs/_source/pycharm/images/f4.png diff --git a/{{cookiecutter.project_slug}}/docs/pycharm/images/issue1.png b/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/issue1.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/pycharm/images/issue1.png rename to {{cookiecutter.project_slug}}/docs/_source/pycharm/images/issue1.png diff --git a/{{cookiecutter.project_slug}}/docs/pycharm/images/issue2.png b/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/issue2.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/pycharm/images/issue2.png rename to {{cookiecutter.project_slug}}/docs/_source/pycharm/images/issue2.png diff --git a/{{cookiecutter.project_slug}}/docs/_source/users.rst b/{{cookiecutter.project_slug}}/docs/_source/users.rst new file mode 100644 index 000000000..6cf645562 --- /dev/null +++ b/{{cookiecutter.project_slug}}/docs/_source/users.rst @@ -0,0 +1,15 @@ + .. _users: + +Users +====================================================================== + +Starting a new project, it’s highly recommended to set up a custom user model, +even if the default User model is sufficient for you. + +This model behaves identically to the default user model, +but you’ll be able to customize it in the future if the need arises. + +.. automodule:: {{cookiecutter.project_slug}}.users.models + :members: + :noindex: + diff --git a/{{cookiecutter.project_slug}}/docs/conf.py b/{{cookiecutter.project_slug}}/docs/conf.py index bfde1e3a6..691f351e5 100644 --- a/{{cookiecutter.project_slug}}/docs/conf.py +++ b/{{cookiecutter.project_slug}}/docs/conf.py @@ -9,15 +9,19 @@ # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -# + import os import sys +import django -# import django -# sys.path.insert(0, os.path.abspath('..')) -# os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local") -# django.setup() - +{% if cookiecutter.use_docker == 'y' %} +sys.path.insert(0, os.path.abspath("/app")) +os.environ.setdefault("DATABASE_URL", "") +{% else %} +sys.path.insert(0, os.path.abspath("..")) +{%- endif %} +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local") +django.setup() # -- Project information ----------------------------------------------------- @@ -31,17 +35,19 @@ author = "{{ cookiecutter.author_name }}" # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = [] +extensions = [ + "sphinx.ext.autodoc", + "sphinx.ext.napoleon", +] # Add any paths that contain templates here, relative to this directory. -templates_path = ["_templates"] +# templates_path = ["_templates"] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] - # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for @@ -52,4 +58,4 @@ html_theme = "alabaster" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ["_static"] +# html_static_path = ["_static"] diff --git a/{{cookiecutter.project_slug}}/docs/make.bat b/{{cookiecutter.project_slug}}/docs/make.bat index 922152e96..b19f42c6a 100644 --- a/{{cookiecutter.project_slug}}/docs/make.bat +++ b/{{cookiecutter.project_slug}}/docs/make.bat @@ -4,11 +4,13 @@ pushd %~dp0 REM Command file for Sphinx documentation + if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build + set SPHINXBUILD=sphinx-build -c . ) -set SOURCEDIR=. +set SOURCEDIR=_source set BUILDDIR=_build +set APP=..\{{cookiecutter.project_slug}} if "%1" == "" goto help @@ -20,16 +22,25 @@ if errorlevel 9009 ( echo.to the full path of the 'sphinx-build' executable. Alternatively you echo.may add the Sphinx directory to PATH. echo. + echo.Install sphinx-autobuild for live serving. echo.If you don't have Sphinx installed, grab it from echo.http://sphinx-doc.org/ exit /b 1 ) -%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +%SPHINXBUILD% -b %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% goto end +:livehtml +sphinx-autobuild -b html --open-browser -p 7000 --watch %APP% -c . %SOURCEDIR% %BUILDDIR%/html +GOTO :EOF + +:apidocs +sphinx-apidoc -o %SOURCEDIR%/api %APP% +GOTO :EOF + :help -%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +%SPHINXBUILD% -b help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% :end popd diff --git a/{{cookiecutter.project_slug}}/local.yml b/{{cookiecutter.project_slug}}/local.yml index 60f8f9228..0d9057b06 100644 --- a/{{cookiecutter.project_slug}}/local.yml +++ b/{{cookiecutter.project_slug}}/local.yml @@ -34,6 +34,22 @@ services: - local_postgres_data_backups:/backups env_file: - ./.envs/.local/.postgres + + docs: + image: {{ cookiecutter.project_slug }}_local_docs + container_name: docs + build: + context: . + dockerfile: ./compose/local/docs/Dockerfile + env_file: + - ./.envs/.local/.django + volumes: + - ./docs:/docs + - ./config:/app/config + - ./{{ cookiecutter.project_slug }}:/app/{{ cookiecutter.project_slug }} + ports: + - "7000:7000" + {%- if cookiecutter.use_mailhog == 'y' %} mailhog: diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index f6be44b51..253cf7386 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,6 @@ Werkzeug==1.0.1 # https://github.com/pallets/werkzeug ipdb==0.13.2 # https://github.com/gotcha/ipdb -Sphinx==3.0.2 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} @@ -16,6 +15,11 @@ django-stubs==1.5.0 # https://github.com/typeddjango/django-stubs pytest==5.3.5 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.2 # https://github.com/Frozenball/pytest-sugar +# Documentation +# ------------------------------------------------------------------------------ +sphinx==3.0.2 # https://github.com/sphinx-doc/sphinx +sphinx-autobuild # https://github.com/GaretJax/sphinx-autobuild + # Code quality # ------------------------------------------------------------------------------ flake8==3.7.9 # https://github.com/PyCQA/flake8 diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py index 8f07b15a1..adff2d66d 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py @@ -5,10 +5,17 @@ from django.utils.translation import ugettext_lazy as _ class User(AbstractUser): + """Default user for {{cookiecutter.project_name}}. + """ - # First Name and Last Name do not cover name patterns - # around the globe. + #: First and last name do not cover name patterns around the globe name = CharField(_("Name of User"), blank=True, max_length=255) def get_absolute_url(self): + """Get url for user's detail view. + + Returns: + str: URL for user detail. + + """ return reverse("users:detail", kwargs={"username": self.username}) From bf5f557d2b1f3e9ff784e2aae3b357a34df3e722 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Fri, 1 May 2020 10:35:20 -0400 Subject: [PATCH 0761/2840] Added docker parameter to hiredis requirement --- {{cookiecutter.project_slug}}/config/settings/production.py | 1 - {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 6edc4ada3..c13f1aebe 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -36,7 +36,6 @@ CACHES = { # Mimicing memcache behavior. # http://jazzband.github.io/django-redis/latest/#_memcached_exceptions_behavior "IGNORE_EXCEPTIONS": True, - "PARSER_CLASS": "redis.connection.HiredisParser", }, } } diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 0455e749c..7fa0aeca7 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -9,7 +9,7 @@ argon2-cffi==19.2.0 # https://github.com/hynek/argon2_cffi whitenoise==5.0.1 # https://github.com/evansd/whitenoise {%- endif %} redis==3.4.1 # https://github.com/andymccurdy/redis-py -{%- if cookiecutter.windows == "n" %} +{%- if cookiecutter.use_docker == "y" or cookiecutter.windows == "n" %} hiredis==1.0.1 # https://github.com/redis/hiredis-py {%- endif %} {%- if cookiecutter.use_celery == "y" %} diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 51389345b..4f0e6119d 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -12,7 +12,7 @@ Collectfast==2.1.0 # https://github.com/antonagestam/collectfast {%- if cookiecutter.use_sentry == "y" %} sentry-sdk==0.14.3 # https://github.com/getsentry/sentry-python {%- endif %} -{%- if cookiecutter.windows == "y" %} +{%- if cookiecutter.use_docker == "y" or cookiecutter.windows == "y" %} hiredis==1.0.1 # https://github.com/redis/hiredis-py {%- endif %} From b70b6ebd7e99e8bba88fddd29653f501c513ea2b Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Fri, 1 May 2020 10:39:30 -0400 Subject: [PATCH 0762/2840] Fixed production.txt typo when docker and windows combine --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 4f0e6119d..c5ba356c4 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -12,7 +12,7 @@ Collectfast==2.1.0 # https://github.com/antonagestam/collectfast {%- if cookiecutter.use_sentry == "y" %} sentry-sdk==0.14.3 # https://github.com/getsentry/sentry-python {%- endif %} -{%- if cookiecutter.use_docker == "y" or cookiecutter.windows == "y" %} +{%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.0.1 # https://github.com/redis/hiredis-py {%- endif %} From bcfcd384f823a7363c47988444342f95bcc895c9 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 17 Mar 2020 18:58:11 +0000 Subject: [PATCH 0763/2840] Test user detail view --- .../users/tests/test_views.py | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py index ca0060595..82abecb51 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py @@ -1,8 +1,15 @@ import pytest +from django.contrib.auth.models import AnonymousUser +from django.http.response import Http404 from django.test import RequestFactory from {{ cookiecutter.project_slug }}.users.models import User -from {{ cookiecutter.project_slug }}.users.views import UserRedirectView, UserUpdateView +from {{ cookiecutter.project_slug }}.users.tests.factories import UserFactory +from {{ cookiecutter.project_slug }}.users.views import ( + UserRedirectView, + UserUpdateView, + user_detail_view, +) pytestmark = pytest.mark.django_db @@ -44,3 +51,29 @@ class TestUserRedirectView: view.request = request assert view.get_redirect_url() == f"/users/{user.username}/" + + +class TestUserDetailView: + def test_authenticated(self, user: User, rf: RequestFactory): + request = rf.get("/fake-url/") + request.user = UserFactory() + + response = user_detail_view(request, username=user.username) + + assert response.status_code == 200 + + def test_not_authenticated(self, user: User, rf: RequestFactory): + request = rf.get("/fake-url/") + request.user = AnonymousUser() # type: ignore + + response = user_detail_view(request, username=user.username) + + assert response.status_code == 302 + assert response.url == f"/accounts/login/?next=/fake-url/" + + def test_case_sensitivity(self, rf: RequestFactory): + request = rf.get("/fake-url/") + request.user = UserFactory(username="UserName") + + with pytest.raises(Http404): + user_detail_view(request, username="username") From 05a5bbbad73cf37ba7527e2efd6283697a733145 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 1 May 2020 17:57:43 +0100 Subject: [PATCH 0764/2840] Use default distribution on Travis --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9abf37a18..6039075a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,3 @@ -dist: xenial - services: - docker From e37627c4b1d74deed8a422098d3a3c0de9de8c8a Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 1 May 2020 19:10:42 +0100 Subject: [PATCH 0765/2840] Fix pre-commit config & add Black to the pre-commmit hooks Fixes #2502 --- .../.pre-commit-config.yaml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index c50fefe94..60f46363b 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -3,18 +3,22 @@ default_stages: [commit] fail_fast: true repos: -- repo: https://github.com/pre-commit/pre-commit-hooks + - repo: https://github.com/pre-commit/pre-commit-hooks rev: master hooks: - id: trailing-whitespace - files: (^|/).+\.(py|html|sh|css|js)$ + - id: end-of-file-fixer + - id: check-yaml -- repo: local + - repo: https://github.com/psf/black + rev: 19.10b0 + hooks: + - id: black + + - repo: https://gitlab.com/pycqa/flake8 + rev: 3.7.9 hooks: - id: flake8 - name: flake8 - entry: flake8 - language: python - types: [python] args: ['--config=setup.cfg'] + additional_dependencies: [flake8-isort] From 3f0ff8aae9b15b38d2480e7f3ac43b0ed0380797 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 2 May 2020 22:30:22 -0700 Subject: [PATCH 0766/2840] Update tox from 3.14.6 to 3.15.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 18439a352..a4465791b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8-isort==3.0.0 # Testing # ------------------------------------------------------------------------------ -tox==3.14.6 +tox==3.15.0 pytest==5.4.1 pytest-cookies==0.5.1 pytest-instafail==0.4.1.post0 From 79f6fdbee32549fd77168769c374ffdc0ff5edc0 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 9 May 2020 00:17:29 -0700 Subject: [PATCH 0767/2840] Update pytest from 5.4.1 to 5.4.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index a4465791b..12f3d898c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8-isort==3.0.0 # Testing # ------------------------------------------------------------------------------ tox==3.15.0 -pytest==5.4.1 +pytest==5.4.2 pytest-cookies==0.5.1 pytest-instafail==0.4.1.post0 pyyaml==5.3.1 From 580ef4117d148f678acb294b29503c3edca4a307 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 9 May 2020 00:17:30 -0700 Subject: [PATCH 0768/2840] Update pytest from 5.4.1 to 5.4.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 9860c74b2..79c5523d1 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -16,7 +16,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # ------------------------------------------------------------------------------ mypy==0.770 # https://github.com/python/mypy django-stubs==1.5.0 # https://github.com/typeddjango/django-stubs -pytest==5.4.1 # https://github.com/pytest-dev/pytest +pytest==5.4.2 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.3 # https://github.com/Frozenball/pytest-sugar # Code quality From a5cb77399ef3e609739494301f25a77a27c98fa3 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 11 May 2020 14:13:47 -0700 Subject: [PATCH 0769/2840] Update pre-commit from 2.3.0 to 2.4.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 79c5523d1..91cde6091 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -29,7 +29,7 @@ pylint-django==2.0.15 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.3.0 # https://github.com/pre-commit/pre-commit +pre-commit==2.4.0 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From 7b1365c564639f9983e91f5f5a752fb5db18d15c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 12 May 2020 01:06:19 -0700 Subject: [PATCH 0770/2840] Update flake8 from 3.7.9 to 3.8.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 12f3d898c..e109518e6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==19.10b0 -flake8==3.7.9 +flake8==3.8.1 flake8-isort==3.0.0 # Testing From b1c6ad25d21c9969c665a5a76cd47c2a24e40cb2 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 12 May 2020 01:06:20 -0700 Subject: [PATCH 0771/2840] Update flake8 from 3.7.9 to 3.8.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 79c5523d1..d4e065ff8 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -21,7 +21,7 @@ pytest-sugar==0.9.3 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ -flake8==3.7.9 # https://github.com/PyCQA/flake8 +flake8==3.8.1 # https://github.com/PyCQA/flake8 flake8-isort==3.0.0 # https://github.com/gforcada/flake8-isort coverage==5.1 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black From cd740c26194d4418026dcc05fb56e2c6ccb0711b Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 12 May 2020 10:12:48 +0100 Subject: [PATCH 0772/2840] Update flake8 from 3.7.9 to 3.8.1 in pre-commit config --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 60f46363b..71524052d 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://gitlab.com/pycqa/flake8 - rev: 3.7.9 + rev: 3.8.1 hooks: - id: flake8 args: ['--config=setup.cfg'] From 81642420c4da18fabd6cc8e9c5e3365a57e6afba Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 12 May 2020 10:14:34 +0100 Subject: [PATCH 0773/2840] Run flake8 from the generated project root 3.8.1 can't find the config if running from elsewhere: https://gitlab.com/pycqa/flake8/-/issues/639 --- tests/test_cookiecutter_generation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 51500705b..664158b5a 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -156,7 +156,7 @@ def test_flake8_passes(cookies, context_override): result = cookies.bake(extra_context=context_override) try: - sh.flake8(str(result.project)) + sh.flake8(_cwd=str(result.project)) except sh.ErrorReturnCode as e: pytest.fail(e.stdout.decode()) @@ -167,7 +167,7 @@ def test_black_passes(cookies, context_override): result = cookies.bake(extra_context=context_override) try: - sh.black("--check", "--diff", "--exclude", "migrations", f"{result.project}/") + sh.black("--check", "--diff", "--exclude", "migrations", _cwd=str(result.project)) except sh.ErrorReturnCode as e: pytest.fail(e.stdout.decode()) From 09790ee8fb73d56662c1367f53132e08452d6614 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 12 May 2020 10:18:15 +0100 Subject: [PATCH 0774/2840] Resolve new flake8 error --- .../{{cookiecutter.project_slug}}/users/tests/test_views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py index 82abecb51..18b8da7a6 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py @@ -69,7 +69,7 @@ class TestUserDetailView: response = user_detail_view(request, username=user.username) assert response.status_code == 302 - assert response.url == f"/accounts/login/?next=/fake-url/" + assert response.url == "/accounts/login/?next=/fake-url/" def test_case_sensitivity(self, rf: RequestFactory): request = rf.get("/fake-url/") From 6f88fe6b4fa8b173ab63115387cdd7b1fa516127 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 12 May 2020 10:24:25 +0100 Subject: [PATCH 0775/2840] Reformat test file --- tests/test_cookiecutter_generation.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 664158b5a..aa7cc75a4 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -167,7 +167,9 @@ def test_black_passes(cookies, context_override): result = cookies.bake(extra_context=context_override) try: - sh.black("--check", "--diff", "--exclude", "migrations", _cwd=str(result.project)) + sh.black( + "--check", "--diff", "--exclude", "migrations", _cwd=str(result.project) + ) except sh.ErrorReturnCode as e: pytest.fail(e.stdout.decode()) From 309376ee4491134b0706cedc4ca567aa20f7229e Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 12 May 2020 19:50:12 +0100 Subject: [PATCH 0776/2840] Remove manual requirements Issue with PyUP seems fixed --- .pyup.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.pyup.yml b/.pyup.yml index c503dabf3..bffaa06c9 100644 --- a/.pyup.yml +++ b/.pyup.yml @@ -12,11 +12,3 @@ pin: True # requires private repo permissions, even on public repos # default: empty label_prs: update - -# Specify requirement files by hand, pyup seems to struggle to -# find the ones in the project_slug folder -requirements: - - "requirements.txt" - - "{{cookiecutter.project_slug}}/requirements/base.txt" - - "{{cookiecutter.project_slug}}/requirements/local.txt" - - "{{cookiecutter.project_slug}}/requirements/production.txt" From ce66080f857ef9e19067c30898d88e85940a3ce1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 13 May 2020 12:42:53 -0700 Subject: [PATCH 0777/2840] Update sentry-sdk from 0.14.3 to 0.14.4 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index edf9a590c..2b8ac9f81 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==2.1.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.14.3 # https://github.com/getsentry/sentry-python +sentry-sdk==0.14.4 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.0.1 # https://github.com/redis/hiredis-py From 70f6471c751b2eab63b3f343c87ebb60b0b3d0ca Mon Sep 17 00:00:00 2001 From: Tano Abeleyra Date: Sun, 17 May 2020 12:37:35 -0300 Subject: [PATCH 0778/2840] Allow to use a CDN with S3 --- .../config/settings/production.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index c13f1aebe..3d4f324cd 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -90,6 +90,9 @@ AWS_S3_OBJECT_PARAMETERS = { AWS_DEFAULT_ACL = None # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings AWS_S3_REGION_NAME = env("DJANGO_AWS_S3_REGION_NAME", default=None) +# https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#cloudfront +AWS_S3_CUSTOM_DOMAIN = env("DJANGO_AWS_S3_CUSTOM_DOMAIN", default=None) +aws_s3_domain = AWS_S3_CUSTOM_DOMAIN or f"{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com" {% elif cookiecutter.cloud_provider == 'GCP' %} GS_BUCKET_NAME = env("DJANGO_GCP_STORAGE_BUCKET_NAME") GS_DEFAULT_ACL = "publicRead" @@ -104,7 +107,7 @@ STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" {% elif cookiecutter.cloud_provider == 'AWS' -%} STATICFILES_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.StaticRootS3Boto3Storage" COLLECTFAST_STRATEGY = "collectfast.strategies.boto3.Boto3Strategy" -STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/static/" +STATIC_URL = f"https://{aws_s3_domain}/static/" {% elif cookiecutter.cloud_provider == 'GCP' -%} STATICFILES_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.StaticRootGoogleCloudStorage" COLLECTFAST_STRATEGY = "collectfast.strategies.gcloud.GoogleCloudStrategy" @@ -115,7 +118,7 @@ STATIC_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/static/" # ------------------------------------------------------------------------------ {%- if cookiecutter.cloud_provider == 'AWS' %} DEFAULT_FILE_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.MediaRootS3Boto3Storage" -MEDIA_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/media/" +MEDIA_URL = f"https://{aws_s3_domain}/media/" {%- elif cookiecutter.cloud_provider == 'GCP' %} DEFAULT_FILE_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.MediaRootGoogleCloudStorage" MEDIA_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/" From 401ef31c6ce1519bc5deccb22143cfea0147ba9f Mon Sep 17 00:00:00 2001 From: Hannah Lazarus Date: Mon, 18 May 2020 10:33:57 -0400 Subject: [PATCH 0779/2840] Remove latex from sphinx docker build Include as helper comment only --- {{cookiecutter.project_slug}}/compose/local/docs/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile index 7e79b0fa0..23af2e7b3 100644 --- a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile @@ -10,8 +10,8 @@ RUN apt-get update \ && apt-get install -y libpq-dev \ # Translations dependencies && apt-get install -y gettext \ - # Enable Sphinx output to latex and pdf - && apt-get install -y texlive-latex-recommended \ + # Uncomment below to enable Sphinx output to latex and pdf + # && apt-get install -y texlive-latex-recommended \ && apt-get install -y texlive-fonts-recommended \ && apt-get install -y texlive-latex-extra \ && apt-get install -y latexmk \ From 15fa899bb442da2298cdb67514da78803d2d54c6 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 20 May 2020 19:23:53 -0700 Subject: [PATCH 0780/2840] Update tox from 3.15.0 to 3.15.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index e109518e6..02548be79 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8-isort==3.0.0 # Testing # ------------------------------------------------------------------------------ -tox==3.15.0 +tox==3.15.1 pytest==5.4.2 pytest-cookies==0.5.1 pytest-instafail==0.4.1.post0 From a8672e08cb8e0a8942c18fed0ae331a77e879c03 Mon Sep 17 00:00:00 2001 From: "pyup.io bot" Date: Sun, 24 May 2020 03:02:08 +0200 Subject: [PATCH 0781/2840] Update flake8 to 3.8.2 (#2607) --- requirements.txt | 2 +- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 02548be79..067ad6c6e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==19.10b0 -flake8==3.8.1 +flake8==3.8.2 flake8-isort==3.0.0 # Testing diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 6f7fa2de1..78a1f6c37 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -21,7 +21,7 @@ pytest-sugar==0.9.3 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ -flake8==3.8.1 # https://github.com/PyCQA/flake8 +flake8==3.8.2 # https://github.com/PyCQA/flake8 flake8-isort==3.0.0 # https://github.com/gforcada/flake8-isort coverage==5.1 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black From 286363799cfa1087b02570f6fb6ffd079b8daf36 Mon Sep 17 00:00:00 2001 From: Alexandr Date: Tue, 26 May 2020 01:25:38 +0300 Subject: [PATCH 0782/2840] :pencil: added websockets doc page #2506 * Simple explanation. * Example of usage with JS. * Additional nGinx config example. --- docs/index.rst | 1 + docs/websocket.rst | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 docs/websocket.rst diff --git a/docs/index.rst b/docs/index.rst index b29e728e9..f62184643 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -23,6 +23,7 @@ Contents: deployment-on-heroku deployment-with-docker docker-postgres-backups + websocket faq troubleshooting diff --git a/docs/websocket.rst b/docs/websocket.rst new file mode 100644 index 000000000..a880f5691 --- /dev/null +++ b/docs/websocket.rst @@ -0,0 +1,32 @@ +.. _websocket: + +========= +Websocket +========= + +You can enable web sockets if you select ``use_async`` option when creating a project. That indicates whether the project should use web sockets with Uvicorn + Gunicorn. + +Usage +----- + +JavaScript example: :: + + > ws = new WebSocket('ws://localhost:8000/') // or 'wss:///' in prod + WebSocket {url: "ws://localhost:8000/", readyState: 0, bufferedAmount: 0, onopen: null, onerror: null, …} + > ws.onmessage = event => console.log(event.data) + event => console.log(event.data) + > ws.send("ping") + undefined + pong! + +If you are using nGinx instead of Traefik, you should add these lines to nGinx config: :: + + location /websocket/ { + proxy_pass http://backend; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_read_timeout 86400; + } + +Source: https://www.nginx.com/blog/websocket-nginx/ From 090c62e862f61083d0cf397bf7666773ecdfd273 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 27 May 2020 02:27:13 -0700 Subject: [PATCH 0783/2840] Update sphinx from 3.0.3 to 3.0.4 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 78a1f6c37..d38a70bc5 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==1.0.1 # https://github.com/pallets/werkzeug ipdb==0.13.2 # https://github.com/gotcha/ipdb -Sphinx==3.0.3 # https://github.com/sphinx-doc/sphinx +Sphinx==3.0.4 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From 009ca15a4c797c53dfeeff40a6620c5732a59ee3 Mon Sep 17 00:00:00 2001 From: Tano Abeleyra Date: Thu, 28 May 2020 19:16:54 -0300 Subject: [PATCH 0784/2840] Add AWS_S3_CUSTOM_DOMAIN entry to settings.rst --- docs/settings.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/settings.rst b/docs/settings.rst index 2ae8814e9..949d5f35f 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -45,6 +45,7 @@ DJANGO_AWS_ACCESS_KEY_ID AWS_ACCESS_KEY_ID n/a DJANGO_AWS_SECRET_ACCESS_KEY AWS_SECRET_ACCESS_KEY n/a raises error DJANGO_AWS_STORAGE_BUCKET_NAME AWS_STORAGE_BUCKET_NAME n/a raises error DJANGO_AWS_S3_REGION_NAME AWS_S3_REGION_NAME n/a None +DJANGO_AWS_S3_CUSTOM_DOMAIN AWS_S3_CUSTOM_DOMAIN n/a None DJANGO_GCP_STORAGE_BUCKET_NAME GS_BUCKET_NAME n/a raises error GOOGLE_APPLICATION_CREDENTIALS n/a n/a raises error SENTRY_DSN SENTRY_DSN n/a raises error From 7c3558fa624d3069007df3e1071bcbd93be6d6c9 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Fri, 29 May 2020 17:23:15 -0400 Subject: [PATCH 0785/2840] Fix Docker configuration for Gitlab CI #2549 * Just missing the services I believe according to @rocode? * I'm hoping to just completely eradicate the need for this setup with a follow-up PR for completely non-Docker approach on CI that supports celery, too. --- {{cookiecutter.project_slug}}/.gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/.gitlab-ci.yml b/{{cookiecutter.project_slug}}/.gitlab-ci.yml index a74d5de87..f7c4f24a4 100644 --- a/{{cookiecutter.project_slug}}/.gitlab-ci.yml +++ b/{{cookiecutter.project_slug}}/.gitlab-ci.yml @@ -23,6 +23,7 @@ pytest: stage: test image: python:3.7 {% if cookiecutter.use_docker == 'y' -%} + image: docker/compose:latest tags: - docker services: From d7f22a1158839d27ff898ae66f8edf39ac1943a6 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Fri, 29 May 2020 18:05:44 -0400 Subject: [PATCH 0786/2840] Changed service to Docker dind --- {{cookiecutter.project_slug}}/.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.gitlab-ci.yml b/{{cookiecutter.project_slug}}/.gitlab-ci.yml index f7c4f24a4..246c4c982 100644 --- a/{{cookiecutter.project_slug}}/.gitlab-ci.yml +++ b/{{cookiecutter.project_slug}}/.gitlab-ci.yml @@ -27,7 +27,7 @@ pytest: tags: - docker services: - - docker + - docker:dind before_script: - docker-compose -f local.yml build # Ensure celerybeat does not crash due to non-existent tables From 433d30ec1437e282541912e111f68e92e51ea2d0 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 3 Jun 2020 00:26:12 -0700 Subject: [PATCH 0787/2840] Update pytest from 5.4.2 to 5.4.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 067ad6c6e..80882d4c1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8-isort==3.0.0 # Testing # ------------------------------------------------------------------------------ tox==3.15.1 -pytest==5.4.2 +pytest==5.4.3 pytest-cookies==0.5.1 pytest-instafail==0.4.1.post0 pyyaml==5.3.1 From 9e87d4b189fb9b7c414a7113ecf02612962f6d73 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 3 Jun 2020 00:26:13 -0700 Subject: [PATCH 0788/2840] Update pytest from 5.4.2 to 5.4.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index d38a70bc5..b5d9a250e 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -16,7 +16,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # ------------------------------------------------------------------------------ mypy==0.770 # https://github.com/python/mypy django-stubs==1.5.0 # https://github.com/typeddjango/django-stubs -pytest==5.4.2 # https://github.com/pytest-dev/pytest +pytest==5.4.3 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.3 # https://github.com/Frozenball/pytest-sugar # Code quality From 9d0b570c51986ea9586240c24c2ceaf52feec25a Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 3 Jun 2020 05:12:36 -0700 Subject: [PATCH 0789/2840] Update mypy from 0.770 to 0.780 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index d38a70bc5..3c30b1547 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -14,7 +14,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # Testing # ------------------------------------------------------------------------------ -mypy==0.770 # https://github.com/python/mypy +mypy==0.780 # https://github.com/python/mypy django-stubs==1.5.0 # https://github.com/typeddjango/django-stubs pytest==5.4.2 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.3 # https://github.com/Frozenball/pytest-sugar From 24e8a17d74a47e57dfc05a754be76a566ef504df Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 5 Jun 2020 17:08:27 -0700 Subject: [PATCH 0790/2840] Update collectfast from 2.1.0 to 2.2.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 2b8ac9f81..a614bdbe9 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -5,7 +5,7 @@ gunicorn==20.0.4 # https://github.com/benoitc/gunicorn psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} -Collectfast==2.1.0 # https://github.com/antonagestam/collectfast +Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} sentry-sdk==0.14.4 # https://github.com/getsentry/sentry-python From 52c4f57ecab2c10c0f5f4039b088d946df85295a Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 7 Jun 2020 14:24:38 -0700 Subject: [PATCH 0791/2840] Update tox from 3.15.1 to 3.15.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 80882d4c1..d05ed6a4a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8-isort==3.0.0 # Testing # ------------------------------------------------------------------------------ -tox==3.15.1 +tox==3.15.2 pytest==5.4.3 pytest-cookies==0.5.1 pytest-instafail==0.4.1.post0 From afe02f2fd19aa1df15309aaf9641d38b8783f270 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 8 Jun 2020 17:02:41 -0700 Subject: [PATCH 0792/2840] Update flake8 from 3.8.2 to 3.8.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 80882d4c1..4044d3048 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==19.10b0 -flake8==3.8.2 +flake8==3.8.3 flake8-isort==3.0.0 # Testing From 6038a654abdecbaf091298bdf69e628e23132b9b Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 8 Jun 2020 17:02:43 -0700 Subject: [PATCH 0793/2840] Update flake8 from 3.8.2 to 3.8.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index b5d9a250e..e02bb4566 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -21,7 +21,7 @@ pytest-sugar==0.9.3 # https://github.com/Frozenball/pytest-sugar # Code quality # ------------------------------------------------------------------------------ -flake8==3.8.2 # https://github.com/PyCQA/flake8 +flake8==3.8.3 # https://github.com/PyCQA/flake8 flake8-isort==3.0.0 # https://github.com/gforcada/flake8-isort coverage==5.1 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black From 54f8e3d672671434dd68629e96ace6108f6fbd7a Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 9 Jun 2020 16:02:00 -0700 Subject: [PATCH 0794/2840] Update pre-commit from 2.4.0 to 2.5.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index b5d9a250e..4986bdaf4 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -29,7 +29,7 @@ pylint-django==2.0.15 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.4.0 # https://github.com/pre-commit/pre-commit +pre-commit==2.5.1 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From b7c75bccf51b19a4fd8f156f104e0f36619e8235 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 14 Jun 2020 03:12:50 -0700 Subject: [PATCH 0795/2840] Update pytest-instafail from 0.4.1.post0 to 0.4.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 80882d4c1..e7fbe1d5e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,5 +13,5 @@ flake8-isort==3.0.0 tox==3.15.1 pytest==5.4.3 pytest-cookies==0.5.1 -pytest-instafail==0.4.1.post0 +pytest-instafail==0.4.2 pyyaml==5.3.1 From 1b6e4994ca45ef38551a4cf2573c9241e821dce6 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 14 Jun 2020 03:13:04 -0700 Subject: [PATCH 0796/2840] Update sphinx from 3.0.4 to 3.1.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index b5d9a250e..e661835d2 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -2,7 +2,7 @@ Werkzeug==1.0.1 # https://github.com/pallets/werkzeug ipdb==0.13.2 # https://github.com/gotcha/ipdb -Sphinx==3.0.4 # https://github.com/sphinx-doc/sphinx +Sphinx==3.1.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} From 89b81452a9201fbed87598e2567ba8d629e97f2a Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Tue, 16 Jun 2020 20:21:51 -0400 Subject: [PATCH 0797/2840] Update Django to 3.0.7 due to CVEs There were several CVE's that arose between 3.0.3 to 3.0.7. Updating quickly will resolve the vulnerabilities and fix several PRs. --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 4f2ebe490..e1c7d9ef4 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -25,7 +25,7 @@ uvicorn==0.11.5 # https://github.com/encode/uvicorn # Django # ------------------------------------------------------------------------------ -django==3.0.5 # pyup: < 3.1 # https://www.djangoproject.com/ +django==3.0.7 # pyup: < 3.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils django-allauth==0.41.0 # https://github.com/pennersr/django-allauth From 8bdef165a893cff627a6876be887756ee13be6c7 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Tue, 16 Jun 2020 23:51:21 -0400 Subject: [PATCH 0798/2840] Fixed local async command in docs --- docs/developing-locally.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst index dc146c232..a5d598f0b 100644 --- a/docs/developing-locally.rst +++ b/docs/developing-locally.rst @@ -80,7 +80,7 @@ First things first. or if you're running asynchronously: :: - $ gunicorn config.asgi --bind 0.0.0.0:8000 -k uvicorn.workers.UvicornWorker --reload + $ uvicorn config.asgi:application --host 0.0.0.0 --reload .. _PostgreSQL: https://www.postgresql.org/download/ .. _Redis: https://redis.io/download From 4b103d1d93ab6dabf93813d270656da33d128699 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 17 Jun 2020 23:15:32 +0100 Subject: [PATCH 0799/2840] Update .pyup.yml --- .pyup.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.pyup.yml b/.pyup.yml index bffaa06c9..4082eed86 100644 --- a/.pyup.yml +++ b/.pyup.yml @@ -12,3 +12,9 @@ pin: True # requires private repo permissions, even on public repos # default: empty label_prs: update + +requirements: + - requirements.txt + - {{cookiecutter.project_slug}}/requirements/base.txt + - {{cookiecutter.project_slug}}/requirements/local.txt + - {{cookiecutter.project_slug}}/requirements/production.txt From d2e9e8ee3f24fd6c6064ebdac8415b4ae9474ab1 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 17 Jun 2020 23:16:13 +0100 Subject: [PATCH 0800/2840] Update .pyup.yml --- .pyup.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.pyup.yml b/.pyup.yml index 4082eed86..b330b22bb 100644 --- a/.pyup.yml +++ b/.pyup.yml @@ -14,7 +14,7 @@ pin: True label_prs: update requirements: - - requirements.txt - - {{cookiecutter.project_slug}}/requirements/base.txt - - {{cookiecutter.project_slug}}/requirements/local.txt - - {{cookiecutter.project_slug}}/requirements/production.txt + - "requirements.txt" + - "{{cookiecutter.project_slug}}/requirements/base.txt" + - "{{cookiecutter.project_slug}}/requirements/local.txt" + - "{{cookiecutter.project_slug}}/requirements/production.txt" From d3a000d76d233debb975e570f5093a2cb4e9bdb0 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 18 Jun 2020 04:45:15 -0700 Subject: [PATCH 0801/2840] Update sentry-sdk from 0.14.4 to 0.15.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 2b8ac9f81..eda39264e 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==2.1.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.14.4 # https://github.com/getsentry/sentry-python +sentry-sdk==0.15.1 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.0.1 # https://github.com/redis/hiredis-py From d979c342d655a537b9f131c9cf0ae8a9ed0f30cf Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 20 Jun 2020 08:51:49 -0700 Subject: [PATCH 0802/2840] Update mypy from 0.780 to 0.781 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index fdd9fd44e..9e2be82bf 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -14,7 +14,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # Testing # ------------------------------------------------------------------------------ -mypy==0.780 # https://github.com/python/mypy +mypy==0.781 # https://github.com/python/mypy django-stubs==1.5.0 # https://github.com/typeddjango/django-stubs pytest==5.4.3 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.3 # https://github.com/Frozenball/pytest-sugar From 88f9a6c289ccb9e30ff991fd5788b7b215763a20 Mon Sep 17 00:00:00 2001 From: Gil Date: Sun, 21 Jun 2020 16:13:42 +0900 Subject: [PATCH 0803/2840] Replace User by get_user_model --- .../{{cookiecutter.project_slug}}/users/api/serializers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py index 04bf4c85e..8bd39d30e 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py @@ -1,6 +1,7 @@ +from django.contrib.auth import get_user_model from rest_framework import serializers -from {{ cookiecutter.project_slug }}.users.models import User +User = get_user_model() class UserSerializer(serializers.ModelSerializer): From 3961ab8dd83e2b5bd71bccee00212a731e4babfd Mon Sep 17 00:00:00 2001 From: Gil Date: Sun, 21 Jun 2020 16:17:26 +0900 Subject: [PATCH 0804/2840] Add AsheKR in CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 5962af75d..c1813e837 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -65,6 +65,7 @@ Listed in alphabetical order. Anuj Bansal `@ahhda`_ Arcuri Davide `@dadokkio`_ Areski Belaid `@areski`_ + AsheKR `@ashekr`_ Ashley Camba Barclay Gauld `@yunti`_ Bartek `@btknu`_ From f4aee2bc68af593bd4239ae0272899efadb0f5f5 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 21 Jun 2020 14:15:00 +0100 Subject: [PATCH 0805/2840] Fix broken link --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index c1813e837..32ba496e8 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -252,6 +252,7 @@ Listed in alphabetical order. .. _@archinal: https://github.com/archinal .. _@areski: https://github.com/areski .. _@arruda: https://github.com/arruda +.. _@ashekr: https://github.com/ashekr .. _@bertdemiranda: https://github.com/bertdemiranda .. _@bittner: https://github.com/bittner .. _@blaxpy: https://github.com/blaxpy From 793151162770d8a4538627af6638253af7d95e98 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 21 Jun 2020 14:20:29 +0100 Subject: [PATCH 0806/2840] Bump version to 3.0.7 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 6dfd9e50b..6b80bd9a0 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ except ImportError: # Our version ALWAYS matches the version of Django we support # If Django has a new release, we branch, tag, then update this setting after the tag. -version = "3.0.5-01" +version = "3.0.7" if sys.argv[-1] == "tag": os.system(f'git tag -a {version} -m "version {version}"') From fe8a939611f123ece8a36410d5ae3c1f4b6822da Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 21 Jun 2020 14:23:48 +0100 Subject: [PATCH 0807/2840] Bump flake8 in pre-commit config --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 71524052d..6aa9207a9 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://gitlab.com/pycqa/flake8 - rev: 3.8.1 + rev: 3.8.3 hooks: - id: flake8 args: ['--config=setup.cfg'] From aadf66185cadaf5c5388b6e7ab9754379b1aad48 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 21 Jun 2020 14:26:40 +0100 Subject: [PATCH 0808/2840] Update base requirements to latest version --- {{cookiecutter.project_slug}}/requirements/base.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index e1c7d9ef4..4baf2f376 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -4,16 +4,16 @@ Pillow==7.1.2 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} rcssmin==1.0.6{% if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} --install-option="--without-c-extensions"{% endif %} # https://github.com/ndparker/rcssmin {%- endif %} -argon2-cffi==19.2.0 # https://github.com/hynek/argon2_cffi +argon2-cffi==20.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} -whitenoise==5.0.1 # https://github.com/evansd/whitenoise +whitenoise==5.1.0 # https://github.com/evansd/whitenoise {%- endif %} redis==3.5.0 # https://github.com/andymccurdy/redis-py {%- if cookiecutter.use_docker == "y" or cookiecutter.windows == "n" %} hiredis==1.0.1 # https://github.com/redis/hiredis-py {%- endif %} {%- if cookiecutter.use_celery == "y" %} -celery==4.4.2 # pyup: < 5.0 # https://github.com/celery/celery +celery==4.4.5 # pyup: < 5.0 # https://github.com/celery/celery django-celery-beat==2.0.0 # https://github.com/celery/django-celery-beat {%- if cookiecutter.use_docker == 'y' %} flower==0.9.4 # https://github.com/mher/flower @@ -28,12 +28,12 @@ uvicorn==0.11.5 # https://github.com/encode/uvicorn django==3.0.7 # pyup: < 3.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils -django-allauth==0.41.0 # https://github.com/pennersr/django-allauth -django-crispy-forms==1.9.0 # https://github.com/django-crispy-forms/django-crispy-forms +django-allauth==0.42.0 # https://github.com/pennersr/django-allauth +django-crispy-forms==1.9.1 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.4 # https://github.com/django-compressor/django-compressor {%- endif %} -django-redis==4.11.0 # https://github.com/jazzband/django-redis +django-redis==4.12.1 # https://github.com/jazzband/django-redis {%- if cookiecutter.use_drf == "y" %} # Django REST Framework djangorestframework==3.11.0 # https://github.com/encode/django-rest-framework From e4a4d900688fe389eb45d40ed7d8b7808a7a5125 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 21 Jun 2020 14:48:28 +0100 Subject: [PATCH 0809/2840] Add badge for documentation build status --- README.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.rst b/README.rst index 02f220cf3..cfb253787 100644 --- a/README.rst +++ b/README.rst @@ -5,6 +5,10 @@ Cookiecutter Django :target: https://travis-ci.org/pydanny/cookiecutter-django?branch=master :alt: Build Status +.. image:: https://readthedocs.org/projects/cookiecutter-django/badge/?version=latest + :target: https://cookiecutter-django.readthedocs.io/en/latest/?badge=latest + :alt: Documentation Status + .. image:: https://pyup.io/repos/github/pydanny/cookiecutter-django/shield.svg :target: https://pyup.io/repos/github/pydanny/cookiecutter-django/ :alt: Updates From 7ba61274cefdaf295fc2d1cd863dab9c6b8644b8 Mon Sep 17 00:00:00 2001 From: Alexandr Date: Mon, 22 Jun 2020 21:42:39 +0300 Subject: [PATCH 0810/2840] :pencil: docs updated after review --- docs/websocket.rst | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/docs/websocket.rst b/docs/websocket.rst index a880f5691..9d2e3264a 100644 --- a/docs/websocket.rst +++ b/docs/websocket.rst @@ -4,7 +4,7 @@ Websocket ========= -You can enable web sockets if you select ``use_async`` option when creating a project. That indicates whether the project should use web sockets with Uvicorn + Gunicorn. +You can enable web sockets if you select ``use_async`` option when creating a project. That indicates whether the project can use web sockets with Uvicorn + Gunicorn. Usage ----- @@ -19,14 +19,7 @@ JavaScript example: :: undefined pong! -If you are using nGinx instead of Traefik, you should add these lines to nGinx config: :: - location /websocket/ { - proxy_pass http://backend; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_read_timeout 86400; - } +If you don't use Traefik, you might have to configure your reverse proxy accordingly (example with Nginx_). -Source: https://www.nginx.com/blog/websocket-nginx/ +.. _Nginx: https://www.nginx.com/blog/websocket-nginx/ From 4eca81edc2417349f133379b690ead674aab6694 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 23 Jun 2020 03:55:23 -0700 Subject: [PATCH 0811/2840] Update mypy from 0.781 to 0.782 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index f1307a226..38f4744fb 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -14,7 +14,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # Testing # ------------------------------------------------------------------------------ -mypy==0.781 # https://github.com/python/mypy +mypy==0.782 # https://github.com/python/mypy django-stubs==1.5.0 # https://github.com/typeddjango/django-stubs pytest==5.4.3 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.3 # https://github.com/Frozenball/pytest-sugar From f3a511a65690521bf367ff6cd6bf569f43ec3670 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 23 Jun 2020 08:34:22 -0700 Subject: [PATCH 0812/2840] Update ipdb from 0.13.2 to 0.13.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index f1307a226..275e98cc7 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,7 +1,7 @@ -r ./base.txt Werkzeug==1.0.1 # https://github.com/pallets/werkzeug -ipdb==0.13.2 # https://github.com/gotcha/ipdb +ipdb==0.13.3 # https://github.com/gotcha/ipdb Sphinx==3.1.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 From 8c2f49ad3850fd19e43333ca24a11e4efd989fe0 Mon Sep 17 00:00:00 2001 From: Hannah Lazarus Date: Sat, 27 Jun 2020 13:57:50 -0400 Subject: [PATCH 0813/2840] Update {{cookiecutter.project_slug}}/compose/local/docs/Dockerfile sounds good! Co-authored-by: Bruno Alla --- {{cookiecutter.project_slug}}/compose/local/docs/Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile index 23af2e7b3..d84f76ed5 100644 --- a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile @@ -22,8 +22,7 @@ RUN apt-get update \ # Requirements are installed here to ensure they will be cached. COPY ./requirements /requirements # All imports needed for autodoc. -RUN pip install -r /requirements/local.txt -RUN pip install -r /requirements/production.txt +pip install -r /requirements/local.txt -r /requirements/production.txt WORKDIR /docs From 916157e5006cbc2c7d0218c879429d06ac4eca66 Mon Sep 17 00:00:00 2001 From: Hannah Lazarus Date: Sat, 27 Jun 2020 14:11:57 -0400 Subject: [PATCH 0814/2840] Update {{cookiecutter.project_slug}}/docs/_source/howto.rst Co-authored-by: Bruno Alla --- {{cookiecutter.project_slug}}/docs/_source/howto.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/docs/_source/howto.rst b/{{cookiecutter.project_slug}}/docs/_source/howto.rst index 309277427..25f442c37 100644 --- a/{{cookiecutter.project_slug}}/docs/_source/howto.rst +++ b/{{cookiecutter.project_slug}}/docs/_source/howto.rst @@ -17,8 +17,7 @@ from inside the `{{cookiecutter.project_slug}}/docs` directory. To build and serve docs, use the commands: :: - docker-compose -f local.yml build - docker run docs + docker-compose -f local.yml up docs {% endif %} Changes to files in `docs/_source` will be picked up and reloaded automatically. From 3cfea4c943891b653fa04c1940bc0ea8212efd1d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 27 Jun 2020 12:07:08 -0700 Subject: [PATCH 0815/2840] Update tox from 3.15.2 to 3.16.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 44804e0ee..f3cdd2f6b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8-isort==3.0.0 # Testing # ------------------------------------------------------------------------------ -tox==3.15.2 +tox==3.16.0 pytest==5.4.3 pytest-cookies==0.5.1 pytest-instafail==0.4.2 From e1cd81e28c951effd3e23fd98d791f67464c77ee Mon Sep 17 00:00:00 2001 From: Richard Hajdu Date: Sun, 28 Jun 2020 18:38:29 +0200 Subject: [PATCH 0816/2840] Gulp watcher fix for win10 fixes #2642 Fix for browsersync and file watchers not working correctly on windows. --- {{cookiecutter.project_slug}}/gulpfile.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/gulpfile.js b/{{cookiecutter.project_slug}}/gulpfile.js index 1f9884ec8..206f8a019 100644 --- a/{{cookiecutter.project_slug}}/gulpfile.js +++ b/{{cookiecutter.project_slug}}/gulpfile.js @@ -163,9 +163,9 @@ function initBrowserSync() { // Watch function watchPaths() { - watch(`${paths.sass}/*.scss`, styles) - watch(`${paths.templates}/**/*.html`).on("change", reload) - watch([`${paths.js}/*.js`, `!${paths.js}/*.min.js`], scripts).on("change", reload) + watch(`${paths.sass}/*.scss`{% if cookiecutter.windows == 'y' %}, { usePolling: true }{% endif %}, styles) + watch(`${paths.templates}/**/*.html`{% if cookiecutter.windows == 'y' %}, { usePolling: true }{% endif %}).on("change", reload) + watch([`${paths.js}/*.js`, `!${paths.js}/*.min.js`]{% if cookiecutter.windows == 'y' %}, { usePolling: true }{% endif %}, scripts).on("change", reload) } // Generate all assets From ee9cc876a432b9b9d414c8ff69ba3be0944a8891 Mon Sep 17 00:00:00 2001 From: Richard Hajdu Date: Sun, 28 Jun 2020 18:41:50 +0200 Subject: [PATCH 0817/2840] Update CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 32ba496e8..529c2c40a 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -199,6 +199,7 @@ Listed in alphabetical order. Raphael Pierzina `@hackebrot`_ Reggie Riser `@reggieriser`_ René Muhl `@rm--`_ + Richard Hajdu `@Tusky`_ Roman Afanaskin `@siauPatrick`_ Roman Osipenko `@romanosipenko`_ Russell Davies From 8447699c937fd37719dd488872fe8c8155553f4c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 29 Jun 2020 05:35:40 -0700 Subject: [PATCH 0818/2840] Update django-extensions from 2.2.9 to 3.0.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 4571fd0f6..d127e45ed 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -36,6 +36,6 @@ pre-commit==2.5.1 # https://github.com/pre-commit/pre-commit factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.2 # https://github.com/jazzband/django-debug-toolbar -django-extensions==2.2.9 # https://github.com/django-extensions/django-extensions +django-extensions==3.0.0 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.9.0 # https://github.com/pytest-dev/pytest-django From a9688adc0e58ce2afe4b328d882451e79bdd26e7 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Mon, 29 Jun 2020 15:27:53 -0400 Subject: [PATCH 0819/2840] Update ugettext_lazy to gettext_lazy --- .../{{cookiecutter.project_slug}}/users/forms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py index 25065419a..ba848b858 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py @@ -1,6 +1,6 @@ from django.contrib.auth import forms, get_user_model from django.core.exceptions import ValidationError -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ User = get_user_model() From 22f542d515b0f7ea1b9761d5636161e7dcaf8f9c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 29 Jun 2020 13:43:18 -0700 Subject: [PATCH 0820/2840] Update tox from 3.16.0 to 3.16.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index f3cdd2f6b..e6e63d634 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ flake8-isort==3.0.0 # Testing # ------------------------------------------------------------------------------ -tox==3.16.0 +tox==3.16.1 pytest==5.4.3 pytest-cookies==0.5.1 pytest-instafail==0.4.2 From 435a0c0276036f8377bcda678470ff8cf51ded8a Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 29 Jun 2020 13:44:24 -0700 Subject: [PATCH 0821/2840] Update django-extensions from 3.0.0 to 3.0.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index d127e45ed..0897d9bc5 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -36,6 +36,6 @@ pre-commit==2.5.1 # https://github.com/pre-commit/pre-commit factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.2 # https://github.com/jazzband/django-debug-toolbar -django-extensions==3.0.0 # https://github.com/django-extensions/django-extensions +django-extensions==3.0.1 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.9.0 # https://github.com/pytest-dev/pytest-django From bed885f0010eb3530f974ce641be36ac948ad539 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 29 Jun 2020 21:51:33 +0100 Subject: [PATCH 0822/2840] Comment out all lines related to LaTeX --- .../compose/local/docs/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile index d84f76ed5..6d0ca271a 100644 --- a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile @@ -10,11 +10,11 @@ RUN apt-get update \ && apt-get install -y libpq-dev \ # Translations dependencies && apt-get install -y gettext \ - # Uncomment below to enable Sphinx output to latex and pdf + # Uncomment below lines to enable Sphinx output to latex and pdf # && apt-get install -y texlive-latex-recommended \ - && apt-get install -y texlive-fonts-recommended \ - && apt-get install -y texlive-latex-extra \ - && apt-get install -y latexmk \ + # && apt-get install -y texlive-fonts-recommended \ + # && apt-get install -y texlive-latex-extra \ + # && apt-get install -y latexmk \ # cleaning up unused files && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && rm -rf /var/lib/apt/lists/* From 9af7b3ad6d418773f517da535680fa112f12aaae Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 29 Jun 2020 21:52:10 +0100 Subject: [PATCH 0823/2840] Missing `RUN` command in Dockerfile --- {{cookiecutter.project_slug}}/compose/local/docs/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile index 6d0ca271a..7736777b3 100644 --- a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile @@ -22,7 +22,7 @@ RUN apt-get update \ # Requirements are installed here to ensure they will be cached. COPY ./requirements /requirements # All imports needed for autodoc. -pip install -r /requirements/local.txt -r /requirements/production.txt +RUN pip install -r /requirements/local.txt -r /requirements/production.txt WORKDIR /docs From 8d066b3ab4eb3779b76326d103e7a7c39db909b5 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 29 Jun 2020 22:46:16 +0100 Subject: [PATCH 0824/2840] Use watchgod instead of watchdog --- .../compose/local/django/celery/worker/start | 2 +- {{cookiecutter.project_slug}}/requirements/local.txt | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/celery/worker/start b/{{cookiecutter.project_slug}}/compose/local/django/celery/worker/start index ef32dd69f..898dca5d3 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/celery/worker/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/celery/worker/start @@ -4,4 +4,4 @@ set -o errexit set -o nounset -watchmedo auto-restart --directory=./ --pattern="*tasks.py;*celery_app.py" --recursive -- celery -A config.celery_app worker -l INFO +watchgod celery.__main__.main --args -A config.celery_app beat -l INFO diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index a8e7e5500..98bbbc5b1 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -5,14 +5,10 @@ ipdb==0.13.3 # https://github.com/gotcha/ipdb Sphinx==3.1.1 # https://github.com/sphinx-doc/sphinx {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 -{%- if cookiecutter.use_celery == 'y' %} -argh==0.26.2 # http://github.com/neithere/argh/ -watchdog==0.10.2 # http://github.com/gorakhargosh/watchdog -{%- endif %} {%- else %} psycopg2-binary==2.8.5 # https://github.com/psycopg/psycopg2 {%- endif %} -{%- if cookiecutter.use_async == 'y' %} +{%- if cookiecutter.use_async == 'y' or cookiecutter.use_celery == 'y' %} watchgod==0.6 # https://github.com/samuelcolvin/watchgod {%- endif %} From 3d37e84973cdc597905d48bac03d21e2eb0adf69 Mon Sep 17 00:00:00 2001 From: Richard Hajdu Date: Tue, 30 Jun 2020 00:43:13 +0200 Subject: [PATCH 0825/2840] Update CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 529c2c40a..bba9554af 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -377,6 +377,7 @@ Listed in alphabetical order. .. _@reggieriser: https://github.com/reggieriser .. _@reyesvicente: https://github.com/reyesvicente .. _@rm--: https://github.com/rm-- +.. _@Tusky: https://github.com/Tusky .. _@rolep: https://github.com/rolep .. _@romanosipenko: https://github.com/romanosipenko .. _@saschalalala: https://github.com/saschalalala From 69611313c99f66d9fb74352c5de1844785ea3e06 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Tue, 30 Jun 2020 10:01:50 -0400 Subject: [PATCH 0826/2840] Add author name and description to HTML meta --- .../{{cookiecutter.project_slug}}/templates/base.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html index cba1b7cf7..aa68ece3c 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html @@ -5,8 +5,8 @@ {% block title %}{% endraw %}{{ cookiecutter.project_name }}{% raw %}{% endblock title %} - - + + + + +### Special Thanks + +The following haven't provided code directly, but have provided +guidance and advice. + +- Jannis Leidel +- Nate Aune +- Barry Morrison diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index f1b5e0f0e..c564dfaf3 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -17,7 +17,7 @@ Saurabh Kumar `@theskumar`_ @_theskumar Jannis Gebauer `@jayfk`_ Burhan Khalid `@burhan`_ @burhan Nikita Shupeyko `@webyneter`_ @webyneter -Bruno Alla               `@browniebroke`_ @_BrunoAlla +Bruno Alla `@browniebroke`_ @_BrunoAlla Wan Liuyang `@sfdye`_ @sfdye =========================== ================= =========== @@ -29,6 +29,7 @@ Daniel are on the Cookiecutter core team.* .. _@theskumar: https://github.com/theskumar .. _@audreyr: https://github.com/audreyr .. _@jayfk: https://github.com/jayfk +.. _@burhan: https://github.com/burhan .. _@webyneter: https://github.com/webyneter .. _@browniebroke: https://github.com/browniebroke .. _@sfdye: https://github.com/sfdye @@ -267,7 +268,6 @@ Listed in alphabetical order. .. _@BoPeng: https://github.com/BoPeng .. _@brentpayne: https://github.com/brentpayne .. _@btknu: https://github.com/btknu -.. _@burhan: https://github.com/burhan .. _@bwarren2: https://github.com/bwarren2 .. _@c-rhodes: https://github.com/c-rhodes .. _@caffodian: https://github.com/caffodian diff --git a/requirements.txt b/requirements.txt index 1fbc8d165..b04e40126 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,3 +16,8 @@ pytest==6.0.1 pytest-cookies==0.5.1 pytest-instafail==0.4.2 pyyaml==5.3.1 + +# Scripting +# ------------------------------------------------------------------------------ +requests +jinja2 diff --git a/scripts/__init__.py b/scripts/__init__.py new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/scripts/__init__.py @@ -0,0 +1 @@ + diff --git a/scripts/rst_to_json.py b/scripts/rst_to_json.py new file mode 100644 index 000000000..37f5b2193 --- /dev/null +++ b/scripts/rst_to_json.py @@ -0,0 +1,102 @@ +import json +from pathlib import Path + +CURRENT_FILE = Path(__file__) +ROOT = CURRENT_FILE.parents[1] + + +def main(): + input_file_path = ROOT / "CONTRIBUTORS.rst" + with input_file_path.open() as ifd: + content = ifd.read() + + table_separator = ( + "============================= ========================== ==================" + ) + table_content = content.split(table_separator)[2] + + profiles_list = [ + { + "name": "Audrey Roy Greenfeld", + "github_login": "audreyr", + "twitter_username": "audreyr", + "is_core": True, + }, + { + "name": "Bruno Alla", + "github_login": "browniebroke", + "twitter_username": "_BrunoAlla", + "is_core": True, + }, + { + "name": "Burhan Khalid", + "github_login": "burhan", + "twitter_username": "burhan", + "is_core": True, + }, + { + "name": "Daniel Roy Greenfeld", + "github_login": "pydanny", + "twitter_username": "pydanny", + "is_core": True, + }, + { + "name": "Fábio C. Barrionuevo da Luz", + "github_login": "luzfcb", + "twitter_username": "luzfcb", + "is_core": True, + }, + { + "name": "Jannis Gebauer", + "github_login": "jayfk", + "twitter_username": "", + "is_core": True, + }, + { + "name": "Saurabh Kumar", + "github_login": "theskumar", + "twitter_username": "_theskumar", + "is_core": True, + }, + { + "name": "Shupeyko Nikita", + "github_login": "webyneter", + "twitter_username": "", + "is_core": True, + }, + { + "name": "Wan Liuyang", + "github_login": "sfdye", + "twitter_username": "sfdye", + "is_core": True, + }, + ] + core_members = [member["github_login"] for member in profiles_list] + + for contrib in table_content.split("\n"): + if not contrib: + continue + line_parts = contrib.split("`") + name = line_parts[0].strip() + github_login = line_parts[1].lstrip("@") if len(line_parts) > 1 else "" + if github_login in core_members: + continue + twitter_username = ( + line_parts[2].lstrip("_").strip().lstrip("@") + if len(line_parts) == 3 + else "" + ) + profile = { + "name": name, + "github_login": github_login, + "twitter_username": twitter_username, + } + profiles_list.append(profile) + + output_file_path = ROOT / ".github" / "contributors.json" + with output_file_path.open("w") as ofd: + json.dump(profiles_list, ofd, indent=2, ensure_ascii=False) + + +if __name__ == "__main__": + main() diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py new file mode 100644 index 000000000..2a8058bb4 --- /dev/null +++ b/scripts/update_contributors.py @@ -0,0 +1,130 @@ +import json +from pathlib import Path + +import requests +from jinja2 import Template + +CURRENT_FILE = Path(__file__) +ROOT = CURRENT_FILE.parents[1] +BOT_LOGINS = ["pyup-bot"] +OUTPUT_FILE_PATH = ROOT / "CONTRIBUTORS.rst" + +CONTRIBUTORS_TABLE_TEMPLATE = """ + + + + + + + {%- for contributor in contributors %} + + + + + + {%- endfor %} +
NameGithubTwitter
{{ contributor.name }} + {{ contributor.github_login }} + {{ contributor.twitter_username }}
+""" + + +def main() -> None: + gh = GitHub() + recent_authors = set(gh.iter_recent_authors()) + contrib_file = ContributorsJSONFile() + for username in recent_authors: + if username not in contrib_file: + user_data = gh.fetch_user_info(username) + contrib_file.add_contributor(user_data) + contrib_file.save() + + rst_file = ContributorsRSTFile() + rst_file.generate_table(contrib_file.content) + rst_file.save() + + +class GitHub: + base_url = "https://api.github.com" + + def __init__(self) -> None: + self.session = requests.Session() + + def request(self, endpoint): + response = self.session.get(f"{self.base_url}{endpoint}") + response.raise_for_status() + return response.json() + + def iter_recent_authors(self): + commits = self.request("/repos/pydanny/cookiecutter-django/commits") + for commit in commits: + login = commit["author"]["login"] + if login not in BOT_LOGINS: + yield login + + def fetch_user_info(self, username): + return self.request(f"/users/{username}") + + +class ContributorsJSONFile: + file_path = ROOT / ".github" / "contributors.json" + content = None + + def __init__(self) -> None: + with self.file_path.open() as fd: + self.content = json.load(fd) + + def __contains__(self, github_login: str): + return any(github_login == contrib["github_login"] for contrib in self.content) + + def add_contributor(self, user_data): + contributor_data = { + "name": user_data["name"], + "github_login": user_data["login"], + "twitter_username": user_data["twitter_username"], + } + new_content = self.content + [contributor_data] + self.content = sorted(new_content, key=lambda user: user["name"]) + + def save(self): + with self.file_path.open("w") as fd: + json.dump(self.content, fd, indent=2) + + +class ContributorsRSTFile: + file_path = ROOT / "CONTRIBUTORS.md" + content = None + marker_start = "" + marker_end = "" + + def __init__(self) -> None: + with self.file_path.open() as fd: + content = fd.read() + self.before, rest_initial = content.split(f"{self.marker_start}") + self.middle, self.after = rest_initial.split(f"{self.marker_end}") + + def generate_table(self, profiles_list): + template = Template(CONTRIBUTORS_TABLE_TEMPLATE, autoescape=True) + contributors = [profile for profile in profiles_list if not profile.get("is_core", False)] + self.middle = template.render(contributors=contributors) + + def save(self): + with self.file_path.open("w") as fd: + new_content = "\n".join( + [ + self.before, + self.marker_start, + self.middle, + self.marker_end, + self.after, + ] + ) + + fd.write(new_content) + + +if __name__ == "__main__": + template = Template(CONTRIBUTORS_TABLE_TEMPLATE, autoescape=True) + contrib_file = ContributorsJSONFile() + contributors = [profile for profile in contrib_file.content if profile.get("is_core", False)] + print(template.render(contributors=contributors)) From c57439e52206e9b70e998108310ac6a281e70a12 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 10 Aug 2020 17:42:01 +0100 Subject: [PATCH 0921/2840] Enhancements to the script --- CONTRIBUTORS.md | 96 ------------------------------ scripts/update_contributors.py | 105 ++++++++++++++++++--------------- 2 files changed, 59 insertions(+), 142 deletions(-) delete mode 100644 CONTRIBUTORS.md diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md deleted file mode 100644 index b7cc186d1..000000000 --- a/CONTRIBUTORS.md +++ /dev/null @@ -1,96 +0,0 @@ -# Contributors - -## Core Developers - -These contributors have commit flags for the repository, and are able to -accept and merge pull requests. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameGithubTwitter
Daniel Roy Greenfeld - pydanny - pydanny
Audrey Roy Greenfeld - audreyr - audreyr
Fábio C. Barrionuevo da Luz - luzfcb - luzfcb
Saurabh Kumar - theskumar - _theskumar
Jannis Gebauer - jayfk -
Burhan Khalid - burhan - burhan
Nikita Shupeyko - webyneter -
Bruno Alla - browniebroke - _BrunoAlla
Wan Liuyang - sfdye - sfdye
- -*Audrey is also the creator of Cookiecutter. Audrey and Daniel are on -the Cookiecutter core team.* - -## Other Contributors - -Listed in alphabetical order. - - - - -### Special Thanks - -The following haven't provided code directly, but have provided -guidance and advice. - -- Jannis Leidel -- Nate Aune -- Barry Morrison diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index 2a8058bb4..6d4c34162 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -7,16 +7,22 @@ from jinja2 import Template CURRENT_FILE = Path(__file__) ROOT = CURRENT_FILE.parents[1] BOT_LOGINS = ["pyup-bot"] -OUTPUT_FILE_PATH = ROOT / "CONTRIBUTORS.rst" -CONTRIBUTORS_TABLE_TEMPLATE = """ +CONTRIBUTORS_TEMPLATE = """ +# Contributors + +## Core Developers + +These contributors have commit flags for the repository, and are able to +accept and merge pull requests. + - {%- for contributor in contributors %} + {%- for contributor in core_contributors %} {%- endfor %}
Name Github Twitter
{{ contributor.name }} @@ -26,6 +32,39 @@ CONTRIBUTORS_TABLE_TEMPLATE = """
+ +*Audrey is also the creator of Cookiecutter. Audrey and Daniel are on +the Cookiecutter core team.* + +## Other Contributors + +Listed in alphabetical order. + + + + + + + + {%- for contributor in other_contributors %} + + + + + + {%- endfor %} +
NameGithubTwitter
{{ contributor.name }} + {{ contributor.github_login }} + {{ contributor.twitter_username }}
+ +### Special Thanks + +The following haven't provided code directly, but have provided +guidance and advice. + +- Jannis Leidel +- Nate Aune +- Barry Morrison """ @@ -34,14 +73,12 @@ def main() -> None: recent_authors = set(gh.iter_recent_authors()) contrib_file = ContributorsJSONFile() for username in recent_authors: - if username not in contrib_file: + if username not in contrib_file and username not in BOT_LOGINS: user_data = gh.fetch_user_info(username) contrib_file.add_contributor(user_data) contrib_file.save() - rst_file = ContributorsRSTFile() - rst_file.generate_table(contrib_file.content) - rst_file.save() + write_md_file(contrib_file.content) class GitHub: @@ -71,8 +108,7 @@ class ContributorsJSONFile: content = None def __init__(self) -> None: - with self.file_path.open() as fd: - self.content = json.load(fd) + self.content = json.loads(self.file_path.read_text()) def __contains__(self, github_login: str): return any(github_login == contrib["github_login"] for contrib in self.content) @@ -83,48 +119,25 @@ class ContributorsJSONFile: "github_login": user_data["login"], "twitter_username": user_data["twitter_username"], } - new_content = self.content + [contributor_data] - self.content = sorted(new_content, key=lambda user: user["name"]) + self.content.extend(contributor_data) def save(self): - with self.file_path.open("w") as fd: - json.dump(self.content, fd, indent=2) + self.file_path.write_text(json.dumps(self.content, indent=2)) -class ContributorsRSTFile: +def write_md_file(contributors): + template = Template(CONTRIBUTORS_TEMPLATE, autoescape=True) + core_contributors = [ + c for c in contributors if c.get("is_core", False) + ] + other_contributors = sorted( + c for c in contributors if not c.get("is_core", False) + ) + content = template.render(core_contributors=core_contributors, other_contributors=other_contributors) + file_path = ROOT / "CONTRIBUTORS.md" - content = None - marker_start = "" - marker_end = "" - - def __init__(self) -> None: - with self.file_path.open() as fd: - content = fd.read() - self.before, rest_initial = content.split(f"{self.marker_start}") - self.middle, self.after = rest_initial.split(f"{self.marker_end}") - - def generate_table(self, profiles_list): - template = Template(CONTRIBUTORS_TABLE_TEMPLATE, autoescape=True) - contributors = [profile for profile in profiles_list if not profile.get("is_core", False)] - self.middle = template.render(contributors=contributors) - - def save(self): - with self.file_path.open("w") as fd: - new_content = "\n".join( - [ - self.before, - self.marker_start, - self.middle, - self.marker_end, - self.after, - ] - ) - - fd.write(new_content) + file_path.write_text(content) if __name__ == "__main__": - template = Template(CONTRIBUTORS_TABLE_TEMPLATE, autoescape=True) - contrib_file = ContributorsJSONFile() - contributors = [profile for profile in contrib_file.content if profile.get("is_core", False)] - print(template.render(contributors=contributors)) + main() From ea8cfd55a48e090ebbeb586a11a84c862c1e7006 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 10 Aug 2020 17:46:34 +0100 Subject: [PATCH 0922/2840] More tweaks --- .github/contributors.json | 2 +- scripts/update_contributors.py | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/contributors.json b/.github/contributors.json index 1703b4260..b915f5d5a 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -988,4 +988,4 @@ "github_login": "mapx", "twitter_username": "" } -] +] \ No newline at end of file diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index 6d4c34162..88b6ffa88 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -122,18 +122,18 @@ class ContributorsJSONFile: self.content.extend(contributor_data) def save(self): - self.file_path.write_text(json.dumps(self.content, indent=2)) + text_content = json.dumps(self.content, indent=2, ensure_ascii=False) + self.file_path.write_text(text_content) def write_md_file(contributors): template = Template(CONTRIBUTORS_TEMPLATE, autoescape=True) - core_contributors = [ - c for c in contributors if c.get("is_core", False) - ] - other_contributors = sorted( - c for c in contributors if not c.get("is_core", False) + core_contributors = [c for c in contributors if c.get("is_core", False)] + other_contributors = (c for c in contributors if not c.get("is_core", False)) + other_contributors = sorted(other_contributors, key=lambda c: c["name"]) + content = template.render( + core_contributors=core_contributors, other_contributors=other_contributors ) - content = template.render(core_contributors=core_contributors, other_contributors=other_contributors) file_path = ROOT / "CONTRIBUTORS.md" file_path.write_text(content) From ceb96dddc1a4a3362f8fd35bb72d1017d0476ee4 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 10 Aug 2020 17:49:38 +0100 Subject: [PATCH 0923/2840] Organise core contributors by date joined --- .github/contributors.json | 110 +++++++++++++++++++------------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/.github/contributors.json b/.github/contributors.json index b915f5d5a..7a932526e 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1,4 +1,58 @@ [ + { + "name": "Daniel Roy Greenfeld", + "github_login": "pydanny", + "twitter_username": "pydanny", + "is_core": true + }, + { + "name": "Audrey Roy Greenfeld", + "github_login": "audreyr", + "twitter_username": "audreyr", + "is_core": true + }, + { + "name": "Fábio C. Barrionuevo da Luz", + "github_login": "luzfcb", + "twitter_username": "luzfcb", + "is_core": true + }, + { + "name": "Saurabh Kumar", + "github_login": "theskumar", + "twitter_username": "_theskumar", + "is_core": true + }, + { + "name": "Jannis Gebauer", + "github_login": "jayfk", + "twitter_username": "", + "is_core": true + }, + { + "name": "Burhan Khalid", + "github_login": "burhan", + "twitter_username": "burhan", + "is_core": true + }, + { + "name": "Shupeyko Nikita", + "github_login": "webyneter", + "twitter_username": "webyneter", + "is_core": true + }, + { + "name": "Bruno Alla", + "github_login": "browniebroke", + "twitter_username": "_BrunoAlla", + "is_core": true + }, + { + "name": "Wan Liuyang", + "github_login": "sfdye", + "twitter_username": "sfdye", + "is_core": true + }, { "name": "18", "github_login": "dezoito", @@ -124,12 +178,6 @@ "github_login": "", "twitter_username": "" }, - { - "name": "Audrey Roy Greenfeld", - "github_login": "audreyr", - "twitter_username": "audreyr", - "is_core": true - }, { "name": "Barclay Gauld", "github_login": "yunti", @@ -185,18 +233,6 @@ "github_login": "bolivierjr", "twitter_username": "" }, - { - "name": "Bruno Alla", - "github_login": "browniebroke", - "twitter_username": "_BrunoAlla", - "is_core": true - }, - { - "name": "Burhan Khalid", - "github_login": "burhan", - "twitter_username": "burhan", - "is_core": true - }, { "name": "Caio Ariede", "github_login": "caioariede", @@ -302,12 +338,6 @@ "github_login": "danifus", "twitter_username": "" }, - { - "name": "Daniel Roy Greenfeld", - "github_login": "pydanny", - "twitter_username": "pydanny", - "is_core": true - }, { "name": "Daniel Sears", "github_login": "highpost", @@ -403,12 +433,6 @@ "github_login": "eyadsibai", "twitter_username": "" }, - { - "name": "Fábio C. Barrionuevo da Luz", - "github_login": "luzfcb", - "twitter_username": "luzfcb", - "is_core": true - }, { "name": "Felipe Arruda", "github_login": "arruda", @@ -519,12 +543,6 @@ "github_login": "jvanbrug", "twitter_username": "" }, - { - "name": "Jannis Gebauer", - "github_login": "jayfk", - "twitter_username": "", - "is_core": true - }, { "name": "Jelmer Draaijer", "github_login": "foarsitter", @@ -830,23 +848,11 @@ "github_login": "MightySCollins", "twitter_username": "" }, - { - "name": "Saurabh Kumar", - "github_login": "theskumar", - "twitter_username": "_theskumar", - "is_core": true - }, { "name": "Sascha", "github_login": "saschalalala", "twitter_username": "saschalalala" }, - { - "name": "Shupeyko Nikita", - "github_login": "webyneter", - "twitter_username": "", - "is_core": true - }, { "name": "Sławek Ehlert", "github_login": "slafs", @@ -967,12 +973,6 @@ "github_login": "archinal", "twitter_username": "" }, - { - "name": "Wan Liuyang", - "github_login": "sfdye", - "twitter_username": "sfdye", - "is_core": true - }, { "name": "Xaver Y.R. Chen", "github_login": "yrchen", @@ -988,4 +988,4 @@ "github_login": "mapx", "twitter_username": "" } -] \ No newline at end of file +] From bd381ea0bfd8aa18ccc2f6ff5d4e8e3a1a766528 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 10 Aug 2020 17:56:26 +0100 Subject: [PATCH 0924/2840] Update the Github workflow --- .github/workflows/update-contributors.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index 20593be44..9809e234b 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -4,6 +4,7 @@ on: push: branches: - master + - auto-generate-contributors jobs: build: @@ -11,8 +12,6 @@ jobs: steps: - uses: actions/checkout@v2 - with: - fetch-depth: 0 - name: Set up Python uses: actions/setup-python@v2 @@ -23,4 +22,4 @@ jobs: python -m pip install --upgrade pip pip install -r requirements.txt - name: Update list - run: python scripts/update_contributors.py $GITHUB_EVENT_PATH + run: python scripts/update_contributors.py From 100a91eec33b51dc4520e521a0f367026c37b3f4 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 10 Aug 2020 18:06:11 +0100 Subject: [PATCH 0925/2840] Update contributors.json with recent contributors --- .github/contributors.json | 27 ++++++++++++++++- scripts/rst_to_json.py | 61 ++++++++++++++++++++------------------- 2 files changed, 57 insertions(+), 31 deletions(-) diff --git a/.github/contributors.json b/.github/contributors.json index 7a932526e..aeb0b61fd 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -68,6 +68,11 @@ "github_login": "a7p", "twitter_username": "" }, + { + "name": "Aadith PM", + "github_login": "aadithpm", + "twitter_username": "" + }, { "name": "Aaron Eikenberry", "github_login": "aeikenberry", @@ -173,6 +178,11 @@ "github_login": "areski", "twitter_username": "" }, + { + "name": "AsheKR", + "github_login": "ashekr", + "twitter_username": "" + }, { "name": "Ashley Camba", "github_login": "", @@ -653,6 +663,11 @@ "github_login": "glasslion", "twitter_username": "" }, + { + "name": "Leon Kim", + "github_login": "PilhwanKim", + "twitter_username": "" + }, { "name": "Leonardo Jimenez", "github_login": "xpostudio4", @@ -733,6 +748,11 @@ "github_login": "mjsisley", "twitter_username": "" }, + { + "name": "Matthias Sieber", + "github_login": "manonthemat", + "twitter_username": "MatzeOne" + }, { "name": "Meghan Heintz", "github_login": "dot2dotseurat", @@ -828,6 +848,11 @@ "github_login": "rm--", "twitter_username": "" }, + { + "name": "Richard Hajdu", + "github_login": "Tusky", + "twitter_username": "" + }, { "name": "Roman Afanaskin", "github_login": "siauPatrick", @@ -988,4 +1013,4 @@ "github_login": "mapx", "twitter_username": "" } -] +] \ No newline at end of file diff --git a/scripts/rst_to_json.py b/scripts/rst_to_json.py index 37f5b2193..1cb3f585c 100644 --- a/scripts/rst_to_json.py +++ b/scripts/rst_to_json.py @@ -7,61 +7,60 @@ ROOT = CURRENT_FILE.parents[1] def main(): input_file_path = ROOT / "CONTRIBUTORS.rst" - with input_file_path.open() as ifd: - content = ifd.read() + content = input_file_path.read_text() table_separator = ( - "============================= ========================== ==================" + "========================== ============================ ==============" ) table_content = content.split(table_separator)[2] profiles_list = [ - { - "name": "Audrey Roy Greenfeld", - "github_login": "audreyr", - "twitter_username": "audreyr", - "is_core": True, - }, - { - "name": "Bruno Alla", - "github_login": "browniebroke", - "twitter_username": "_BrunoAlla", - "is_core": True, - }, - { - "name": "Burhan Khalid", - "github_login": "burhan", - "twitter_username": "burhan", - "is_core": True, - }, { "name": "Daniel Roy Greenfeld", "github_login": "pydanny", "twitter_username": "pydanny", "is_core": True, }, + { + "name": "Audrey Roy Greenfeld", + "github_login": "audreyr", + "twitter_username": "audreyr", + "is_core": True, + }, { "name": "Fábio C. Barrionuevo da Luz", "github_login": "luzfcb", "twitter_username": "luzfcb", "is_core": True, }, - { - "name": "Jannis Gebauer", - "github_login": "jayfk", - "twitter_username": "", - "is_core": True, - }, { "name": "Saurabh Kumar", "github_login": "theskumar", "twitter_username": "_theskumar", "is_core": True, }, + { + "name": "Jannis Gebauer", + "github_login": "jayfk", + "twitter_username": "", + "is_core": True, + }, + { + "name": "Burhan Khalid", + "github_login": "burhan", + "twitter_username": "burhan", + "is_core": True, + }, { "name": "Shupeyko Nikita", "github_login": "webyneter", - "twitter_username": "", + "twitter_username": "webyneter", + "is_core": True, + }, + { + "name": "Bruno Alla", + "github_login": "browniebroke", + "twitter_username": "_BrunoAlla", "is_core": True, }, { @@ -94,8 +93,10 @@ def main(): profiles_list.append(profile) output_file_path = ROOT / ".github" / "contributors.json" - with output_file_path.open("w") as ofd: - json.dump(profiles_list, ofd, indent=2, ensure_ascii=False) + output_file_path.write_text( + json.dumps(profiles_list, indent=2, ensure_ascii=False) + ) + if __name__ == "__main__": From 9344038479f7418284c0152ec9072cb35354d0b3 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 10 Aug 2020 18:09:03 +0100 Subject: [PATCH 0926/2840] Update workflow to commit updated file --- .github/workflows/update-contributors.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index 9809e234b..a6c0e9c40 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -23,3 +23,9 @@ jobs: pip install -r requirements.txt - name: Update list run: python scripts/update_contributors.py + + - name: Commit changes + uses: stefanzweifel/git-auto-commit-action@v4 + with: + commit_message: Update Contributors + file_pattern: CONTRIBUTORS.md From 673997a389a2df1f5b82c2e357c963bec995d28e Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 10 Aug 2020 18:13:42 +0100 Subject: [PATCH 0927/2840] Some small cleanups --- .github/browniebroke.json | 34 - .github/commits.json | 2417 --------------------- .github/workflows/update-contributors.yml | 2 +- scripts/rst_to_json.py | 5 +- scripts/update_contributors.py | 3 + 5 files changed, 5 insertions(+), 2456 deletions(-) delete mode 100644 .github/browniebroke.json delete mode 100644 .github/commits.json diff --git a/.github/browniebroke.json b/.github/browniebroke.json deleted file mode 100644 index 9f9199319..000000000 --- a/.github/browniebroke.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "login": "browniebroke", - "id": 861044, - "node_id": "MDQ6VXNlcjg2MTA0NA==", - "avatar_url": "https://avatars1.githubusercontent.com/u/861044?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/browniebroke", - "html_url": "https://github.com/browniebroke", - "followers_url": "https://api.github.com/users/browniebroke/followers", - "following_url": "https://api.github.com/users/browniebroke/following{/other_user}", - "gists_url": "https://api.github.com/users/browniebroke/gists{/gist_id}", - "starred_url": "https://api.github.com/users/browniebroke/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/browniebroke/subscriptions", - "organizations_url": "https://api.github.com/users/browniebroke/orgs", - "repos_url": "https://api.github.com/users/browniebroke/repos", - "events_url": "https://api.github.com/users/browniebroke/events{/privacy}", - "received_events_url": "https://api.github.com/users/browniebroke/received_events", - "type": "User", - "site_admin": false, - "name": "Bruno Alla", - "company": "Festicket", - "blog": "https://browniebroke.com", - "location": "London, UK", - "email": null, - "hireable": null, - "bio": null, - "twitter_username": "_BrunoAlla", - "public_repos": 149, - "public_gists": 5, - "followers": 70, - "following": 73, - "created_at": "2011-06-20T07:06:17Z", - "updated_at": "2020-07-27T15:48:03Z" -} diff --git a/.github/commits.json b/.github/commits.json deleted file mode 100644 index 69e6c72a9..000000000 --- a/.github/commits.json +++ /dev/null @@ -1,2417 +0,0 @@ -[ - { - "sha": "58882b6a7d169628aa37219967b79ce0ded25500", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6NTg4ODJiNmE3ZDE2OTYyOGFhMzcyMTk5NjdiNzljZTBkZWQyNTUwMA==", - "commit": { - "author": { - "name": "Bruno Alla", - "email": "browniebroke@users.noreply.github.com", - "date": "2020-07-29T11:32:19Z" - }, - "committer": { - "name": "Bruno Alla", - "email": "browniebroke@users.noreply.github.com", - "date": "2020-07-29T11:32:19Z" - }, - "message": "Add missing link to Github profile", - "tree": { - "sha": "0ab2decf022f1cdbd319e2d5a897144c80dabc48", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/0ab2decf022f1cdbd319e2d5a897144c80dabc48" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/58882b6a7d169628aa37219967b79ce0ded25500", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/58882b6a7d169628aa37219967b79ce0ded25500", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/58882b6a7d169628aa37219967b79ce0ded25500", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/58882b6a7d169628aa37219967b79ce0ded25500/comments", - "author": { - "login": "browniebroke", - "id": 861044, - "node_id": "MDQ6VXNlcjg2MTA0NA==", - "avatar_url": "https://avatars1.githubusercontent.com/u/861044?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/browniebroke", - "html_url": "https://github.com/browniebroke", - "followers_url": "https://api.github.com/users/browniebroke/followers", - "following_url": "https://api.github.com/users/browniebroke/following{/other_user}", - "gists_url": "https://api.github.com/users/browniebroke/gists{/gist_id}", - "starred_url": "https://api.github.com/users/browniebroke/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/browniebroke/subscriptions", - "organizations_url": "https://api.github.com/users/browniebroke/orgs", - "repos_url": "https://api.github.com/users/browniebroke/repos", - "events_url": "https://api.github.com/users/browniebroke/events{/privacy}", - "received_events_url": "https://api.github.com/users/browniebroke/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "browniebroke", - "id": 861044, - "node_id": "MDQ6VXNlcjg2MTA0NA==", - "avatar_url": "https://avatars1.githubusercontent.com/u/861044?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/browniebroke", - "html_url": "https://github.com/browniebroke", - "followers_url": "https://api.github.com/users/browniebroke/followers", - "following_url": "https://api.github.com/users/browniebroke/following{/other_user}", - "gists_url": "https://api.github.com/users/browniebroke/gists{/gist_id}", - "starred_url": "https://api.github.com/users/browniebroke/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/browniebroke/subscriptions", - "organizations_url": "https://api.github.com/users/browniebroke/orgs", - "repos_url": "https://api.github.com/users/browniebroke/repos", - "events_url": "https://api.github.com/users/browniebroke/events{/privacy}", - "received_events_url": "https://api.github.com/users/browniebroke/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "b148740a212a5c1ec57f6749315117cb6944236f", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/b148740a212a5c1ec57f6749315117cb6944236f", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/b148740a212a5c1ec57f6749315117cb6944236f" - } - ] - }, - { - "sha": "b148740a212a5c1ec57f6749315117cb6944236f", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6YjE0ODc0MGEyMTJhNWMxZWM1N2Y2NzQ5MzE1MTE3Y2I2OTQ0MjM2Zg==", - "commit": { - "author": { - "name": "Bruno Alla", - "email": "browniebroke@users.noreply.github.com", - "date": "2020-07-29T08:29:30Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2020-07-29T08:29:30Z" - }, - "message": "Merge pull request #2707 from pydanny/pyup-update-uvicorn-0.11.6-to-0.11.7\n\nUpdate uvicorn to 0.11.7", - "tree": { - "sha": "9ca4e7226bdd7aae06fff696382f0fa0c70da970", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/9ca4e7226bdd7aae06fff696382f0fa0c70da970" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/b148740a212a5c1ec57f6749315117cb6944236f", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJfITNqCRBK7hj4Ov3rIwAAdHIIAG3B72SRxhLE4zvAi3CKWXJd\nMHL4JSe6JNxPME3si8AxmG3SJCTo4V6yZkpnmq5mRwgk4x5q3ofQOyZBDOhWaX9d\nFLOk0fSP266zw2oSY0ilsaS7sFxnlo98Cdr3ZJKdaKv5ldSgXeotwD2yavQbP7Rx\njT04r/9tMYuRY0nQJvJ+7HF9PVWm4ecokf9iHU9Iz/sG5SS7fNLrRFcMb+fZ6OKt\nQ1sBS1++Lnkk+IMR1r7H09+ANjCeUeuPbxUWj+cVMr0PNAsTjU213pMoTpYVY7bY\nnUF4XLz36ohhFlTBLHLMwYRwgCagh6y83iWQUaJHa+E0sgMBBcAaljm7DfNjFtM=\n=sEH3\n-----END PGP SIGNATURE-----\n", - "payload": "tree 9ca4e7226bdd7aae06fff696382f0fa0c70da970\nparent d41bf740b43bba0084307e24dcdbdea128bf45f7\nparent 4b4bda783518954fa4816947a83a357ea8b0000a\nauthor Bruno Alla 1596011370 +0100\ncommitter GitHub 1596011370 +0100\n\nMerge pull request #2707 from pydanny/pyup-update-uvicorn-0.11.6-to-0.11.7\n\nUpdate uvicorn to 0.11.7" - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/b148740a212a5c1ec57f6749315117cb6944236f", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/b148740a212a5c1ec57f6749315117cb6944236f", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/b148740a212a5c1ec57f6749315117cb6944236f/comments", - "author": { - "login": "browniebroke", - "id": 861044, - "node_id": "MDQ6VXNlcjg2MTA0NA==", - "avatar_url": "https://avatars1.githubusercontent.com/u/861044?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/browniebroke", - "html_url": "https://github.com/browniebroke", - "followers_url": "https://api.github.com/users/browniebroke/followers", - "following_url": "https://api.github.com/users/browniebroke/following{/other_user}", - "gists_url": "https://api.github.com/users/browniebroke/gists{/gist_id}", - "starred_url": "https://api.github.com/users/browniebroke/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/browniebroke/subscriptions", - "organizations_url": "https://api.github.com/users/browniebroke/orgs", - "repos_url": "https://api.github.com/users/browniebroke/repos", - "events_url": "https://api.github.com/users/browniebroke/events{/privacy}", - "received_events_url": "https://api.github.com/users/browniebroke/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://avatars3.githubusercontent.com/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "d41bf740b43bba0084307e24dcdbdea128bf45f7", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/d41bf740b43bba0084307e24dcdbdea128bf45f7", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/d41bf740b43bba0084307e24dcdbdea128bf45f7" - }, - { - "sha": "4b4bda783518954fa4816947a83a357ea8b0000a", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/4b4bda783518954fa4816947a83a357ea8b0000a", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/4b4bda783518954fa4816947a83a357ea8b0000a" - } - ] - }, - { - "sha": "d41bf740b43bba0084307e24dcdbdea128bf45f7", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6ZDQxYmY3NDBiNDNiYmEwMDg0MzA3ZTI0ZGNkYmRlYTEyOGJmNDVmNw==", - "commit": { - "author": { - "name": "Bruno Alla", - "email": "browniebroke@users.noreply.github.com", - "date": "2020-07-29T08:28:28Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2020-07-29T08:28:28Z" - }, - "message": "Merge pull request #2706 from pydanny/pyup-update-tox-3.18.0-to-3.18.1\n\nUpdate tox to 3.18.1", - "tree": { - "sha": "4e42b5dad2bdbeaf7431eee6b4ce34349cefa277", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/4e42b5dad2bdbeaf7431eee6b4ce34349cefa277" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/d41bf740b43bba0084307e24dcdbdea128bf45f7", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJfITMsCRBK7hj4Ov3rIwAAdHIIAETVssfXHqUeUnUUXbZfxCyY\nNcJ5Uj2K6AfKt9DyM2/5UdqzDIRb3WNrAt+rjaZvlu3onUPKKJAiP38hMIZklTiJ\nLuqMema8u0ED3h3TpgLcUlpziNCEzFRkANg/XVvhYQc9uVnzVRD375NXyRYuUtZw\nBc9C/l5D0P/hsAYxzgaxg+bVqyqNfzHB+e+/FIyGbgYaVetMydaey2uDCWk/Wd7z\n1u9DVRnK8KylkkUEN7Swjz4PFftyHlCmWNJ9Ee4mTrOIhiAOZlzfkMz3ihTiZnrp\nxfN8eUqjSEsIPXEaMTgedtm8WfuOgR5dTTgpmcB9/L1NZslTJ91dwgpkcvj0Odg=\n=TCyB\n-----END PGP SIGNATURE-----\n", - "payload": "tree 4e42b5dad2bdbeaf7431eee6b4ce34349cefa277\nparent 0f1dfdd72edc05f5c56fceeb0ab5632458f72c12\nparent 84a3082527d322f4f9bd64ab0675ecd3a256d2af\nauthor Bruno Alla 1596011308 +0100\ncommitter GitHub 1596011308 +0100\n\nMerge pull request #2706 from pydanny/pyup-update-tox-3.18.0-to-3.18.1\n\nUpdate tox to 3.18.1" - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/d41bf740b43bba0084307e24dcdbdea128bf45f7", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/d41bf740b43bba0084307e24dcdbdea128bf45f7", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/d41bf740b43bba0084307e24dcdbdea128bf45f7/comments", - "author": { - "login": "browniebroke", - "id": 861044, - "node_id": "MDQ6VXNlcjg2MTA0NA==", - "avatar_url": "https://avatars1.githubusercontent.com/u/861044?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/browniebroke", - "html_url": "https://github.com/browniebroke", - "followers_url": "https://api.github.com/users/browniebroke/followers", - "following_url": "https://api.github.com/users/browniebroke/following{/other_user}", - "gists_url": "https://api.github.com/users/browniebroke/gists{/gist_id}", - "starred_url": "https://api.github.com/users/browniebroke/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/browniebroke/subscriptions", - "organizations_url": "https://api.github.com/users/browniebroke/orgs", - "repos_url": "https://api.github.com/users/browniebroke/repos", - "events_url": "https://api.github.com/users/browniebroke/events{/privacy}", - "received_events_url": "https://api.github.com/users/browniebroke/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://avatars3.githubusercontent.com/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "0f1dfdd72edc05f5c56fceeb0ab5632458f72c12", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/0f1dfdd72edc05f5c56fceeb0ab5632458f72c12", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/0f1dfdd72edc05f5c56fceeb0ab5632458f72c12" - }, - { - "sha": "84a3082527d322f4f9bd64ab0675ecd3a256d2af", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/84a3082527d322f4f9bd64ab0675ecd3a256d2af", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/84a3082527d322f4f9bd64ab0675ecd3a256d2af" - } - ] - }, - { - "sha": "4b4bda783518954fa4816947a83a357ea8b0000a", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6NGI0YmRhNzgzNTE4OTU0ZmE0ODE2OTQ3YTgzYTM1N2VhOGIwMDAwYQ==", - "commit": { - "author": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-28T13:34:49Z" - }, - "committer": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-28T13:34:49Z" - }, - "message": "Update uvicorn from 0.11.6 to 0.11.7", - "tree": { - "sha": "d9ddd166ad5771852efcc336de4a94b072562c1f", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/d9ddd166ad5771852efcc336de4a94b072562c1f" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/4b4bda783518954fa4816947a83a357ea8b0000a", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/4b4bda783518954fa4816947a83a357ea8b0000a", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/4b4bda783518954fa4816947a83a357ea8b0000a", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/4b4bda783518954fa4816947a83a357ea8b0000a/comments", - "author": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "0f1dfdd72edc05f5c56fceeb0ab5632458f72c12", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/0f1dfdd72edc05f5c56fceeb0ab5632458f72c12", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/0f1dfdd72edc05f5c56fceeb0ab5632458f72c12" - } - ] - }, - { - "sha": "84a3082527d322f4f9bd64ab0675ecd3a256d2af", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6ODRhMzA4MjUyN2QzMjJmNGY5YmQ2NGFiMDY3NWVjZDNhMjU2ZDJhZg==", - "commit": { - "author": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-28T13:34:45Z" - }, - "committer": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-28T13:34:45Z" - }, - "message": "Update tox from 3.18.0 to 3.18.1", - "tree": { - "sha": "4e42b5dad2bdbeaf7431eee6b4ce34349cefa277", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/4e42b5dad2bdbeaf7431eee6b4ce34349cefa277" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/84a3082527d322f4f9bd64ab0675ecd3a256d2af", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/84a3082527d322f4f9bd64ab0675ecd3a256d2af", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/84a3082527d322f4f9bd64ab0675ecd3a256d2af", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/84a3082527d322f4f9bd64ab0675ecd3a256d2af/comments", - "author": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "0f1dfdd72edc05f5c56fceeb0ab5632458f72c12", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/0f1dfdd72edc05f5c56fceeb0ab5632458f72c12", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/0f1dfdd72edc05f5c56fceeb0ab5632458f72c12" - } - ] - }, - { - "sha": "0f1dfdd72edc05f5c56fceeb0ab5632458f72c12", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6MGYxZGZkZDcyZWRjMDVmNWM1NmZjZWViMGFiNTYzMjQ1OGY3MmMxMg==", - "commit": { - "author": { - "name": "Fábio C. Barrionuevo da Luz", - "email": "bnafta@gmail.com", - "date": "2020-07-27T21:22:54Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2020-07-27T21:22:54Z" - }, - "message": "Merge pull request #2704 from manonthemat/master\n\nAdded most recent supported PostgreSQL version in documentation", - "tree": { - "sha": "65b3bf322fc9661584a23fb498566e56d3d81f5a", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/65b3bf322fc9661584a23fb498566e56d3d81f5a" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/0f1dfdd72edc05f5c56fceeb0ab5632458f72c12", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJfH0WuCRBK7hj4Ov3rIwAAdHIIAIHvd/XGFoeYyWFPH0i8T9nZ\nCn0jCJTcV4sgzUt2NrvCniNotKUzJAIguAcQpZACNhrzHwL5vSi7FoOtNtqyy5L8\nLI6aonjcS9D8Ug2LvnSAJpQ9R/BR1VDWNPsHytWbeHDjmVfXRmX9Ngt+GvUPMMUV\nu+k2QXQtLaLzSusDuwMWgO7ekfwJrrPXou9MF0GGbRDEtVHEz14vdgM7cJ2Y/O42\nObfDAQyL1KEn6jgJR55hZzQgAYPl5tO5q3FCpRWyVzlK0ZgMNvSDykxJ/h4KfAtj\n8VId/yKH2odHHgYeT+xkx638bI13XEDUL0FibyWBA13XqriUDVEf2sRslE24d04=\n=p3nH\n-----END PGP SIGNATURE-----\n", - "payload": "tree 65b3bf322fc9661584a23fb498566e56d3d81f5a\nparent a4f7fb41d77679ff11891c0c04bf38c1a2712086\nparent 279175a3447b7754769a33a69441d9cd566025e0\nauthor Fábio C. Barrionuevo da Luz 1595884974 -0300\ncommitter GitHub 1595884974 -0300\n\nMerge pull request #2704 from manonthemat/master\n\nAdded most recent supported PostgreSQL version in documentation" - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/0f1dfdd72edc05f5c56fceeb0ab5632458f72c12", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/0f1dfdd72edc05f5c56fceeb0ab5632458f72c12", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/0f1dfdd72edc05f5c56fceeb0ab5632458f72c12/comments", - "author": { - "login": "luzfcb", - "id": 807599, - "node_id": "MDQ6VXNlcjgwNzU5OQ==", - "avatar_url": "https://avatars0.githubusercontent.com/u/807599?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/luzfcb", - "html_url": "https://github.com/luzfcb", - "followers_url": "https://api.github.com/users/luzfcb/followers", - "following_url": "https://api.github.com/users/luzfcb/following{/other_user}", - "gists_url": "https://api.github.com/users/luzfcb/gists{/gist_id}", - "starred_url": "https://api.github.com/users/luzfcb/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/luzfcb/subscriptions", - "organizations_url": "https://api.github.com/users/luzfcb/orgs", - "repos_url": "https://api.github.com/users/luzfcb/repos", - "events_url": "https://api.github.com/users/luzfcb/events{/privacy}", - "received_events_url": "https://api.github.com/users/luzfcb/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://avatars3.githubusercontent.com/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "a4f7fb41d77679ff11891c0c04bf38c1a2712086", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/a4f7fb41d77679ff11891c0c04bf38c1a2712086", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/a4f7fb41d77679ff11891c0c04bf38c1a2712086" - }, - { - "sha": "279175a3447b7754769a33a69441d9cd566025e0", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/279175a3447b7754769a33a69441d9cd566025e0", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/279175a3447b7754769a33a69441d9cd566025e0" - } - ] - }, - { - "sha": "279175a3447b7754769a33a69441d9cd566025e0", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6Mjc5MTc1YTM0NDdiNzc1NDc2OWEzM2E2OTQ0MWQ5Y2Q1NjYwMjVlMA==", - "commit": { - "author": { - "name": "Matthias Sieber", - "email": "matthiasksieber@gmail.com", - "date": "2020-07-27T21:14:15Z" - }, - "committer": { - "name": "Matthias Sieber", - "email": "matthiasksieber@gmail.com", - "date": "2020-07-27T21:14:15Z" - }, - "message": "updated docs", - "tree": { - "sha": "65b3bf322fc9661584a23fb498566e56d3d81f5a", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/65b3bf322fc9661584a23fb498566e56d3d81f5a" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/279175a3447b7754769a33a69441d9cd566025e0", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/279175a3447b7754769a33a69441d9cd566025e0", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/279175a3447b7754769a33a69441d9cd566025e0", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/279175a3447b7754769a33a69441d9cd566025e0/comments", - "author": { - "login": "manonthemat", - "id": 5065940, - "node_id": "MDQ6VXNlcjUwNjU5NDA=", - "avatar_url": "https://avatars2.githubusercontent.com/u/5065940?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/manonthemat", - "html_url": "https://github.com/manonthemat", - "followers_url": "https://api.github.com/users/manonthemat/followers", - "following_url": "https://api.github.com/users/manonthemat/following{/other_user}", - "gists_url": "https://api.github.com/users/manonthemat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/manonthemat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/manonthemat/subscriptions", - "organizations_url": "https://api.github.com/users/manonthemat/orgs", - "repos_url": "https://api.github.com/users/manonthemat/repos", - "events_url": "https://api.github.com/users/manonthemat/events{/privacy}", - "received_events_url": "https://api.github.com/users/manonthemat/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "manonthemat", - "id": 5065940, - "node_id": "MDQ6VXNlcjUwNjU5NDA=", - "avatar_url": "https://avatars2.githubusercontent.com/u/5065940?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/manonthemat", - "html_url": "https://github.com/manonthemat", - "followers_url": "https://api.github.com/users/manonthemat/followers", - "following_url": "https://api.github.com/users/manonthemat/following{/other_user}", - "gists_url": "https://api.github.com/users/manonthemat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/manonthemat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/manonthemat/subscriptions", - "organizations_url": "https://api.github.com/users/manonthemat/orgs", - "repos_url": "https://api.github.com/users/manonthemat/repos", - "events_url": "https://api.github.com/users/manonthemat/events{/privacy}", - "received_events_url": "https://api.github.com/users/manonthemat/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "d5d4941d2286671dd7f7eda19f0001b98dbb9095", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/d5d4941d2286671dd7f7eda19f0001b98dbb9095", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/d5d4941d2286671dd7f7eda19f0001b98dbb9095" - } - ] - }, - { - "sha": "d5d4941d2286671dd7f7eda19f0001b98dbb9095", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6ZDVkNDk0MWQyMjg2NjcxZGQ3ZjdlZGExOWYwMDAxYjk4ZGJiOTA5NQ==", - "commit": { - "author": { - "name": "Matthias Sieber", - "email": "matthiasksieber@gmail.com", - "date": "2020-07-27T21:12:33Z" - }, - "committer": { - "name": "Matthias Sieber", - "email": "matthiasksieber@gmail.com", - "date": "2020-07-27T21:12:33Z" - }, - "message": "added to list of other contributors", - "tree": { - "sha": "deb68fe1649f8b5346277947378d224645d52aff", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/deb68fe1649f8b5346277947378d224645d52aff" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/d5d4941d2286671dd7f7eda19f0001b98dbb9095", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/d5d4941d2286671dd7f7eda19f0001b98dbb9095", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/d5d4941d2286671dd7f7eda19f0001b98dbb9095", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/d5d4941d2286671dd7f7eda19f0001b98dbb9095/comments", - "author": { - "login": "manonthemat", - "id": 5065940, - "node_id": "MDQ6VXNlcjUwNjU5NDA=", - "avatar_url": "https://avatars2.githubusercontent.com/u/5065940?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/manonthemat", - "html_url": "https://github.com/manonthemat", - "followers_url": "https://api.github.com/users/manonthemat/followers", - "following_url": "https://api.github.com/users/manonthemat/following{/other_user}", - "gists_url": "https://api.github.com/users/manonthemat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/manonthemat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/manonthemat/subscriptions", - "organizations_url": "https://api.github.com/users/manonthemat/orgs", - "repos_url": "https://api.github.com/users/manonthemat/repos", - "events_url": "https://api.github.com/users/manonthemat/events{/privacy}", - "received_events_url": "https://api.github.com/users/manonthemat/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "manonthemat", - "id": 5065940, - "node_id": "MDQ6VXNlcjUwNjU5NDA=", - "avatar_url": "https://avatars2.githubusercontent.com/u/5065940?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/manonthemat", - "html_url": "https://github.com/manonthemat", - "followers_url": "https://api.github.com/users/manonthemat/followers", - "following_url": "https://api.github.com/users/manonthemat/following{/other_user}", - "gists_url": "https://api.github.com/users/manonthemat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/manonthemat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/manonthemat/subscriptions", - "organizations_url": "https://api.github.com/users/manonthemat/orgs", - "repos_url": "https://api.github.com/users/manonthemat/repos", - "events_url": "https://api.github.com/users/manonthemat/events{/privacy}", - "received_events_url": "https://api.github.com/users/manonthemat/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "5500af7364e3ff0d2ead6b7100e8884e0ace785b", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/5500af7364e3ff0d2ead6b7100e8884e0ace785b", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/5500af7364e3ff0d2ead6b7100e8884e0ace785b" - } - ] - }, - { - "sha": "5500af7364e3ff0d2ead6b7100e8884e0ace785b", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6NTUwMGFmNzM2NGUzZmYwZDJlYWQ2YjcxMDBlODg4NGUwYWNlNzg1Yg==", - "commit": { - "author": { - "name": "Matthias Sieber", - "email": "matthiasksieber@gmail.com", - "date": "2020-07-27T21:08:56Z" - }, - "committer": { - "name": "Matthias Sieber", - "email": "matthiasksieber@gmail.com", - "date": "2020-07-27T21:08:56Z" - }, - "message": "update Readme w/ current PostgreSQL version support", - "tree": { - "sha": "76b325e32d6e4ad0ce77075efc485722922180ca", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/76b325e32d6e4ad0ce77075efc485722922180ca" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/5500af7364e3ff0d2ead6b7100e8884e0ace785b", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/5500af7364e3ff0d2ead6b7100e8884e0ace785b", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/5500af7364e3ff0d2ead6b7100e8884e0ace785b", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/5500af7364e3ff0d2ead6b7100e8884e0ace785b/comments", - "author": { - "login": "manonthemat", - "id": 5065940, - "node_id": "MDQ6VXNlcjUwNjU5NDA=", - "avatar_url": "https://avatars2.githubusercontent.com/u/5065940?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/manonthemat", - "html_url": "https://github.com/manonthemat", - "followers_url": "https://api.github.com/users/manonthemat/followers", - "following_url": "https://api.github.com/users/manonthemat/following{/other_user}", - "gists_url": "https://api.github.com/users/manonthemat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/manonthemat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/manonthemat/subscriptions", - "organizations_url": "https://api.github.com/users/manonthemat/orgs", - "repos_url": "https://api.github.com/users/manonthemat/repos", - "events_url": "https://api.github.com/users/manonthemat/events{/privacy}", - "received_events_url": "https://api.github.com/users/manonthemat/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "manonthemat", - "id": 5065940, - "node_id": "MDQ6VXNlcjUwNjU5NDA=", - "avatar_url": "https://avatars2.githubusercontent.com/u/5065940?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/manonthemat", - "html_url": "https://github.com/manonthemat", - "followers_url": "https://api.github.com/users/manonthemat/followers", - "following_url": "https://api.github.com/users/manonthemat/following{/other_user}", - "gists_url": "https://api.github.com/users/manonthemat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/manonthemat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/manonthemat/subscriptions", - "organizations_url": "https://api.github.com/users/manonthemat/orgs", - "repos_url": "https://api.github.com/users/manonthemat/repos", - "events_url": "https://api.github.com/users/manonthemat/events{/privacy}", - "received_events_url": "https://api.github.com/users/manonthemat/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "a4f7fb41d77679ff11891c0c04bf38c1a2712086", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/a4f7fb41d77679ff11891c0c04bf38c1a2712086", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/a4f7fb41d77679ff11891c0c04bf38c1a2712086" - } - ] - }, - { - "sha": "a4f7fb41d77679ff11891c0c04bf38c1a2712086", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6YTRmN2ZiNDFkNzc2NzlmZjExODkxYzBjMDRiZjM4YzFhMjcxMjA4Ng==", - "commit": { - "author": { - "name": "Bruno Alla", - "email": "browniebroke@users.noreply.github.com", - "date": "2020-07-26T15:07:29Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2020-07-26T15:07:29Z" - }, - "message": "Merge pull request #2702 from pydanny/pyup-update-django-anymail-7.1.0-to-7.2", - "tree": { - "sha": "0375fcc81dcd9233ec3f230f56cc22ee203dae6e", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/0375fcc81dcd9233ec3f230f56cc22ee203dae6e" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/a4f7fb41d77679ff11891c0c04bf38c1a2712086", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJfHZwxCRBK7hj4Ov3rIwAAdHIIABXB6C6RqSDq9/p853HsQlTq\nUS4hczA2CkyBsf3j7v+bxchKq3t6ilG6XOhnuaTYA9PcfOb8cXYjVl1prmZZ/wO0\nczIZ1qlo5lMJWr6OGvo5/oY58LM7zbq8LDpBz/v5qghBbL9GDMbF8gwmyS2CH+DV\nzPRwzf3P0q9mbBXgw/t1lkUJ5C3KzM/lYaBI0SdZJR39HM7FbOuOTytkHuyr+SPw\nPRUo0CMoTiaGXikdNF8QaYDnEMZ+3pr1rTt3dkejivRlgrNLnhEKOsS1LU/tlyyP\ndah6pgIk7Q2b7PndjHwjpqTK4uBXX1g410gxMrPck48hRXh06qUzRqg43/Fq/RI=\n=bQej\n-----END PGP SIGNATURE-----\n", - "payload": "tree 0375fcc81dcd9233ec3f230f56cc22ee203dae6e\nparent 08a15337b35e1c11d9ef1494e9550ceaee7e9e72\nparent c3391c957284f6ec956a0ee2043e2389fb34e0db\nauthor Bruno Alla 1595776049 +0100\ncommitter GitHub 1595776049 +0100\n\nMerge pull request #2702 from pydanny/pyup-update-django-anymail-7.1.0-to-7.2\n\n" - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/a4f7fb41d77679ff11891c0c04bf38c1a2712086", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/a4f7fb41d77679ff11891c0c04bf38c1a2712086", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/a4f7fb41d77679ff11891c0c04bf38c1a2712086/comments", - "author": { - "login": "browniebroke", - "id": 861044, - "node_id": "MDQ6VXNlcjg2MTA0NA==", - "avatar_url": "https://avatars1.githubusercontent.com/u/861044?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/browniebroke", - "html_url": "https://github.com/browniebroke", - "followers_url": "https://api.github.com/users/browniebroke/followers", - "following_url": "https://api.github.com/users/browniebroke/following{/other_user}", - "gists_url": "https://api.github.com/users/browniebroke/gists{/gist_id}", - "starred_url": "https://api.github.com/users/browniebroke/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/browniebroke/subscriptions", - "organizations_url": "https://api.github.com/users/browniebroke/orgs", - "repos_url": "https://api.github.com/users/browniebroke/repos", - "events_url": "https://api.github.com/users/browniebroke/events{/privacy}", - "received_events_url": "https://api.github.com/users/browniebroke/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://avatars3.githubusercontent.com/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "08a15337b35e1c11d9ef1494e9550ceaee7e9e72", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/08a15337b35e1c11d9ef1494e9550ceaee7e9e72", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/08a15337b35e1c11d9ef1494e9550ceaee7e9e72" - }, - { - "sha": "c3391c957284f6ec956a0ee2043e2389fb34e0db", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/c3391c957284f6ec956a0ee2043e2389fb34e0db", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/c3391c957284f6ec956a0ee2043e2389fb34e0db" - } - ] - }, - { - "sha": "c3391c957284f6ec956a0ee2043e2389fb34e0db", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6YzMzOTFjOTU3Mjg0ZjZlYzk1NmEwZWUyMDQzZTIzODlmYjM0ZTBkYg==", - "commit": { - "author": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:40Z" - }, - "committer": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:40Z" - }, - "message": "Update django-anymail from 7.1.0 to 7.2", - "tree": { - "sha": "0375fcc81dcd9233ec3f230f56cc22ee203dae6e", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/0375fcc81dcd9233ec3f230f56cc22ee203dae6e" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/c3391c957284f6ec956a0ee2043e2389fb34e0db", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/c3391c957284f6ec956a0ee2043e2389fb34e0db", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/c3391c957284f6ec956a0ee2043e2389fb34e0db", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/c3391c957284f6ec956a0ee2043e2389fb34e0db/comments", - "author": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "83290cb71073dd614957a1db884977519cabf84b", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/83290cb71073dd614957a1db884977519cabf84b", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/83290cb71073dd614957a1db884977519cabf84b" - } - ] - }, - { - "sha": "83290cb71073dd614957a1db884977519cabf84b", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6ODMyOTBjYjcxMDczZGQ2MTQ5NTdhMWRiODg0OTc3NTE5Y2FiZjg0Yg==", - "commit": { - "author": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:40Z" - }, - "committer": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:40Z" - }, - "message": "Update django-anymail from 7.1.0 to 7.2", - "tree": { - "sha": "05060edb8aac5e351483de491e141c9fd2589f28", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/05060edb8aac5e351483de491e141c9fd2589f28" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/83290cb71073dd614957a1db884977519cabf84b", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/83290cb71073dd614957a1db884977519cabf84b", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/83290cb71073dd614957a1db884977519cabf84b", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/83290cb71073dd614957a1db884977519cabf84b/comments", - "author": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "8fa56b3c6d5c3a72b9e668628921503c64d9c681", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/8fa56b3c6d5c3a72b9e668628921503c64d9c681", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/8fa56b3c6d5c3a72b9e668628921503c64d9c681" - } - ] - }, - { - "sha": "8fa56b3c6d5c3a72b9e668628921503c64d9c681", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6OGZhNTZiM2M2ZDVjM2E3MmI5ZTY2ODYyODkyMTUwM2M2NGQ5YzY4MQ==", - "commit": { - "author": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:39Z" - }, - "committer": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:39Z" - }, - "message": "Update django-anymail from 7.1.0 to 7.2", - "tree": { - "sha": "1e62554b19d68a420a9163292319bbec73de0ef2", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/1e62554b19d68a420a9163292319bbec73de0ef2" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/8fa56b3c6d5c3a72b9e668628921503c64d9c681", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/8fa56b3c6d5c3a72b9e668628921503c64d9c681", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/8fa56b3c6d5c3a72b9e668628921503c64d9c681", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/8fa56b3c6d5c3a72b9e668628921503c64d9c681/comments", - "author": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "1d8f637f9d9bd7db556fff133961f1dba0f4cb7f", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/1d8f637f9d9bd7db556fff133961f1dba0f4cb7f", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/1d8f637f9d9bd7db556fff133961f1dba0f4cb7f" - } - ] - }, - { - "sha": "1d8f637f9d9bd7db556fff133961f1dba0f4cb7f", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6MWQ4ZjYzN2Y5ZDliZDdkYjU1NmZmZjEzMzk2MWYxZGJhMGY0Y2I3Zg==", - "commit": { - "author": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:38Z" - }, - "committer": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:38Z" - }, - "message": "Update django-anymail from 7.1.0 to 7.2", - "tree": { - "sha": "900ca3b2da13177d4c3d1f6efea392f1523aa181", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/900ca3b2da13177d4c3d1f6efea392f1523aa181" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/1d8f637f9d9bd7db556fff133961f1dba0f4cb7f", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/1d8f637f9d9bd7db556fff133961f1dba0f4cb7f", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/1d8f637f9d9bd7db556fff133961f1dba0f4cb7f", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/1d8f637f9d9bd7db556fff133961f1dba0f4cb7f/comments", - "author": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "14fad9247b0ab845f91d9c2e21f7483836fdba77", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/14fad9247b0ab845f91d9c2e21f7483836fdba77", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/14fad9247b0ab845f91d9c2e21f7483836fdba77" - } - ] - }, - { - "sha": "14fad9247b0ab845f91d9c2e21f7483836fdba77", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6MTRmYWQ5MjQ3YjBhYjg0NWY5MWQ5YzJlMjFmNzQ4MzgzNmZkYmE3Nw==", - "commit": { - "author": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:37Z" - }, - "committer": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:37Z" - }, - "message": "Update django-anymail from 7.1.0 to 7.2", - "tree": { - "sha": "dcdbfb44993b3a6530ba8476f20d981278354bc2", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/dcdbfb44993b3a6530ba8476f20d981278354bc2" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/14fad9247b0ab845f91d9c2e21f7483836fdba77", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/14fad9247b0ab845f91d9c2e21f7483836fdba77", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/14fad9247b0ab845f91d9c2e21f7483836fdba77", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/14fad9247b0ab845f91d9c2e21f7483836fdba77/comments", - "author": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "a5e71ab8bfe505cbe67ba34b0bd6702d2cedb453", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/a5e71ab8bfe505cbe67ba34b0bd6702d2cedb453", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/a5e71ab8bfe505cbe67ba34b0bd6702d2cedb453" - } - ] - }, - { - "sha": "a5e71ab8bfe505cbe67ba34b0bd6702d2cedb453", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6YTVlNzFhYjhiZmU1MDVjYmU2N2JhMzRiMGJkNjcwMmQyY2VkYjQ1Mw==", - "commit": { - "author": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:36Z" - }, - "committer": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:36Z" - }, - "message": "Update django-anymail from 7.1.0 to 7.2", - "tree": { - "sha": "9d650cd11c7238557d41e8fc9f2d4d8925869069", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/9d650cd11c7238557d41e8fc9f2d4d8925869069" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/a5e71ab8bfe505cbe67ba34b0bd6702d2cedb453", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/a5e71ab8bfe505cbe67ba34b0bd6702d2cedb453", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/a5e71ab8bfe505cbe67ba34b0bd6702d2cedb453", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/a5e71ab8bfe505cbe67ba34b0bd6702d2cedb453/comments", - "author": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "41dc9424f8503083d52a2808451bf9ff112d9e60", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/41dc9424f8503083d52a2808451bf9ff112d9e60", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/41dc9424f8503083d52a2808451bf9ff112d9e60" - } - ] - }, - { - "sha": "41dc9424f8503083d52a2808451bf9ff112d9e60", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6NDFkYzk0MjRmODUwMzA4M2Q1MmEyODA4NDUxYmY5ZmYxMTJkOWU2MA==", - "commit": { - "author": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:35Z" - }, - "committer": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:35Z" - }, - "message": "Update django-anymail from 7.1.0 to 7.2", - "tree": { - "sha": "cb0e7670c5dd2e7011707a9cd2abbb6357f8099b", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/cb0e7670c5dd2e7011707a9cd2abbb6357f8099b" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/41dc9424f8503083d52a2808451bf9ff112d9e60", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/41dc9424f8503083d52a2808451bf9ff112d9e60", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/41dc9424f8503083d52a2808451bf9ff112d9e60", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/41dc9424f8503083d52a2808451bf9ff112d9e60/comments", - "author": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "756031c351c7e6e24e33006c21fc3b757d755b22", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/756031c351c7e6e24e33006c21fc3b757d755b22", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/756031c351c7e6e24e33006c21fc3b757d755b22" - } - ] - }, - { - "sha": "756031c351c7e6e24e33006c21fc3b757d755b22", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6NzU2MDMxYzM1MWM3ZTZlMjRlMzMwMDZjMjFmYzNiNzU3ZDc1NWIyMg==", - "commit": { - "author": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:34Z" - }, - "committer": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:34Z" - }, - "message": "Update django-anymail from 7.1.0 to 7.2", - "tree": { - "sha": "8d9efbdbfbd9d9aefa59ba54869fea143b010819", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/8d9efbdbfbd9d9aefa59ba54869fea143b010819" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/756031c351c7e6e24e33006c21fc3b757d755b22", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/756031c351c7e6e24e33006c21fc3b757d755b22", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/756031c351c7e6e24e33006c21fc3b757d755b22", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/756031c351c7e6e24e33006c21fc3b757d755b22/comments", - "author": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "a706ab826c4685e61331e622e1382075ae5343a4", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/a706ab826c4685e61331e622e1382075ae5343a4", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/a706ab826c4685e61331e622e1382075ae5343a4" - } - ] - }, - { - "sha": "a706ab826c4685e61331e622e1382075ae5343a4", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6YTcwNmFiODI2YzQ2ODVlNjEzMzFlNjIyZTEzODIwNzVhZTUzNDNhNA==", - "commit": { - "author": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:33Z" - }, - "committer": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-25T19:51:33Z" - }, - "message": "Update django-anymail from 7.1.0 to 7.2", - "tree": { - "sha": "a4ce2b76d7b4cc7b609702844ad9d0d2bcf063a7", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/a4ce2b76d7b4cc7b609702844ad9d0d2bcf063a7" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/a706ab826c4685e61331e622e1382075ae5343a4", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/a706ab826c4685e61331e622e1382075ae5343a4", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/a706ab826c4685e61331e622e1382075ae5343a4", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/a706ab826c4685e61331e622e1382075ae5343a4/comments", - "author": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "08a15337b35e1c11d9ef1494e9550ceaee7e9e72", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/08a15337b35e1c11d9ef1494e9550ceaee7e9e72", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/08a15337b35e1c11d9ef1494e9550ceaee7e9e72" - } - ] - }, - { - "sha": "08a15337b35e1c11d9ef1494e9550ceaee7e9e72", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6MDhhMTUzMzdiMzVlMWMxMWQ5ZWYxNDk0ZTk1NTBjZWFlZTdlOWU3Mg==", - "commit": { - "author": { - "name": "Bruno Alla", - "email": "browniebroke@users.noreply.github.com", - "date": "2020-07-25T13:39:04Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2020-07-25T13:39:04Z" - }, - "message": "Update document.rst", - "tree": { - "sha": "7789dbf8a3fa174c424491e150d08aa6edd05701", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/7789dbf8a3fa174c424491e150d08aa6edd05701" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/08a15337b35e1c11d9ef1494e9550ceaee7e9e72", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJfHDX4CRBK7hj4Ov3rIwAAdHIIADQkdEs2ZlxuGXwM6MZG+5IM\n1dwuGXOx3R/kfpEJ0M6VrXqgpN0SemKGLsYFzEZ7V/v+Mpw8J74lYvvx6qRtpTUO\nT9MU8bVkxNaLN03ecxz42rI2zIT3frsQ1tVLvlXT387OknLiZOwa0G5uAb9jyEUO\n95umUw/RcKmNASABuLsEiRYNuAEDc1LKLR+uiVHJulfpdcEydnvB7JdzKlOeYvi9\nwnmJk658PqDTl03jo7NvGYTzmw8vY5N0wHPDnzvYQExuiGi8w1WawA7piychTwJ3\ngfLl6xAwKL2jYYZdhdiJAzf5LMZFGpRI2Ox9KSy8hjHcz5nwChYsO2Gp5ORSIz0=\n=O8Me\n-----END PGP SIGNATURE-----\n", - "payload": "tree 7789dbf8a3fa174c424491e150d08aa6edd05701\nparent b592003f87ff4a1f27dfa01e8860bb0f725e0847\nauthor Bruno Alla 1595684344 +0100\ncommitter GitHub 1595684344 +0100\n\nUpdate document.rst" - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/08a15337b35e1c11d9ef1494e9550ceaee7e9e72", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/08a15337b35e1c11d9ef1494e9550ceaee7e9e72", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/08a15337b35e1c11d9ef1494e9550ceaee7e9e72/comments", - "author": { - "login": "browniebroke", - "id": 861044, - "node_id": "MDQ6VXNlcjg2MTA0NA==", - "avatar_url": "https://avatars1.githubusercontent.com/u/861044?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/browniebroke", - "html_url": "https://github.com/browniebroke", - "followers_url": "https://api.github.com/users/browniebroke/followers", - "following_url": "https://api.github.com/users/browniebroke/following{/other_user}", - "gists_url": "https://api.github.com/users/browniebroke/gists{/gist_id}", - "starred_url": "https://api.github.com/users/browniebroke/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/browniebroke/subscriptions", - "organizations_url": "https://api.github.com/users/browniebroke/orgs", - "repos_url": "https://api.github.com/users/browniebroke/repos", - "events_url": "https://api.github.com/users/browniebroke/events{/privacy}", - "received_events_url": "https://api.github.com/users/browniebroke/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://avatars3.githubusercontent.com/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "b592003f87ff4a1f27dfa01e8860bb0f725e0847", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/b592003f87ff4a1f27dfa01e8860bb0f725e0847", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/b592003f87ff4a1f27dfa01e8860bb0f725e0847" - } - ] - }, - { - "sha": "b592003f87ff4a1f27dfa01e8860bb0f725e0847", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6YjU5MjAwM2Y4N2ZmNGExZjI3ZGZhMDFlODg2MGJiMGY3MjVlMDg0Nw==", - "commit": { - "author": { - "name": "Bruno Alla", - "email": "browniebroke@users.noreply.github.com", - "date": "2020-07-25T13:37:54Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2020-07-25T13:37:54Z" - }, - "message": "Fix snippet in documentation", - "tree": { - "sha": "d5ca93ca4e670725066520ed2bb755f11a403e11", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/d5ca93ca4e670725066520ed2bb755f11a403e11" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/b592003f87ff4a1f27dfa01e8860bb0f725e0847", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJfHDWyCRBK7hj4Ov3rIwAAdHIIAHv6JNwk75EgGqHQO1an+G3C\njcz00Hm40CJOPYHT8z3A24qoAMVrYMbgKob4f74FiVRiA88fA3BXFvOD/MiO1TAp\nI+nx54gJ8Kf7/Rj+szVcZoQ722Jc1Cnh/IaMZDJvYUQNzSkHLH4Hc+dyh5CI4WLc\nhNrXUMliwLQMShs68lCaoCZWl17APPUrUsQO8s2z32fVusm9VoJbSPBRSrtne27M\nxYjs1PfrqUTtNq3/bCUmlGVrKFviUMXaTvUjKk3842kEirDZL2DOosierkDKKga1\n6w+RM3uxU17g+d/nchjJJwhGYAtvSscJpXMjPgjUu/5SmcPkfvXt2tLjY5XJE1g=\n=3CyH\n-----END PGP SIGNATURE-----\n", - "payload": "tree d5ca93ca4e670725066520ed2bb755f11a403e11\nparent c085afef18a2643652c60422fb60718797324f4a\nauthor Bruno Alla 1595684274 +0100\ncommitter GitHub 1595684274 +0100\n\nFix snippet in documentation" - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/b592003f87ff4a1f27dfa01e8860bb0f725e0847", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/b592003f87ff4a1f27dfa01e8860bb0f725e0847", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/b592003f87ff4a1f27dfa01e8860bb0f725e0847/comments", - "author": { - "login": "browniebroke", - "id": 861044, - "node_id": "MDQ6VXNlcjg2MTA0NA==", - "avatar_url": "https://avatars1.githubusercontent.com/u/861044?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/browniebroke", - "html_url": "https://github.com/browniebroke", - "followers_url": "https://api.github.com/users/browniebroke/followers", - "following_url": "https://api.github.com/users/browniebroke/following{/other_user}", - "gists_url": "https://api.github.com/users/browniebroke/gists{/gist_id}", - "starred_url": "https://api.github.com/users/browniebroke/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/browniebroke/subscriptions", - "organizations_url": "https://api.github.com/users/browniebroke/orgs", - "repos_url": "https://api.github.com/users/browniebroke/repos", - "events_url": "https://api.github.com/users/browniebroke/events{/privacy}", - "received_events_url": "https://api.github.com/users/browniebroke/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://avatars3.githubusercontent.com/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "c085afef18a2643652c60422fb60718797324f4a", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/c085afef18a2643652c60422fb60718797324f4a", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/c085afef18a2643652c60422fb60718797324f4a" - } - ] - }, - { - "sha": "c085afef18a2643652c60422fb60718797324f4a", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6YzA4NWFmZWYxOGEyNjQzNjUyYzYwNDIyZmI2MDcxODc5NzMyNGY0YQ==", - "commit": { - "author": { - "name": "Bruno Alla", - "email": "browniebroke@users.noreply.github.com", - "date": "2020-07-24T17:20:45Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2020-07-24T17:20:45Z" - }, - "message": "Merge pull request #2700 from pydanny/pyup-update-hiredis-1.0.1-to-1.1.0", - "tree": { - "sha": "a578541fa3d3fa7e46b9d99865a6fc4c1fd8aead", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/a578541fa3d3fa7e46b9d99865a6fc4c1fd8aead" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/c085afef18a2643652c60422fb60718797324f4a", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJfGxhtCRBK7hj4Ov3rIwAAdHIIAJSOFFFcVkCc7RA1WYjvswmi\nW9FeGeh5XCdJCOhomhlyNWTcD9EAeNxJZh3YxNNNwiNqA00K6fBDwppnw+ZXt+wo\n+xiipqL/RJ4nqZV3LkEDdRs/Upl0013eseuw1NoYb41vw0ouvehmlGetCbyOt3Yx\n487mo2l2jJ7yLSErYQ97RllN44JOqye7Kzwdd9RpkFrSiuLynPGIBHMa5Tk3HuRV\nYOl2XTKrfGEI6jcMUXyPqvjoxvAZttURqcDzHC7F41o2HbsDSW1pxpID/RTOLEZV\n5RrwZ75Um9bkyuUya+XXtlmYCleoXDOgp3HNCumN3JNylLdT314vg/uigs2wOZo=\n=7Z4H\n-----END PGP SIGNATURE-----\n", - "payload": "tree a578541fa3d3fa7e46b9d99865a6fc4c1fd8aead\nparent 10224378748331db092e60b52a700d93062ecbb5\nparent ce0f2363e01c49c5146d2239fcb15eb989cb509d\nauthor Bruno Alla 1595611245 +0100\ncommitter GitHub 1595611245 +0100\n\nMerge pull request #2700 from pydanny/pyup-update-hiredis-1.0.1-to-1.1.0\n\n" - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/c085afef18a2643652c60422fb60718797324f4a", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/c085afef18a2643652c60422fb60718797324f4a", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/c085afef18a2643652c60422fb60718797324f4a/comments", - "author": { - "login": "browniebroke", - "id": 861044, - "node_id": "MDQ6VXNlcjg2MTA0NA==", - "avatar_url": "https://avatars1.githubusercontent.com/u/861044?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/browniebroke", - "html_url": "https://github.com/browniebroke", - "followers_url": "https://api.github.com/users/browniebroke/followers", - "following_url": "https://api.github.com/users/browniebroke/following{/other_user}", - "gists_url": "https://api.github.com/users/browniebroke/gists{/gist_id}", - "starred_url": "https://api.github.com/users/browniebroke/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/browniebroke/subscriptions", - "organizations_url": "https://api.github.com/users/browniebroke/orgs", - "repos_url": "https://api.github.com/users/browniebroke/repos", - "events_url": "https://api.github.com/users/browniebroke/events{/privacy}", - "received_events_url": "https://api.github.com/users/browniebroke/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://avatars3.githubusercontent.com/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "10224378748331db092e60b52a700d93062ecbb5", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/10224378748331db092e60b52a700d93062ecbb5", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/10224378748331db092e60b52a700d93062ecbb5" - }, - { - "sha": "ce0f2363e01c49c5146d2239fcb15eb989cb509d", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/ce0f2363e01c49c5146d2239fcb15eb989cb509d", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/ce0f2363e01c49c5146d2239fcb15eb989cb509d" - } - ] - }, - { - "sha": "10224378748331db092e60b52a700d93062ecbb5", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6MTAyMjQzNzg3NDgzMzFkYjA5MmU2MGI1MmE3MDBkOTMwNjJlY2JiNQ==", - "commit": { - "author": { - "name": "Bruno Alla", - "email": "browniebroke@users.noreply.github.com", - "date": "2020-07-24T17:18:49Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2020-07-24T17:18:49Z" - }, - "message": "Merge pull request #2701 from pydanny/pyup-update-django-crispy-forms-1.9.1-to-1.9.2\n\nUpdate django-crispy-forms to 1.9.2", - "tree": { - "sha": "2dbe79439e622583fa67bbb91e75a741bec93339", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/2dbe79439e622583fa67bbb91e75a741bec93339" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/10224378748331db092e60b52a700d93062ecbb5", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJfGxf5CRBK7hj4Ov3rIwAAdHIIAD+elAUiHpBeqyB5zY5lYfE1\n+HgpvqFdS0bZLhYQw8tnOnrJLmXxZ+bx4uiAMjQuBnR5CkhXnyiaApt9kcT8xDyc\ngw9sbmnSq2Qe3C1wef+am62iEqBbujHvNJp/x9td2w6bzLYP3Hdezmkmx85+f0Ql\n0y1BM4c4BjJNPNBJRkf9oHpMkBQ21xu1qruVRjEYp/rK0Ijtj5sY/8Ih9f2xPut6\ndMGCBRFA/91LSDDlKIJUDcslrphAbagU3wqOe5rEDFIt6jfmz0UyWD8Bq4vj66g5\n+rtMDoH0Mto1Y4fT5OodU/BNKjEshY3hel0yQShd+7Qe2FmLco4qSFj4B3JS1JI=\n=UAz/\n-----END PGP SIGNATURE-----\n", - "payload": "tree 2dbe79439e622583fa67bbb91e75a741bec93339\nparent 8d52025c20af27b988d7cf53485740e4293b7b24\nparent 70c11fa89432815ebbe569ac1f18e19ff8047e36\nauthor Bruno Alla 1595611129 +0100\ncommitter GitHub 1595611129 +0100\n\nMerge pull request #2701 from pydanny/pyup-update-django-crispy-forms-1.9.1-to-1.9.2\n\nUpdate django-crispy-forms to 1.9.2" - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/10224378748331db092e60b52a700d93062ecbb5", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/10224378748331db092e60b52a700d93062ecbb5", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/10224378748331db092e60b52a700d93062ecbb5/comments", - "author": { - "login": "browniebroke", - "id": 861044, - "node_id": "MDQ6VXNlcjg2MTA0NA==", - "avatar_url": "https://avatars1.githubusercontent.com/u/861044?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/browniebroke", - "html_url": "https://github.com/browniebroke", - "followers_url": "https://api.github.com/users/browniebroke/followers", - "following_url": "https://api.github.com/users/browniebroke/following{/other_user}", - "gists_url": "https://api.github.com/users/browniebroke/gists{/gist_id}", - "starred_url": "https://api.github.com/users/browniebroke/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/browniebroke/subscriptions", - "organizations_url": "https://api.github.com/users/browniebroke/orgs", - "repos_url": "https://api.github.com/users/browniebroke/repos", - "events_url": "https://api.github.com/users/browniebroke/events{/privacy}", - "received_events_url": "https://api.github.com/users/browniebroke/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://avatars3.githubusercontent.com/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "8d52025c20af27b988d7cf53485740e4293b7b24", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/8d52025c20af27b988d7cf53485740e4293b7b24", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/8d52025c20af27b988d7cf53485740e4293b7b24" - }, - { - "sha": "70c11fa89432815ebbe569ac1f18e19ff8047e36", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/70c11fa89432815ebbe569ac1f18e19ff8047e36", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/70c11fa89432815ebbe569ac1f18e19ff8047e36" - } - ] - }, - { - "sha": "70c11fa89432815ebbe569ac1f18e19ff8047e36", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6NzBjMTFmYTg5NDMyODE1ZWJiZTU2OWFjMWYxOGUxOWZmODA0N2UzNg==", - "commit": { - "author": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-24T16:58:32Z" - }, - "committer": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-24T16:58:32Z" - }, - "message": "Update django-crispy-forms from 1.9.1 to 1.9.2", - "tree": { - "sha": "2dbe79439e622583fa67bbb91e75a741bec93339", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/2dbe79439e622583fa67bbb91e75a741bec93339" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/70c11fa89432815ebbe569ac1f18e19ff8047e36", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/70c11fa89432815ebbe569ac1f18e19ff8047e36", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/70c11fa89432815ebbe569ac1f18e19ff8047e36", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/70c11fa89432815ebbe569ac1f18e19ff8047e36/comments", - "author": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "8d52025c20af27b988d7cf53485740e4293b7b24", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/8d52025c20af27b988d7cf53485740e4293b7b24", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/8d52025c20af27b988d7cf53485740e4293b7b24" - } - ] - }, - { - "sha": "ce0f2363e01c49c5146d2239fcb15eb989cb509d", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6Y2UwZjIzNjNlMDFjNDljNTE0NmQyMjM5ZmNiMTVlYjk4OWNiNTA5ZA==", - "commit": { - "author": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-24T16:58:28Z" - }, - "committer": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-24T16:58:28Z" - }, - "message": "Update hiredis from 1.0.1 to 1.1.0", - "tree": { - "sha": "965de49b571e261b7d25fa32593cea9afbce6850", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/965de49b571e261b7d25fa32593cea9afbce6850" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/ce0f2363e01c49c5146d2239fcb15eb989cb509d", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/ce0f2363e01c49c5146d2239fcb15eb989cb509d", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/ce0f2363e01c49c5146d2239fcb15eb989cb509d", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/ce0f2363e01c49c5146d2239fcb15eb989cb509d/comments", - "author": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "ed8e3073c66d70d79cd350d39b40e55763da9d24", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/ed8e3073c66d70d79cd350d39b40e55763da9d24", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/ed8e3073c66d70d79cd350d39b40e55763da9d24" - } - ] - }, - { - "sha": "ed8e3073c66d70d79cd350d39b40e55763da9d24", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6ZWQ4ZTMwNzNjNjZkNzBkNzljZDM1MGQzOWI0MGU1NTc2M2RhOWQyNA==", - "commit": { - "author": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-24T16:58:27Z" - }, - "committer": { - "name": "pyup-bot", - "email": "github-bot@pyup.io", - "date": "2020-07-24T16:58:27Z" - }, - "message": "Update hiredis from 1.0.1 to 1.1.0", - "tree": { - "sha": "e4102b18d87a2b4e74b1de5d6652bf0f9de11653", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/e4102b18d87a2b4e74b1de5d6652bf0f9de11653" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/ed8e3073c66d70d79cd350d39b40e55763da9d24", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/ed8e3073c66d70d79cd350d39b40e55763da9d24", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/ed8e3073c66d70d79cd350d39b40e55763da9d24", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/ed8e3073c66d70d79cd350d39b40e55763da9d24/comments", - "author": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "pyup-bot", - "id": 16239342, - "node_id": "MDQ6VXNlcjE2MjM5MzQy", - "avatar_url": "https://avatars0.githubusercontent.com/u/16239342?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pyup-bot", - "html_url": "https://github.com/pyup-bot", - "followers_url": "https://api.github.com/users/pyup-bot/followers", - "following_url": "https://api.github.com/users/pyup-bot/following{/other_user}", - "gists_url": "https://api.github.com/users/pyup-bot/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pyup-bot/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pyup-bot/subscriptions", - "organizations_url": "https://api.github.com/users/pyup-bot/orgs", - "repos_url": "https://api.github.com/users/pyup-bot/repos", - "events_url": "https://api.github.com/users/pyup-bot/events{/privacy}", - "received_events_url": "https://api.github.com/users/pyup-bot/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "8d52025c20af27b988d7cf53485740e4293b7b24", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/8d52025c20af27b988d7cf53485740e4293b7b24", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/8d52025c20af27b988d7cf53485740e4293b7b24" - } - ] - }, - { - "sha": "8d52025c20af27b988d7cf53485740e4293b7b24", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6OGQ1MjAyNWMyMGFmMjdiOTg4ZDdjZjUzNDg1NzQwZTQyOTNiN2IyNA==", - "commit": { - "author": { - "name": "Bruno Alla", - "email": "browniebroke@users.noreply.github.com", - "date": "2020-07-24T16:55:47Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2020-07-24T16:55:47Z" - }, - "message": "Merge pull request #2699 from pydanny/fix-pyup-duplicated-requirements\n\nImport base requirements without the leading dot", - "tree": { - "sha": "0c1fb9ac5638d2b89124f15a960c2e441469d37e", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/0c1fb9ac5638d2b89124f15a960c2e441469d37e" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/8d52025c20af27b988d7cf53485740e4293b7b24", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJfGxKTCRBK7hj4Ov3rIwAAdHIIAKB6P/vt541Qe+EtHBzTQ458\nGskZViSFx+3pBVPZX0iKzAGyi/1DYt/s0yq5JwZqh720ag3yyrc57EjDMpWa2oIc\nsszzRCZ318XWQgJWdeixug4Bfu54vZn1WqDRIg3HcFv5m6J4VH4jQNJvD5OAz11O\nvfhnm4nuYxju3qiJMLpck5HdWiePjNapnTZQcqbFH72+OCttDcuydEJh8RExs1JV\nET9IEG7YBy9jy3ORsdh7Rkz2eYtRN22bKd6rUDWWLVZMadSTiOmiDsyg0PDi3Xn9\nTjQJpBFus9sUx+izsZwtyy+hwiK5u7If0qHbPitMx6JxbLZ2zj/eqLYX9Nmp6HA=\n=Stvk\n-----END PGP SIGNATURE-----\n", - "payload": "tree 0c1fb9ac5638d2b89124f15a960c2e441469d37e\nparent e2910a322216fc8f15e0eaaf806805d6b744a8c2\nparent 21c56bb97a59d69e71fcaebdde6d7715d25a9150\nauthor Bruno Alla 1595609747 +0100\ncommitter GitHub 1595609747 +0100\n\nMerge pull request #2699 from pydanny/fix-pyup-duplicated-requirements\n\nImport base requirements without the leading dot" - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/8d52025c20af27b988d7cf53485740e4293b7b24", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/8d52025c20af27b988d7cf53485740e4293b7b24", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/8d52025c20af27b988d7cf53485740e4293b7b24/comments", - "author": { - "login": "browniebroke", - "id": 861044, - "node_id": "MDQ6VXNlcjg2MTA0NA==", - "avatar_url": "https://avatars1.githubusercontent.com/u/861044?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/browniebroke", - "html_url": "https://github.com/browniebroke", - "followers_url": "https://api.github.com/users/browniebroke/followers", - "following_url": "https://api.github.com/users/browniebroke/following{/other_user}", - "gists_url": "https://api.github.com/users/browniebroke/gists{/gist_id}", - "starred_url": "https://api.github.com/users/browniebroke/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/browniebroke/subscriptions", - "organizations_url": "https://api.github.com/users/browniebroke/orgs", - "repos_url": "https://api.github.com/users/browniebroke/repos", - "events_url": "https://api.github.com/users/browniebroke/events{/privacy}", - "received_events_url": "https://api.github.com/users/browniebroke/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://avatars3.githubusercontent.com/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "e2910a322216fc8f15e0eaaf806805d6b744a8c2", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/e2910a322216fc8f15e0eaaf806805d6b744a8c2", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/e2910a322216fc8f15e0eaaf806805d6b744a8c2" - }, - { - "sha": "21c56bb97a59d69e71fcaebdde6d7715d25a9150", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/21c56bb97a59d69e71fcaebdde6d7715d25a9150", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/21c56bb97a59d69e71fcaebdde6d7715d25a9150" - } - ] - }, - { - "sha": "e2910a322216fc8f15e0eaaf806805d6b744a8c2", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6ZTI5MTBhMzIyMjE2ZmM4ZjE1ZTBlYWFmODA2ODA1ZDZiNzQ0YThjMg==", - "commit": { - "author": { - "name": "Bruno Alla", - "email": "browniebroke@users.noreply.github.com", - "date": "2020-07-24T16:40:23Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2020-07-24T16:40:23Z" - }, - "message": "Merge pull request #2694 from Andrew-Chen-Wang/patch-7", - "tree": { - "sha": "2a20bcceea76b92fe7f695653db4874f4ef4ad0e", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/2a20bcceea76b92fe7f695653db4874f4ef4ad0e" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/e2910a322216fc8f15e0eaaf806805d6b744a8c2", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJfGw73CRBK7hj4Ov3rIwAAdHIIAEJOH6/+qipOrjlfCtv5GpSH\nzlfv0qISPl3xz28C+kLC5uDGmGUL5rTRNdcZIFlDwr1oFfsLkSpCHDhMXJ1Lfp0b\nN0sq0VP4OHug46jiQplV1rtN0oif+xJlNNUMpq9pP5Cq5QL2lTlss/f9nAY1Hqr/\nvNeKxxRf57wbDXJARyaHFdG7FZK7qmQeObif4Q/Zp0pg0Cpn9yr5Jv0t/hJawxr5\nFVY50NHNtPLufBnrK8czh4mikzfx2po3Ly0iPXTcKN4U4JyJBG3FlCsw7ynQW97j\nx0AaJfqVXXOIJJAaTBE/HRL5l5Q4HK/teNVOcjZMKfUcPzZH0X7+xuriifEkXfQ=\n=Dh/9\n-----END PGP SIGNATURE-----\n", - "payload": "tree 2a20bcceea76b92fe7f695653db4874f4ef4ad0e\nparent 3dedd4dd4b55254a0fe6ef272c70c0a54c5e5188\nparent c57b8976b09fcd6ec7f3ef095b4b967f3d68e8d3\nauthor Bruno Alla 1595608823 +0100\ncommitter GitHub 1595608823 +0100\n\nMerge pull request #2694 from Andrew-Chen-Wang/patch-7\n\n" - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/e2910a322216fc8f15e0eaaf806805d6b744a8c2", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/e2910a322216fc8f15e0eaaf806805d6b744a8c2", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/e2910a322216fc8f15e0eaaf806805d6b744a8c2/comments", - "author": { - "login": "browniebroke", - "id": 861044, - "node_id": "MDQ6VXNlcjg2MTA0NA==", - "avatar_url": "https://avatars1.githubusercontent.com/u/861044?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/browniebroke", - "html_url": "https://github.com/browniebroke", - "followers_url": "https://api.github.com/users/browniebroke/followers", - "following_url": "https://api.github.com/users/browniebroke/following{/other_user}", - "gists_url": "https://api.github.com/users/browniebroke/gists{/gist_id}", - "starred_url": "https://api.github.com/users/browniebroke/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/browniebroke/subscriptions", - "organizations_url": "https://api.github.com/users/browniebroke/orgs", - "repos_url": "https://api.github.com/users/browniebroke/repos", - "events_url": "https://api.github.com/users/browniebroke/events{/privacy}", - "received_events_url": "https://api.github.com/users/browniebroke/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://avatars3.githubusercontent.com/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "3dedd4dd4b55254a0fe6ef272c70c0a54c5e5188", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/3dedd4dd4b55254a0fe6ef272c70c0a54c5e5188", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/3dedd4dd4b55254a0fe6ef272c70c0a54c5e5188" - }, - { - "sha": "c57b8976b09fcd6ec7f3ef095b4b967f3d68e8d3", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/c57b8976b09fcd6ec7f3ef095b4b967f3d68e8d3", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/c57b8976b09fcd6ec7f3ef095b4b967f3d68e8d3" - } - ] - }, - { - "sha": "21c56bb97a59d69e71fcaebdde6d7715d25a9150", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6MjFjNTZiYjk3YTU5ZDY5ZTcxZmNhZWJkZGU2ZDc3MTVkMjVhOTE1MA==", - "commit": { - "author": { - "name": "Bruno Alla", - "email": "browniebroke@users.noreply.github.com", - "date": "2020-07-24T16:38:29Z" - }, - "committer": { - "name": "Bruno Alla", - "email": "browniebroke@users.noreply.github.com", - "date": "2020-07-24T16:38:29Z" - }, - "message": "Don't include base requirements with dot in front\n\nSee https://github.com/pyupio/pyup/issues/390", - "tree": { - "sha": "9b1624d69fc4b22a0ad40e1e245b62f5b1b44595", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/9b1624d69fc4b22a0ad40e1e245b62f5b1b44595" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/21c56bb97a59d69e71fcaebdde6d7715d25a9150", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/21c56bb97a59d69e71fcaebdde6d7715d25a9150", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/21c56bb97a59d69e71fcaebdde6d7715d25a9150", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/21c56bb97a59d69e71fcaebdde6d7715d25a9150/comments", - "author": { - "login": "browniebroke", - "id": 861044, - "node_id": "MDQ6VXNlcjg2MTA0NA==", - "avatar_url": "https://avatars1.githubusercontent.com/u/861044?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/browniebroke", - "html_url": "https://github.com/browniebroke", - "followers_url": "https://api.github.com/users/browniebroke/followers", - "following_url": "https://api.github.com/users/browniebroke/following{/other_user}", - "gists_url": "https://api.github.com/users/browniebroke/gists{/gist_id}", - "starred_url": "https://api.github.com/users/browniebroke/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/browniebroke/subscriptions", - "organizations_url": "https://api.github.com/users/browniebroke/orgs", - "repos_url": "https://api.github.com/users/browniebroke/repos", - "events_url": "https://api.github.com/users/browniebroke/events{/privacy}", - "received_events_url": "https://api.github.com/users/browniebroke/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "browniebroke", - "id": 861044, - "node_id": "MDQ6VXNlcjg2MTA0NA==", - "avatar_url": "https://avatars1.githubusercontent.com/u/861044?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/browniebroke", - "html_url": "https://github.com/browniebroke", - "followers_url": "https://api.github.com/users/browniebroke/followers", - "following_url": "https://api.github.com/users/browniebroke/following{/other_user}", - "gists_url": "https://api.github.com/users/browniebroke/gists{/gist_id}", - "starred_url": "https://api.github.com/users/browniebroke/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/browniebroke/subscriptions", - "organizations_url": "https://api.github.com/users/browniebroke/orgs", - "repos_url": "https://api.github.com/users/browniebroke/repos", - "events_url": "https://api.github.com/users/browniebroke/events{/privacy}", - "received_events_url": "https://api.github.com/users/browniebroke/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "3dedd4dd4b55254a0fe6ef272c70c0a54c5e5188", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/3dedd4dd4b55254a0fe6ef272c70c0a54c5e5188", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/3dedd4dd4b55254a0fe6ef272c70c0a54c5e5188" - } - ] - }, - { - "sha": "3dedd4dd4b55254a0fe6ef272c70c0a54c5e5188", - "node_id": "MDY6Q29tbWl0MTIxMTUyNjk6M2RlZGQ0ZGQ0YjU1MjU0YTBmZTZlZjI3MmM3MGMwYTU0YzVlNTE4OA==", - "commit": { - "author": { - "name": "Bruno Alla", - "email": "browniebroke@users.noreply.github.com", - "date": "2020-07-24T16:26:54Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2020-07-24T16:26:54Z" - }, - "message": "Merge pull request #2698 from pydanny/pyup-update-uvicorn-0.11.5-to-0.11.6\n\nUpdate uvicorn from 0.11.5 to 0.11.6", - "tree": { - "sha": "0cbda3c2af7b6bd652c432a1fde7d3d4ab8a57ab", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/trees/0cbda3c2af7b6bd652c432a1fde7d3d4ab8a57ab" - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/git/commits/3dedd4dd4b55254a0fe6ef272c70c0a54c5e5188", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJfGwvOCRBK7hj4Ov3rIwAAdHIIAA3/T2wR/VruzNEB2BJlr9+z\nZAAT0KmPkSyHd1BHdp7RaDB5XbRIrBfUHJgI9L6mRZEd1dZFQH5vitUrmLKFLLmn\nqbuAVjRzmzPwOChXmYRH0pDHJfdYvCqMkmD6ydhX56EL8+vuiYsNDDSviQygehX8\nBze3tGTk9wZwbN4hQSixREuTFiOhGF08ZgDxVjm9LvC6wKe+CXlbNGrTNYe+2AKO\ntU+RvCbfywMV264c+y9c4W4Z5Pwlk0u3mcjNevha/tyyNDk6MApvZ0see0BssAYG\n0M9f4prMOFkXUJs9wzw/r59DyvY3nhm3ovZ4pNmjqmsy1Tg5tuADbVXDEt7daw0=\n=fTep\n-----END PGP SIGNATURE-----\n", - "payload": "tree 0cbda3c2af7b6bd652c432a1fde7d3d4ab8a57ab\nparent cb0020cd1d88fcd8c005aae2d88aa7fe26cd2033\nparent 349f7e1141c4d1461802220ce7de4aaba0862cc5\nauthor Bruno Alla 1595608014 +0100\ncommitter GitHub 1595608014 +0100\n\nMerge pull request #2698 from pydanny/pyup-update-uvicorn-0.11.5-to-0.11.6\n\nUpdate uvicorn from 0.11.5 to 0.11.6" - } - }, - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/3dedd4dd4b55254a0fe6ef272c70c0a54c5e5188", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/3dedd4dd4b55254a0fe6ef272c70c0a54c5e5188", - "comments_url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/3dedd4dd4b55254a0fe6ef272c70c0a54c5e5188/comments", - "author": { - "login": "browniebroke", - "id": 861044, - "node_id": "MDQ6VXNlcjg2MTA0NA==", - "avatar_url": "https://avatars1.githubusercontent.com/u/861044?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/browniebroke", - "html_url": "https://github.com/browniebroke", - "followers_url": "https://api.github.com/users/browniebroke/followers", - "following_url": "https://api.github.com/users/browniebroke/following{/other_user}", - "gists_url": "https://api.github.com/users/browniebroke/gists{/gist_id}", - "starred_url": "https://api.github.com/users/browniebroke/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/browniebroke/subscriptions", - "organizations_url": "https://api.github.com/users/browniebroke/orgs", - "repos_url": "https://api.github.com/users/browniebroke/repos", - "events_url": "https://api.github.com/users/browniebroke/events{/privacy}", - "received_events_url": "https://api.github.com/users/browniebroke/received_events", - "type": "User", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://avatars3.githubusercontent.com/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "site_admin": false - }, - "parents": [ - { - "sha": "cb0020cd1d88fcd8c005aae2d88aa7fe26cd2033", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/cb0020cd1d88fcd8c005aae2d88aa7fe26cd2033", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/cb0020cd1d88fcd8c005aae2d88aa7fe26cd2033" - }, - { - "sha": "349f7e1141c4d1461802220ce7de4aaba0862cc5", - "url": "https://api.github.com/repos/pydanny/cookiecutter-django/commits/349f7e1141c4d1461802220ce7de4aaba0862cc5", - "html_url": "https://github.com/pydanny/cookiecutter-django/commit/349f7e1141c4d1461802220ce7de4aaba0862cc5" - } - ] - } -] diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index a6c0e9c40..f95532578 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -28,4 +28,4 @@ jobs: uses: stefanzweifel/git-auto-commit-action@v4 with: commit_message: Update Contributors - file_pattern: CONTRIBUTORS.md + file_pattern: CONTRIBUTORS.md .github/contributors.json diff --git a/scripts/rst_to_json.py b/scripts/rst_to_json.py index 1cb3f585c..8c41c3a9c 100644 --- a/scripts/rst_to_json.py +++ b/scripts/rst_to_json.py @@ -93,10 +93,7 @@ def main(): profiles_list.append(profile) output_file_path = ROOT / ".github" / "contributors.json" - output_file_path.write_text( - json.dumps(profiles_list, indent=2, ensure_ascii=False) - ) - + output_file_path.write_text(json.dumps(profiles_list, indent=2, ensure_ascii=False)) if __name__ == "__main__": diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index 88b6ffa88..748756682 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -71,11 +71,14 @@ guidance and advice. def main() -> None: gh = GitHub() recent_authors = set(gh.iter_recent_authors()) + contrib_file = ContributorsJSONFile() for username in recent_authors: + print(f"Checking if {username} should be added") if username not in contrib_file and username not in BOT_LOGINS: user_data = gh.fetch_user_info(username) contrib_file.add_contributor(user_data) + print(f"Added {username} to contributors") contrib_file.save() write_md_file(contrib_file.content) From dbfcab2e12490497212f8ac1b87fbcf26396d8dd Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 10 Aug 2020 18:18:09 +0100 Subject: [PATCH 0928/2840] Case insensitive sort for other contributors --- scripts/update_contributors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index 748756682..cc22f33cd 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -133,7 +133,7 @@ def write_md_file(contributors): template = Template(CONTRIBUTORS_TEMPLATE, autoescape=True) core_contributors = [c for c in contributors if c.get("is_core", False)] other_contributors = (c for c in contributors if not c.get("is_core", False)) - other_contributors = sorted(other_contributors, key=lambda c: c["name"]) + other_contributors = sorted(other_contributors, key=lambda c: c["name"].lower()) content = template.render( core_contributors=core_contributors, other_contributors=other_contributors ) From 5c77042b590742c6546bc5ac9737c90902ce8259 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 10 Aug 2020 18:30:21 +0100 Subject: [PATCH 0929/2840] Remove rst file and script to migrate --- CONTRIBUTORS.rst | 424 ----------------------------------------- scripts/rst_to_json.py | 100 ---------- 2 files changed, 524 deletions(-) delete mode 100644 CONTRIBUTORS.rst delete mode 100644 scripts/rst_to_json.py diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst deleted file mode 100644 index c564dfaf3..000000000 --- a/CONTRIBUTORS.rst +++ /dev/null @@ -1,424 +0,0 @@ -Contributors -============ - -Core Developers ---------------- - -These contributors have commit flags for the repository, -and are able to accept and merge pull requests. - -=========================== ================= =========== -Name Github Twitter -=========================== ================= =========== -Daniel Roy Greenfeld `@pydanny`_ @pydanny -Audrey Roy Greenfeld* `@audreyr`_ @audreyr -Fábio C. Barrionuevo da Luz `@luzfcb`_ @luzfcb -Saurabh Kumar `@theskumar`_ @_theskumar -Jannis Gebauer `@jayfk`_ -Burhan Khalid `@burhan`_ @burhan -Nikita Shupeyko `@webyneter`_ @webyneter -Bruno Alla `@browniebroke`_ @_BrunoAlla -Wan Liuyang `@sfdye`_ @sfdye -=========================== ================= =========== - -*Audrey is also the creator of Cookiecutter. Audrey and -Daniel are on the Cookiecutter core team.* - -.. _@pydanny: https://github.com/pydanny -.. _@luzfcb: https://github.com/luzfcb -.. _@theskumar: https://github.com/theskumar -.. _@audreyr: https://github.com/audreyr -.. _@jayfk: https://github.com/jayfk -.. _@burhan: https://github.com/burhan -.. _@webyneter: https://github.com/webyneter -.. _@browniebroke: https://github.com/browniebroke -.. _@sfdye: https://github.com/sfdye - -Other Contributors ------------------- - -Listed in alphabetical order. - -========================== ============================ ============== - Name Github Twitter -========================== ============================ ============== - 18 `@dezoito`_ - 2O4 `@2O4`_ - a7p `@a7p`_ - Aadith PM `@aadithpm`_ - Aaron Eikenberry `@aeikenberry`_ - Adam Bogdał `@bogdal`_ - Adam Dobrawy `@ad-m`_ - Adam Steele `@adammsteele`_ - Agam Dua - Agustín Scaramuzza `@scaramagus`_ @scaramagus - Alberto Sanchez `@alb3rto`_ - Alex Tsai `@caffodian`_ - Alvaro [Andor] `@andor-pierdelacabeza`_ - Amjith Ramanujam `@amjith`_ - Andreas Meistad `@ameistad`_ - Andres Gonzalez `@andresgz`_ - Andrew Mikhnevich `@zcho`_ - Andrew Chen Wang `@Andrew-Chen-Wang`_ - Andy Rose - Anna Callahan `@jazztpt`_ - Anna Sidwell `@takkaria`_ - Antonia Blair `@antoniablair`_ @antoniablairart - Anuj Bansal `@ahhda`_ - Arcuri Davide `@dadokkio`_ - Areski Belaid `@areski`_ - AsheKR `@ashekr`_ - Ashley Camba - Barclay Gauld `@yunti`_ - Bartek `@btknu`_ - Ben Lopatin - Ben Warren `@bwarren2`_ - Benjamin Abel - Bert de Miranda `@bertdemiranda`_ - Bo Lopker `@blopker`_ - Bo Peng `@BoPeng`_ - Bouke Haarsma - Brent Payne `@brentpayne`_ @brentpayne - Bruce Olivier `@bolivierjr`_ - Burhan Khalid            `@burhan`_                   @burhan - Caio Ariede `@caioariede`_ @caioariede - Carl Johnson `@carlmjohnson`_ @carlmjohnson - Catherine Devlin `@catherinedevlin`_ - Cédric Gaspoz `@cgaspoz`_ - Charlie Smith `@chuckus`_ - Chris Curvey `@ccurvey`_ - Chris Franklin - Chris Franklin `@hairychris`_ - Chris Pappalardo `@ChrisPappalardo`_ - Christopher Clarke `@chrisdev`_ - Cole Mackenzie `@cmackenzie1`_ - Cole Maclean `@cole`_ @cole - Collederas `@Collederas`_ - Craig Margieson `@cmargieson`_ - Cristian Vargas `@cdvv7788`_ - Cullen Rhodes `@c-rhodes`_ - Curtis St Pierre `@curtisstpierre`_ @cstpierre1388 - Dan Shultz `@shultz`_ - Dani Hodovic `@danihodovic`_ - Daniel Hepper `@dhepper`_ @danielhepper - Daniel Hillier `@danifus`_ - Daniel Sears `@highpost`_ @highpost - Daniele Tricoli `@eriol`_ - David Díaz `@ddiazpinto`_ @DavidDiazPinto - Davit Tovmasyan `@davitovmasyan`_ - Davur Clementsen `@dsclementsen`_ @davur - Delio Castillo `@jangeador`_ @jangeador - Demetris Stavrou `@demestav`_ - Denis Bobrov `@delneg`_ - Denis Orehovsky `@apirobot`_ - Denis Savran `@blaxpy`_ - Diane Chen `@purplediane`_ @purplediane88 - Dónal Adams `@epileptic-fish`_ - Dong Huynh `@trungdong`_ - Duda Nogueira `@dudanogueira`_ @dudanogueira - Emanuel Calso `@bloodpet`_ @bloodpet - Eraldo Energy `@eraldo`_ - Eric Groom `@ericgroom`_ - Ernesto Cedeno `@codnee`_ - Eyad Al Sibai `@eyadsibai`_ - Felipe Arruda `@arruda`_ - Florian Idelberger `@step21`_ @windrush - Gabriel Mejia `@elgartoinf`_ @elgartoinf - Garry Cairns `@garry-cairns`_ - Garry Polley `@garrypolley`_ - Gilbishkosma `@Gilbishkosma`_ - Glenn Wiskur `@gwiskur`_ - Guilherme Guy `@guilherme1guy`_ - Hamish Durkin `@durkode`_ - Hana Quadara `@hanaquadara`_ - Hannah Lazarus `@hanhanhan`_ - Harry Moreno `@morenoh149`_ @morenoh149 - Harry Percival `@hjwp`_ - Hendrik Schneider `@hendrikschneider`_ - Henrique G. G. Pereira `@ikkebr`_ - Howie Zhao `@howiezhao`_ - Ian Lee `@IanLee1521`_ - Irfan Ahmad `@erfaan`_ @erfaan - Isaac12x `@Isaac12x`_ - Ivan Khomutov `@ikhomutov`_ - James Williams `@jameswilliams1`_ - Jan Van Bruggen `@jvanbrug`_ - Jelmer Draaijer `@foarsitter`_ - Jerome Caisip `@jeromecaisip`_ - Jens Nilsson `@phiberjenz`_ - Jerome Leclanche `@jleclanche`_ @Adys - Jimmy Gitonga `@afrowave`_ @afrowave - John Cass `@jcass77`_ @cass_john - Jonathan Thompson `@nojanath`_ - Jules Cheron `@jules-ch`_ - Julien Almarcha `@sladinji`_ - Julio Castillo `@juliocc`_ - Kaido Kert `@kaidokert`_ - kappataumu `@kappataumu`_ @kappataumu - Kaveh `@ka7eh`_ - Keith Bailey `@keithjeb`_ - Keith Webber `@townie`_ - Kevin A. Stone - Kevin Ndung'u `@kevgathuku`_ - Keyvan Mosharraf `@keyvanm`_ - Krzysztof Szumny `@noisy`_ - Krzysztof Żuraw `@krzysztofzuraw`_ - Leo won `@leollon`_ - Leo Zhou `@glasslion`_ - Leon Kim `@PilhwanKim`_ - Leonardo Jimenez `@xpostudio4`_ - Lin Xianyi `@iynaix`_ - Luis Nell `@originell`_ - Lukas Klein - Lyla Fischer - Malik Sulaimanov `@flyudvik`_ @flyudvik - Martin Blech - Martin Saizar `@msaizar`_ - Mateusz Ostaszewski `@mostaszewski`_ - Mathijs Hoogland `@MathijsHoogland`_ - Matt Braymer-Hayes `@mattayes`_ @mattayes - Matt Knapper `@mknapper1`_ - Matt Linares - Matt Menzenski `@menzenski`_ - Matt Warren `@mfwarren`_ - Matthew Sisley `@mjsisley`_ - Matthias Sieber `@manonthemat`_ @MatzeOne - Meghan Heintz `@dot2dotseurat`_ - Mesut Yılmaz `@myilmaz`_ - Michael Gecht `@mimischi`_ @_mischi - Michael Samoylov `@msamoylov`_ - Min ho Kim `@minho42`_ - mozillazg `@mozillazg`_ - Nico Stefani `@nicolas471`_ @moby_dick91 - Oleg Russkin `@rolep`_ - Pablo `@oubiga`_ - Parbhat Puri `@parbhat`_ - Pawan Chaurasia `@rjsnh1522`_ - Peter Bittner `@bittner`_ - Peter Coles `@mrcoles`_ - Philipp Matthies `@canonnervio`_ - Pierre Chiquet `@pchiquet`_ - Raony Guimarães Corrêa `@raonyguimaraes`_ - Raphael Pierzina `@hackebrot`_ - Reggie Riser `@reggieriser`_ - René Muhl `@rm--`_ - Richard Hajdu `@Tusky`_ - Roman Afanaskin `@siauPatrick`_ - Roman Osipenko `@romanosipenko`_ - Russell Davies - Sam Collins `@MightySCollins`_ - Sascha `@saschalalala`_ @saschalalala - Shupeyko Nikita `@webyneter`_ - Sławek Ehlert `@slafs`_ - Sorasful `@sorasful`_ - Srinivas Nyayapati `@shireenrao`_ - stepmr `@stepmr`_ - Steve Steiner `@ssteinerX`_ - Sudarshan Wadkar `@wadkar`_ - Sule Marshall `@suledev`_ - Tano Abeleyra `@tanoabeleyra`_ - Taylor Baldwin - Théo Segonds `@show0k`_ - Tim Claessens `@timclaessens`_ - Tim Freund `@timfreund`_ - Tom Atkins `@knitatoms`_ - Tom Offermann - Travis McNeill `@Travistock`_ @tavistock_esq - Tubo Shi `@Tubo`_ - Umair Ashraf `@umrashrf`_ @fabumair - Vadim Iskuchekov `@Egregors`_ @egregors - Vicente G. Reyes `@reyesvicente`_ @highcenburg - Vitaly Babiy - Vivian Guillen `@viviangb`_ - Vlad Doster `@vladdoster`_ - Will Farley `@goldhand`_ @g01dhand - William Archinal `@archinal`_ - Xaver Y.R. Chen `@yrchen`_ @yrchen - Yaroslav Halchenko - Yuchen Xie `@mapx`_ -========================== ============================ ============== - -.. _@aadithpm: https://github.com/aadithpm -.. _@a7p: https://github.com/a7p -.. _@2O4: https://github.com/2O4 -.. _@ad-m: https://github.com/ad-m -.. _@adammsteele: https://github.com/adammsteele -.. _@aeikenberry: https://github.com/aeikenberry -.. _@afrowave: https://github.com/afrowave -.. _@ahhda: https://github.com/ahhda -.. _@alb3rto: https://github.com/alb3rto -.. _@ameistad: https://github.com/ameistad -.. _@amjith: https://github.com/amjith -.. _@andor-pierdelacabeza: https://github.com/andor-pierdelacabeza -.. _@andresgz: https://github.com/andresgz -.. _@antoniablair: https://github.com/antoniablair -.. _@Andrew-Chen-Wang: https://github.com/Andrew-Chen-Wang -.. _@apirobot: https://github.com/apirobot -.. _@archinal: https://github.com/archinal -.. _@areski: https://github.com/areski -.. _@arruda: https://github.com/arruda -.. _@ashekr: https://github.com/ashekr -.. _@bertdemiranda: https://github.com/bertdemiranda -.. _@bittner: https://github.com/bittner -.. _@blaxpy: https://github.com/blaxpy -.. _@bloodpet: https://github.com/bloodpet -.. _@blopker: https://github.com/blopker -.. _@bogdal: https://github.com/bogdal -.. _@bolivierjr: https://github.com/bolivierjr -.. _@BoPeng: https://github.com/BoPeng -.. _@brentpayne: https://github.com/brentpayne -.. _@btknu: https://github.com/btknu -.. _@bwarren2: https://github.com/bwarren2 -.. _@c-rhodes: https://github.com/c-rhodes -.. _@caffodian: https://github.com/caffodian -.. _@canonnervio: https://github.com/canonnervio -.. _@caioariede: https://github.com/caioariede -.. _@carlmjohnson: https://github.com/carlmjohnson -.. _@catherinedevlin: https://github.com/catherinedevlin -.. _@ccurvey: https://github.com/ccurvey -.. _@cdvv7788: https://github.com/cdvv7788 -.. _@cgaspoz: https://github.com/cgaspoz -.. _@chrisdev: https://github.com/chrisdev -.. _@ChrisPappalardo: https://github.com/ChrisPappalardo -.. _@chuckus: https://github.com/chuckus -.. _@cmackenzie1: https://github.com/cmackenzie1 -.. _@cmargieson: https://github.com/cmargieson -.. _@codnee: https://github.com/codnee -.. _@cole: https://github.com/cole -.. _@Collederas: https://github.com/Collederas -.. _@curtisstpierre: https://github.com/curtisstpierre -.. _@dadokkio: https://github.com/dadokkio -.. _@danihodovic: https://github.com/danihodovic -.. _@danifus: https://github.com/danifus -.. _@davitovmasyan: https://github.com/davitovmasyan -.. _@ddiazpinto: https://github.com/ddiazpinto -.. _@delneg: https://github.com/delneg -.. _@demestav: https://github.com/demestav -.. _@dezoito: https://github.com/dezoito -.. _@dhepper: https://github.com/dhepper -.. _@dot2dotseurat: https://github.com/dot2dotseurat -.. _@dudanogueira: https://github.com/dudanogueira -.. _@dsclementsen: https://github.com/dsclementsen -.. _@guilherme1guy: https://github.com/guilherme1guy -.. _@durkode: https://github.com/durkode -.. _@Egregors: https://github.com/Egregors -.. _@elgartoinf: https://gihub.com/elgartoinf -.. _@epileptic-fish: https://gihub.com/epileptic-fish -.. _@eraldo: https://github.com/eraldo -.. _@erfaan: https://github.com/erfaan -.. _@ericgroom: https://github.com/ericgroom -.. _@eriol: https://github.com/eriol -.. _@eyadsibai: https://github.com/eyadsibai -.. _@flyudvik: https://github.com/flyudvik -.. _@foarsitter: https://github.com/foarsitter -.. _@garry-cairns: https://github.com/garry-cairns -.. _@garrypolley: https://github.com/garrypolley -.. _@Gilbishkosma: https://github.com/Gilbishkosma -.. _@gwiskur: https://github.com/gwiskur -.. _@glasslion: https://github.com/glasslion -.. _@goldhand: https://github.com/goldhand -.. _@hackebrot: https://github.com/hackebrot -.. _@hairychris: https://github.com/hairychris -.. _@hanaquadara: https://github.com/hanaquadara -.. _@hanhanhan: https://github.com/hanhanhan -.. _@hendrikschneider: https://github.com/hendrikschneider -.. _@highpost: https://github.com/highpost -.. _@hjwp: https://github.com/hjwp -.. _@howiezhao: https://github.com/howiezhao -.. _@IanLee1521: https://github.com/IanLee1521 -.. _@ikhomutov: https://github.com/ikhomutov -.. _@jameswilliams1: https://github.com/jameswilliams1 -.. _@ikkebr: https://github.com/ikkebr -.. _@Isaac12x: https://github.com/Isaac12x -.. _@iynaix: https://github.com/iynaix -.. _@jangeador: https://github.com/jangeador -.. _@jazztpt: https://github.com/jazztpt -.. _@jcass77: https://github.com/jcass77 -.. _@jeromecaisip: https://github.com/jeromecaisip -.. _@jleclanche: https://github.com/jleclanche -.. _@jules-ch: https://github.com/jules-ch -.. _@juliocc: https://github.com/juliocc -.. _@jvanbrug: https://github.com/jvanbrug -.. _@ka7eh: https://github.com/ka7eh -.. _@kaidokert: https://github.com/kaidokert -.. _@kappataumu: https://github.com/kappataumu -.. _@keithjeb: https://github.com/keithjeb -.. _@kevgathuku: https://github.com/kevgathuku -.. _@keyvanm: https://github.com/keyvanm -.. _@knitatoms: https://github.com/knitatoms -.. _@krzysztofzuraw: https://github.com/krzysztofzuraw -.. _@leollon: https://github.com/leollon -.. _@MathijsHoogland: https://github.com/MathijsHoogland -.. _@mapx: https://github.com/mapx -.. _@manonthemat: https://github.com/manonthemat -.. _@mattayes: https://github.com/mattayes -.. _@menzenski: https://github.com/menzenski -.. _@mfwarren: https://github.com/mfwarren -.. _@MightySCollins: https://github.com/MightySCollins -.. _@mimischi: https://github.com/mimischi -.. _@minho42: https://github.com/minho42 -.. _@mjsisley: https://github.com/mjsisley -.. _@mknapper1: https://github.com/mknapper1 -.. _@morenoh149: https://github.com/morenoh149 -.. _@mostaszewski: https://github.com/mostaszewski -.. _@mozillazg: https://github.com/mozillazg -.. _@mrcoles: https://github.com/mrcoles -.. _@msaizar: https://github.com/msaizar -.. _@msamoylov: https://github.com/msamoylov -.. _@myilmaz: https://github.com/myilmaz -.. _@nicolas471: https://github.com/nicolas471 -.. _@noisy: https://github.com/noisy -.. _@nojanath: https://github.com/nojanath -.. _@originell: https://github.com/originell -.. _@oubiga: https://github.com/oubiga -.. _@parbhat: https://github.com/parbhat -.. _@rjsnh1522: https://github.com/rjsnh1522 -.. _@pchiquet: https://github.com/pchiquet -.. _@phiberjenz: https://github.com/phiberjenz -.. _@PilhwanKim: https://github.com/PilhwanKim -.. _@purplediane: https://github.com/purplediane -.. _@raonyguimaraes: https://github.com/raonyguimaraes -.. _@reggieriser: https://github.com/reggieriser -.. _@reyesvicente: https://github.com/reyesvicente -.. _@rm--: https://github.com/rm-- -.. _@Tusky: https://github.com/Tusky -.. _@rolep: https://github.com/rolep -.. _@romanosipenko: https://github.com/romanosipenko -.. _@saschalalala: https://github.com/saschalalala -.. _@scaramagus: https://github.com/scaramagus -.. _@shireenrao: https://github.com/shireenrao -.. _@show0k: https://github.com/show0k -.. _@shultz: https://github.com/shultz -.. _@siauPatrick: https://github.com/siauPatrick -.. _@sladinji: https://github.com/sladinji -.. _@slafs: https://github.com/slafs -.. _@sorasful:: https://github.com/sorasful -.. _@ssteinerX: https://github.com/ssteinerx -.. _@step21: https://github.com/step21 -.. _@stepmr: https://github.com/stepmr -.. _@suledev: https://github.com/suledev -.. _@takkaria: https://github.com/takkaria -.. _@tanoabeleyra: https://github.com/tanoabeleyra -.. _@timclaessens: https://github.com/timclaessens -.. _@timfreund: https://github.com/timfreund -.. _@townie: https://github.com/townie -.. _@Travistock: https://github.com/Tavistock -.. _@trungdong: https://github.com/trungdong -.. _@Tubo: https://github.com/tubo -.. _@umrashrf: https://github.com/umrashrf -.. _@viviangb: https://github.com/viviangb -.. _@vladdoster: https://github.com/vladdoster -.. _@wadkar: https://github.com/wadkar -.. _@xpostudio4: https://github.com/xpostudio4 -.. _@yrchen: https://github.com/yrchen -.. _@yunti: https://github.com/yunti -.. _@zcho: https://github.com/zcho - -Special Thanks -~~~~~~~~~~~~~~ - -The following haven't provided code directly, but have provided guidance and advice. - -* Jannis Leidel -* Nate Aune -* Barry Morrison diff --git a/scripts/rst_to_json.py b/scripts/rst_to_json.py deleted file mode 100644 index 8c41c3a9c..000000000 --- a/scripts/rst_to_json.py +++ /dev/null @@ -1,100 +0,0 @@ -import json -from pathlib import Path - -CURRENT_FILE = Path(__file__) -ROOT = CURRENT_FILE.parents[1] - - -def main(): - input_file_path = ROOT / "CONTRIBUTORS.rst" - content = input_file_path.read_text() - - table_separator = ( - "========================== ============================ ==============" - ) - table_content = content.split(table_separator)[2] - - profiles_list = [ - { - "name": "Daniel Roy Greenfeld", - "github_login": "pydanny", - "twitter_username": "pydanny", - "is_core": True, - }, - { - "name": "Audrey Roy Greenfeld", - "github_login": "audreyr", - "twitter_username": "audreyr", - "is_core": True, - }, - { - "name": "Fábio C. Barrionuevo da Luz", - "github_login": "luzfcb", - "twitter_username": "luzfcb", - "is_core": True, - }, - { - "name": "Saurabh Kumar", - "github_login": "theskumar", - "twitter_username": "_theskumar", - "is_core": True, - }, - { - "name": "Jannis Gebauer", - "github_login": "jayfk", - "twitter_username": "", - "is_core": True, - }, - { - "name": "Burhan Khalid", - "github_login": "burhan", - "twitter_username": "burhan", - "is_core": True, - }, - { - "name": "Shupeyko Nikita", - "github_login": "webyneter", - "twitter_username": "webyneter", - "is_core": True, - }, - { - "name": "Bruno Alla", - "github_login": "browniebroke", - "twitter_username": "_BrunoAlla", - "is_core": True, - }, - { - "name": "Wan Liuyang", - "github_login": "sfdye", - "twitter_username": "sfdye", - "is_core": True, - }, - ] - core_members = [member["github_login"] for member in profiles_list] - - for contrib in table_content.split("\n"): - if not contrib: - continue - line_parts = contrib.split("`") - name = line_parts[0].strip() - github_login = line_parts[1].lstrip("@") if len(line_parts) > 1 else "" - if github_login in core_members: - continue - twitter_username = ( - line_parts[2].lstrip("_").strip().lstrip("@") - if len(line_parts) == 3 - else "" - ) - profile = { - "name": name, - "github_login": github_login, - "twitter_username": twitter_username, - } - profiles_list.append(profile) - - output_file_path = ROOT / ".github" / "contributors.json" - output_file_path.write_text(json.dumps(profiles_list, indent=2, ensure_ascii=False)) - - -if __name__ == "__main__": - main() From 333da12f51a09733c6fe172edea697e60984246d Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 10 Aug 2020 18:30:36 +0100 Subject: [PATCH 0930/2840] Add docstrings to the update_contributors.py file --- scripts/update_contributors.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index cc22f33cd..0f157595c 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -8,6 +8,7 @@ CURRENT_FILE = Path(__file__) ROOT = CURRENT_FILE.parents[1] BOT_LOGINS = ["pyup-bot"] +# Jinja template for CONTRIBUTORS.md CONTRIBUTORS_TEMPLATE = """ # Contributors @@ -69,9 +70,19 @@ guidance and advice. def main() -> None: + """ + Script entry point. + + 1. Fetch recent contribtors from the Github API + 2. Add missing ones to the JSON file + 3. Generate Markdown from JSON file + """ + # Use Github API to fetch recent authors rather than + # git CLI because we need to know their GH username gh = GitHub() recent_authors = set(gh.iter_recent_authors()) + # Add missing users to the JSON file contrib_file = ContributorsJSONFile() for username in recent_authors: print(f"Checking if {username} should be added") @@ -81,10 +92,13 @@ def main() -> None: print(f"Added {username} to contributors") contrib_file.save() + # Generate MD file from JSON file write_md_file(contrib_file.content) class GitHub: + """Small wrapper around Github REST API.""" + base_url = "https://api.github.com" def __init__(self) -> None: @@ -107,29 +121,36 @@ class GitHub: class ContributorsJSONFile: + """Helper to interact with the JSON file.""" + file_path = ROOT / ".github" / "contributors.json" content = None def __init__(self) -> None: + """Read initial content.""" self.content = json.loads(self.file_path.read_text()) def __contains__(self, github_login: str): + """Provide a nice API to do: `username in file`.""" return any(github_login == contrib["github_login"] for contrib in self.content) def add_contributor(self, user_data): + """Append the contributor data we care about at the end.""" contributor_data = { "name": user_data["name"], "github_login": user_data["login"], "twitter_username": user_data["twitter_username"], } - self.content.extend(contributor_data) + self.content.append(contributor_data) def save(self): + """Write the file to disk with indentation.""" text_content = json.dumps(self.content, indent=2, ensure_ascii=False) self.file_path.write_text(text_content) def write_md_file(contributors): + """Generate markdown file from Jinja template.""" template = Template(CONTRIBUTORS_TEMPLATE, autoescape=True) core_contributors = [c for c in contributors if c.get("is_core", False)] other_contributors = (c for c in contributors if not c.get("is_core", False)) From c8c6951dd22bb0510b907b0f98292f259b6229e8 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 10 Aug 2020 18:35:04 +0100 Subject: [PATCH 0931/2840] Move template outside of the python script --- .github/CONTRIBUTORS-template.md | 56 ++++++++++++++++++++++++++++ scripts/update_contributors.py | 63 +------------------------------- 2 files changed, 58 insertions(+), 61 deletions(-) create mode 100644 .github/CONTRIBUTORS-template.md diff --git a/.github/CONTRIBUTORS-template.md b/.github/CONTRIBUTORS-template.md new file mode 100644 index 000000000..d8ba28c63 --- /dev/null +++ b/.github/CONTRIBUTORS-template.md @@ -0,0 +1,56 @@ +# Contributors + +## Core Developers + +These contributors have commit flags for the repository, and are able to +accept and merge pull requests. + + + + + + + + {%- for contributor in core_contributors %} + + + + + + {%- endfor %} +
NameGithubTwitter
{{ contributor.name }} + {{ contributor.github_login }} + {{ contributor.twitter_username }}
+ +*Audrey is also the creator of Cookiecutter. Audrey and Daniel are on +the Cookiecutter core team.* + +## Other Contributors + +Listed in alphabetical order. + + + + + + + + {%- for contributor in other_contributors %} + + + + + + {%- endfor %} +
NameGithubTwitter
{{ contributor.name }} + {{ contributor.github_login }} + {{ contributor.twitter_username }}
+ +### Special Thanks + +The following haven't provided code directly, but have provided +guidance and advice. + +- Jannis Leidel +- Nate Aune +- Barry Morrison diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index 0f157595c..8ad013d42 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -8,66 +8,6 @@ CURRENT_FILE = Path(__file__) ROOT = CURRENT_FILE.parents[1] BOT_LOGINS = ["pyup-bot"] -# Jinja template for CONTRIBUTORS.md -CONTRIBUTORS_TEMPLATE = """ -# Contributors - -## Core Developers - -These contributors have commit flags for the repository, and are able to -accept and merge pull requests. - - - - - - - - {%- for contributor in core_contributors %} - - - - - - {%- endfor %} -
NameGithubTwitter
{{ contributor.name }} - {{ contributor.github_login }} - {{ contributor.twitter_username }}
- -*Audrey is also the creator of Cookiecutter. Audrey and Daniel are on -the Cookiecutter core team.* - -## Other Contributors - -Listed in alphabetical order. - - - - - - - - {%- for contributor in other_contributors %} - - - - - - {%- endfor %} -
NameGithubTwitter
{{ contributor.name }} - {{ contributor.github_login }} - {{ contributor.twitter_username }}
- -### Special Thanks - -The following haven't provided code directly, but have provided -guidance and advice. - -- Jannis Leidel -- Nate Aune -- Barry Morrison -""" - def main() -> None: """ @@ -151,7 +91,8 @@ class ContributorsJSONFile: def write_md_file(contributors): """Generate markdown file from Jinja template.""" - template = Template(CONTRIBUTORS_TEMPLATE, autoescape=True) + contributors_template = ROOT / ".github" / "CONTRIBUTORS-template.md" + template = Template(contributors_template.read_text(), autoescape=True) core_contributors = [c for c in contributors if c.get("is_core", False)] other_contributors = (c for c in contributors if not c.get("is_core", False)) other_contributors = sorted(other_contributors, key=lambda c: c["name"].lower()) From 81bc4fb73d25dd4dd621b29140c79dedf70e6c32 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 10 Aug 2020 18:35:18 +0100 Subject: [PATCH 0932/2840] Run black on our custom scripts --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 242183c39..cecc7435f 100644 --- a/tox.ini +++ b/tox.ini @@ -8,4 +8,4 @@ commands = pytest {posargs:./tests} [testenv:black-template] deps = black -commands = black --check hooks tests setup.py docs +commands = black --check hooks tests setup.py docs scripts From 7570ed9c5a48b03512ce6a434fd21c78bfe72999 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 10 Aug 2020 18:39:15 +0100 Subject: [PATCH 0933/2840] Bot usernames are excluded in the generator --- scripts/update_contributors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index 8ad013d42..206d7aab3 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -26,7 +26,7 @@ def main() -> None: contrib_file = ContributorsJSONFile() for username in recent_authors: print(f"Checking if {username} should be added") - if username not in contrib_file and username not in BOT_LOGINS: + if username not in contrib_file: user_data = gh.fetch_user_info(username) contrib_file.add_contributor(user_data) print(f"Added {username} to contributors") From 4e137c00edef917c7b0a0e0375aa94187f426f7b Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 10 Aug 2020 18:44:35 +0100 Subject: [PATCH 0934/2840] Update contributing guidelines and PR template --- .github/PULL_REQUEST_TEMPLATE.md | 8 ++------ CONTRIBUTING.rst | 1 - 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 8dbff6c25..45e67c69b 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -2,8 +2,8 @@ [//]: # (Before you proceed:) -[//]: # (1. Make sure to add yourself to `CONTRIBUTORS.rst` through this PR provided you're contributing here for the first time) -[//]: # (2. Don't forget to update the `docs/` presuming others would benefit from a concise description of whatever that you're proposing) +[//]: # (- Don't forget to update the `docs/` presuming others would benefit from a concise description of whatever that you're proposing) +[//]: # (- If you're adding a new option, please make sure that tests/test_cookiecutter_generation.py is updated accordingly) ## Description @@ -11,15 +11,11 @@ [//]: # (What's it you're proposing?) - - ## Rationale [//]: # (Why does the project need that?) - - ## Use case(s) / visualization(s) [//]: # ("Better to see something once than to hear about it a thousand times.") diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 0a64e628b..5d88bf5bf 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -8,7 +8,6 @@ Getting your pull request merged in #. Keep it small. The smaller the pull request the more likely I'll pull it in. #. Pull requests that fix a current issue get priority for review. -#. If you're not already in the `CONTRIBUTORS.rst` file, add yourself! Testing ------- From 8287a87de36c7e071a8635fdbbb538c623fd5e7e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 10 Aug 2020 17:45:27 +0000 Subject: [PATCH 0935/2840] Update Contributors --- CONTRIBUTORS.md | 1445 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1445 insertions(+) create mode 100644 CONTRIBUTORS.md diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md new file mode 100644 index 000000000..d033b1d98 --- /dev/null +++ b/CONTRIBUTORS.md @@ -0,0 +1,1445 @@ +# Contributors + +## Core Developers + +These contributors have commit flags for the repository, and are able to +accept and merge pull requests. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameGithubTwitter
Daniel Roy Greenfeld + pydanny + pydanny
Audrey Roy Greenfeld + audreyr + audreyr
Fábio C. Barrionuevo da Luz + luzfcb + luzfcb
Saurabh Kumar + theskumar + _theskumar
Jannis Gebauer + jayfk +
Burhan Khalid + burhan + burhan
Shupeyko Nikita + webyneter + webyneter
Bruno Alla + browniebroke + _BrunoAlla
Wan Liuyang + sfdye + sfdye
+ +*Audrey is also the creator of Cookiecutter. Audrey and Daniel are on +the Cookiecutter core team.* + +## Other Contributors + +Listed in alphabetical order. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameGithubTwitter
18 + dezoito +
2O4 + 2O4 +
a7p + a7p +
Aadith PM + aadithpm +
Aaron Eikenberry + aeikenberry +
Adam Bogdał + bogdal +
Adam Dobrawy + ad-m +
Adam Steele + adammsteele +
Agam Dua + +
Agustín Scaramuzza + scaramagus + scaramagus
Alberto Sanchez + alb3rto +
Alex Tsai + caffodian +
Alvaro [Andor] + andor-pierdelacabeza +
Amjith Ramanujam + amjith +
Andreas Meistad + ameistad +
Andres Gonzalez + andresgz +
Andrew Chen Wang + Andrew-Chen-Wang +
Andrew Mikhnevich + zcho +
Andy Rose + +
Anna Callahan + jazztpt +
Anna Sidwell + takkaria +
Antonia Blair + antoniablair + antoniablairart
Anuj Bansal + ahhda +
Arcuri Davide + dadokkio +
Areski Belaid + areski +
AsheKR + ashekr +
Ashley Camba + +
Barclay Gauld + yunti +
Bartek + btknu +
Ben Lopatin + +
Ben Warren + bwarren2 +
Benjamin Abel + +
Bert de Miranda + bertdemiranda +
Bo Lopker + blopker +
Bo Peng + BoPeng +
Bouke Haarsma + +
Brent Payne + brentpayne + brentpayne
Bruce Olivier + bolivierjr +
Caio Ariede + caioariede + caioariede
Carl Johnson + carlmjohnson + carlmjohnson
Catherine Devlin + catherinedevlin +
Charlie Smith + chuckus +
Chris Curvey + ccurvey +
Chris Franklin + +
Chris Franklin + hairychris +
Chris Pappalardo + ChrisPappalardo +
Christopher Clarke + chrisdev +
Cole Mackenzie + cmackenzie1 +
Cole Maclean + cole + cole
Collederas + Collederas +
Craig Margieson + cmargieson +
Cristian Vargas + cdvv7788 +
Cullen Rhodes + c-rhodes +
Curtis St Pierre + curtisstpierre + cstpierre1388
Cédric Gaspoz + cgaspoz +
Dan Shultz + shultz +
Dani Hodovic + danihodovic +
Daniel Hepper + dhepper + danielhepper
Daniel Hillier + danifus +
Daniel Sears + highpost + highpost
Daniele Tricoli + eriol +
David Díaz + ddiazpinto + DavidDiazPinto
Davit Tovmasyan + davitovmasyan +
Davur Clementsen + dsclementsen + davur
Delio Castillo + jangeador + jangeador
Demetris Stavrou + demestav +
Denis Bobrov + delneg +
Denis Orehovsky + apirobot +
Denis Savran + blaxpy +
Diane Chen + purplediane + purplediane88
Dong Huynh + trungdong +
Duda Nogueira + dudanogueira + dudanogueira
Dónal Adams + epileptic-fish +
Emanuel Calso + bloodpet + bloodpet
Eraldo Energy + eraldo +
Eric Groom + ericgroom +
Ernesto Cedeno + codnee +
Eyad Al Sibai + eyadsibai +
Felipe Arruda + arruda +
Florian Idelberger + step21 + windrush
Gabriel Mejia + elgartoinf + elgartoinf
Garry Cairns + garry-cairns +
Garry Polley + garrypolley +
Gilbishkosma + Gilbishkosma +
Glenn Wiskur + gwiskur +
Guilherme Guy + guilherme1guy +
Hamish Durkin + durkode +
Hana Quadara + hanaquadara +
Hannah Lazarus + hanhanhan +
Harry Moreno + morenoh149 + morenoh149
Harry Percival + hjwp +
Hendrik Schneider + hendrikschneider +
Henrique G. G. Pereira + ikkebr +
Howie Zhao + howiezhao +
Ian Lee + IanLee1521 +
Irfan Ahmad + erfaan + erfaan
Isaac12x + Isaac12x +
Ivan Khomutov + ikhomutov +
James Williams + jameswilliams1 +
Jan Van Bruggen + jvanbrug +
Jelmer Draaijer + foarsitter +
Jens Nilsson + phiberjenz +
Jerome Caisip + jeromecaisip +
Jerome Leclanche + jleclanche + Adys
Jimmy Gitonga + afrowave + afrowave
John Cass + jcass77 + cass_john
Jonathan Thompson + nojanath +
Jules Cheron + jules-ch +
Julien Almarcha + sladinji +
Julio Castillo + juliocc +
Kaido Kert + kaidokert +
kappataumu + kappataumu + kappataumu
Kaveh + ka7eh +
Keith Bailey + keithjeb +
Keith Webber + townie +
Kevin A. Stone + +
Kevin Ndung'u + kevgathuku +
Keyvan Mosharraf + keyvanm +
Krzysztof Szumny + noisy +
Krzysztof Żuraw + krzysztofzuraw +
Leo won + leollon +
Leo Zhou + glasslion +
Leon Kim + PilhwanKim +
Leonardo Jimenez + xpostudio4 +
Lin Xianyi + iynaix +
Luis Nell + originell +
Lukas Klein + +
Lyla Fischer + +
Malik Sulaimanov + flyudvik + flyudvik
Martin Blech + +
Martin Saizar + msaizar +
Mateusz Ostaszewski + mostaszewski +
Mathijs Hoogland + MathijsHoogland +
Matt Braymer-Hayes + mattayes + mattayes
Matt Knapper + mknapper1 +
Matt Linares + +
Matt Menzenski + menzenski +
Matt Warren + mfwarren +
Matthew Sisley + mjsisley +
Matthias Sieber + manonthemat + MatzeOne
Meghan Heintz + dot2dotseurat +
Mesut Yılmaz + myilmaz +
Michael Gecht + mimischi + _mischi
Michael Samoylov + msamoylov +
Min ho Kim + minho42 +
mozillazg + mozillazg +
Nico Stefani + nicolas471 + moby_dick91
Oleg Russkin + rolep +
Pablo + oubiga +
Parbhat Puri + parbhat +
Pawan Chaurasia + rjsnh1522 +
Peter Bittner + bittner +
Peter Coles + mrcoles +
Philipp Matthies + canonnervio +
Pierre Chiquet + pchiquet +
Raony Guimarães Corrêa + raonyguimaraes +
Raphael Pierzina + hackebrot +
Reggie Riser + reggieriser +
René Muhl + rm-- +
Richard Hajdu + Tusky +
Roman Afanaskin + siauPatrick +
Roman Osipenko + romanosipenko +
Russell Davies + +
Sam Collins + MightySCollins +
Sascha + saschalalala + saschalalala
Sorasful + sorasful +
Srinivas Nyayapati + shireenrao +
stepmr + stepmr +
Steve Steiner + ssteinerX +
Sudarshan Wadkar + wadkar +
Sule Marshall + suledev +
Sławek Ehlert + slafs +
Tano Abeleyra + tanoabeleyra +
Taylor Baldwin + +
Théo Segonds + show0k +
Tim Claessens + timclaessens +
Tim Freund + timfreund +
Tom Atkins + knitatoms +
Tom Offermann + +
Travis McNeill + Travistock + tavistock_esq
Tubo Shi + Tubo +
Umair Ashraf + umrashrf + fabumair
Vadim Iskuchekov + Egregors + egregors
Vicente G. Reyes + reyesvicente + highcenburg
Vitaly Babiy + +
Vivian Guillen + viviangb +
Vlad Doster + vladdoster +
Will Farley + goldhand + g01dhand
William Archinal + archinal +
Xaver Y.R. Chen + yrchen + yrchen
Yaroslav Halchenko + +
Yuchen Xie + mapx +
+ +### Special Thanks + +The following haven't provided code directly, but have provided +guidance and advice. + +- Jannis Leidel +- Nate Aune +- Barry Morrison \ No newline at end of file From 0c8cfc65aa9c6a25cd15527b2c8ca4a5e9b15822 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 11 Aug 2020 01:42:06 -0700 Subject: [PATCH 0936/2840] Update flake8-isort from 3.0.1 to 4.0.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 1fbc8d165..fd88434dc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,7 +7,7 @@ binaryornot==0.4.4 black==19.10b0 isort==4.3.21 flake8==3.8.3 -flake8-isort==3.0.1 +flake8-isort==4.0.0 # Testing # ------------------------------------------------------------------------------ From 85cfe02437fa094b779193260a87ee372f88fd06 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 11 Aug 2020 01:42:07 -0700 Subject: [PATCH 0937/2840] Update flake8-isort from 3.0.1 to 4.0.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 028b36a94..6b6f00e97 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -26,7 +26,7 @@ sphinx-autobuild==0.7.1 # https://github.com/GaretJax/sphinx-autobuild # Code quality # ------------------------------------------------------------------------------ flake8==3.8.3 # https://github.com/PyCQA/flake8 -flake8-isort==3.0.1 # https://github.com/gforcada/flake8-isort +flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.2.1 # https://github.com/nedbat/coveragepy black==19.10b0 # https://github.com/ambv/black pylint-django==2.3.0 # https://github.com/PyCQA/pylint-django From 1cc6e6a05cddf7d3d703a7cf10fd3888c8006746 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 11 Aug 2020 02:42:42 -0700 Subject: [PATCH 0938/2840] Update isort from 4.3.21 to 5.3.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index fd88434dc..17cebc3cb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==19.10b0 -isort==4.3.21 +isort==5.3.2 flake8==3.8.3 flake8-isort==4.0.0 From 97e18889c68b55326fbf11685ebc7d239ac7ed72 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 11 Aug 2020 16:05:14 +0100 Subject: [PATCH 0939/2840] Revert "Added name to CONTRIBUTORS.txt" This reverts commit 160ed6cb --- {{cookiecutter.project_slug}}/CONTRIBUTORS.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/CONTRIBUTORS.txt b/{{cookiecutter.project_slug}}/CONTRIBUTORS.txt index e8450c4c3..82a80bfc1 100644 --- a/{{cookiecutter.project_slug}}/CONTRIBUTORS.txt +++ b/{{cookiecutter.project_slug}}/CONTRIBUTORS.txt @@ -1 +1 @@ -enchance \ No newline at end of file +{{ cookiecutter.author_name }} From 1645b8826d49a8bd57c8843bc8e78df0708163d3 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 11 Aug 2020 16:20:10 +0100 Subject: [PATCH 0940/2840] Use the pip resolver to avoid broken deps --- tests/test_bare.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/test_bare.sh b/tests/test_bare.sh index 7021a7e47..28f9b7bfb 100755 --- a/tests/test_bare.sh +++ b/tests/test_bare.sh @@ -5,6 +5,10 @@ set -o errexit +# Install modern pip to use new resolver: +# https://blog.python.org/2020/07/upgrade-pip-20-2-changes-20-3.html +pip install 'pip>=20.2' + # install test requirements pip install -r requirements.txt @@ -20,7 +24,7 @@ cd my_awesome_project sudo utility/install_os_dependencies.sh install # Install Python deps -pip install -r requirements/local.txt +pip install --use-feature=2020-resolver -r requirements/local.txt # run the project's tests pytest From 85a5e46b9269f37172e7a04ad26a3ffcbd32dd69 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 11 Aug 2020 16:51:34 +0100 Subject: [PATCH 0941/2840] Find recent authors based on merged pull requests --- scripts/update_contributors.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index 206d7aab3..c73377643 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -1,5 +1,6 @@ import json from pathlib import Path +from urllib.parse import urlencode import requests from jinja2 import Template @@ -50,10 +51,13 @@ class GitHub: return response.json() def iter_recent_authors(self): - commits = self.request("/repos/pydanny/cookiecutter-django/commits") - for commit in commits: - login = commit["author"]["login"] - if login not in BOT_LOGINS: + query_params = urlencode( + {"state": "closed", "sort": "updated", "direction": "desc"} + ) + pulls = self.request(f"/repos/pydanny/cookiecutter-django/pulls?{query_params}") + for pull_request in pulls: + login = pull_request["user"]["login"] + if pull_request["merged_at"] and login not in BOT_LOGINS: yield login def fetch_user_info(self, username): From 34f93aaf10fde6f5e8b21fae75cc5863fd49b9d5 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 11 Aug 2020 16:59:41 +0100 Subject: [PATCH 0942/2840] Fix bugs when name or twitter username are null --- scripts/update_contributors.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index c73377643..06982bdce 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -81,9 +81,9 @@ class ContributorsJSONFile: def add_contributor(self, user_data): """Append the contributor data we care about at the end.""" contributor_data = { - "name": user_data["name"], + "name": user_data.get("name", user_data["login"]), "github_login": user_data["login"], - "twitter_username": user_data["twitter_username"], + "twitter_username": user_data.get("twitter_username", ""), } self.content.append(contributor_data) From 05d548b78f6dbf01d572dea486865b198e483e21 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 11 Aug 2020 17:17:12 +0100 Subject: [PATCH 0943/2840] Switch to PyGithub rather than custom API wrapper --- requirements.txt | 2 +- scripts/update_contributors.py | 66 +++++++++++++--------------------- 2 files changed, 26 insertions(+), 42 deletions(-) diff --git a/requirements.txt b/requirements.txt index b04e40126..4eb19f8a3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -19,5 +19,5 @@ pyyaml==5.3.1 # Scripting # ------------------------------------------------------------------------------ -requests +PyGithub jinja2 diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index 06982bdce..180e7e170 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -1,8 +1,7 @@ import json from pathlib import Path -from urllib.parse import urlencode - -import requests +from github import Github +from github.NamedUser import NamedUser from jinja2 import Template CURRENT_FILE = Path(__file__) @@ -18,50 +17,35 @@ def main() -> None: 2. Add missing ones to the JSON file 3. Generate Markdown from JSON file """ - # Use Github API to fetch recent authors rather than - # git CLI because we need to know their GH username - gh = GitHub() - recent_authors = set(gh.iter_recent_authors()) + recent_authors = set(iter_recent_authors()) # Add missing users to the JSON file contrib_file = ContributorsJSONFile() - for username in recent_authors: - print(f"Checking if {username} should be added") - if username not in contrib_file: - user_data = gh.fetch_user_info(username) - contrib_file.add_contributor(user_data) - print(f"Added {username} to contributors") + for author in recent_authors: + print(f"Checking if {author.login} should be added") + if author.login not in contrib_file: + contrib_file.add_contributor(author) + print(f"Added {author.login} to contributors") contrib_file.save() # Generate MD file from JSON file write_md_file(contrib_file.content) -class GitHub: - """Small wrapper around Github REST API.""" +def iter_recent_authors(): + """ + Fetch users who opened recently merged pull requests. - base_url = "https://api.github.com" - - def __init__(self) -> None: - self.session = requests.Session() - - def request(self, endpoint): - response = self.session.get(f"{self.base_url}{endpoint}") - response.raise_for_status() - return response.json() - - def iter_recent_authors(self): - query_params = urlencode( - {"state": "closed", "sort": "updated", "direction": "desc"} - ) - pulls = self.request(f"/repos/pydanny/cookiecutter-django/pulls?{query_params}") - for pull_request in pulls: - login = pull_request["user"]["login"] - if pull_request["merged_at"] and login not in BOT_LOGINS: - yield login - - def fetch_user_info(self, username): - return self.request(f"/users/{username}") + Use Github API to fetch recent authors rather than + git CLI to work with Github usernames. + """ + repo = Github().get_repo("pydanny/cookiecutter-django") + recent_pulls = repo.get_pulls( + state="closed", sort="updated", direction="desc" + ).get_page(0) + for pull in recent_pulls: + if pull.merged and pull.user.login not in BOT_LOGINS: + yield pull.user class ContributorsJSONFile: @@ -78,12 +62,12 @@ class ContributorsJSONFile: """Provide a nice API to do: `username in file`.""" return any(github_login == contrib["github_login"] for contrib in self.content) - def add_contributor(self, user_data): + def add_contributor(self, user: NamedUser): """Append the contributor data we care about at the end.""" contributor_data = { - "name": user_data.get("name", user_data["login"]), - "github_login": user_data["login"], - "twitter_username": user_data.get("twitter_username", ""), + "name": user.name or user.login, + "github_login": user.login, + "twitter_username": user.twitter_username or "", } self.content.append(contributor_data) From 13c1182553bc666f7a642dc72947f8a5b80103e2 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 11 Aug 2020 16:20:28 +0000 Subject: [PATCH 0944/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index aeb0b61fd..e749ec14c 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1012,5 +1012,10 @@ "name": "Yuchen Xie", "github_login": "mapx", "twitter_username": "" + }, + { + "name": "enchance", + "github_login": "enchance", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index d033b1d98..f88512a33 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -607,6 +607,13 @@ Listed in alphabetical order. bloodpet + + enchance + + enchance + + + Eraldo Energy From 6ce39c7667e8df6908f1eccc810d36b79bd1f4d4 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 12 Aug 2020 11:30:01 +0000 Subject: [PATCH 0945/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index e749ec14c..febc1fb1f 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1017,5 +1017,10 @@ "name": "enchance", "github_login": "enchance", "twitter_username": "" + }, + { + "name": "Jan Fabry", + "github_login": "janfabry", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index f88512a33..b4f2bfcb0 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -789,6 +789,13 @@ Listed in alphabetical order. + + Jan Fabry + + janfabry + + + Jan Van Bruggen From 499af1b2034dddfab24646f8d3c8effd42827bef Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 12 Aug 2020 12:31:32 +0100 Subject: [PATCH 0946/2840] Update isort in pre-commit hook config --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 734a0a715..1be2f6a45 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 4.3.21 + rev: 5.3.2 hooks: - id: isort From 3d1067fb56dea48e7b47f3b5b769035fcf847f5b Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 12 Aug 2020 12:52:58 +0100 Subject: [PATCH 0947/2840] Workflow to run pre-commit autoupdate --- .github/workflows/pre-commit-autoupdate.yml | 35 +++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/pre-commit-autoupdate.yml diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml new file mode 100644 index 000000000..2ecb0032c --- /dev/null +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -0,0 +1,35 @@ +# Run pre-commit autoupdate every day at midnight +# and create a pull request if any changes + + +name: Pre-commit auto-update + +on: + schedule: + - cron: "0 0 * * *" + workflow_dispatch: # to trigger manually + +jobs: + auto-update: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2.1.1 + with: + python-version: 3.8 + + - name: Install pre-commit + run: pip install pre-commit + - name: Run pre-commit autoupdate + run: pre-commit autoupdate + working-directory: {{cookiecutter.project_slug}} + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + branch: update/pre-commit-autoupdate + title: Auto-update pre-commit hooks + commit-message: Auto-update pre-commit hooks + body: Update versions of tools in pre-commit configs to latest version + labels: update From 4db39b531919ec3782dd6b7a5af1c5fff894db1a Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 12 Aug 2020 12:55:37 +0100 Subject: [PATCH 0948/2840] Fix syntax --- .github/workflows/pre-commit-autoupdate.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index 2ecb0032c..4beaa578f 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -20,9 +20,10 @@ jobs: - name: Install pre-commit run: pip install pre-commit + - name: Run pre-commit autoupdate + working-directory: "{{cookiecutter.project_slug}}" run: pre-commit autoupdate - working-directory: {{cookiecutter.project_slug}} - name: Create Pull Request uses: peter-evans/create-pull-request@v2 From 5ae7d718bde5b25dbd93be5f36acba34fa88c416 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2020 11:56:34 +0000 Subject: [PATCH 0949/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 1be2f6a45..921a87b7d 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -4,7 +4,7 @@ fail_fast: true repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: master + rev: v3.2.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer From 266596f16b09dbc8d7f0551ab0dfacee9e6b32bb Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 12 Aug 2020 13:11:17 +0100 Subject: [PATCH 0950/2840] Only consider users of type 'User' --- scripts/update_contributors.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index 180e7e170..b77a35189 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -44,7 +44,11 @@ def iter_recent_authors(): state="closed", sort="updated", direction="desc" ).get_page(0) for pull in recent_pulls: - if pull.merged and pull.user.login not in BOT_LOGINS: + if ( + pull.merged + and pull.user.type == "User" + and pull.user.login not in BOT_LOGINS + ): yield pull.user From 632bbd0a0892ead6b2fce183f0cee8dedb6587c6 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 12 Aug 2020 13:11:54 +0100 Subject: [PATCH 0951/2840] Only fetch 5 entries per page to limit GH API usage --- scripts/update_contributors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index b77a35189..e00593ea4 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -39,7 +39,7 @@ def iter_recent_authors(): Use Github API to fetch recent authors rather than git CLI to work with Github usernames. """ - repo = Github().get_repo("pydanny/cookiecutter-django") + repo = Github(per_page=5).get_repo("pydanny/cookiecutter-django") recent_pulls = repo.get_pulls( state="closed", sort="updated", direction="desc" ).get_page(0) From 6e17bd2e6bea21433544fbd8c94c5129264424fd Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 12 Aug 2020 23:55:18 -0700 Subject: [PATCH 0952/2840] Update isort from 5.3.2 to 5.4.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 17cebc3cb..63eb9759e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==19.10b0 -isort==5.3.2 +isort==5.4.0 flake8==3.8.3 flake8-isort==4.0.0 From 2d410c5df99291f31ad5af9c262e5cd49a186e76 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 13 Aug 2020 01:34:47 -0700 Subject: [PATCH 0953/2840] Update factory-boy from 2.12.0 to 3.0.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 789135938..e437ca565 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -37,7 +37,7 @@ pre-commit==2.6.0 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ -factory-boy==2.12.0 # https://github.com/FactoryBoy/factory_boy +factory-boy==3.0.1 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.2 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.0.5 # https://github.com/django-extensions/django-extensions From 55d3d9533318db26b3ca0656ca78c6b352b97730 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Thu, 13 Aug 2020 10:08:53 -0400 Subject: [PATCH 0954/2840] Add STATICFILES_STORAGE with compressor support --- {{cookiecutter.project_slug}}/config/settings/production.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 3d4f324cd..ce381715c 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -236,10 +236,12 @@ ANYMAIL = {} # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_ENABLED COMPRESS_ENABLED = env.bool("COMPRESS_ENABLED", default=True) # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_STORAGE -{%- if cookiecutter.cloud_provider == 'AWS' %} +{%- if cookiecutter.cloud_provider == 'AWS' and cookiecutter.use_whitenoise == 'y' %} COMPRESS_STORAGE = "storages.backends.s3boto3.S3Boto3Storage" -{%- elif cookiecutter.cloud_provider == 'GCP' %} +{%- elif cookiecutter.cloud_provider == 'GCP' and cookiecutter.use_whitenoise == 'y' %} COMPRESS_STORAGE = "storages.backends.gcloud.GoogleCloudStorage" +{%- elif cookiecutter.cloud_provider == 'AWS' or cookiecutter.cloud_provider == 'GCP' %} +COMPRESS_STORAGE = STATICFILES_STORAGE {%- elif cookiecutter.cloud_provider == 'None' %} COMPRESS_STORAGE = "compressor.storage.GzipCompressorFileStorage" {%- endif %} From 1cb2a0c98e3d54b4f2e89426e678f73713be94b6 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Thu, 13 Aug 2020 10:13:40 -0400 Subject: [PATCH 0955/2840] Set COMPRESS_ROOT to STATIC_ROOT for compressor Django compressor also recommends the `COMPRESS_ROOT` be the STATIC_ROOT. This also makes sure the utils is set up properly so that the CACHE directory is actually publicly available (it'll be inside the static directory as a subdirectory). --- {{cookiecutter.project_slug}}/config/settings/production.py | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index ce381715c..f64ad1d27 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -242,6 +242,7 @@ COMPRESS_STORAGE = "storages.backends.s3boto3.S3Boto3Storage" COMPRESS_STORAGE = "storages.backends.gcloud.GoogleCloudStorage" {%- elif cookiecutter.cloud_provider == 'AWS' or cookiecutter.cloud_provider == 'GCP' %} COMPRESS_STORAGE = STATICFILES_STORAGE +COMPRESS_ROOT = STATIC_ROOT {%- elif cookiecutter.cloud_provider == 'None' %} COMPRESS_STORAGE = "compressor.storage.GzipCompressorFileStorage" {%- endif %} From 148d6c2e29e6095ad2ae451be043dece513836a2 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Thu, 13 Aug 2020 10:24:51 -0400 Subject: [PATCH 0956/2840] Added noqa F405 to undefined STATIC_ROOT - flake8 * This is in addition to the PR for compressor support with AWS S3 and Google Cloud buckets --- {{cookiecutter.project_slug}}/config/settings/production.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index f64ad1d27..7a8167229 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -242,7 +242,7 @@ COMPRESS_STORAGE = "storages.backends.s3boto3.S3Boto3Storage" COMPRESS_STORAGE = "storages.backends.gcloud.GoogleCloudStorage" {%- elif cookiecutter.cloud_provider == 'AWS' or cookiecutter.cloud_provider == 'GCP' %} COMPRESS_STORAGE = STATICFILES_STORAGE -COMPRESS_ROOT = STATIC_ROOT +COMPRESS_ROOT = STATIC_ROOT # noqa F405 {%- elif cookiecutter.cloud_provider == 'None' %} COMPRESS_STORAGE = "compressor.storage.GzipCompressorFileStorage" {%- endif %} From ebd43bbd3c29ff29cdf2617e661b857b89eb520c Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 13 Aug 2020 20:59:56 +0100 Subject: [PATCH 0957/2840] Update runtime.txt --- {{cookiecutter.project_slug}}/runtime.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/runtime.txt b/{{cookiecutter.project_slug}}/runtime.txt index 385705b56..43b47fb46 100644 --- a/{{cookiecutter.project_slug}}/runtime.txt +++ b/{{cookiecutter.project_slug}}/runtime.txt @@ -1 +1 @@ -python-3.8.3 +python-3.8.5 From 59d92d9eb4dc50b16443cb0f999408462bcabf60 Mon Sep 17 00:00:00 2001 From: Jimmy Gitonga Date: Fri, 14 Aug 2020 01:00:17 +0300 Subject: [PATCH 0958/2840] Update docs/developing-locally-docker.rst Co-authored-by: Bruno Alla --- docs/developing-locally-docker.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/developing-locally-docker.rst b/docs/developing-locally-docker.rst index b5672e224..0bf52295b 100644 --- a/docs/developing-locally-docker.rst +++ b/docs/developing-locally-docker.rst @@ -280,7 +280,7 @@ Rebuild your ``docker`` application. :: $ docker-compose -f local.yml up -d --build -Go to your browser and type in your usrl, `` +Go to your browser and type in your URL bar ``https://my-dev-env.local`` See `https with nginx`_ for more information on this configuration. From ddcafff94fce980ac1e3ed21debe1d09e1f5c97d Mon Sep 17 00:00:00 2001 From: Jimmy Gitonga Date: Fri, 14 Aug 2020 01:01:17 +0300 Subject: [PATCH 0959/2840] Update docs/developing-locally-docker.rst Co-authored-by: Bruno Alla --- docs/developing-locally-docker.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/developing-locally-docker.rst b/docs/developing-locally-docker.rst index 0bf52295b..17ea725bd 100644 --- a/docs/developing-locally-docker.rst +++ b/docs/developing-locally-docker.rst @@ -270,7 +270,7 @@ local.yml The services run behind the reverse proxy. config/settings/local.py -~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~ You should allow the new hostname. :: From d411ed9b6a43e9fbf7e15eff2d2367f380887920 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Thu, 13 Aug 2020 18:45:37 -0400 Subject: [PATCH 0960/2840] Update compressor not check whitenoise condition --- .../config/settings/production.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 7a8167229..89049cad0 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -235,16 +235,11 @@ ANYMAIL = {} # ------------------------------------------------------------------------------ # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_ENABLED COMPRESS_ENABLED = env.bool("COMPRESS_ENABLED", default=True) -# https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_STORAGE -{%- if cookiecutter.cloud_provider == 'AWS' and cookiecutter.use_whitenoise == 'y' %} -COMPRESS_STORAGE = "storages.backends.s3boto3.S3Boto3Storage" -{%- elif cookiecutter.cloud_provider == 'GCP' and cookiecutter.use_whitenoise == 'y' %} -COMPRESS_STORAGE = "storages.backends.gcloud.GoogleCloudStorage" -{%- elif cookiecutter.cloud_provider == 'AWS' or cookiecutter.cloud_provider == 'GCP' %} -COMPRESS_STORAGE = STATICFILES_STORAGE -COMPRESS_ROOT = STATIC_ROOT # noqa F405 -{%- elif cookiecutter.cloud_provider == 'None' %} +{%- if cookiecutter.cloud_provider == 'None' %} COMPRESS_STORAGE = "compressor.storage.GzipCompressorFileStorage" +{%- elif cookiecutter.cloud_provider in ('AWS', 'GCP') and cookiecutter.use_whitenoise == 'n' %} +# https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_STORAGE +COMPRESS_STORAGE = STATICFILES_STORAGE {%- endif %} # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_URL COMPRESS_URL = STATIC_URL{% if cookiecutter.use_whitenoise == 'y' or cookiecutter.cloud_provider == 'None' %} # noqa F405{% endif %} From aa261ddbb7908c098c7b9c3e36c81c3bda8ae71c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 14 Aug 2020 00:20:41 +0000 Subject: [PATCH 0961/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 921a87b7d..5ff2d62b6 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.3.2 + rev: 5.4.1 hooks: - id: isort From 363b6eed4ef32340cba3c43b4900c5dff98ebcdd Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 13 Aug 2020 23:55:15 -0700 Subject: [PATCH 0962/2840] Update isort from 5.4.0 to 5.4.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 63eb9759e..a1cb16ee7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==19.10b0 -isort==5.4.0 +isort==5.4.1 flake8==3.8.3 flake8-isort==4.0.0 From 7e87a92596b66828575f71e6b2235dd030db1d34 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 14 Aug 2020 08:12:55 +0100 Subject: [PATCH 0963/2840] Add missing comment over settings --- {{cookiecutter.project_slug}}/config/settings/production.py | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 89049cad0..2f1b52e72 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -236,6 +236,7 @@ ANYMAIL = {} # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_ENABLED COMPRESS_ENABLED = env.bool("COMPRESS_ENABLED", default=True) {%- if cookiecutter.cloud_provider == 'None' %} +# https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_STORAGE COMPRESS_STORAGE = "compressor.storage.GzipCompressorFileStorage" {%- elif cookiecutter.cloud_provider in ('AWS', 'GCP') and cookiecutter.use_whitenoise == 'n' %} # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_STORAGE From dfdc3e729fbc577da1a204defc295cae4187a479 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 14 Aug 2020 07:17:53 +0000 Subject: [PATCH 0964/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index febc1fb1f..99121fdca 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1022,5 +1022,10 @@ "name": "Jan Fabry", "github_login": "janfabry", "twitter_username": "" + }, + { + "name": "Jimmy Gitonga", + "github_login": "Afrowave", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index b4f2bfcb0..dee97bef4 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -838,6 +838,13 @@ Listed in alphabetical order. afrowave + + Jimmy Gitonga + + Afrowave + + + John Cass From be340d24d25cd96ae3549dae86f76cf60a3b5c38 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 14 Aug 2020 08:24:34 +0100 Subject: [PATCH 0965/2840] Remove duplicated contributor --- .github/contributors.json | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/contributors.json b/.github/contributors.json index 99121fdca..43e52913e 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -575,7 +575,7 @@ }, { "name": "Jimmy Gitonga", - "github_login": "afrowave", + "github_login": "Afrowave", "twitter_username": "afrowave" }, { @@ -1022,10 +1022,5 @@ "name": "Jan Fabry", "github_login": "janfabry", "twitter_username": "" - }, - { - "name": "Jimmy Gitonga", - "github_login": "Afrowave", - "twitter_username": "" } -] \ No newline at end of file +] From 3c1f2f0923f859939768a87c132d17483dde91b1 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 14 Aug 2020 07:25:26 +0000 Subject: [PATCH 0966/2840] Update Contributors --- .github/contributors.json | 2 +- CONTRIBUTORS.md | 9 +-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/contributors.json b/.github/contributors.json index 43e52913e..e65ddcd38 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1023,4 +1023,4 @@ "github_login": "janfabry", "twitter_username": "" } -] +] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index dee97bef4..752aa9e5e 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -831,19 +831,12 @@ Listed in alphabetical order. Adys - - Jimmy Gitonga - - afrowave - - afrowave - Jimmy Gitonga Afrowave - + afrowave John Cass From 6c63143f3bf4fdbc195fea83708b2514da6a5442 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 14 Aug 2020 08:27:57 +0100 Subject: [PATCH 0967/2840] Avoid duplicate contributors due to different case --- scripts/update_contributors.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index e00593ea4..8423ccd64 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -64,7 +64,11 @@ class ContributorsJSONFile: def __contains__(self, github_login: str): """Provide a nice API to do: `username in file`.""" - return any(github_login == contrib["github_login"] for contrib in self.content) + return any( + # Github usernames are case insensitive + github_login.lower() == contrib["github_login"].lower() + for contrib in self.content + ) def add_contributor(self, user: NamedUser): """Append the contributor data we care about at the end.""" From 0ebd35dd8369ea4faa5d3af75362cef15944cec0 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 14 Aug 2020 12:19:42 +0100 Subject: [PATCH 0968/2840] Update deprecated imports --- .../{{cookiecutter.project_slug}}/users/tests/factories.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py index 8917c5aec..1a78f132d 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py @@ -1,7 +1,8 @@ from typing import Any, Sequence from django.contrib.auth import get_user_model -from factory import DjangoModelFactory, Faker, post_generation +from factory import Faker, post_generation +from factory.django import DjangoModelFactory class UserFactory(DjangoModelFactory): From 5e3abf903f60a5a88d1f0c52af1f37ce86d54bad Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 14 Aug 2020 04:19:56 -0700 Subject: [PATCH 0969/2840] Update sphinx from 3.2.0 to 3.2.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 789135938..f615195d2 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation # ------------------------------------------------------------------------------ -sphinx==3.2.0 # https://github.com/sphinx-doc/sphinx +sphinx==3.2.1 # https://github.com/sphinx-doc/sphinx sphinx-autobuild==0.7.1 # https://github.com/GaretJax/sphinx-autobuild # Code quality From 89420f2932a6a67512c23524631caa5b717308a8 Mon Sep 17 00:00:00 2001 From: Demetris Stavrou <1180929+demestav@users.noreply.github.com> Date: Fri, 14 Aug 2020 15:09:36 +0300 Subject: [PATCH 0970/2840] Update linters.rst Related to #2744 issue. --- docs/linters.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/linters.rst b/docs/linters.rst index 2d6232181..a4f60cc8d 100644 --- a/docs/linters.rst +++ b/docs/linters.rst @@ -19,7 +19,7 @@ The config for flake8 is located in setup.cfg. It specifies: pylint ------ -This is included in flake8's checks, but you can also run it separately to see a more detailed report: :: +To run pylint: :: $ pylint From 3752997562adfbb7769219ded50e1b6b5d83e24c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 14 Aug 2020 15:49:18 -0700 Subject: [PATCH 0971/2840] Update sentry-sdk from 0.16.3 to 0.16.5 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 385c7489f..309a6b6a5 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.16.3 # https://github.com/getsentry/sentry-python +sentry-sdk==0.16.5 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From 727ad58d065dabbae619cce8766dc803bc1c7b2b Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 14 Aug 2020 23:10:21 -0700 Subject: [PATCH 0972/2840] Update isort from 5.4.1 to 5.4.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index a1cb16ee7..270d25351 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==19.10b0 -isort==5.4.1 +isort==5.4.2 flake8==3.8.3 flake8-isort==4.0.0 From ba5c1a760f9ab62a68321ae15a1607449c28b8fd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 16 Aug 2020 00:21:36 +0000 Subject: [PATCH 0973/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 5ff2d62b6..faca79081 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.4.1 + rev: 5.4.2 hooks: - id: isort From 7d499e05aff036432fe1483529d52f4765ccabe2 Mon Sep 17 00:00:00 2001 From: Corey Garvey Date: Wed, 19 Aug 2020 15:38:59 +0100 Subject: [PATCH 0974/2840] Update CONTRIBUTORS.rst --- CONTRIBUTORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index eab2132fb..3faa87d5e 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -93,6 +93,7 @@ Listed in alphabetical order. Cole Mackenzie `@cmackenzie1`_ Cole Maclean `@cole`_ @cole Collederas `@Collederas`_ + Corey Garvey `@coreygarvey`_ Craig Margieson `@cmargieson`_ Cristian Vargas `@cdvv7788`_ Cullen Rhodes `@c-rhodes`_ From 4f7204744667184bc2fc48a2e039bf44282a1a27 Mon Sep 17 00:00:00 2001 From: Corey Garvey Date: Wed, 19 Aug 2020 15:40:13 +0100 Subject: [PATCH 0975/2840] Updating production path to be hidden folder --- docs/developing-locally-docker.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/developing-locally-docker.rst b/docs/developing-locally-docker.rst index 17ea725bd..0d582d484 100644 --- a/docs/developing-locally-docker.rst +++ b/docs/developing-locally-docker.rst @@ -116,7 +116,7 @@ Consider the aforementioned ``.envs/.local/.postgres``: :: The three envs we are presented with here are ``POSTGRES_DB``, ``POSTGRES_USER``, and ``POSTGRES_PASSWORD`` (by the way, their values have also been generated for you). You might have figured out already where these definitions will end up; it's all the same with ``django`` service container envs. -One final touch: should you ever need to merge ``.envs/production/*`` in a single ``.env`` run the ``merge_production_dotenvs_in_dotenv.py``: :: +One final touch: should you ever need to merge ``.envs/.production/*`` in a single ``.env`` run the ``merge_production_dotenvs_in_dotenv.py``: :: $ python merge_production_dotenvs_in_dotenv.py From 10d88c50f3f734d281e7d2bf128a2d8de6e53ba1 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 19 Aug 2020 19:19:20 +0000 Subject: [PATCH 0976/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index e65ddcd38..714880995 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1022,5 +1022,10 @@ "name": "Jan Fabry", "github_login": "janfabry", "twitter_username": "" + }, + { + "name": "Corey Garvey", + "github_login": "coreygarvey", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 752aa9e5e..0174628e5 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -439,6 +439,13 @@ Listed in alphabetical order. + + Corey Garvey + + coreygarvey + + + Craig Margieson From cc1d297ad6eaa9af8d6632eb46a15beb06154dc3 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 23 Aug 2020 12:35:31 -0700 Subject: [PATCH 0977/2840] Update pre-commit from 2.6.0 to 2.7.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5afe76938..01538655d 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -33,7 +33,7 @@ pylint-django==2.3.0 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.6.0 # https://github.com/pre-commit/pre-commit +pre-commit==2.7.1 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From 32b81ba02e260f75dc00865f89ebcb112f1f4050 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 24 Aug 2020 09:54:47 -0700 Subject: [PATCH 0978/2840] Update sentry-sdk from 0.16.5 to 0.17.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 309a6b6a5..ce493a3cc 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.16.5 # https://github.com/getsentry/sentry-python +sentry-sdk==0.17.0 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From 294d20d5e6fdd5aa4fc726ecad1ce8e69403e9a0 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 25 Aug 2020 05:08:22 -0700 Subject: [PATCH 0979/2840] Update django-cors-headers from 3.4.0 to 3.5.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index d24b50718..71f7cf5ab 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -41,5 +41,5 @@ django-redis==4.12.1 # https://github.com/jazzband/django-redis {%- if cookiecutter.use_drf == "y" %} # Django REST Framework djangorestframework==3.11.1 # https://github.com/encode/django-rest-framework -django-cors-headers==3.4.0 # https://github.com/adamchainz/django-cors-headers +django-cors-headers==3.5.0 # https://github.com/adamchainz/django-cors-headers {%- endif %} From b8618430c96f552a97170d02626ca998d91036c3 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 26 Aug 2020 10:05:23 -0700 Subject: [PATCH 0980/2840] Update black from 19.10b0 to 20.8b1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 270d25351..9661a823b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ -black==19.10b0 +black==20.8b1 isort==5.4.2 flake8==3.8.3 flake8-isort==4.0.0 From 0dc3fe0b3d15faa394a6d2d2180c0fc976c0ac8c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 26 Aug 2020 10:05:24 -0700 Subject: [PATCH 0981/2840] Update black from 19.10b0 to 20.8b1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 01538655d..1b3b7fa04 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -28,7 +28,7 @@ sphinx-autobuild==0.7.1 # https://github.com/GaretJax/sphinx-autobuild flake8==3.8.3 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.2.1 # https://github.com/nedbat/coveragepy -black==19.10b0 # https://github.com/ambv/black +black==20.8b1 # https://github.com/ambv/black pylint-django==2.3.0 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery From bc584203641497cba526a07cc44ec9ae36372e42 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2020 00:22:07 +0000 Subject: [PATCH 0982/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index faca79081..297826013 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: - id: check-yaml - repo: https://github.com/psf/black - rev: 19.10b0 + rev: 20.8b1 hooks: - id: black From e21869c1d4268c786451f45171b56b69abaca41c Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 27 Aug 2020 09:41:28 +0200 Subject: [PATCH 0983/2840] Fix black formatting issues --- tests/test_cookiecutter_generation.py | 10 ++++++++-- .../{{cookiecutter.project_slug}}/users/models.py | 3 +-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 89b9b856e..f9bfcd539 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -175,7 +175,10 @@ def test_black_passes(cookies, context_override): @pytest.mark.parametrize( ["use_docker", "expected_test_script"], - [("n", "pytest"), ("y", "docker-compose -f local.yml run django pytest"),], + [ + ("n", "pytest"), + ("y", "docker-compose -f local.yml run django pytest"), + ], ) def test_travis_invokes_pytest(cookies, context, use_docker, expected_test_script): context.update({"ci_tool": "Travis", "use_docker": use_docker}) @@ -197,7 +200,10 @@ def test_travis_invokes_pytest(cookies, context, use_docker, expected_test_scrip @pytest.mark.parametrize( ["use_docker", "expected_test_script"], - [("n", "pytest"), ("y", "docker-compose -f local.yml run django pytest"),], + [ + ("n", "pytest"), + ("y", "docker-compose -f local.yml run django pytest"), + ], ) def test_gitlab_invokes_flake8_and_pytest( cookies, context, use_docker, expected_test_script diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py index 70efdfdec..8391bc032 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py @@ -5,8 +5,7 @@ from django.utils.translation import gettext_lazy as _ class User(AbstractUser): - """Default user for {{cookiecutter.project_name}}. - """ + """Default user for {{cookiecutter.project_name}}.""" #: First and last name do not cover name patterns around the globe name = CharField(_("Name of User"), blank=True, max_length=255) From 8a5eae8f87c9d2610059e10aa334167cfa6aac3f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 27 Aug 2020 10:33:47 +0200 Subject: [PATCH 0984/2840] Remove feature branch used for testing --- .github/workflows/update-contributors.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index f95532578..acae4729d 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -4,7 +4,6 @@ on: push: branches: - master - - auto-generate-contributors jobs: build: From 18af7523fc7a20d52e4b684d6dd0bc0aa2fe7c85 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 27 Aug 2020 05:17:04 -0700 Subject: [PATCH 0985/2840] Pin pygithub to latest version 1.53 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 96d5046ee..5f92a09e0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -19,5 +19,5 @@ pyyaml==5.3.1 # Scripting # ------------------------------------------------------------------------------ -PyGithub +PyGithub==1.53 jinja2 From 814dfa26e45296130ce74521600082cf7b1146ad Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 27 Aug 2020 07:02:49 -0700 Subject: [PATCH 0986/2840] Pin jinja2 to latest version 2.11.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5f92a09e0..7444d12bd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -20,4 +20,4 @@ pyyaml==5.3.1 # Scripting # ------------------------------------------------------------------------------ PyGithub==1.53 -jinja2 +jinja2==2.11.2 From 688739cb3981b779beb8431ed6208ae5e595ff02 Mon Sep 17 00:00:00 2001 From: Jelmer Draaijer Date: Fri, 28 Aug 2020 10:17:34 +0200 Subject: [PATCH 0987/2840] Add environment and traces_sample_rate keyword to sentry_sdk.init --- docs/settings.rst | 2 ++ .../config/settings/production.py | 12 ++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/settings.rst b/docs/settings.rst index 949d5f35f..7563f50d2 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -49,6 +49,8 @@ DJANGO_AWS_S3_CUSTOM_DOMAIN AWS_S3_CUSTOM_DOMAIN n/a DJANGO_GCP_STORAGE_BUCKET_NAME GS_BUCKET_NAME n/a raises error GOOGLE_APPLICATION_CREDENTIALS n/a n/a raises error SENTRY_DSN SENTRY_DSN n/a raises error +SENTRY_ENVIRONMENT n/a n/a production +SENTRY_TRACES_SAMPLE_RATE n/a n/a 0.0 DJANGO_SENTRY_LOG_LEVEL SENTRY_LOG_LEVEL n/a logging.INFO MAILGUN_API_KEY MAILGUN_API_KEY n/a raises error MAILGUN_DOMAIN MAILGUN_SENDER_DOMAIN n/a raises error diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 2f1b52e72..7b2776bf8 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -353,13 +353,17 @@ sentry_logging = LoggingIntegration( ) {%- if cookiecutter.use_celery == 'y' %} +integrations = [sentry_logging, DjangoIntegration(), CeleryIntegration()] +{% else %} +integrations = [sentry_logging, DjangoIntegration()] +{% endif -%} + sentry_sdk.init( dsn=SENTRY_DSN, - integrations=[sentry_logging, DjangoIntegration(), CeleryIntegration()], + integrations=integrations, + environment=env("SENTRY_ENVIRONMENT", default="production"), + traces_sample_rate=env.float("SENTRY_TRACES_SAMPLE_RATE", default=0.0), ) -{% else %} -sentry_sdk.init(dsn=SENTRY_DSN, integrations=[sentry_logging, DjangoIntegration()]) -{% endif -%} {% endif %} # Your stuff... # ------------------------------------------------------------------------------ From d17321dfbe65846f3c0f552e9dad3b4c0fc8301b Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 28 Aug 2020 14:55:22 -0700 Subject: [PATCH 0988/2840] Update sentry-sdk from 0.17.0 to 0.17.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index ce493a3cc..16766cbc6 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.17.0 # https://github.com/getsentry/sentry-python +sentry-sdk==0.17.1 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From 54e8f262193d2022e305896bd2a2d6e5a0f7ecca Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 28 Aug 2020 19:31:17 -0700 Subject: [PATCH 0989/2840] Update sh from 1.13.1 to 1.14.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7444d12bd..7f3f6e315 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ cookiecutter==1.7.2 -sh==1.13.1 +sh==1.14.0 binaryornot==0.4.4 # Code quality From baf5e6e74ecb1695fd030a6af2eed47b43144670 Mon Sep 17 00:00:00 2001 From: Howie Zhao Date: Sat, 29 Aug 2020 11:53:24 +0800 Subject: [PATCH 0990/2840] chore: exclude venv directory --- {{cookiecutter.project_slug}}/setup.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/setup.cfg b/{{cookiecutter.project_slug}}/setup.cfg index 6520aff76..5bde75cff 100644 --- a/{{cookiecutter.project_slug}}/setup.cfg +++ b/{{cookiecutter.project_slug}}/setup.cfg @@ -1,10 +1,10 @@ [flake8] max-line-length = 120 -exclude = .tox,.git,*/migrations/*,*/static/CACHE/*,docs,node_modules +exclude = .tox,.git,*/migrations/*,*/static/CACHE/*,docs,node_modules,venv [pycodestyle] max-line-length = 120 -exclude = .tox,.git,*/migrations/*,*/static/CACHE/*,docs,node_modules +exclude = .tox,.git,*/migrations/*,*/static/CACHE/*,docs,node_modules,venv [mypy] python_version = 3.8 From 2c82c4e1da6f2aa9454080b8b25ea56b3ad9de6a Mon Sep 17 00:00:00 2001 From: Howie Zhao Date: Sat, 29 Aug 2020 11:59:29 +0800 Subject: [PATCH 0991/2840] chore: update document link --- {{cookiecutter.project_slug}}/config/settings/production.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 2f1b52e72..5528d166f 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -34,7 +34,7 @@ CACHES = { "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", # Mimicing memcache behavior. - # http://jazzband.github.io/django-redis/latest/#_memcached_exceptions_behavior + # https://github.com/jazzband/django-redis#memcached-exceptions-behavior "IGNORE_EXCEPTIONS": True, }, } From aeefbc060fd7ed0ea7194725290d188df44fa207 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 31 Aug 2020 00:15:40 -0700 Subject: [PATCH 0992/2840] Update django-storages from 1.9.1 to 1.10 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index ce493a3cc..ec0071d94 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -17,7 +17,7 @@ hiredis==1.1.0 # https://github.com/redis/hiredis-py # Django # ------------------------------------------------------------------------------ {%- if cookiecutter.cloud_provider == 'AWS' %} -django-storages[boto3]==1.9.1 # https://github.com/jschneier/django-storages +django-storages[boto3]==1.10 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} django-storages[google]==1.9.1 # https://github.com/jschneier/django-storages {%- endif %} From 0c23267806f80dfb9fdd4dd053081c191744445d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 31 Aug 2020 00:15:41 -0700 Subject: [PATCH 0993/2840] Update django-storages from 1.9.1 to 1.10 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index ec0071d94..d988e107b 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -19,7 +19,7 @@ hiredis==1.1.0 # https://github.com/redis/hiredis-py {%- if cookiecutter.cloud_provider == 'AWS' %} django-storages[boto3]==1.10 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} -django-storages[google]==1.9.1 # https://github.com/jschneier/django-storages +django-storages[google]==1.10 # https://github.com/jschneier/django-storages {%- endif %} {%- if cookiecutter.mail_service == 'Mailgun' %} django-anymail[mailgun]==7.2.1 # https://github.com/anymail/django-anymail From 2f7a6c3013be3c7f78d7ec8987c2da6929414805 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 31 Aug 2020 05:45:27 -0700 Subject: [PATCH 0994/2840] Update sphinx-autobuild from 0.7.1 to 2020.9.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 1b3b7fa04..f5f17a44f 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -21,7 +21,7 @@ pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation # ------------------------------------------------------------------------------ sphinx==3.2.1 # https://github.com/sphinx-doc/sphinx -sphinx-autobuild==0.7.1 # https://github.com/GaretJax/sphinx-autobuild +sphinx-autobuild==2020.9.1 # https://github.com/GaretJax/sphinx-autobuild # Code quality # ------------------------------------------------------------------------------ From fe9c9b5e48c84a05fd2147314179ab70fba45062 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 31 Aug 2020 11:53:48 -0700 Subject: [PATCH 0995/2840] Update django-extensions from 3.0.5 to 3.0.6 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 1b3b7fa04..89942cfe1 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -40,6 +40,6 @@ pre-commit==2.7.1 # https://github.com/pre-commit/pre-commit factory-boy==3.0.1 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.2 # https://github.com/jazzband/django-debug-toolbar -django-extensions==3.0.5 # https://github.com/django-extensions/django-extensions +django-extensions==3.0.6 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.9.0 # https://github.com/pytest-dev/pytest-django From 18c53d0a3b6deeeb26e0ceae93631f353cd4b3bd Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 1 Sep 2020 07:56:55 -0700 Subject: [PATCH 0996/2840] Update sentry-sdk from 0.17.1 to 0.17.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 16766cbc6..bcde27ae8 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.17.1 # https://github.com/getsentry/sentry-python +sentry-sdk==0.17.2 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From 007ab4aefd8484aed70499efc33d5414c38ba567 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 1 Sep 2020 07:56:59 -0700 Subject: [PATCH 0997/2840] Update django from 3.0.9 to 3.0.10 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 71f7cf5ab..1c496a256 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -29,7 +29,7 @@ uvicorn==0.11.8 # https://github.com/encode/uvicorn # Django # ------------------------------------------------------------------------------ -django==3.0.9 # pyup: < 3.1 # https://www.djangoproject.com/ +django==3.0.10 # pyup: < 3.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils django-allauth==0.42.0 # https://github.com/pennersr/django-allauth From 72bd4d99b20271bbefc7b9301c2146588ec93c8e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 1 Sep 2020 13:04:19 -0700 Subject: [PATCH 0998/2840] Update tox from 3.19.0 to 3.20.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7f3f6e315..57938d744 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8-isort==4.0.0 # Testing # ------------------------------------------------------------------------------ -tox==3.19.0 +tox==3.20.0 pytest==6.0.1 pytest-cookies==0.5.1 pytest-instafail==0.4.2 From dc1c89688c8062278b53a25f309bf828b6bffeab Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 1 Sep 2020 22:06:01 +0200 Subject: [PATCH 0999/2840] Update project version in setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index d12165463..8a5b0b8ce 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ except ImportError: # Our version ALWAYS matches the version of Django we support # If Django has a new release, we branch, tag, then update this setting after the tag. -version = "3.0.9" +version = "3.0.10" if sys.argv[-1] == "tag": os.system(f'git tag -a {version} -m "version {version}"') From 53b4371c09c1304e0d684cdfc687ade2835e1181 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 1 Sep 2020 22:20:02 +0200 Subject: [PATCH 1000/2840] Remove deprecated setting from django-storages --- {{cookiecutter.project_slug}}/config/settings/production.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 2f1b52e72..85440adc6 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -86,8 +86,6 @@ _AWS_EXPIRY = 60 * 60 * 24 * 7 AWS_S3_OBJECT_PARAMETERS = { "CacheControl": f"max-age={_AWS_EXPIRY}, s-maxage={_AWS_EXPIRY}, must-revalidate" } -# https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings -AWS_DEFAULT_ACL = None # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings AWS_S3_REGION_NAME = env("DJANGO_AWS_S3_REGION_NAME", default=None) # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#cloudfront From bd977e29afdb4008e5152578a11e8b4b9bce66b4 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 1 Sep 2020 17:08:30 -0700 Subject: [PATCH 1001/2840] Update django-extensions from 3.0.6 to 3.0.7 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 62cb409dc..26eaf8e7f 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -40,6 +40,6 @@ pre-commit==2.7.1 # https://github.com/pre-commit/pre-commit factory-boy==3.0.1 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.2 # https://github.com/jazzband/django-debug-toolbar -django-extensions==3.0.6 # https://github.com/django-extensions/django-extensions +django-extensions==3.0.7 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.9.0 # https://github.com/pytest-dev/pytest-django From a115c13ced853e5c1fba283fb062ae556424c996 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 2 Sep 2020 09:57:55 +0200 Subject: [PATCH 1002/2840] Add issue manager workflow --- .github/workflows/issue-manager.yml | 59 +++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 .github/workflows/issue-manager.yml diff --git a/.github/workflows/issue-manager.yml b/.github/workflows/issue-manager.yml new file mode 100644 index 000000000..3f7658178 --- /dev/null +++ b/.github/workflows/issue-manager.yml @@ -0,0 +1,59 @@ +# Automatically close issues that have a keyword mark (an HTML comment) +# in the last comment in the issue, by a group of predefined users, after a custom delay. +# https://github.com/tiangolo/issue-manager + +# Default config: +# +# Wait 10 days and comment: "Assuming the original issue was solved, it will be automatically closed now" + +# Extra config: +# '' +# Wait 10 days and comment: "Automatically closing. To re-open, please provide the additional information requested" + +name: Issue Manager + +on: + schedule: + - cron: "0 0 * * *" + +jobs: + issue-manager: + runs-on: ubuntu-latest + steps: + - uses: tiangolo/issue-manager@0.3.0 + with: + token: ${{ secrets.GITHUB_TOKEN }} + + config: > + { + "answered": { + "delay": 864000, + "message": "Assuming the original issue was solved, it will be automatically closed now.", + "users": [ + "pydanny", + "audreyr", + "luzfcb", + "theskumar", + "jayfk", + "burhan", + "webyneter", + "browniebroke", + "sfdye", + ] + }, + "waiting": { + "delay": 864000, + "message": "Automatically closing. To re-open, please provide the additional information requested.", + "users": [ + "pydanny", + "audreyr", + "luzfcb", + "theskumar", + "jayfk", + "burhan", + "webyneter", + "browniebroke", + "sfdye", + ] + } + } From a7c69639f2e3d87e989d4a7ca883fd368927d32d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 2 Sep 2020 02:51:48 -0700 Subject: [PATCH 1003/2840] Update sentry-sdk from 0.17.2 to 0.17.3 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 7340a8929..607faed3f 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.17.2 # https://github.com/getsentry/sentry-python +sentry-sdk==0.17.3 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From 992837e274fc9f0b597221d32271f672eb197aa4 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 3 Sep 2020 08:36:06 +0100 Subject: [PATCH 1004/2840] Fix JSON formatting --- .github/workflows/issue-manager.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/issue-manager.yml b/.github/workflows/issue-manager.yml index 3f7658178..f6b465276 100644 --- a/.github/workflows/issue-manager.yml +++ b/.github/workflows/issue-manager.yml @@ -13,8 +13,11 @@ name: Issue Manager on: + # Every day at midnight schedule: - cron: "0 0 * * *" + # Manual trigger + workflow_dispatch: jobs: issue-manager: @@ -38,7 +41,7 @@ jobs: "burhan", "webyneter", "browniebroke", - "sfdye", + "sfdye" ] }, "waiting": { @@ -53,7 +56,7 @@ jobs: "burhan", "webyneter", "browniebroke", - "sfdye", + "sfdye" ] } } From 865621c435e238987ea32f17274a2316c1c20db7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 3 Sep 2020 06:41:36 -0700 Subject: [PATCH 1005/2840] Update isort from 5.4.2 to 5.5.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 57938d744..3a896178a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==20.8b1 -isort==5.4.2 +isort==5.5.0 flake8==3.8.3 flake8-isort==4.0.0 From 84713cf72431a8b49cc3348a744922efaa22677b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 4 Sep 2020 00:24:21 +0000 Subject: [PATCH 1006/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 297826013..affb6929a 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.4.2 + rev: 5.5.0 hooks: - id: isort From 9858c6a86612840dee15c1043d38ac117783e3a0 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 4 Sep 2020 06:28:21 -0700 Subject: [PATCH 1007/2840] Update isort from 5.5.0 to 5.5.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3a896178a..7ecdd4d0a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==20.8b1 -isort==5.5.0 +isort==5.5.1 flake8==3.8.3 flake8-isort==4.0.0 From c6c0bd9289fddc05533d8df9c78c5953471e5e13 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 4 Sep 2020 08:26:40 -0700 Subject: [PATCH 1008/2840] Update django-extensions from 3.0.7 to 3.0.8 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 26eaf8e7f..144214104 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -40,6 +40,6 @@ pre-commit==2.7.1 # https://github.com/pre-commit/pre-commit factory-boy==3.0.1 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.2 # https://github.com/jazzband/django-debug-toolbar -django-extensions==3.0.7 # https://github.com/django-extensions/django-extensions +django-extensions==3.0.8 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.9.0 # https://github.com/pytest-dev/pytest-django From b78fbb1a25cef4d3d88cc27ceb4c08ee9807a468 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 4 Sep 2020 17:27:09 +0200 Subject: [PATCH 1009/2840] Fix typo in docstring --- scripts/update_contributors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index 8423ccd64..0236daae3 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -13,7 +13,7 @@ def main() -> None: """ Script entry point. - 1. Fetch recent contribtors from the Github API + 1. Fetch recent contributors from the Github API 2. Add missing ones to the JSON file 3. Generate Markdown from JSON file """ From df0d332207aad72663056c3de1c24a75edc40e61 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 4 Sep 2020 17:26:24 +0200 Subject: [PATCH 1010/2840] Automatically generate changelog Fixes #1491 --- .github/changelog-template.md | 9 +++ .github/workflows/update-changelog.yml | 34 +++++++++++ CHANGELOG.md | 2 + scripts/update_changelog.py | 78 ++++++++++++++++++++++++++ 4 files changed, 123 insertions(+) create mode 100644 .github/changelog-template.md create mode 100644 .github/workflows/update-changelog.yml create mode 100644 scripts/update_changelog.py diff --git a/.github/changelog-template.md b/.github/changelog-template.md new file mode 100644 index 000000000..49550ba12 --- /dev/null +++ b/.github/changelog-template.md @@ -0,0 +1,9 @@ +## [{{merge_date.strftime('%Y-%m-%d')}}] +{%- for change_type, pulls in grouped_pulls.items() %} +{%- if pulls %} +### {{ change_type }} +{%- for pull_request in pulls %} +- {{ pull_request.title }} ([#{{ pull_request.number }}]({{ pull_request.url }})) +{%- endfor -%} +{% endif -%} +{% endfor -%} diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml new file mode 100644 index 000000000..562c37eb9 --- /dev/null +++ b/.github/workflows/update-changelog.yml @@ -0,0 +1,34 @@ +name: Update Changelog + +on: + # Every day at 2am + schedule: + - cron: "0 2 * * *" + # Manual trigger + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: "3.8" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + - name: Update list + run: python scripts/update_changelog.py + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Commit changes + uses: stefanzweifel/git-auto-commit-action@v4 + with: + commit_message: Update Changelog + file_pattern: CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 27a8578a2..0019b35c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # Change Log All enhancements and patches to Cookiecutter Django will be documented in this file. + + ## [2020-04-13] ### Changed - Updated to Python 3.8 (@codnee) diff --git a/scripts/update_changelog.py b/scripts/update_changelog.py new file mode 100644 index 000000000..08ff5b095 --- /dev/null +++ b/scripts/update_changelog.py @@ -0,0 +1,78 @@ +import os +from pathlib import Path +from github import Github +from jinja2 import Template +import datetime as dt + +CURRENT_FILE = Path(__file__) +ROOT = CURRENT_FILE.parents[1] +GITHUB_TOKEN = os.getenv("GITHUB_TOKEN", None) + +# Generate changelog for PRs merged yesterday +MERGED_DATE = dt.date.today() - dt.timedelta(days=1) + + +def main() -> None: + """ + Script entry point. + """ + merged_pulls = list(iter_pulls()) + if not merged_pulls: + print("Nothing was merged, existing.") + return + + # Group pull requests by type of change + grouped_pulls = group_pulls_by_change_type(merged_pulls) + + # Generate portion of markdown + rendered_content = generate_md(grouped_pulls) + + # Update CHANGELOG.md file + file_path = ROOT / "CHANGELOG.md" + old_content = file_path.read_text() + updated_content = old_content.replace( + "", + f"\n\n{rendered_content}", + ) + file_path.write_text(updated_content) + + +def iter_pulls(): + """Fetch merged pull requests at the date we're interested in.""" + repo = Github(login_or_token=GITHUB_TOKEN).get_repo("pydanny/cookiecutter-django") + recent_pulls = repo.get_pulls( + state="closed", sort="updated", direction="desc" + ).get_page(0) + for pull in recent_pulls: + if pull.merged and pull.merged_at.date() == MERGED_DATE: + yield pull + + +def group_pulls_by_change_type(pull_requests_list): + """Group pull request by change type.""" + grouped_pulls = { + "Changed": [], + "Fixed": [], + "Updated": [], + } + for pull in pull_requests_list: + label_names = {l.name for l in pull.labels} + if "update" in label_names: + group_name = "Updated" + elif "bug" in label_names: + group_name = "Fixed" + else: + group_name = "Changed" + grouped_pulls[group_name].append(pull) + return grouped_pulls + + +def generate_md(grouped_pulls): + """Generate markdown file from Jinja template.""" + changelog_template = ROOT / ".github" / "changelog-template.md" + template = Template(changelog_template.read_text(), autoescape=True) + return template.render(merge_date=MERGED_DATE, grouped_pulls=grouped_pulls) + + +if __name__ == "__main__": + main() From dbb5a697f9fdcd40ca671d8936020b219bb2d05c Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 4 Sep 2020 17:54:28 +0200 Subject: [PATCH 1011/2840] Auto-generate changelog for the past week --- CHANGELOG.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0019b35c1..f9fab8379 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,29 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-09-02] +### Changed +- Add environment and traces_sample_rate keyword to sentry_sdk.init ([#2777](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2777)) +### Updated +- Update sentry-sdk to 0.17.3 ([#2788](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2788)) +- Update django-extensions to 3.0.7 ([#2787](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2787)) + +## [2020-09-01] +### Changed +- Exclude venv directory and update document link ([#2780](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2780)) +### Updated +- Update tox to 3.20.0 ([#2786](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2786)) +- Update django-storages to 1.10 ([#2781](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2781)) +- Update sentry-sdk to 0.17.2 ([#2784](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2784)) +- Update django to 3.0.10 ([#2785](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2785)) +- Update sphinx-autobuild to 2020.9.1 ([#2782](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2782)) +- Update django-extensions to 3.0.6 ([#2783](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2783)) + +## [2020-08-31] +### Updated +- Update sh to 1.14.0 ([#2779](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2779)) +- Update sentry-sdk to 0.17.1 ([#2778](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2778)) + ## [2020-04-13] ### Changed - Updated to Python 3.8 (@codnee) From 77a00376e8195b73fae5c3dd80efdf5d9b432e3f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 5 Sep 2020 00:40:41 +0000 Subject: [PATCH 1012/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index affb6929a..74839c2c0 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.5.0 + rev: 5.5.1 hooks: - id: isort From e6d7b015583b2bebc14853b82753337c13d0f101 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 5 Sep 2020 02:43:34 +0000 Subject: [PATCH 1013/2840] Update Changelog --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9fab8379..93b4b9ef1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,13 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-09-04] +### Updated +- Update django-extensions to 3.0.8 ([#2792](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2792)) +- Update isort to 5.5.1 ([#2791](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2791)) +- Auto-update pre-commit hooks ([#2790](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2790)) +- Update isort to 5.5.0 ([#2789](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2789)) + ## [2020-09-02] ### Changed - Add environment and traces_sample_rate keyword to sentry_sdk.init ([#2777](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2777)) From 4659cb9baa82388436e7e2731359dde4bd58a433 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 6 Sep 2020 02:16:23 +0000 Subject: [PATCH 1014/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 93b4b9ef1..bc397c7ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-09-05] +### Updated +- Auto-update pre-commit hooks ([#2793](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2793)) + ## [2020-09-04] ### Updated - Update django-extensions to 3.0.8 ([#2792](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2792)) From 9cdae535b3b56656e495d544d8f5de461f2c8321 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 6 Sep 2020 19:12:31 -0700 Subject: [PATCH 1015/2840] Update psycopg2-binary from 2.8.5 to 2.8.6 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 144214104..dad44f822 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -5,7 +5,7 @@ ipdb==0.13.3 # https://github.com/gotcha/ipdb {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} -psycopg2-binary==2.8.5 # https://github.com/psycopg/psycopg2 +psycopg2-binary==2.8.6 # https://github.com/psycopg/psycopg2 {%- endif %} {%- if cookiecutter.use_async == 'y' %} watchgod==0.6 # https://github.com/samuelcolvin/watchgod From cbc46cb34f80235831f332168b895a707e4b12b9 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 7 Sep 2020 14:23:02 +0200 Subject: [PATCH 1016/2840] Update psycopg2 from 2.8.5 to 2.8.6 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index dad44f822..998905a05 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -3,7 +3,7 @@ Werkzeug==1.0.1 # https://github.com/pallets/werkzeug ipdb==0.13.3 # https://github.com/gotcha/ipdb {%- if cookiecutter.use_docker == 'y' %} -psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 +psycopg2==2.8.6 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} psycopg2-binary==2.8.6 # https://github.com/psycopg/psycopg2 {%- endif %} diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 607faed3f..31e576288 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -3,7 +3,7 @@ -r base.txt gunicorn==20.0.4 # https://github.com/benoitc/gunicorn -psycopg2==2.8.5 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 +psycopg2==2.8.6 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} From 7fb71507d2f29049a9b446e4c20122fcaa849911 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Mon, 7 Sep 2020 17:58:49 +0530 Subject: [PATCH 1017/2840] Updated Gitlab CI to use Python 3.8 instead of Python 3.7 (#2794) --- CONTRIBUTORS.md | 2 +- {{cookiecutter.project_slug}}/.gitlab-ci.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 0174628e5..2d17cddfe 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1463,4 +1463,4 @@ guidance and advice. - Jannis Leidel - Nate Aune -- Barry Morrison \ No newline at end of file +- Barry Morrison diff --git a/{{cookiecutter.project_slug}}/.gitlab-ci.yml b/{{cookiecutter.project_slug}}/.gitlab-ci.yml index 246c4c982..60925b811 100644 --- a/{{cookiecutter.project_slug}}/.gitlab-ci.yml +++ b/{{cookiecutter.project_slug}}/.gitlab-ci.yml @@ -13,7 +13,7 @@ variables: flake8: stage: lint - image: python:3.7-alpine + image: python:3.8-alpine before_script: - pip install -q flake8 script: @@ -21,7 +21,7 @@ flake8: pytest: stage: test - image: python:3.7 + image: python:3.8 {% if cookiecutter.use_docker == 'y' -%} image: docker/compose:latest tags: @@ -39,7 +39,7 @@ pytest: tags: - python services: - - postgres:11 + - postgres:{{ cookiecutter.postgresql_version }} variables: DATABASE_URL: pgsql://$POSTGRES_USER:$POSTGRES_PASSWORD@postgres/$POSTGRES_DB From 17fbe5f4c6b37b45121779b9c5b17f192a338076 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 7 Sep 2020 12:29:24 +0000 Subject: [PATCH 1018/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/contributors.json b/.github/contributors.json index 714880995..8c2180bd1 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1027,5 +1027,10 @@ "name": "Corey Garvey", "github_login": "coreygarvey", "twitter_username": "" + }, + { + "name": "Arnav Choudhury", + "github_login": "arnav13081994", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 2d17cddfe..69ea53f3f 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -264,6 +264,13 @@ Listed in alphabetical order. + + Arnav Choudhury + + arnav13081994 + + + AsheKR @@ -1463,4 +1470,4 @@ guidance and advice. - Jannis Leidel - Nate Aune -- Barry Morrison +- Barry Morrison \ No newline at end of file From 624dd94dd3738d50f91655d350ca9bf22b6af68f Mon Sep 17 00:00:00 2001 From: Wes Turner <50891+westurner@users.noreply.github.com> Date: Mon, 7 Sep 2020 08:51:52 -0400 Subject: [PATCH 1019/2840] Add :z/:Z to mounted volumes in {local,production}.yml (#2663) --- {{cookiecutter.project_slug}}/local.yml | 14 +++++++------- {{cookiecutter.project_slug}}/production.yml | 8 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/{{cookiecutter.project_slug}}/local.yml b/{{cookiecutter.project_slug}}/local.yml index 528e59b2c..a6cbe5430 100644 --- a/{{cookiecutter.project_slug}}/local.yml +++ b/{{cookiecutter.project_slug}}/local.yml @@ -17,7 +17,7 @@ services: - mailhog {%- endif %} volumes: - - .:/app + - .:/app:z env_file: - ./.envs/.local/.django - ./.envs/.local/.postgres @@ -32,8 +32,8 @@ services: image: {{ cookiecutter.project_slug }}_production_postgres container_name: postgres volumes: - - local_postgres_data:/var/lib/postgresql/data - - local_postgres_data_backups:/backups + - local_postgres_data:/var/lib/postgresql/data:Z + - local_postgres_data_backups:/backups:z env_file: - ./.envs/.local/.postgres @@ -46,9 +46,9 @@ services: env_file: - ./.envs/.local/.django volumes: - - ./docs:/docs - - ./config:/app/config - - ./{{ cookiecutter.project_slug }}:/app/{{ cookiecutter.project_slug }} + - ./docs:/docs:z + - ./config:/app/config:z + - ./{{ cookiecutter.project_slug }}:/app/{{ cookiecutter.project_slug }}:z ports: - "7000:7000" @@ -113,7 +113,7 @@ services: depends_on: - django volumes: - - .:/app + - .:/app:z # http://jdlm.info/articles/2016/03/06/lessons-building-node-app-docker.html - /app/node_modules command: npm run dev diff --git a/{{cookiecutter.project_slug}}/production.yml b/{{cookiecutter.project_slug}}/production.yml index 2cd2af132..93b61b134 100644 --- a/{{cookiecutter.project_slug}}/production.yml +++ b/{{cookiecutter.project_slug}}/production.yml @@ -25,8 +25,8 @@ services: dockerfile: ./compose/production/postgres/Dockerfile image: {{ cookiecutter.project_slug }}_production_postgres volumes: - - production_postgres_data:/var/lib/postgresql/data - - production_postgres_data_backups:/backups + - production_postgres_data:/var/lib/postgresql/data:Z + - production_postgres_data_backups:/backups:z env_file: - ./.envs/.production/.postgres @@ -38,7 +38,7 @@ services: depends_on: - django volumes: - - production_traefik:/etc/traefik/acme + - production_traefik:/etc/traefik/acme:z ports: - "0.0.0.0:80:80" - "0.0.0.0:443:443" @@ -75,5 +75,5 @@ services: env_file: - ./.envs/.production/.django volumes: - - production_postgres_data_backups:/backups + - production_postgres_data_backups:/backups:z {%- endif %} From 756cf6c93545fa43e4330d52ec48bb49a9272925 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 7 Sep 2020 12:52:21 +0000 Subject: [PATCH 1020/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 8c2180bd1..4f2f96dfa 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1032,5 +1032,10 @@ "name": "Arnav Choudhury", "github_login": "arnav13081994", "twitter_username": "" + }, + { + "name": "Wes Turner", + "github_login": "westurner", + "twitter_username": "westurner" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 69ea53f3f..e0fda25ed 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1426,6 +1426,13 @@ Listed in alphabetical order. + + Wes Turner + + westurner + + westurner + Will Farley From 0b3dd776c624184cd89dde2b28d81625f1914112 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 7 Sep 2020 15:06:18 +0200 Subject: [PATCH 1021/2840] Fix options for sphinx-autobuild in docs Makefile (#2799) Fix #2796 --- {{cookiecutter.project_slug}}/docs/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/docs/Makefile b/{{cookiecutter.project_slug}}/docs/Makefile index 90f61de32..4f772cade 100644 --- a/{{cookiecutter.project_slug}}/docs/Makefile +++ b/{{cookiecutter.project_slug}}/docs/Makefile @@ -22,9 +22,9 @@ help: # Build, watch and serve docs with live reload livehtml: sphinx-autobuild -b html - {%- if cookiecutter.use_docker == 'y' %} -H 0.0.0.0 + {%- if cookiecutter.use_docker == 'y' %} --host 0.0.0.0 {%- else %} --open-browser - {%- endif %} -p 7000 --watch $(APP) -c . $(SOURCEDIR) $(BUILDDIR)/html + {%- endif %} --port 7000 --watch $(APP) -c . $(SOURCEDIR) $(BUILDDIR)/html # Outputs rst files from django application code apidocs: From ffaec0008405dc528ba869a780c7ec61a36d0942 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 7 Sep 2020 15:10:57 +0200 Subject: [PATCH 1022/2840] Remove --no-binary option for psycopg2 (#2798) It was required in 2.7, but it's now the default in 2.8 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 998905a05..cc751326f 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -3,7 +3,7 @@ Werkzeug==1.0.1 # https://github.com/pallets/werkzeug ipdb==0.13.3 # https://github.com/gotcha/ipdb {%- if cookiecutter.use_docker == 'y' %} -psycopg2==2.8.6 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 +psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 {%- else %} psycopg2-binary==2.8.6 # https://github.com/psycopg/psycopg2 {%- endif %} diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 31e576288..8016786cf 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -3,7 +3,7 @@ -r base.txt gunicorn==20.0.4 # https://github.com/benoitc/gunicorn -psycopg2==2.8.6 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 +psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} From 2a0f40e7671fc1f21a18c369403ba6d1f7b13b65 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 7 Sep 2020 15:30:37 +0200 Subject: [PATCH 1023/2840] Clean up nested venv files from `.gitignore` Fixes #2226 --- .gitignore | 10 ---------- {{cookiecutter.project_slug}}/.gitignore | 12 ------------ 2 files changed, 22 deletions(-) diff --git a/.gitignore b/.gitignore index 386b2651a..f753fec91 100644 --- a/.gitignore +++ b/.gitignore @@ -208,16 +208,6 @@ Session.vim tags -### VirtualEnv template -# Virtualenv -# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/ -[Ii]nclude -[Ll]ib -[Ll]ib64 -pyvenv.cfg -pip-selfcheck.json - - # Even though the project might be opened and edited # in any of the JetBrains IDEs, it makes no sence whatsoever # to 'run' anything within it since any particular cookiecutter diff --git a/{{cookiecutter.project_slug}}/.gitignore b/{{cookiecutter.project_slug}}/.gitignore index 9850b1273..311b43a57 100644 --- a/{{cookiecutter.project_slug}}/.gitignore +++ b/{{cookiecutter.project_slug}}/.gitignore @@ -321,18 +321,6 @@ Session.vim # Auto-generated tag files tags -{% if cookiecutter.use_docker == 'n' %} - -### VirtualEnv template -# Virtualenv -[Ii]nclude -[Ll]ib -[Ll]ib64 -[Ss]cripts -pyvenv.cfg -pip-selfcheck.json -.env -{% endif %} ### Project template {% if cookiecutter.use_mailhog == 'y' and cookiecutter.use_docker == 'n' %} From 8eab7bbdb578f943f5cd5af02a7e68b29150f115 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 8 Sep 2020 02:16:41 +0000 Subject: [PATCH 1024/2840] Update Changelog --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc397c7ca..4c42b8695 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,16 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-09-07] +### Changed +- Add :z/:Z to mounted volumes in {local,production}.yml ([#2663](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2663)) +- Remove --no-binary option for psycopg2 ([#2798](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2798)) +- Updated Gitlab CI to use Python 3.8 instead of Python 3.7 ([#2794](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2794)) +### Fixed +- Fix options for sphinx-autobuild in docs Makefile ([#2799](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2799)) +### Updated +- Update psycopg2-binary to 2.8.6 ([#2797](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2797)) + ## [2020-09-05] ### Updated - Auto-update pre-commit hooks ([#2793](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2793)) From 536e86ecadb66a9f37315a73af4dd6255a5a2f39 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Tue, 8 Sep 2020 13:34:10 +0530 Subject: [PATCH 1025/2840] Traeffik and Django dockerfile changes (#2801) --- CONTRIBUTORS.md | 2 +- .../compose/production/django/Dockerfile | 16 ++++++++-------- .../compose/production/traefik/Dockerfile | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index e0fda25ed..dd55e2af2 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1477,4 +1477,4 @@ guidance and advice. - Jannis Leidel - Nate Aune -- Barry Morrison \ No newline at end of file +- Barry Morrison diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index 72f71d6ec..2e6a195b7 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -32,26 +32,26 @@ COPY ./requirements /requirements RUN pip install --no-cache-dir -r /requirements/production.txt \ && rm -rf /requirements -COPY ./compose/production/django/entrypoint /entrypoint +COPY --chown=django:django ./compose/production/django/entrypoint /entrypoint RUN sed -i 's/\r$//g' /entrypoint RUN chmod +x /entrypoint -RUN chown django /entrypoint -COPY ./compose/production/django/start /start + +COPY --chown=django:django ./compose/production/django/start /start RUN sed -i 's/\r$//g' /start RUN chmod +x /start -RUN chown django /start + {%- if cookiecutter.use_celery == "y" %} -COPY ./compose/production/django/celery/worker/start /start-celeryworker +COPY --chown=django:django ./compose/production/django/celery/worker/start /start-celeryworker RUN sed -i 's/\r$//g' /start-celeryworker RUN chmod +x /start-celeryworker -RUN chown django /start-celeryworker -COPY ./compose/production/django/celery/beat/start /start-celerybeat + +COPY --chown=django:django ./compose/production/django/celery/beat/start /start-celerybeat RUN sed -i 's/\r$//g' /start-celerybeat RUN chmod +x /start-celerybeat -RUN chown django /start-celerybeat + COPY ./compose/production/django/celery/flower/start /start-flower RUN sed -i 's/\r$//g' /start-flower diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile index 746aa2b48..26a653d50 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile @@ -1,5 +1,5 @@ FROM traefik:v2.0 -RUN mkdir -p /etc/traefik/acme -RUN touch /etc/traefik/acme/acme.json -RUN chmod 600 /etc/traefik/acme/acme.json +RUN mkdir -p /etc/traefik/acme \ + && touch /etc/traefik/acme/acme.json \ + && chmod 600 /etc/traefik/acme/acme.json COPY ./compose/production/traefik/traefik.yml /etc/traefik From 69209b6fa16147e0260d7e934910fdfa90e3780f Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 8 Sep 2020 08:04:49 +0000 Subject: [PATCH 1026/2840] Update Contributors --- CONTRIBUTORS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index dd55e2af2..e0fda25ed 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1477,4 +1477,4 @@ guidance and advice. - Jannis Leidel - Nate Aune -- Barry Morrison +- Barry Morrison \ No newline at end of file From b3028d8299879916097f8f83c6d1f2093d2f0365 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 9 Sep 2020 02:17:01 +0000 Subject: [PATCH 1027/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c42b8695..dd8b927d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-09-08] +### Changed +- Traeffik and Django dockerfile changes ([#2801](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2801)) + ## [2020-09-07] ### Changed - Add :z/:Z to mounted volumes in {local,production}.yml ([#2663](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2663)) From d2e6b285d9fb84a4f622cc8170997b7ece26dc5e Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 9 Sep 2020 09:36:07 +0100 Subject: [PATCH 1028/2840] Update FUNDING.yml --- .github/FUNDING.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 5a5aefc78..c66e6bc7c 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,6 +1,6 @@ # These are supported funding model platforms -github: pydanny +github: [pydanny, browniebroke] patreon: roygreenfeld open_collective: # Replace with a single Open Collective username ko_fi: # Replace with a single Ko-fi username From 949cd5acb7bbf2773496f19285efbc4c94271a3f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 9 Sep 2020 14:07:30 +0200 Subject: [PATCH 1029/2840] Update issue and pull request templates --- .github/ISSUE_TEMPLATE.md | 1 - .github/ISSUE_TEMPLATE/bug.md | 32 ++++++++++++++++++-------- .github/ISSUE_TEMPLATE/feature.md | 18 ++++----------- .github/ISSUE_TEMPLATE/improvement.md | 24 ------------------- .github/ISSUE_TEMPLATE/paid-support.md | 8 ++++++- .github/ISSUE_TEMPLATE/question.md | 10 ++++++-- .github/ISSUE_TEMPLATE/regression.md | 28 ---------------------- .github/PULL_REQUEST_TEMPLATE.md | 25 ++++++++------------ cookiecutter.json | 1 - 9 files changed, 51 insertions(+), 96 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE.md delete mode 100644 .github/ISSUE_TEMPLATE/improvement.md delete mode 100644 .github/ISSUE_TEMPLATE/regression.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index b232b6e34..000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1 +0,0 @@ -## [Make sure to follow one of the issue templates we've got](https://github.com/pydanny/cookiecutter-django/issues/new/choose), otherwise the issue might be closed immeditely diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md index 2a48c0c32..b2b577f57 100644 --- a/.github/ISSUE_TEMPLATE/bug.md +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -1,21 +1,33 @@ --- name: Bug Report about: Report a bug +title: '[bug]' +labels: bug --- ## What happened? - - - ## What should've happened instead? +## Additional details + - -## Steps to reproduce - -[//]: # (Any or all of the following:) -[//]: # (* Host system configuration: OS, Docker & friends' versions etc.) -[//]: # (* Replay file https://cookiecutter.readthedocs.io/en/latest/advanced/replay.html) -[//]: # (* Logs) +* Host system configuration: + * Version of cookiecutter CLI (get it with `cookiecutter --version`): + * OS: + * Python version: + * Docker versions (if using Docker): + * ... +* Options selected and/or [replay file](https://cookiecutter.readthedocs.io/en/latest/advanced/replay.html): + ``` + ``` + +Logs: +
+
+$ cookiecutter https://github.com/pydanny/cookiecutter-django
+project_name [Project Name]: ...
+
+
+
diff --git a/.github/ISSUE_TEMPLATE/feature.md b/.github/ISSUE_TEMPLATE/feature.md index b0d560d81..8cc8141aa 100644 --- a/.github/ISSUE_TEMPLATE/feature.md +++ b/.github/ISSUE_TEMPLATE/feature.md @@ -1,24 +1,14 @@ --- name: New Feature Proposal about: Propose a new feature +title: '[feature request]' +labels: enhancement --- ## Description -[//]: # (What's it you're proposing? How should it be implemented?) - - - +What are you proposing? How should it be implemented? ## Rationale -[//]: # (Why should this feature be implemented?) - - - - -## Use case(s) / visualization(s) - -[//]: # ("Better to see something once than to hear about it a thousand times.") - - +Why should this feature be implemented? diff --git a/.github/ISSUE_TEMPLATE/improvement.md b/.github/ISSUE_TEMPLATE/improvement.md deleted file mode 100644 index 572652373..000000000 --- a/.github/ISSUE_TEMPLATE/improvement.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -name: Improvement Suggestion -about: Let us know how we could improve ---- - -## Description - -[//]: # (What's it you're proposing? How should it be implemented?) - - - - -## Rationale - -[//]: # (Why should this feature be implemented?) - - - - -## Use case(s) / visualization(s) - -[//]: # ("Better to see something once than to hear about it a thousand times.") - - diff --git a/.github/ISSUE_TEMPLATE/paid-support.md b/.github/ISSUE_TEMPLATE/paid-support.md index d565e564f..e553329f6 100644 --- a/.github/ISSUE_TEMPLATE/paid-support.md +++ b/.github/ISSUE_TEMPLATE/paid-support.md @@ -1,10 +1,16 @@ --- name: Paid Support Request about: Ask Core Team members to help you out +title: '' +labels: '' +assignees: '' + --- -Provided your question goes beyound [regular support](https://github.com/pydanny/cookiecutter-django/issues/new?template=question.md), and/or the task at hand is of timely/high priority nature use the below information to reach out for contributors directly. +Provided your question goes beyond [regular support](https://github.com/pydanny/cookiecutter-django/issues/new?template=question.md), and/or the task at hand is of timely/high priority nature use the below information to reach out for contributors directly. * Daniel Roy Greenfeld, Project Lead ([GitHub](https://github.com/pydanny), [Patreon](https://www.patreon.com/danielroygreenfeld)): expertise in Django and AWS ELB. * Nikita Shupeyko, Core Developer ([GitHub](https://github.com/webyneter)): expertise in Python/Django, hands-on DevOps and frontend experience. + +* Bruno Alla, Core Developer ([GitHub](https://github.com/sponsors/browniebroke)). diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md index 0c0f3d891..f24e413f1 100644 --- a/.github/ISSUE_TEMPLATE/question.md +++ b/.github/ISSUE_TEMPLATE/question.md @@ -1,6 +1,12 @@ --- name: Question -about: Please, ask your question on StackOverflow or Gitter +about: Please consider asking your question on StackOverflow or Slack +title: '[question]' +labels: question --- -First, make sure to examine [the docs](https://cookiecutter-django.readthedocs.io/en/latest/). If that doesn't help post a question on [StackOverflow](https://stackoverflow.com/questions/tagged/cookiecutter-django) tagged with `cookiecutter-django`. Finally, feel free to join [Gitter](https://gitter.im/pydanny/cookiecutter-django) and ask around. +First, make sure to examine [the docs](https://cookiecutter-django.readthedocs.io/en/latest/). + +If that doesn't help, post a question on [StackOverflow](https://stackoverflow.com/questions/tagged/cookiecutter-django) tagged with `cookiecutter-django`, you might get more visibility there than on our issue tracker. + +Finally, feel free to join [Slack](https://join.slack.com/t/cookie-cutter/shared_invite/enQtNzI0Mzg5NjE5Nzk5LTRlYWI2YTZhYmQ4YmU1Y2Q2NmE1ZjkwOGM0NDQyNTIwY2M4ZTgyNDVkNjMxMDdhZGI5ZGE5YmJjM2M3ODJlY2U) and ask around. diff --git a/.github/ISSUE_TEMPLATE/regression.md b/.github/ISSUE_TEMPLATE/regression.md deleted file mode 100644 index 80384004b..000000000 --- a/.github/ISSUE_TEMPLATE/regression.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -name: Regression Report -about: Let us know if something that'd been working has broke ---- - -## What happened before? - - - - -## What happens now? - - - - -## Last stable commit / Since when? - - - - -## Steps to reproduce - -[//]: # (Any or all of the following:) -[//]: # (* Host system configuration: OS, Docker & friends' versions etc.) -[//]: # (* Project generation options) -[//]: # (* Logs) - - diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 45e67c69b..5559e62ff 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,23 +1,18 @@ -[//]: # (Thank you for helping us out: your efforts mean great deal to the project and the community as a whole!) - -[//]: # (Before you proceed:) - -[//]: # (- Don't forget to update the `docs/` presuming others would benefit from a concise description of whatever that you're proposing) -[//]: # (- If you're adding a new option, please make sure that tests/test_cookiecutter_generation.py is updated accordingly) + ## Description -[//]: # (What's it you're proposing?) + +Checklist: + +- [ ] I've made sure that `tests/test_cookiecutter_generation.py` is updated accordingly (especially if adding or updating a template option) +- [ ] I've updated the documentation or confirm that my change doesn't require any updates ## Rationale -[//]: # (Why does the project need that?) - - -## Use case(s) / visualization(s) - -[//]: # ("Better to see something once than to hear about it a thousand times.") - - + diff --git a/cookiecutter.json b/cookiecutter.json index ca11b3b47..682061476 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -59,6 +59,5 @@ "Gitlab" ], "keep_local_envs_in_vcs": "y", - "debug": "n" } From 996b958feb319921de75210876ee30771b6b261b Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 9 Sep 2020 14:25:12 +0200 Subject: [PATCH 1030/2840] Configure Dependabot to update Github actions --- .github/dependabot.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..5ee5d0a04 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +# Config for Dependabot updates. See Documentation here: +# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + # Update Github actions in workflows + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" From 684218a90807d2997b1d25c677349cac72ac1079 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Sep 2020 12:25:44 +0000 Subject: [PATCH 1031/2840] Update actions/setup-python requirement to v2.1.2 Updates the requirements on [actions/setup-python](https://github.com/actions/setup-python) to permit the latest version. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/commits/24156c231c5e9d581bde27d0cdbb72715060ea51) Signed-off-by: dependabot[bot] --- .github/workflows/pre-commit-autoupdate.yml | 2 +- .github/workflows/update-changelog.yml | 2 +- .github/workflows/update-contributors.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index 4beaa578f..f07d18033 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: actions/setup-python@v2.1.1 + - uses: actions/setup-python@v2.1.2 with: python-version: 3.8 diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index 562c37eb9..ac8f749e5 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v2.1.2 with: python-version: "3.8" - name: Install dependencies diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index acae4729d..6dd2ac529 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -13,7 +13,7 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v2.1.2 with: python-version: "3.8" - name: Install dependencies From 8df38802f35afb2201b4db32c04b7c60e176e782 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 9 Sep 2020 15:41:47 -0700 Subject: [PATCH 1032/2840] Update sentry-sdk from 0.17.3 to 0.17.4 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 8016786cf..4ed494349 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.17.3 # https://github.com/getsentry/sentry-python +sentry-sdk==0.17.4 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From a3ed42a28968f243ef42962b709414dae676ab3f Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 10 Sep 2020 02:16:26 +0000 Subject: [PATCH 1033/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index dd8b927d1..a3a25226a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-09-09] +### Changed +- Update actions/setup-python requirement to v2.1.2 ([#2804](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2804)) +- Clean up nested venv files from `.gitignore` ([#2800](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2800)) + ## [2020-09-08] ### Changed - Traeffik and Django dockerfile changes ([#2801](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2801)) From ca4bbd918d8c0249b2ba68aff17ac8038f924863 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 9 Sep 2020 23:58:50 -0700 Subject: [PATCH 1034/2840] Update isort from 5.5.1 to 5.5.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7ecdd4d0a..3f110e519 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==20.8b1 -isort==5.5.1 +isort==5.5.2 flake8==3.8.3 flake8-isort==4.0.0 From 806080e53eeb33ecd82cb7e890ecfb94fbc52f25 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 11 Sep 2020 00:24:40 +0000 Subject: [PATCH 1035/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 74839c2c0..398ccbf81 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.5.1 + rev: 5.5.2 hooks: - id: isort From 625c7ceb7311a5acb173df82af3668ba834b034c Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 11 Sep 2020 10:55:38 +0100 Subject: [PATCH 1036/2840] Fix git-auto-commit-action --- .github/workflows/update-changelog.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index ac8f749e5..ef9263f31 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -28,7 +28,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4 + uses: stefanzweifel/git-auto-commit-action@v4.5.1 with: commit_message: Update Changelog file_pattern: CHANGELOG.md From 7ef9f919e201a891040a1b6d788852020541b3b5 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 11 Sep 2020 10:56:03 +0100 Subject: [PATCH 1037/2840] Update update-contributors.yml --- .github/workflows/update-contributors.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index 6dd2ac529..ba7fd74bc 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -24,7 +24,7 @@ jobs: run: python scripts/update_contributors.py - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4 + uses: stefanzweifel/git-auto-commit-action@v4.5.1 with: commit_message: Update Contributors file_pattern: CONTRIBUTORS.md .github/contributors.json From 4f631e148388d12d95ef567dcb56d529fee26c63 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 11 Sep 2020 09:58:15 +0000 Subject: [PATCH 1038/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a3a25226a..7855d1676 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-09-10] +### Updated +- Update isort to 5.5.2 ([#2807](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2807)) +- Update sentry-sdk to 0.17.4 ([#2805](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2805)) + ## [2020-09-09] ### Changed - Update actions/setup-python requirement to v2.1.2 ([#2804](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2804)) From e1922807aacd0dee853fdac389e5558b5cfa92d3 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Fri, 11 Sep 2020 21:47:00 +0530 Subject: [PATCH 1039/2840] Updating Traefik version from 2.0 to 2.2.11 --- .../compose/production/traefik/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile index 26a653d50..aa879052b 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile @@ -1,4 +1,4 @@ -FROM traefik:v2.0 +FROM traefik:v2.2.11 RUN mkdir -p /etc/traefik/acme \ && touch /etc/traefik/acme/acme.json \ && chmod 600 /etc/traefik/acme/acme.json From 53ffbbcf2ea9ec330e1ea68a9ccad7fd47b94059 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Fri, 11 Sep 2020 22:00:50 +0530 Subject: [PATCH 1040/2840] Multi stage Python build for Django --- .../compose/local/django/Dockerfile | 61 ++++++++++++++----- .../compose/production/django/Dockerfile | 58 ++++++++++++------ 2 files changed, 87 insertions(+), 32 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index 5473f114e..949235c04 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -1,23 +1,32 @@ +# Python build stage +FROM python:3.8-slim-buster as python-build-stage +ENV PYTHONDONTWRITEBYTECODE 1 + +# Requirements are installed here to ensure they will be cached. +COPY ./requirements /requirements + +RUN apt-get update && apt-get install --no-install-recommends -y \ + # dependencies for building Python packages + build-essential \ + # psycopg2 dependencies + libpq-dev \ + # Translations dependencies + gettext \ + # cleaning up unused files + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ + && rm -rf /var/lib/apt/lists/* \ + # create python dependency wheels + && pip wheel --no-cache-dir --no-deps --use-feature=2020-resolver --wheel-dir /usr/src/app/wheels -r /requirements/production.txt \ + && rm -rf /requirements + + + +# Python 'run' stage FROM python:3.8-slim-buster ENV PYTHONUNBUFFERED 1 ENV PYTHONDONTWRITEBYTECODE 1 -RUN apt-get update \ - # dependencies for building Python packages - && apt-get install -y build-essential \ - # psycopg2 dependencies - && apt-get install -y libpq-dev \ - # Translations dependencies - && apt-get install -y gettext \ - # cleaning up unused files - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -rf /var/lib/apt/lists/* - -# Requirements are installed here to ensure they will be cached. -COPY ./requirements /requirements -RUN pip install -r /requirements/local.txt - COPY ./compose/production/django/entrypoint /entrypoint RUN sed -i 's/\r$//g' /entrypoint RUN chmod +x /entrypoint @@ -25,6 +34,7 @@ RUN chmod +x /entrypoint COPY ./compose/local/django/start /start RUN sed -i 's/\r$//g' /start RUN chmod +x /start + {% if cookiecutter.use_celery == "y" %} COPY ./compose/local/django/celery/worker/start /start-celeryworker RUN sed -i 's/\r$//g' /start-celeryworker @@ -38,6 +48,27 @@ COPY ./compose/local/django/celery/flower/start /start-flower RUN sed -i 's/\r$//g' /start-flower RUN chmod +x /start-flower {% endif %} + + +# installing required system dependencies +RUN apt-get update && apt-get install --no-install-recommends -y \ + # psycopg2 dependencies + libpq-dev \ + # Translations dependencies + gettext \ + # cleaning up unused files + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ + && rm -rf /var/lib/apt/lists/* + + +# copy python dependency wheels from python-build-stage +COPY --from=python-build-stage /usr/src/app/wheels /wheels + +# install python dependencies +RUN pip install --no-cache /wheels/* + + + WORKDIR /app ENTRYPOINT ["/entrypoint"] diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index 2e6a195b7..9fd75f7e9 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -7,31 +7,38 @@ RUN npm install && npm cache clean --force COPY . /app RUN npm run build -# Python build stage {%- endif %} + +# Python build stage +FROM python:3.8-slim-buster as python-build-stage + + +# Requirements are installed here to ensure they will be cached. +COPY ./requirements /requirements + +RUN apt-get update && apt-get install --no-install-recommends -y \ + # dependencies for building Python packages + build-essential \ + # psycopg2 dependencies + libpq-dev \ + # Translations dependencies + gettext \ + # cleaning up unused files + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ + && rm -rf /var/lib/apt/lists/* \ + # create python dependency wheels + && pip wheel --no-cache-dir --no-deps --use-feature=2020-resolver --wheel-dir /usr/src/app/wheels -r /requirements/production.txt \ + && rm -rf /requirements + + +# Python 'run' stage FROM python:3.8-slim-buster ENV PYTHONUNBUFFERED 1 -RUN apt-get update \ - # dependencies for building Python packages - && apt-get install -y build-essential \ - # psycopg2 dependencies - && apt-get install -y libpq-dev \ - # Translations dependencies - && apt-get install -y gettext \ - # cleaning up unused files - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -rf /var/lib/apt/lists/* - RUN addgroup --system django \ && adduser --system --ingroup django django -# Requirements are installed here to ensure they will be cached. -COPY ./requirements /requirements -RUN pip install --no-cache-dir -r /requirements/production.txt \ - && rm -rf /requirements - COPY --chown=django:django ./compose/production/django/entrypoint /entrypoint RUN sed -i 's/\r$//g' /entrypoint RUN chmod +x /entrypoint @@ -58,6 +65,23 @@ RUN sed -i 's/\r$//g' /start-flower RUN chmod +x /start-flower {%- endif %} +# installing required system dependencies +RUN apt-get update && apt-get install --no-install-recommends -y \ + # psycopg2 dependencies + libpq-dev \ + # Translations dependencies + gettext \ + # cleaning up unused files + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ + && rm -rf /var/lib/apt/lists/* + + +# copy python dependency wheels from python-build-stage +COPY --from=python-build-stage /usr/src/app/wheels /wheels + +# install python dependencies +RUN pip install --no-cache /wheels/* + {%- if cookiecutter.js_task_runner == 'Gulp' %} COPY --from=client-builder --chown=django:django /app /app {% else %} From 070d4556f9147979aa81a0300b36fb8c561bea81 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Fri, 11 Sep 2020 22:04:44 +0530 Subject: [PATCH 1041/2840] Multi stage Python build for Django --- .../compose/production/traefik/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile index aa879052b..26a653d50 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile @@ -1,4 +1,4 @@ -FROM traefik:v2.2.11 +FROM traefik:v2.0 RUN mkdir -p /etc/traefik/acme \ && touch /etc/traefik/acme/acme.json \ && chmod 600 /etc/traefik/acme/acme.json From 13ca7bf4a4ea91afcc70021e94170091cd8bdcbc Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 11 Sep 2020 15:59:42 -0700 Subject: [PATCH 1042/2840] Update django-anymail from 7.2.1 to 8.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 4ed494349..047661cdb 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -22,7 +22,7 @@ django-storages[boto3]==1.10 # https://github.com/jschneier/django-storages django-storages[google]==1.10 # https://github.com/jschneier/django-storages {%- endif %} {%- if cookiecutter.mail_service == 'Mailgun' %} -django-anymail[mailgun]==7.2.1 # https://github.com/anymail/django-anymail +django-anymail[mailgun]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Amazon SES' %} django-anymail[amazon_ses]==7.2.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} From 11d089c859d11798ee5657870faad417cf6e90ce Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 11 Sep 2020 15:59:43 -0700 Subject: [PATCH 1043/2840] Update django-anymail from 7.2.1 to 8.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 047661cdb..0c46da1d9 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -24,7 +24,7 @@ django-storages[google]==1.10 # https://github.com/jschneier/django-storages {%- if cookiecutter.mail_service == 'Mailgun' %} django-anymail[mailgun]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Amazon SES' %} -django-anymail[amazon_ses]==7.2.1 # https://github.com/anymail/django-anymail +django-anymail[amazon_ses]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} django-anymail[mailjet]==7.2.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} From 8cddc2f740812c1837b07ece95e21319f14c565b Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 11 Sep 2020 15:59:44 -0700 Subject: [PATCH 1044/2840] Update django-anymail from 7.2.1 to 8.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 0c46da1d9..e8e57d945 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -26,7 +26,7 @@ django-anymail[mailgun]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Amazon SES' %} django-anymail[amazon_ses]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} -django-anymail[mailjet]==7.2.1 # https://github.com/anymail/django-anymail +django-anymail[mailjet]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} django-anymail[mandrill]==7.2.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} From e5c2f82949effe5719ebab00f42c7c13f9bf32db Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 11 Sep 2020 15:59:45 -0700 Subject: [PATCH 1045/2840] Update django-anymail from 7.2.1 to 8.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index e8e57d945..d507b1255 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -28,7 +28,7 @@ django-anymail[amazon_ses]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} django-anymail[mailjet]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} -django-anymail[mandrill]==7.2.1 # https://github.com/anymail/django-anymail +django-anymail[mandrill]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} django-anymail[postmark]==7.2.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} From 99c9b043199c8cbc0d8de0829685170f6464403e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 11 Sep 2020 15:59:45 -0700 Subject: [PATCH 1046/2840] Update django-anymail from 7.2.1 to 8.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index d507b1255..2c92ad99b 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -30,7 +30,7 @@ django-anymail[mailjet]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} django-anymail[mandrill]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} -django-anymail[postmark]==7.2.1 # https://github.com/anymail/django-anymail +django-anymail[postmark]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} django-anymail[sendgrid]==7.2.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} From e591022c6f3daa6207f36c95588bf1dd1bd6a8a5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 11 Sep 2020 15:59:46 -0700 Subject: [PATCH 1047/2840] Update django-anymail from 7.2.1 to 8.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 2c92ad99b..cfdf7dff1 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -32,7 +32,7 @@ django-anymail[mandrill]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} django-anymail[postmark]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} -django-anymail[sendgrid]==7.2.1 # https://github.com/anymail/django-anymail +django-anymail[sendgrid]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} django-anymail[sendinblue]==7.2.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} From 8241615edd35f09dd0b426f07964ffdc80c22001 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 11 Sep 2020 15:59:47 -0700 Subject: [PATCH 1048/2840] Update django-anymail from 7.2.1 to 8.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index cfdf7dff1..83f8fdf62 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -34,7 +34,7 @@ django-anymail[postmark]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} django-anymail[sendgrid]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} -django-anymail[sendinblue]==7.2.1 # https://github.com/anymail/django-anymail +django-anymail[sendinblue]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} django-anymail[sparkpost]==7.2.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Other SMTP' %} From bc0805549b540c0484b2a0731fbb1c1ba110da13 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 11 Sep 2020 15:59:48 -0700 Subject: [PATCH 1049/2840] Update django-anymail from 7.2.1 to 8.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 83f8fdf62..b5342b526 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -36,7 +36,7 @@ django-anymail[sendgrid]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} django-anymail[sendinblue]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} -django-anymail[sparkpost]==7.2.1 # https://github.com/anymail/django-anymail +django-anymail[sparkpost]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Other SMTP' %} django-anymail==7.2.1 # https://github.com/anymail/django-anymail {%- endif %} From 192ca300af8f052fa3a21dadcbb15761e351ec79 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 11 Sep 2020 15:59:49 -0700 Subject: [PATCH 1050/2840] Update django-anymail from 7.2.1 to 8.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index b5342b526..ced72c2f6 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -38,5 +38,5 @@ django-anymail[sendinblue]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} django-anymail[sparkpost]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Other SMTP' %} -django-anymail==7.2.1 # https://github.com/anymail/django-anymail +django-anymail==8.0 # https://github.com/anymail/django-anymail {%- endif %} From 33eca9d121479db0e3ea4a8795e745f848be9c3e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 12 Sep 2020 02:16:10 +0000 Subject: [PATCH 1051/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7855d1676..db5a2d9c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-09-11] +### Updated +- Auto-update pre-commit hooks ([#2809](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2809)) + ## [2020-09-10] ### Updated - Update isort to 5.5.2 ([#2807](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2807)) From c7ee1e7c03ebb59a8833d9fd26ec0d97b5acccb7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 11 Sep 2020 19:16:16 -0700 Subject: [PATCH 1052/2840] Update pytest from 6.0.1 to 6.0.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3f110e519..f645e14d6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ flake8-isort==4.0.0 # Testing # ------------------------------------------------------------------------------ tox==3.20.0 -pytest==6.0.1 +pytest==6.0.2 pytest-cookies==0.5.1 pytest-instafail==0.4.2 pyyaml==5.3.1 From 12cc96817de8208f8ad778428c1e05a577c7ed15 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 11 Sep 2020 19:16:17 -0700 Subject: [PATCH 1053/2840] Update pytest from 6.0.1 to 6.0.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index cc751326f..e5eb6c67c 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -15,7 +15,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # ------------------------------------------------------------------------------ mypy==0.770 # https://github.com/python/mypy django-stubs==1.5.0 # https://github.com/typeddjango/django-stubs -pytest==6.0.1 # https://github.com/pytest-dev/pytest +pytest==6.0.2 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation From 07051bff33e489834f3d0b88954ddf3709cd74c7 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Sat, 12 Sep 2020 08:47:38 +0530 Subject: [PATCH 1054/2840] Fixed mistake of using production settings even for local/django image --- {{cookiecutter.project_slug}}/compose/local/django/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index 949235c04..5c3e3f1a8 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -16,7 +16,7 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && rm -rf /var/lib/apt/lists/* \ # create python dependency wheels - && pip wheel --no-cache-dir --no-deps --use-feature=2020-resolver --wheel-dir /usr/src/app/wheels -r /requirements/production.txt \ + && pip wheel --no-cache-dir --no-deps --use-feature=2020-resolver --wheel-dir /usr/src/app/wheels -r /requirements/local.txt \ && rm -rf /requirements From a795086b108c23d8e886762c3b9f06033e610352 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Sat, 12 Sep 2020 11:04:08 +0530 Subject: [PATCH 1055/2840] Removing using python wheels to build python dependecies due to issue resolving conflicts in package sub-dependencies. Ends up being much more trouble than it's worth. --- .../compose/local/django/Dockerfile | 11 +++++------ .../compose/production/django/Dockerfile | 15 +++++++-------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index 5c3e3f1a8..a7cf54aee 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -15,8 +15,8 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ # cleaning up unused files && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && rm -rf /var/lib/apt/lists/* \ - # create python dependency wheels - && pip wheel --no-cache-dir --no-deps --use-feature=2020-resolver --wheel-dir /usr/src/app/wheels -r /requirements/local.txt \ + # install python dependencies + && pip install --no-cache-dir --use-feature=2020-resolver -r /requirements/local.txt \ && rm -rf /requirements @@ -61,11 +61,10 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ && rm -rf /var/lib/apt/lists/* -# copy python dependency wheels from python-build-stage -COPY --from=python-build-stage /usr/src/app/wheels /wheels -# install python dependencies -RUN pip install --no-cache /wheels/* +# copy python dependencies from python-build-stage +COPY --from=build_stage /usr/local/lib/python3.8/site-packages/ /usr/local/lib/python3.8/site-packages/ +COPY --from=build_stage /usr/local/bin/ /usr/local/bin/ diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index 9fd75f7e9..15708dcd8 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -11,7 +11,7 @@ RUN npm run build # Python build stage FROM python:3.8-slim-buster as python-build-stage - +ENV PYTHONDONTWRITEBYTECODE 1 # Requirements are installed here to ensure they will be cached. COPY ./requirements /requirements @@ -26,14 +26,15 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ # cleaning up unused files && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && rm -rf /var/lib/apt/lists/* \ - # create python dependency wheels - && pip wheel --no-cache-dir --no-deps --use-feature=2020-resolver --wheel-dir /usr/src/app/wheels -r /requirements/production.txt \ + # install python dependencies + && pip install --no-cache-dir --use-feature=2020-resolver -r /requirements/production.txt \ && rm -rf /requirements # Python 'run' stage FROM python:3.8-slim-buster +ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 RUN addgroup --system django \ @@ -76,11 +77,9 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ && rm -rf /var/lib/apt/lists/* -# copy python dependency wheels from python-build-stage -COPY --from=python-build-stage /usr/src/app/wheels /wheels - -# install python dependencies -RUN pip install --no-cache /wheels/* +# copy python dependencies from python-build-stage +COPY --from=build_stage /usr/local/lib/python3.8/site-packages/ /usr/local/lib/python3.8/site-packages/ +COPY --from=build_stage /usr/local/bin/ /usr/local/bin/ {%- if cookiecutter.js_task_runner == 'Gulp' %} COPY --from=client-builder --chown=django:django /app /app From 17e577c92478664627be6ded8501545a5d5b2115 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Sat, 12 Sep 2020 11:11:19 +0530 Subject: [PATCH 1056/2840] Fixed Typo with python build stage name that was references incorrectly in the run stage --- {{cookiecutter.project_slug}}/compose/local/django/Dockerfile | 4 ++-- .../compose/production/django/Dockerfile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index a7cf54aee..11cc99784 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -63,8 +63,8 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ # copy python dependencies from python-build-stage -COPY --from=build_stage /usr/local/lib/python3.8/site-packages/ /usr/local/lib/python3.8/site-packages/ -COPY --from=build_stage /usr/local/bin/ /usr/local/bin/ +COPY --from=python-build-stage /usr/local/lib/python3.8/site-packages/ /usr/local/lib/python3.8/site-packages/ +COPY --from=python-build-stage /usr/local/bin/ /usr/local/bin/ diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index 15708dcd8..722f709fb 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -78,8 +78,8 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ # copy python dependencies from python-build-stage -COPY --from=build_stage /usr/local/lib/python3.8/site-packages/ /usr/local/lib/python3.8/site-packages/ -COPY --from=build_stage /usr/local/bin/ /usr/local/bin/ +COPY --from=python-build-stage /usr/local/lib/python3.8/site-packages/ /usr/local/lib/python3.8/site-packages/ +COPY --from=python-build-stage /usr/local/bin/ /usr/local/bin/ {%- if cookiecutter.js_task_runner == 'Gulp' %} COPY --from=client-builder --chown=django:django /app /app From 62c3f5fd5d8d97686dba27d5a8afe7e368f2d02e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 13 Sep 2020 02:16:38 +0000 Subject: [PATCH 1057/2840] Update Changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index db5a2d9c1..1b32d6d68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-09-12] +### Updated +- Updating Traefik version from 2.0 to 2.2.11 ([#2814](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2814)) +- Update pytest to 6.0.2 ([#2819](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2819)) +- Update django-anymail to 8.0 ([#2818](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2818)) + ## [2020-09-11] ### Updated - Auto-update pre-commit hooks ([#2809](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2809)) From 079db28661a5a30066dc67da57b728741a04b986 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Mon, 14 Sep 2020 01:41:33 +0530 Subject: [PATCH 1058/2840] Changed when Requirements are copied and installed to improve incremental image build times. The extra image layer is inconsequential since python-build-stage layers are discarded anyway. --- .../compose/local/django/Dockerfile | 17 +++++++++-------- .../compose/production/django/Dockerfile | 16 ++++++++-------- .../compose/production/traefik/Dockerfile | 2 +- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index 11cc99784..645b04766 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -2,9 +2,6 @@ FROM python:3.8-slim-buster as python-build-stage ENV PYTHONDONTWRITEBYTECODE 1 -# Requirements are installed here to ensure they will be cached. -COPY ./requirements /requirements - RUN apt-get update && apt-get install --no-install-recommends -y \ # dependencies for building Python packages build-essential \ @@ -14,15 +11,19 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ gettext \ # cleaning up unused files && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -rf /var/lib/apt/lists/* \ - # install python dependencies - && pip install --no-cache-dir --use-feature=2020-resolver -r /requirements/local.txt \ - && rm -rf /requirements + && rm -rf /var/lib/apt/lists/* + +# Requirements are installed here to ensure they will be cached. +COPY ./requirements /requirements + +# install python dependencies +RUN pip install --no-cache-dir --use-feature=2020-resolver -r /requirements/local.txt \ + && rm -rf /requirements # Python 'run' stage -FROM python:3.8-slim-buster +FROM python:3.8-slim-buster as python-run-stage ENV PYTHONUNBUFFERED 1 ENV PYTHONDONTWRITEBYTECODE 1 diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index 722f709fb..cc46464bb 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -13,9 +13,6 @@ RUN npm run build FROM python:3.8-slim-buster as python-build-stage ENV PYTHONDONTWRITEBYTECODE 1 -# Requirements are installed here to ensure they will be cached. -COPY ./requirements /requirements - RUN apt-get update && apt-get install --no-install-recommends -y \ # dependencies for building Python packages build-essential \ @@ -25,14 +22,17 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ gettext \ # cleaning up unused files && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -rf /var/lib/apt/lists/* \ - # install python dependencies - && pip install --no-cache-dir --use-feature=2020-resolver -r /requirements/production.txt \ - && rm -rf /requirements + && rm -rf /var/lib/apt/lists/* +# Requirements are installed here to ensure they will be cached. +COPY ./requirements /requirements + +# install python dependencies +Run pip install --no-cache-dir --use-feature=2020-resolver -r /requirements/production.txt \ + && rm -rf /requirements # Python 'run' stage -FROM python:3.8-slim-buster +FROM python:3.8-slim-buster as python-run-stage ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile index 26a653d50..aa879052b 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/Dockerfile @@ -1,4 +1,4 @@ -FROM traefik:v2.0 +FROM traefik:v2.2.11 RUN mkdir -p /etc/traefik/acme \ && touch /etc/traefik/acme/acme.json \ && chmod 600 /etc/traefik/acme/acme.json From a6b88a9370a0707efb82a0e636f04e5c6f86c4a1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 14 Sep 2020 01:40:32 -0700 Subject: [PATCH 1059/2840] Update django-storages from 1.10 to 1.10.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index ced72c2f6..3ee5e7619 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -17,7 +17,7 @@ hiredis==1.1.0 # https://github.com/redis/hiredis-py # Django # ------------------------------------------------------------------------------ {%- if cookiecutter.cloud_provider == 'AWS' %} -django-storages[boto3]==1.10 # https://github.com/jschneier/django-storages +django-storages[boto3]==1.10.1 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} django-storages[google]==1.10 # https://github.com/jschneier/django-storages {%- endif %} From 8b4c87fd12cd2de4fdf5d5a4ae252eb3e6d1af2e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 14 Sep 2020 01:40:33 -0700 Subject: [PATCH 1060/2840] Update django-storages from 1.10 to 1.10.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 3ee5e7619..c6dc2e17c 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -19,7 +19,7 @@ hiredis==1.1.0 # https://github.com/redis/hiredis-py {%- if cookiecutter.cloud_provider == 'AWS' %} django-storages[boto3]==1.10.1 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} -django-storages[google]==1.10 # https://github.com/jschneier/django-storages +django-storages[google]==1.10.1 # https://github.com/jschneier/django-storages {%- endif %} {%- if cookiecutter.mail_service == 'Mailgun' %} django-anymail[mailgun]==8.0 # https://github.com/anymail/django-anymail From f1600ef17ba04523e82bf514b2e47cebed4a06ee Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 14 Sep 2020 01:40:37 -0700 Subject: [PATCH 1061/2840] Update coverage from 5.2.1 to 5.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index e5eb6c67c..9a475e7f8 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -27,7 +27,7 @@ sphinx-autobuild==2020.9.1 # https://github.com/GaretJax/sphinx-autobuild # ------------------------------------------------------------------------------ flake8==3.8.3 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort -coverage==5.2.1 # https://github.com/nedbat/coveragepy +coverage==5.3 # https://github.com/nedbat/coveragepy black==20.8b1 # https://github.com/ambv/black pylint-django==2.3.0 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} From 584267d8a4f1674acf8afbe01cd3ea8049f96082 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 14 Sep 2020 08:03:16 -0700 Subject: [PATCH 1062/2840] Update sentry-sdk from 0.17.4 to 0.17.5 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index c6dc2e17c..855a8e290 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.17.4 # https://github.com/getsentry/sentry-python +sentry-sdk==0.17.5 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From b76d8d4f025590c1ddfb2a4506a932e92c5357f6 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 17 Aug 2020 14:20:00 +0100 Subject: [PATCH 1063/2840] Revert Celery to 4.4.6 It looks like 4.4.7 has some issues with Redis broker: https://github.com/celery/celery/issues/6285 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 1c496a256..c858b7339 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -17,7 +17,7 @@ redis==3.5.3 # https://github.com/andymccurdy/redis-py hiredis==1.1.0 # https://github.com/redis/hiredis-py {%- endif %} {%- if cookiecutter.use_celery == "y" %} -celery==4.4.7 # pyup: < 5.0 # https://github.com/celery/celery +celery==4.4.6 # pyup: < 5.0,!=4.4.7 # https://github.com/celery/celery django-celery-beat==2.0.0 # https://github.com/celery/django-celery-beat {%- if cookiecutter.use_docker == 'y' %} flower==0.9.5 # https://github.com/mher/flower From ec3922cfe6a4c58f98d3a547207d7993e5ab5ff2 Mon Sep 17 00:00:00 2001 From: Daniel Feldroy Date: Mon, 14 Sep 2020 11:36:47 -0700 Subject: [PATCH 1064/2840] Give admin_forms the forms namespace This will make extending various signup and registration forms easier. --- .../{{cookiecutter.project_slug}}/users/forms.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py index ba848b858..d2170bb32 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py @@ -1,22 +1,23 @@ -from django.contrib.auth import forms, get_user_model +from django.contrib.auth import get_user_model +from django.contrib.auth import forms as admin_forms from django.core.exceptions import ValidationError from django.utils.translation import gettext_lazy as _ User = get_user_model() -class UserChangeForm(forms.UserChangeForm): - class Meta(forms.UserChangeForm.Meta): +class UserChangeForm(admin_forms.UserChangeForm): + class Meta(admin_forms.UserChangeForm.Meta): model = User -class UserCreationForm(forms.UserCreationForm): +class UserCreationForm(admin_forms.UserCreationForm): - error_message = forms.UserCreationForm.error_messages.update( + error_message = admin_forms.UserCreationForm.error_messages.update( {"duplicate_username": _("This username has already been taken.")} ) - class Meta(forms.UserCreationForm.Meta): + class Meta(admin_forms.UserCreationForm.Meta): model = User def clean_username(self): From 5950f4ebe21c119705974658817169fb44d7495e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 15 Sep 2020 02:16:59 +0000 Subject: [PATCH 1065/2840] Update Changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b32d6d68..460e463e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-09-14] +### Fixed +- Downgrade Celery to 4.4.6 ([#2829](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2829)) +### Updated +- Update sentry-sdk to 0.17.5 ([#2828](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2828)) +- Update coverage to 5.3 ([#2826](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2826)) +- Update django-storages to 1.10.1 ([#2825](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2825)) + ## [2020-09-12] ### Updated - Updating Traefik version from 2.0 to 2.2.11 ([#2814](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2814)) From a2c4453cf56adba84471875d1b08bb0cb77d7002 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 16 Sep 2020 09:39:02 +0100 Subject: [PATCH 1066/2840] Fix isort errors --- .../{{cookiecutter.project_slug}}/users/forms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py index d2170bb32..7d3a296bc 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py @@ -1,5 +1,5 @@ -from django.contrib.auth import get_user_model from django.contrib.auth import forms as admin_forms +from django.contrib.auth import get_user_model from django.core.exceptions import ValidationError from django.utils.translation import gettext_lazy as _ From 4a52845a269584ade6c3198c84705a95f1e6ef78 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Wed, 16 Sep 2020 15:24:16 +0530 Subject: [PATCH 1067/2840] Replaced copying python package directories with wheel files which are then used to install all requirements. This way the generated images would be a lot more stable as well. Size increases by 2-3mb though --- .../compose/local/django/Dockerfile | 20 ++++++++--------- .../compose/production/django/Dockerfile | 22 ++++++++++++------- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index 645b04766..c34f8ad40 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -7,19 +7,18 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ build-essential \ # psycopg2 dependencies libpq-dev \ - # Translations dependencies - gettext \ # cleaning up unused files && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && rm -rf /var/lib/apt/lists/* + # Requirements are installed here to ensure they will be cached. COPY ./requirements /requirements -# install python dependencies -RUN pip install --no-cache-dir --use-feature=2020-resolver -r /requirements/local.txt \ - && rm -rf /requirements - +# create python dependency wheels +RUN pip wheel --no-cache-dir --no-deps --use-feature=2020-resolver --wheel-dir /usr/src/app/wheels \ + -r /requirements/local.txt \ + && rm -rf /requirements # Python 'run' stage @@ -62,11 +61,12 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ && rm -rf /var/lib/apt/lists/* +# copy python dependency wheels from python-build-stage +COPY --from=python-build-stage /usr/src/app/wheels /wheels -# copy python dependencies from python-build-stage -COPY --from=python-build-stage /usr/local/lib/python3.8/site-packages/ /usr/local/lib/python3.8/site-packages/ -COPY --from=python-build-stage /usr/local/bin/ /usr/local/bin/ - +# use wheels to install python dependencies +RUN pip install --no-cache /wheels/* \ + && rm -rf /wheels WORKDIR /app diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index cc46464bb..a2f432ccc 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -11,25 +11,28 @@ RUN npm run build # Python build stage FROM python:3.8-slim-buster as python-build-stage + ENV PYTHONDONTWRITEBYTECODE 1 +ARG BUILD_ENVIRONMENT + RUN apt-get update && apt-get install --no-install-recommends -y \ # dependencies for building Python packages build-essential \ # psycopg2 dependencies libpq-dev \ - # Translations dependencies - gettext \ # cleaning up unused files && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && rm -rf /var/lib/apt/lists/* + # Requirements are installed here to ensure they will be cached. COPY ./requirements /requirements -# install python dependencies -Run pip install --no-cache-dir --use-feature=2020-resolver -r /requirements/production.txt \ - && rm -rf /requirements +# create python dependency wheels +RUN pip wheel --no-cache-dir --no-deps --use-feature=2020-resolver --wheel-dir /usr/src/app/wheels \ + -r /requirements/production.txt \ + && rm -rf /requirements # Python 'run' stage FROM python:3.8-slim-buster as python-run-stage @@ -77,9 +80,12 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ && rm -rf /var/lib/apt/lists/* -# copy python dependencies from python-build-stage -COPY --from=python-build-stage /usr/local/lib/python3.8/site-packages/ /usr/local/lib/python3.8/site-packages/ -COPY --from=python-build-stage /usr/local/bin/ /usr/local/bin/ +# copy python dependency wheels from python-build-stage +COPY --from=python-build-stage /usr/src/app/wheels /wheels + +# use wheels to install python dependencies +RUN pip install --no-cache /wheels/* \ + && rm -rf /wheels {%- if cookiecutter.js_task_runner == 'Gulp' %} COPY --from=client-builder --chown=django:django /app /app From fa85682910419511f28827747f872a18956d26c2 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 16 Sep 2020 04:28:56 -0700 Subject: [PATCH 1068/2840] Update pytest-django from 3.9.0 to 3.10.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 9a475e7f8..f2f87b381 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -42,4 +42,4 @@ factory-boy==3.0.1 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.2 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.0.8 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin -pytest-django==3.9.0 # https://github.com/pytest-dev/pytest-django +pytest-django==3.10.0 # https://github.com/pytest-dev/pytest-django From c06869367d8e935c9c38b420afa6cd064d45ef1f Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 16 Sep 2020 04:29:06 -0700 Subject: [PATCH 1069/2840] Update sentry-sdk from 0.17.5 to 0.17.6 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 855a8e290..06731b0b2 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.17.5 # https://github.com/getsentry/sentry-python +sentry-sdk==0.17.6 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From d0ef737234b4c9427f71f88f399cf3c20d6a3c77 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 17 Sep 2020 02:16:54 +0000 Subject: [PATCH 1070/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 460e463e4..b2c3e1e4c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-09-16] +### Updated +- Update sentry-sdk to 0.17.6 ([#2833](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2833)) +- Update pytest-django to 3.10.0 ([#2832](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2832)) + ## [2020-09-14] ### Fixed - Downgrade Celery to 4.4.6 ([#2829](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2829)) From 35b89997ef7d6ab6642a346a924f23c6049f8ae6 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Thu, 17 Sep 2020 22:22:42 +0530 Subject: [PATCH 1071/2840] Made Traefik conf much easier to understand and improved redirect response to entrypoint as opposed to middleware layer that is hit after entrypoint and routing layers. --- .../compose/production/traefik/traefik.yml | 23 ++++--------------- 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml index cfd566a8d..e18535736 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml @@ -5,6 +5,11 @@ entryPoints: web: # http address: ":80" + http: + redirections: + entryPoint: + to: web-secure + scheme: https web-secure: # https @@ -27,19 +32,6 @@ certificatesResolvers: http: routers: - web-router: - {%- if cookiecutter.domain_name.count('.') == 1 %} - rule: "Host(`{{ cookiecutter.domain_name }}`) || Host(`www.{{ cookiecutter.domain_name }}`)" - {% else %} - rule: "Host(`{{ cookiecutter.domain_name }}`)" - {%- endif %} - entryPoints: - - web - middlewares: - - redirect - - csrf - service: django - web-secure-router: {%- if cookiecutter.domain_name.count('.') == 1 %} rule: "Host(`{{ cookiecutter.domain_name }}`) || Host(`www.{{ cookiecutter.domain_name }}`)" @@ -67,11 +59,6 @@ http: {%- endif %} middlewares: - redirect: - # https://docs.traefik.io/master/middlewares/redirectscheme/ - redirectScheme: - scheme: https - permanent: true csrf: # https://docs.traefik.io/master/middlewares/headers/#hostsproxyheaders # https://docs.djangoproject.com/en/dev/ref/csrf/#ajax From ade8aede4745c34d5650f833ba30d671c21972fa Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 17 Sep 2020 15:04:31 -0700 Subject: [PATCH 1072/2840] Update django-extensions from 3.0.8 to 3.0.9 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index f2f87b381..6536f7f34 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -40,6 +40,6 @@ pre-commit==2.7.1 # https://github.com/pre-commit/pre-commit factory-boy==3.0.1 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==2.2 # https://github.com/jazzband/django-debug-toolbar -django-extensions==3.0.8 # https://github.com/django-extensions/django-extensions +django-extensions==3.0.9 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.10.0 # https://github.com/pytest-dev/pytest-django From 2408fc77566c7b87133fe247b8b8e4864bca69dc Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Fri, 18 Sep 2020 22:14:18 +0530 Subject: [PATCH 1073/2840] Added a comment to relevant part of documentation. Also removed the unnecessary scheme key as the default value for scheme is https anyway --- .../compose/production/traefik/traefik.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml index e18535736..7b56063f3 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml @@ -6,10 +6,10 @@ entryPoints: # http address: ":80" http: + # https://docs.traefik.io/routing/entrypoints/#entrypoint redirections: entryPoint: to: web-secure - scheme: https web-secure: # https From 9851fbed6b955553b3e3b7c721de4dad8b0d729c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 19 Sep 2020 02:16:52 +0000 Subject: [PATCH 1074/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b2c3e1e4c..027408d68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-09-18] +### Updated +- Update django-extensions to 3.0.9 ([#2839](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2839)) + ## [2020-09-16] ### Updated - Update sentry-sdk to 0.17.6 ([#2833](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2833)) From 859766941d44b4d31332f3f4436d4d040adeb733 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 20 Sep 2020 12:27:04 -0700 Subject: [PATCH 1075/2840] Update django-debug-toolbar from 2.2 to 3.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 6536f7f34..0ac958899 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -39,7 +39,7 @@ pre-commit==2.7.1 # https://github.com/pre-commit/pre-commit # ------------------------------------------------------------------------------ factory-boy==3.0.1 # https://github.com/FactoryBoy/factory_boy -django-debug-toolbar==2.2 # https://github.com/jazzband/django-debug-toolbar +django-debug-toolbar==3.0 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.0.9 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.10.0 # https://github.com/pytest-dev/pytest-django From 561e9744bfd0ae00688a5a6a383dbb3e9ee37385 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 21 Sep 2020 00:26:05 +0000 Subject: [PATCH 1076/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 398ccbf81..d995d5aa3 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.5.2 + rev: 5.5.3 hooks: - id: isort From 4f0363acfc86159b7abe9f3a7ad1ec3027d5ad34 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 20 Sep 2020 17:26:14 -0700 Subject: [PATCH 1077/2840] Update isort from 5.5.2 to 5.5.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index f645e14d6..717b98263 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==20.8b1 -isort==5.5.2 +isort==5.5.3 flake8==3.8.3 flake8-isort==4.0.0 From b064e09f12cf6b0bd3e54d560eb2eb0227aa86ff Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Mon, 21 Sep 2020 15:50:24 +0530 Subject: [PATCH 1078/2840] Adding GitHub-Action CI Option (#2837) --- cookiecutter.json | 3 +- docs/project-generation-options.rst | 2 + hooks/post_gen_project.py | 7 ++ tests/test_bare.sh | 2 +- tests/test_cookiecutter_generation.py | 38 ++++++++ .../.github/dependabot.yml | 7 ++ .../.github/workflows/ci.yml | 95 +++++++++++++++++++ 7 files changed, 152 insertions(+), 2 deletions(-) create mode 100644 {{cookiecutter.project_slug}}/.github/dependabot.yml create mode 100644 {{cookiecutter.project_slug}}/.github/workflows/ci.yml diff --git a/cookiecutter.json b/cookiecutter.json index 682061476..4a580036d 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -56,7 +56,8 @@ "ci_tool": [ "None", "Travis", - "Gitlab" + "Gitlab", + "Github" ], "keep_local_envs_in_vcs": "y", "debug": "n" diff --git a/docs/project-generation-options.rst b/docs/project-generation-options.rst index ec52e2183..8a81e19de 100644 --- a/docs/project-generation-options.rst +++ b/docs/project-generation-options.rst @@ -119,6 +119,7 @@ ci_tool: 1. None 2. `Travis CI`_ 3. `Gitlab CI`_ + 4. `Github Actions`_ keep_local_envs_in_vcs: Indicates whether the project's ``.envs/.local/`` should be kept in VCS @@ -176,3 +177,4 @@ debug: .. _GitLab CI: https://docs.gitlab.com/ee/ci/ +.. _Github Actions: https://docs.github.com/en/actions diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index fae73e110..ede14c324 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -123,6 +123,10 @@ def remove_dotgitlabciyml_file(): os.remove(".gitlab-ci.yml") +def remove_dotgithub_folder(): + shutil.rmtree(".github") + + def append_to_project_gitignore(path): gitignore_file_path = ".gitignore" with open(gitignore_file_path, "a") as gitignore_file: @@ -395,6 +399,9 @@ def main(): if "{{ cookiecutter.ci_tool }}".lower() != "gitlab": remove_dotgitlabciyml_file() + if "{{ cookiecutter.ci_tool }}".lower() != "github": + remove_dotgithub_folder() + if "{{ cookiecutter.use_drf }}".lower() == "n": remove_drf_starter_files() diff --git a/tests/test_bare.sh b/tests/test_bare.sh index 28f9b7bfb..cc1f1c36e 100755 --- a/tests/test_bare.sh +++ b/tests/test_bare.sh @@ -1,7 +1,7 @@ #!/bin/sh # this is a very simple script that tests the docker configuration for cookiecutter-django # it is meant to be run from the root directory of the repository, eg: -# sh tests/test_docker.sh +# sh tests/test_bare.sh set -o errexit diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index f9bfcd539..af6e4588b 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -96,6 +96,7 @@ SUPPORTED_COMBINATIONS = [ {"ci_tool": "None"}, {"ci_tool": "Travis"}, {"ci_tool": "Gitlab"}, + {"ci_tool": "Github"}, {"keep_local_envs_in_vcs": "y"}, {"keep_local_envs_in_vcs": "n"}, {"debug": "y"}, @@ -138,6 +139,7 @@ def check_paths(paths): @pytest.mark.parametrize("context_override", SUPPORTED_COMBINATIONS, ids=_fixture_id) def test_project_generation(cookies, context, context_override): """Test that project is generated and fully rendered.""" + result = cookies.bake(extra_context={**context, **context_override}) assert result.exit_code == 0 assert result.exception is None @@ -225,6 +227,42 @@ def test_gitlab_invokes_flake8_and_pytest( pytest.fail(e) +@pytest.mark.parametrize( + ["use_docker", "expected_test_script"], + [ + ("n", "pytest"), + ("y", "docker-compose -f local.yml exec -T django pytest"), + ], +) +def test_github_invokes_flake8_and_pytest( + cookies, context, use_docker, expected_test_script +): + context.update({"ci_tool": "Github", "use_docker": use_docker}) + result = cookies.bake(extra_context=context) + + assert result.exit_code == 0 + assert result.exception is None + assert result.project.basename == context["project_slug"] + assert result.project.isdir() + + with open(f"{result.project}/.github/workflows/ci.yml", "r") as github_yml: + try: + github_config = yaml.safe_load(github_yml) + flake8_present = False + for action_step in github_config["jobs"]["flake8"]["steps"]: + if action_step.get("run") == "flake8": + flake8_present = True + assert flake8_present + + expected_test_script_present = False + for action_step in github_config["jobs"]["pytest"]["steps"]: + if action_step.get("run") == expected_test_script: + expected_test_script_present = True + assert expected_test_script_present + except yaml.YAMLError as e: + pytest.fail(e) + + @pytest.mark.parametrize("slug", ["project slug", "Project_Slug"]) def test_invalid_slug(cookies, context, slug): """Invalid slug should failed pre-generation hook.""" diff --git a/{{cookiecutter.project_slug}}/.github/dependabot.yml b/{{cookiecutter.project_slug}}/.github/dependabot.yml new file mode 100644 index 000000000..8e8ac8663 --- /dev/null +++ b/{{cookiecutter.project_slug}}/.github/dependabot.yml @@ -0,0 +1,7 @@ +version: 2 +updates: + # Update Github actions in workflows + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" diff --git a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml new file mode 100644 index 000000000..52818e187 --- /dev/null +++ b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml @@ -0,0 +1,95 @@ +name: CI + +# Enable Buildkit and let compose use it to speed up image building +env: + DOCKER_BUILDKIT: 1 + COMPOSE_DOCKER_CLI_BUILD: 1 + +on: + pull_request: + branches: [ "master" ] + paths-ignore: [ "docs/**" ] + + push: + branches: [ "master" ] + paths-ignore: [ "docs/**" ] + + +jobs: + flake8: + runs-on: ubuntu-latest + steps: + + - name: Checkout Code Repository + uses: actions/checkout@v2 + + - name: Set up Python 3.8 + uses: actions/setup-python@v2 + with: + python-version: 3.8 + + - name: Install flake8 + run: | + python -m pip install --upgrade pip + pip install flake8 + + - name: Lint with flake8 + run: flake8 + +# With no caching at all the entire ci process takes 4m 30s to complete! + pytest: + runs-on: ubuntu-latest + steps: + + - name: Checkout Code Repository + uses: actions/checkout@v2 + {% if cookiecutter.use_docker == 'y' -%} + + - name: Build the Stack + run: docker-compose -f local.yml build + + - name: Make DB Migrations + run: docker-compose -f local.yml run --rm django python manage.py migrate + + - name: Run the Stack + run: docker-compose -f local.yml up -d + + - name: Run Django Tests + run: docker-compose -f local.yml exec -T django pytest + + - name: Tear down the Stack + run: docker-compose down + + {%- else %} + + - name: Set up Python 3.8 + uses: actions/setup-python@v2 + with: + python-version: 3.8 + + - name: Get pip cache dir + id: pip-cache-location + run: | + echo "::set-output name=dir::$(pip cache dir)" + + {% raw %} + - name: Cache pip Project Dependencies + uses: actions/cache@v2 + with: + # Get the location of pip cache dir + path: ${{ steps.pip-cache-location.outputs.dir }} + # Look to see if there is a cache hit for the corresponding requirements file + key: ${{ runner.os }}-pip-${{ hashFiles('**/local.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + {% endraw %} + + - name: Install Dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements/local.txt + + - name: Test with pytest + run: pytest + + {%- endif %} From e715b8f43dc6a1daef594bbdefeac48ca7f01c3e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 21 Sep 2020 14:13:08 -0700 Subject: [PATCH 1079/2840] Update django-debug-toolbar from 3.0 to 3.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 0ac958899..423ac3742 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -39,7 +39,7 @@ pre-commit==2.7.1 # https://github.com/pre-commit/pre-commit # ------------------------------------------------------------------------------ factory-boy==3.0.1 # https://github.com/FactoryBoy/factory_boy -django-debug-toolbar==3.0 # https://github.com/jazzband/django-debug-toolbar +django-debug-toolbar==3.1 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.0.9 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.10.0 # https://github.com/pytest-dev/pytest-django From c567793453cc28f69ac3e07655ea2b4e2dfc080b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 22 Sep 2020 02:17:28 +0000 Subject: [PATCH 1080/2840] Update Changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 027408d68..9feac1399 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-09-21] +### Changed +- Adding GitHub-Action CI Option ([#2837](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2837)) +### Updated +- Update django-debug-toolbar to 3.0 ([#2842](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2842)) +- Auto-update pre-commit hooks ([#2843](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2843)) +- Update isort to 5.5.3 ([#2844](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2844)) + ## [2020-09-18] ### Updated - Update django-extensions to 3.0.9 ([#2839](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2839)) From 762f3b3ae2526bfc8ad92413c4a14885ecf005d6 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 22 Sep 2020 02:49:28 -0700 Subject: [PATCH 1081/2840] Update sentry-sdk from 0.17.6 to 0.17.7 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 06731b0b2..07ff0c523 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.17.6 # https://github.com/getsentry/sentry-python +sentry-sdk==0.17.7 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From 1e924fac1696be524f3e1b3a11e9358199c8c543 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 24 Sep 2020 02:17:40 +0000 Subject: [PATCH 1082/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9feac1399..8efd5341a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-09-23] +### Updated +- Update sentry-sdk to 0.17.7 ([#2847](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2847)) +- Update django-debug-toolbar to 3.1 ([#2846](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2846)) + ## [2020-09-21] ### Changed - Adding GitHub-Action CI Option ([#2837](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2837)) From d5cb85ed9cb5416edc5b45fa1142d1369b8778b2 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 24 Sep 2020 10:22:21 -0700 Subject: [PATCH 1083/2840] Update django-debug-toolbar from 3.1 to 3.1.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 423ac3742..04aef19d1 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -39,7 +39,7 @@ pre-commit==2.7.1 # https://github.com/pre-commit/pre-commit # ------------------------------------------------------------------------------ factory-boy==3.0.1 # https://github.com/FactoryBoy/factory_boy -django-debug-toolbar==3.1 # https://github.com/jazzband/django-debug-toolbar +django-debug-toolbar==3.1.1 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.0.9 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==3.10.0 # https://github.com/pytest-dev/pytest-django From 3a32c3b7ce2028c274b08d95a98e3599fbcdb733 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 27 Sep 2020 07:41:24 -0700 Subject: [PATCH 1084/2840] Update pytest from 6.0.2 to 6.1.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 717b98263..4410bb3e3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ flake8-isort==4.0.0 # Testing # ------------------------------------------------------------------------------ tox==3.20.0 -pytest==6.0.2 +pytest==6.1.0 pytest-cookies==0.5.1 pytest-instafail==0.4.2 pyyaml==5.3.1 From 11afe7af59c3229e7e660791ceceb91f3eea51a1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 27 Sep 2020 07:41:24 -0700 Subject: [PATCH 1085/2840] Update pytest from 6.0.2 to 6.1.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 423ac3742..2f4e84b61 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -15,7 +15,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # ------------------------------------------------------------------------------ mypy==0.770 # https://github.com/python/mypy django-stubs==1.5.0 # https://github.com/typeddjango/django-stubs -pytest==6.0.2 # https://github.com/pytest-dev/pytest +pytest==6.1.0 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation From 6fb51ed49153725a80208f93e770f67089048985 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 28 Sep 2020 12:11:17 -0700 Subject: [PATCH 1086/2840] Update djangorestframework from 3.11.1 to 3.12.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index c858b7339..159a6bc64 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -40,6 +40,6 @@ django-compressor==2.4 # https://github.com/django-compressor/django-compressor django-redis==4.12.1 # https://github.com/jazzband/django-redis {%- if cookiecutter.use_drf == "y" %} # Django REST Framework -djangorestframework==3.11.1 # https://github.com/encode/django-rest-framework +djangorestframework==3.12.1 # https://github.com/encode/django-rest-framework django-cors-headers==3.5.0 # https://github.com/adamchainz/django-cors-headers {%- endif %} From ae346d4a6f1c4520260c1c26443ac3e7a3989c9a Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 29 Sep 2020 10:50:08 -0700 Subject: [PATCH 1087/2840] Update sentry-sdk from 0.17.7 to 0.18.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 07ff0c523..34308c0b2 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.17.7 # https://github.com/getsentry/sentry-python +sentry-sdk==0.18.0 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From cf26e2d73cacbe03cf7f00b5ae94bb11037eae27 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 30 Sep 2020 00:32:38 -0700 Subject: [PATCH 1088/2840] Update isort from 5.5.3 to 5.5.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 717b98263..c18e16faf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==20.8b1 -isort==5.5.3 +isort==5.5.4 flake8==3.8.3 flake8-isort==4.0.0 From 86e9a90d4ee11dd1756ad164da9de1b8c42d50a9 Mon Sep 17 00:00:00 2001 From: lcd1232 <8745863+lcd1232@users.noreply.github.com> Date: Wed, 30 Sep 2020 11:14:21 +0300 Subject: [PATCH 1089/2840] Add node to INTERNAL_IPS --- {{cookiecutter.project_slug}}/config/settings/local.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/{{cookiecutter.project_slug}}/config/settings/local.py b/{{cookiecutter.project_slug}}/config/settings/local.py index 21e6a8dfc..e7f8a2c1e 100644 --- a/{{cookiecutter.project_slug}}/config/settings/local.py +++ b/{{cookiecutter.project_slug}}/config/settings/local.py @@ -69,6 +69,8 @@ if env("USE_DOCKER") == "yes": hostname, _, ips = socket.gethostbyname_ex(socket.gethostname()) INTERNAL_IPS += [".".join(ip.split(".")[:-1] + ["1"]) for ip in ips] + _, _, ips = socket.gethostbyname_ex("node") + INTERNAL_IPS.extend(ips) {%- endif %} # django-extensions From 604325a1c6896f3767937919184d664f55ae3b3c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 30 Sep 2020 06:31:39 -0700 Subject: [PATCH 1090/2840] Update uvicorn from 0.11.8 to 0.12.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index c858b7339..0fc28d81c 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -24,7 +24,7 @@ flower==0.9.5 # https://github.com/mher/flower {%- endif %} {%- endif %} {%- if cookiecutter.use_async == 'y' %} -uvicorn==0.11.8 # https://github.com/encode/uvicorn +uvicorn==0.12.1 # https://github.com/encode/uvicorn {%- endif %} # Django From aa6fd5381394e4d4aa4fa6a0c1e74617561cc457 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 1 Oct 2020 00:27:34 +0000 Subject: [PATCH 1091/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index d995d5aa3..b8e3601f9 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.5.3 + rev: 5.5.4 hooks: - id: isort From da850d22170a67a67e570f9d63f654616e260c00 Mon Sep 17 00:00:00 2001 From: Daniel Feldroy Date: Wed, 30 Sep 2020 17:52:33 -0700 Subject: [PATCH 1092/2840] Update README.rst --- README.rst | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index ec663d3e1..64fc521f5 100644 --- a/README.rst +++ b/README.rst @@ -110,14 +110,15 @@ This project is run by volunteers. Please support them in their efforts to maint Projects that provide financial support to the maintainers: -Django Crash Course + + ~~~~~~~~~~~~~~~~~~~~~~~~~ -.. image:: https://cdn.shopify.com/s/files/1/0304/6901/files/Django-Crash-Course-300x436.jpg - :name: Django Crash Course: Covers Django 3.0 and Python 3.8 +.. image:: https://cdn.shopify.com/s/files/1/0304/6901/products/Two-Scoops-of-Django-3-Alpha-Cover_540x_26507b15-e489-470b-8a97-02773dd498d1_1080x.jpg + :name: Two Scoops of Django 3.x :align: center - :alt: Django Crash Course - :target: https://www.roygreenfeld.com/products/django-crash-course + :alt: Two Scoops of Django + :target: https://www.feldroy.com/products//two-scoops-of-django-3-x Django Crash Course for Django 3.0 and Python 3.8 is the best cheese-themed Django reference in the universe! From 1a701ed70f3275b282d8fc3a1d98fde36e4e35f5 Mon Sep 17 00:00:00 2001 From: Daniel Feldroy Date: Wed, 30 Sep 2020 17:53:04 -0700 Subject: [PATCH 1093/2840] Update README.rst --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 64fc521f5..f964635f9 100644 --- a/README.rst +++ b/README.rst @@ -120,7 +120,7 @@ Projects that provide financial support to the maintainers: :alt: Two Scoops of Django :target: https://www.feldroy.com/products//two-scoops-of-django-3-x -Django Crash Course for Django 3.0 and Python 3.8 is the best cheese-themed Django reference in the universe! +Two Scoops of Django 3.x is the best ice cream-themed Django reference in the universe! pyup ~~~~~~~~~~~~~~~~~~ From f98211ae4cb788a644de8211964add2e905099d2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Oct 2020 06:24:35 +0000 Subject: [PATCH 1094/2840] Bump actions/setup-python from v2.1.2 to v2.1.3 Bumps [actions/setup-python](https://github.com/actions/setup-python) from v2.1.2 to v2.1.3. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2.1.2...c181ffa198a1248f902bc2f7965d2f9a36c2d7f6) Signed-off-by: dependabot[bot] --- .github/workflows/pre-commit-autoupdate.yml | 2 +- .github/workflows/update-changelog.yml | 2 +- .github/workflows/update-contributors.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index f07d18033..99881a78b 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: actions/setup-python@v2.1.2 + - uses: actions/setup-python@v2.1.3 with: python-version: 3.8 diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index ef9263f31..ce9308555 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python - uses: actions/setup-python@v2.1.2 + uses: actions/setup-python@v2.1.3 with: python-version: "3.8" - name: Install dependencies diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index ba7fd74bc..0bbc9e0ce 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -13,7 +13,7 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python - uses: actions/setup-python@v2.1.2 + uses: actions/setup-python@v2.1.3 with: python-version: "3.8" - name: Install dependencies From 58c06e558fd6f455669d624c52bffd5ed16ff6f7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 1 Oct 2020 08:58:53 -0700 Subject: [PATCH 1095/2840] Update ipdb from 0.13.3 to 0.13.4 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 04aef19d1..ebc37fecb 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,7 +1,7 @@ -r base.txt Werkzeug==1.0.1 # https://github.com/pallets/werkzeug -ipdb==0.13.3 # https://github.com/gotcha/ipdb +ipdb==0.13.4 # https://github.com/gotcha/ipdb {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 {%- else %} From 4225c1b1ab6c4b366e6870635140e8af044847ea Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 1 Oct 2020 17:07:17 +0100 Subject: [PATCH 1096/2840] Bump mypy and django-stubs versions --- {{cookiecutter.project_slug}}/requirements/local.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5a38a4380..0fea0b2d3 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -13,8 +13,8 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # Testing # ------------------------------------------------------------------------------ -mypy==0.770 # https://github.com/python/mypy -django-stubs==1.5.0 # https://github.com/typeddjango/django-stubs +mypy==0.782 # https://github.com/python/mypy +django-stubs==1.6.0 # https://github.com/typeddjango/django-stubs pytest==6.1.0 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar From a9482aec2c0a593a24c82daea04391a7e03a323f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 1 Oct 2020 18:15:48 +0100 Subject: [PATCH 1097/2840] Remove placeholders title from issue templates We had a few reports where the title was missing recently --- .github/ISSUE_TEMPLATE/bug.md | 1 - .github/ISSUE_TEMPLATE/feature.md | 1 - .github/ISSUE_TEMPLATE/paid-support.md | 4 ---- .github/ISSUE_TEMPLATE/question.md | 1 - 4 files changed, 7 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md index b2b577f57..757b5990f 100644 --- a/.github/ISSUE_TEMPLATE/bug.md +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -1,7 +1,6 @@ --- name: Bug Report about: Report a bug -title: '[bug]' labels: bug --- diff --git a/.github/ISSUE_TEMPLATE/feature.md b/.github/ISSUE_TEMPLATE/feature.md index 8cc8141aa..ab719770c 100644 --- a/.github/ISSUE_TEMPLATE/feature.md +++ b/.github/ISSUE_TEMPLATE/feature.md @@ -1,7 +1,6 @@ --- name: New Feature Proposal about: Propose a new feature -title: '[feature request]' labels: enhancement --- diff --git a/.github/ISSUE_TEMPLATE/paid-support.md b/.github/ISSUE_TEMPLATE/paid-support.md index e553329f6..7ebc06476 100644 --- a/.github/ISSUE_TEMPLATE/paid-support.md +++ b/.github/ISSUE_TEMPLATE/paid-support.md @@ -1,10 +1,6 @@ --- name: Paid Support Request about: Ask Core Team members to help you out -title: '' -labels: '' -assignees: '' - --- Provided your question goes beyond [regular support](https://github.com/pydanny/cookiecutter-django/issues/new?template=question.md), and/or the task at hand is of timely/high priority nature use the below information to reach out for contributors directly. diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md index f24e413f1..9d609eb98 100644 --- a/.github/ISSUE_TEMPLATE/question.md +++ b/.github/ISSUE_TEMPLATE/question.md @@ -1,7 +1,6 @@ --- name: Question about: Please consider asking your question on StackOverflow or Slack -title: '[question]' labels: question --- From 6c22376f8eed454110f63b1f846bc29d2943bf86 Mon Sep 17 00:00:00 2001 From: Daniel Feldroy Date: Thu, 1 Oct 2020 11:13:24 -0700 Subject: [PATCH 1098/2840] Update FUNDING.yml --- .github/FUNDING.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index c66e6bc7c..ced9c732b 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,7 +1,7 @@ # These are supported funding model platforms github: [pydanny, browniebroke] -patreon: roygreenfeld +patreon: feldroy open_collective: # Replace with a single Open Collective username ko_fi: # Replace with a single Ko-fi username tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel From 689c768abf890e54622c67566b31ab6650fb24d7 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 1 Oct 2020 19:16:22 +0100 Subject: [PATCH 1099/2840] Fix mypy error users/tests/test_views.py:67: error: unused 'type: ignore' comment --- .../{{cookiecutter.project_slug}}/users/tests/test_views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py index 18b8da7a6..3638c8f63 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py @@ -64,7 +64,7 @@ class TestUserDetailView: def test_not_authenticated(self, user: User, rf: RequestFactory): request = rf.get("/fake-url/") - request.user = AnonymousUser() # type: ignore + request.user = AnonymousUser() response = user_detail_view(request, username=user.username) From 26f2a3d7bab30b221780b941cbe0ca97d7ad1207 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 1 Oct 2020 20:01:26 +0100 Subject: [PATCH 1100/2840] Fix mypy error my_awesome_project/users/admin.py:15: error: No overload variant of "__add__" of "tuple" matches argument type "List[Tuple[Optional[str], _FieldOpts]]" my_awesome_project/users/admin.py:15: note: Possible overload variants: my_awesome_project/users/admin.py:15: note: def __add__(self, Tuple[Tuple[str, Dict[str, Tuple[str]]], ...]) -> Tuple[Tuple[str, Dict[str, Tuple[str]]], ...] my_awesome_project/users/admin.py:15: note: def __add__(self, Tuple[Any, ...]) -> Tuple[Any, ...] my_awesome_project/users/admin.py:15: note: Right operand is of type "Union[Tuple[Tuple[Optional[str], _FieldOpts], ...], List[Tuple[Optional[str], _FieldOpts]]]" --- .../{{cookiecutter.project_slug}}/users/admin.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/admin.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/admin.py index cc6efed5f..a68a94a95 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/admin.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/admin.py @@ -12,6 +12,8 @@ class UserAdmin(auth_admin.UserAdmin): form = UserChangeForm add_form = UserCreationForm - fieldsets = (("User", {"fields": ("name",)}),) + auth_admin.UserAdmin.fieldsets + fieldsets = (("User", {"fields": ("name",)}),) + tuple( + auth_admin.UserAdmin.fieldsets + ) list_display = ["username", "name", "is_superuser"] search_fields = ["name"] From 77b1d06e8741aebd1bca36a79c645910b6f05b05 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 2 Oct 2020 02:18:14 +0000 Subject: [PATCH 1101/2840] Update Changelog --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8efd5341a..8b25f9d9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,19 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-10-01] +### Changed +- Bump actions/setup-python from v2.1.2 to v2.1.3 ([#2869](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2869)) +### Updated +- Update ipdb to 0.13.4 ([#2873](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2873)) +- Auto-update pre-commit hooks ([#2867](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2867)) +- Update uvicorn to 0.12.1 ([#2866](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2866)) +- Update isort to 5.5.4 ([#2864](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2864)) +- Update sentry-sdk to 0.18.0 ([#2863](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2863)) +- Update djangorestframework to 3.12.1 ([#2862](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2862)) +- Update pytest to 6.1.0 ([#2859](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2859)) +- Update django-debug-toolbar to 3.1.1 ([#2855](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2855)) + ## [2020-09-23] ### Updated - Update sentry-sdk to 0.17.7 ([#2847](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2847)) From f1e87f264dca62e76f869dd29a70be6082252b3e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 3 Oct 2020 00:26:55 +0000 Subject: [PATCH 1102/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index b8e3601f9..d341c129a 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -21,7 +21,7 @@ repos: - id: isort - repo: https://gitlab.com/pycqa/flake8 - rev: 3.8.3 + rev: 3.8.4 hooks: - id: flake8 args: ['--config=setup.cfg'] From 25f722d41814ab7409e604310d26c7a49bd13df9 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 2 Oct 2020 17:27:04 -0700 Subject: [PATCH 1103/2840] Update flake8 from 3.8.3 to 3.8.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 22fabb175..34a7171d2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ binaryornot==0.4.4 # ------------------------------------------------------------------------------ black==20.8b1 isort==5.5.4 -flake8==3.8.3 +flake8==3.8.4 flake8-isort==4.0.0 # Testing From 42b41b7215dcb01cba301279c43bd32048640f02 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 2 Oct 2020 17:27:05 -0700 Subject: [PATCH 1104/2840] Update flake8 from 3.8.3 to 3.8.4 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 0b6308ea4..d8f164dee 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -25,7 +25,7 @@ sphinx-autobuild==2020.9.1 # https://github.com/GaretJax/sphinx-autobuild # Code quality # ------------------------------------------------------------------------------ -flake8==3.8.3 # https://github.com/PyCQA/flake8 +flake8==3.8.4 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.3 # https://github.com/nedbat/coveragepy black==20.8b1 # https://github.com/ambv/black From efeba02853449c8a1a4b6814abc1361d7d3e4ea9 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 4 Oct 2020 06:03:31 -0700 Subject: [PATCH 1105/2840] Update pytest from 6.1.0 to 6.1.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 34a7171d2..4dd32a391 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ flake8-isort==4.0.0 # Testing # ------------------------------------------------------------------------------ tox==3.20.0 -pytest==6.1.0 +pytest==6.1.1 pytest-cookies==0.5.1 pytest-instafail==0.4.2 pyyaml==5.3.1 From 6e3f6acf075984cff09b31a690613c801700490c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 4 Oct 2020 06:03:31 -0700 Subject: [PATCH 1106/2840] Update pytest from 6.1.0 to 6.1.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 11ff8703e..1b5467e69 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -15,7 +15,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # ------------------------------------------------------------------------------ mypy==0.782 # https://github.com/python/mypy django-stubs==1.6.0 # https://github.com/typeddjango/django-stubs -pytest==6.1.0 # https://github.com/pytest-dev/pytest +pytest==6.1.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation From d4d1f0c43dd89ecc295be75b078e093bf5bf2f92 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 4 Oct 2020 15:48:52 +0100 Subject: [PATCH 1107/2840] Test extended Docker with Gulp --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 6039075a0..bfd008e77 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,7 +18,7 @@ matrix: - name: Basic Docker script: sh tests/test_docker.sh - name: Extended Docker - script: sh tests/test_docker.sh use_celery=y use_drf=y + script: sh tests/test_docker.sh use_celery=y use_drf=y js_task_runner=Gulp - name: Bare metal script: sh tests/test_bare.sh use_celery=y use_compressor=y services: From f7bba4401538d8e2dfe67d33e8510dab5fb7b6f8 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 4 Oct 2020 15:56:17 +0100 Subject: [PATCH 1108/2840] Print commands in bash script --- tests/test_bare.sh | 1 + tests/test_docker.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/tests/test_bare.sh b/tests/test_bare.sh index cc1f1c36e..61a66239c 100755 --- a/tests/test_bare.sh +++ b/tests/test_bare.sh @@ -4,6 +4,7 @@ # sh tests/test_bare.sh set -o errexit +set -x # Install modern pip to use new resolver: # https://blog.python.org/2020/07/upgrade-pip-20-2-changes-20-3.html diff --git a/tests/test_docker.sh b/tests/test_docker.sh index 55771c14c..740f8fc22 100755 --- a/tests/test_docker.sh +++ b/tests/test_docker.sh @@ -4,6 +4,7 @@ # sh tests/test_docker.sh set -o errexit +set -x # install test requirements pip install -r requirements.txt From f5bfa97f6ea0b79229c96fc28c740834e0c0f538 Mon Sep 17 00:00:00 2001 From: lcd1232 <8745863+lcd1232@users.noreply.github.com> Date: Sun, 4 Oct 2020 19:31:09 +0300 Subject: [PATCH 1109/2840] Update {{cookiecutter.project_slug}}/config/settings/local.py Co-authored-by: Bruno Alla --- {{cookiecutter.project_slug}}/config/settings/local.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/{{cookiecutter.project_slug}}/config/settings/local.py b/{{cookiecutter.project_slug}}/config/settings/local.py index e7f8a2c1e..c69042d53 100644 --- a/{{cookiecutter.project_slug}}/config/settings/local.py +++ b/{{cookiecutter.project_slug}}/config/settings/local.py @@ -69,8 +69,10 @@ if env("USE_DOCKER") == "yes": hostname, _, ips = socket.gethostbyname_ex(socket.gethostname()) INTERNAL_IPS += [".".join(ip.split(".")[:-1] + ["1"]) for ip in ips] + {%- if cookiecutter.js_task_runner == 'Gulp' %} _, _, ips = socket.gethostbyname_ex("node") INTERNAL_IPS.extend(ips) + {%- endif %} {%- endif %} # django-extensions From 88b841715623d94bb709aaf1a9722b8a135a2de2 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 5 Oct 2020 02:18:23 +0000 Subject: [PATCH 1110/2840] Update Changelog --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b25f9d9e..f4b064ec4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,13 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-10-04] +### Updated +- Update pytest to 6.1.1 ([#2880](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2880)) +- Update mypy and django-stubs ([#2874](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2874)) +- Auto-update pre-commit hooks ([#2876](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2876)) +- Update flake8 to 3.8.4 ([#2877](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2877)) + ## [2020-10-01] ### Changed - Bump actions/setup-python from v2.1.2 to v2.1.3 ([#2869](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2869)) From 7be855975b65ef55671d3ed2fece6391917416d2 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Wed, 7 Oct 2020 12:33:00 -0400 Subject: [PATCH 1111/2840] Add dedicated websockets package Ref: https://github.com/encode/uvicorn/issues/797 There used to be a package automatically installed; not anymore I guess. This came from a separate package and not cookiecutter-django, but the installation was similar. --- {{cookiecutter.project_slug}}/requirements/base.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 0ea589517..049d7b36d 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -25,6 +25,7 @@ flower==0.9.5 # https://github.com/mher/flower {%- endif %} {%- if cookiecutter.use_async == 'y' %} uvicorn==0.12.1 # https://github.com/encode/uvicorn +wsproto==0.15.0 # https://github.com/python-hyper/wsproto/ {%- endif %} # Django From c1af517776c22bd7c5460e635d31e8b48467724b Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 8 Oct 2020 00:48:55 -0700 Subject: [PATCH 1112/2840] Update isort from 5.5.4 to 5.6.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 4dd32a391..38913c322 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==20.8b1 -isort==5.5.4 +isort==5.6.0 flake8==3.8.4 flake8-isort==4.0.0 From dd0e03d2fbc8606108a4b569d4ece016a96efe55 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 8 Oct 2020 08:18:42 -0700 Subject: [PATCH 1113/2840] Update isort from 5.6.0 to 5.6.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 38913c322..7ba0da23a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==20.8b1 -isort==5.6.0 +isort==5.6.1 flake8==3.8.4 flake8-isort==4.0.0 From 90a0b16ae4c318939aa13a971d0bd7dafce22eea Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 9 Oct 2020 00:27:59 +0000 Subject: [PATCH 1114/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index d341c129a..ea21f6a34 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.5.4 + rev: 5.6.1 hooks: - id: isort From d8e62229b60f010a8a346b190c5a8ff7d3b5b3af Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 9 Oct 2020 02:18:57 +0000 Subject: [PATCH 1115/2840] Update Changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4b064ec4..5d868da2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-10-08] +### Changed +- Add dedicated websockets package ([#2881](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2881)) +### Updated +- Update isort to 5.6.0 ([#2882](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2882)) + ## [2020-10-04] ### Updated - Update pytest to 6.1.1 ([#2880](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2880)) From 7a29a427b4880bf8abab7d1f81a554e24ac9e9a1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 9 Oct 2020 01:16:19 -0700 Subject: [PATCH 1116/2840] Update tox from 3.20.0 to 3.20.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7ba0da23a..70c4e049d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8-isort==4.0.0 # Testing # ------------------------------------------------------------------------------ -tox==3.20.0 +tox==3.20.1 pytest==6.1.1 pytest-cookies==0.5.1 pytest-instafail==0.4.2 From 21c69c7d454f5ea4d7aaf218d7e7e27a7f626c51 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 9 Oct 2020 12:09:05 -0700 Subject: [PATCH 1117/2840] Update mypy from 0.782 to 0.790 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 1b5467e69..27e0ea7a0 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -13,7 +13,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # Testing # ------------------------------------------------------------------------------ -mypy==0.782 # https://github.com/python/mypy +mypy==0.790 # https://github.com/python/mypy django-stubs==1.6.0 # https://github.com/typeddjango/django-stubs pytest==6.1.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar From 44689a8be620b48f16e49afcbd4a019102bb6785 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 9 Oct 2020 13:10:56 -0700 Subject: [PATCH 1118/2840] Update django-anymail from 8.0 to 8.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 34308c0b2..da5fbdb29 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -22,7 +22,7 @@ django-storages[boto3]==1.10.1 # https://github.com/jschneier/django-storages django-storages[google]==1.10.1 # https://github.com/jschneier/django-storages {%- endif %} {%- if cookiecutter.mail_service == 'Mailgun' %} -django-anymail[mailgun]==8.0 # https://github.com/anymail/django-anymail +django-anymail[mailgun]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Amazon SES' %} django-anymail[amazon_ses]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} From be74011ba58eeb54f9edaa8b800816b1f9a4c4f1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 9 Oct 2020 13:10:57 -0700 Subject: [PATCH 1119/2840] Update django-anymail from 8.0 to 8.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index da5fbdb29..29fa37b85 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -24,7 +24,7 @@ django-storages[google]==1.10.1 # https://github.com/jschneier/django-storages {%- if cookiecutter.mail_service == 'Mailgun' %} django-anymail[mailgun]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Amazon SES' %} -django-anymail[amazon_ses]==8.0 # https://github.com/anymail/django-anymail +django-anymail[amazon_ses]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} django-anymail[mailjet]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} From dee930cad5fbf01bb76255f049c3fc986d27154d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 9 Oct 2020 13:10:58 -0700 Subject: [PATCH 1120/2840] Update django-anymail from 8.0 to 8.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 29fa37b85..93270d1a9 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -26,7 +26,7 @@ django-anymail[mailgun]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Amazon SES' %} django-anymail[amazon_ses]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} -django-anymail[mailjet]==8.0 # https://github.com/anymail/django-anymail +django-anymail[mailjet]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} django-anymail[mandrill]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} From d0d50fe800cc0bf01ed7738fc48a4eba3c554d1e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 9 Oct 2020 13:10:58 -0700 Subject: [PATCH 1121/2840] Update django-anymail from 8.0 to 8.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 93270d1a9..526f00734 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -28,7 +28,7 @@ django-anymail[amazon_ses]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} django-anymail[mailjet]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} -django-anymail[mandrill]==8.0 # https://github.com/anymail/django-anymail +django-anymail[mandrill]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} django-anymail[postmark]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} From fa2f09f27d37bc1791d8f26f74b533df615be3fd Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 9 Oct 2020 13:10:59 -0700 Subject: [PATCH 1122/2840] Update django-anymail from 8.0 to 8.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 526f00734..4a853240b 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -30,7 +30,7 @@ django-anymail[mailjet]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} django-anymail[mandrill]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} -django-anymail[postmark]==8.0 # https://github.com/anymail/django-anymail +django-anymail[postmark]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} django-anymail[sendgrid]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} From ae526ad8dfc9b8b7d883bcf0083c7805108d236e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 9 Oct 2020 13:11:00 -0700 Subject: [PATCH 1123/2840] Update django-anymail from 8.0 to 8.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 4a853240b..bd8508ac9 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -32,7 +32,7 @@ django-anymail[mandrill]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} django-anymail[postmark]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} -django-anymail[sendgrid]==8.0 # https://github.com/anymail/django-anymail +django-anymail[sendgrid]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} django-anymail[sendinblue]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} From edd29c3982c50d5c3556162ccf8c9fe9820fb6e6 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 9 Oct 2020 13:11:01 -0700 Subject: [PATCH 1124/2840] Update django-anymail from 8.0 to 8.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index bd8508ac9..50e17d8c5 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -34,7 +34,7 @@ django-anymail[postmark]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} django-anymail[sendgrid]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} -django-anymail[sendinblue]==8.0 # https://github.com/anymail/django-anymail +django-anymail[sendinblue]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} django-anymail[sparkpost]==8.0 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Other SMTP' %} From 55a6674d0c583b551ca8acc02d9d5dda97ccb1f9 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 9 Oct 2020 13:11:02 -0700 Subject: [PATCH 1125/2840] Update django-anymail from 8.0 to 8.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 50e17d8c5..4461d666c 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -36,7 +36,7 @@ django-anymail[sendgrid]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} django-anymail[sendinblue]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} -django-anymail[sparkpost]==8.0 # https://github.com/anymail/django-anymail +django-anymail[sparkpost]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Other SMTP' %} django-anymail==8.0 # https://github.com/anymail/django-anymail {%- endif %} From e043af811a4f3cb6f9d55518f28c001d404e3885 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 9 Oct 2020 13:11:03 -0700 Subject: [PATCH 1126/2840] Update django-anymail from 8.0 to 8.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 4461d666c..8ad3a42c5 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -38,5 +38,5 @@ django-anymail[sendinblue]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} django-anymail[sparkpost]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Other SMTP' %} -django-anymail==8.0 # https://github.com/anymail/django-anymail +django-anymail==8.1 # https://github.com/anymail/django-anymail {%- endif %} From 53a112b6e40223a702841dc8bc7142c1a64e52be Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 10 Oct 2020 02:19:04 +0000 Subject: [PATCH 1127/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d868da2f..467503da5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-10-09] +### Updated +- Auto-update pre-commit hooks ([#2884](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2884)) +- Update isort to 5.6.1 ([#2883](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2883)) + ## [2020-10-08] ### Changed - Add dedicated websockets package ([#2881](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2881)) From 8faa1e478bebcde70b8ec062d67e7d5f98fcd60d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 11 Oct 2020 00:29:47 +0000 Subject: [PATCH 1128/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index ea21f6a34..8e1b7efb2 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.6.1 + rev: 5.6.2 hooks: - id: isort From 5e03f51c5c9b03e48ddf25cc76727c4a30c183b6 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 11 Oct 2020 03:05:35 -0700 Subject: [PATCH 1129/2840] Update isort from 5.6.1 to 5.6.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7ba0da23a..2b2f16bb2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==20.8b1 -isort==5.6.1 +isort==5.6.3 flake8==3.8.4 flake8-isort==4.0.0 From 62b20fd9068613775fe06a96bcb8a4832129d45e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2020 00:29:27 +0000 Subject: [PATCH 1130/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 8e1b7efb2..61534c5a1 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.6.2 + rev: 5.6.3 hooks: - id: isort From ea0856f52f8d2e3165cb2810a584e86d1fda350a Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 12 Oct 2020 02:19:53 +0000 Subject: [PATCH 1131/2840] Update Changelog --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 467503da5..a04ec5eeb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,13 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-10-11] +### Updated +- Auto-update pre-commit hooks ([#2890](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2890)) +- Update isort to 5.6.3 ([#2891](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2891)) +- Update django-anymail to 8.1 ([#2887](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2887)) +- Update tox to 3.20.1 ([#2885](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2885)) + ## [2020-10-09] ### Updated - Auto-update pre-commit hooks ([#2884](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2884)) From 2b5b5a8fb6ca403af2f83eb6710b508dc10c18fe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2020 06:52:07 +0000 Subject: [PATCH 1132/2840] Bump stefanzweifel/git-auto-commit-action from v4.5.1 to v4.6.0 Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from v4.5.1 to v4.6.0. - [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases) - [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.5.1...5c9bfe7477fd67ca1ffc9fed4a69fb7a6a46dcfe) Signed-off-by: dependabot[bot] --- .github/workflows/update-changelog.yml | 2 +- .github/workflows/update-contributors.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index ce9308555..eded07068 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -28,7 +28,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.5.1 + uses: stefanzweifel/git-auto-commit-action@v4.6.0 with: commit_message: Update Changelog file_pattern: CHANGELOG.md diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index 0bbc9e0ce..20a8c75c7 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -24,7 +24,7 @@ jobs: run: python scripts/update_contributors.py - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.5.1 + uses: stefanzweifel/git-auto-commit-action@v4.6.0 with: commit_message: Update Contributors file_pattern: CONTRIBUTORS.md .github/contributors.json From 5cc1cb2039e5b51484df42cf04628f78d24d02d8 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 13 Oct 2020 02:19:53 +0000 Subject: [PATCH 1133/2840] Update Changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a04ec5eeb..4e8480fc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-10-12] +### Changed +- Bump stefanzweifel/git-auto-commit-action from v4.5.1 to v4.6.0 ([#2893](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2893)) +### Updated +- Auto-update pre-commit hooks ([#2892](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2892)) + ## [2020-10-11] ### Updated - Auto-update pre-commit hooks ([#2890](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2890)) From 8141e29284a1ce9cb2bbe9520d4bcb918bf4bcb0 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 13 Oct 2020 02:35:34 -0700 Subject: [PATCH 1134/2840] Update isort from 5.6.3 to 5.6.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 711c4e54c..6c04acb98 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==20.8b1 -isort==5.6.3 +isort==5.6.4 flake8==3.8.4 flake8-isort==4.0.0 From acaeb0d95073b0aa34a49582320e168da82c6a55 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 13 Oct 2020 05:31:37 -0700 Subject: [PATCH 1135/2840] Update sentry-sdk from 0.18.0 to 0.19.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 8ad3a42c5..bb516624f 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.18.0 # https://github.com/getsentry/sentry-python +sentry-sdk==0.19.0 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From a26d57a6e767f45d071a39890d922665e8aa24c5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 14 Oct 2020 00:29:18 +0000 Subject: [PATCH 1136/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 61534c5a1..5dc5c1c45 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.6.3 + rev: 5.6.4 hooks: - id: isort From fdce700634dff192656bf0516a596096f91f4815 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 14 Oct 2020 02:20:15 +0000 Subject: [PATCH 1137/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e8480fc7..1727ce13d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-10-13] +### Updated +- Update isort to 5.6.4 ([#2895](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2895)) + ## [2020-10-12] ### Changed - Bump stefanzweifel/git-auto-commit-action from v4.5.1 to v4.6.0 ([#2893](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2893)) From 4e6cc3ca6012ffeccf4895c2381e2a60976804ce Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 14 Oct 2020 15:58:12 -0700 Subject: [PATCH 1138/2840] Update pillow from 7.2.0 to 8.0.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 049d7b36d..e3fe6b541 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,6 +1,6 @@ pytz==2020.1 # https://github.com/stub42/pytz python-slugify==4.0.1 # https://github.com/un33k/python-slugify -Pillow==7.2.0 # https://github.com/python-pillow/Pillow +Pillow==8.0.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} {%- if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} rcssmin==1.0.6 --install-option="--without-c-extensions" # https://github.com/ndparker/rcssmin From 19ebbed30a4384b2d80932ceb9801ee5d973cf2d Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 15 Oct 2020 02:20:03 +0000 Subject: [PATCH 1139/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1727ce13d..6b7e3391a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-10-14] +### Updated +- Auto-update pre-commit hooks ([#2897](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2897)) +- Update sentry-sdk to 0.19.0 ([#2896](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2896)) + ## [2020-10-13] ### Updated - Update isort to 5.6.4 ([#2895](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2895)) From 7223ab50658024ec821c3c0f60c9bdf9b2fa66ad Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 15 Oct 2020 12:58:21 +0100 Subject: [PATCH 1140/2840] Pin official GH actions to the major digit --- .github/workflows/pre-commit-autoupdate.yml | 2 +- .github/workflows/update-changelog.yml | 4 ++-- .github/workflows/update-contributors.yml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index 99881a78b..9937cdebc 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: actions/setup-python@v2.1.3 + - uses: actions/setup-python@v2 with: python-version: 3.8 diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index eded07068..b6e2f4bee 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -15,9 +15,9 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python - uses: actions/setup-python@v2.1.3 + uses: actions/setup-python@v2 with: - python-version: "3.8" + python-version: 3.8 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index 20a8c75c7..f3999157d 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -13,9 +13,9 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python - uses: actions/setup-python@v2.1.3 + uses: actions/setup-python@v2 with: - python-version: "3.8" + python-version: 3.8 - name: Install dependencies run: | python -m pip install --upgrade pip From 4ecc00ea6cdd90b55b49b3d77ad6866c36d070d5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 15 Oct 2020 12:30:53 -0700 Subject: [PATCH 1141/2840] Update django-allauth from 0.42.0 to 0.43.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index e3fe6b541..e0045f418 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -33,7 +33,7 @@ wsproto==0.15.0 # https://github.com/python-hyper/wsproto/ django==3.0.10 # pyup: < 3.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils -django-allauth==0.42.0 # https://github.com/pennersr/django-allauth +django-allauth==0.43.0 # https://github.com/pennersr/django-allauth django-crispy-forms==1.9.2 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.4 # https://github.com/django-compressor/django-compressor From 520dcfef36f855071d4082c66a19876fb45ae0b0 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 16 Oct 2020 02:19:55 +0000 Subject: [PATCH 1142/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b7e3391a..5a7774072 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-10-15] +### Updated +- Update pillow to 8.0.0 ([#2898](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2898)) + ## [2020-10-14] ### Updated - Auto-update pre-commit hooks ([#2897](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2897)) From 58b0359af6458a6b2b4ddf6c16b23cb952bf6630 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 16 Oct 2020 10:36:51 -0700 Subject: [PATCH 1143/2840] Update pytest-django from 3.10.0 to 4.0.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 1b5467e69..5aaf740b5 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -42,4 +42,4 @@ factory-boy==3.0.1 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==3.1.1 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.0.9 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin -pytest-django==3.10.0 # https://github.com/pytest-dev/pytest-django +pytest-django==4.0.0 # https://github.com/pytest-dev/pytest-django From 27b005202ddd3480d9d50c3f05dce79190a8ca50 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 18 Oct 2020 02:19:43 +0000 Subject: [PATCH 1144/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a7774072..700f3c691 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-10-17] +### Updated +- Update django-allauth to 0.43.0 ([#2901](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2901)) +- Update pytest-django to 4.0.0 ([#2903](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2903)) + ## [2020-10-15] ### Updated - Update pillow to 8.0.0 ([#2898](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2898)) From 3d87a420550f75370db3699f209addd890a04cb5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 19 Oct 2020 03:32:37 -0700 Subject: [PATCH 1145/2840] Update sentry-sdk from 0.19.0 to 0.19.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index bb516624f..58714e5ca 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.19.0 # https://github.com/getsentry/sentry-python +sentry-sdk==0.19.1 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From 81c9a4a76ac2c201fa81393d89f70726bad76e88 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 19 Oct 2020 09:13:14 -0700 Subject: [PATCH 1146/2840] Update uvicorn from 0.12.1 to 0.12.2 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index e0045f418..08f8894c2 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -24,7 +24,7 @@ flower==0.9.5 # https://github.com/mher/flower {%- endif %} {%- endif %} {%- if cookiecutter.use_async == 'y' %} -uvicorn==0.12.1 # https://github.com/encode/uvicorn +uvicorn==0.12.2 # https://github.com/encode/uvicorn wsproto==0.15.0 # https://github.com/python-hyper/wsproto/ {%- endif %} From 4b97071cfe83c6ef48b5c383b14b8bbbe15c0cb4 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 20 Oct 2020 02:19:25 +0000 Subject: [PATCH 1147/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 700f3c691..ccb84bd81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-10-19] +### Updated +- Update sentry-sdk to 0.19.1 ([#2905](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2905)) + ## [2020-10-17] ### Updated - Update django-allauth to 0.43.0 ([#2901](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2901)) From 8e229ce0e02f7c15fb1fb9760a38adb2b82b6dc7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 19 Oct 2020 23:39:07 -0700 Subject: [PATCH 1148/2840] Update django-celery-beat from 2.0.0 to 2.1.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index e0045f418..90661fd83 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -18,7 +18,7 @@ hiredis==1.1.0 # https://github.com/redis/hiredis-py {%- endif %} {%- if cookiecutter.use_celery == "y" %} celery==4.4.6 # pyup: < 5.0,!=4.4.7 # https://github.com/celery/celery -django-celery-beat==2.0.0 # https://github.com/celery/django-celery-beat +django-celery-beat==2.1.0 # https://github.com/celery/django-celery-beat {%- if cookiecutter.use_docker == 'y' %} flower==0.9.5 # https://github.com/mher/flower {%- endif %} From eb400e498034ec1fcb3d8eb8167851588d9cc1ec Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 22 Oct 2020 15:52:32 -0700 Subject: [PATCH 1149/2840] Update pillow from 8.0.0 to 8.0.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index e0045f418..a0dc1aa98 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,6 +1,6 @@ pytz==2020.1 # https://github.com/stub42/pytz python-slugify==4.0.1 # https://github.com/un33k/python-slugify -Pillow==8.0.0 # https://github.com/python-pillow/Pillow +Pillow==8.0.1 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} {%- if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} rcssmin==1.0.6 --install-option="--without-c-extensions" # https://github.com/ndparker/rcssmin From edbc4d3a8c248ab802a34774ddc1c356a5687c35 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 22 Oct 2020 15:52:35 -0700 Subject: [PATCH 1150/2840] Update pytest-django from 4.0.0 to 4.1.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5aaf740b5..e5d579325 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -42,4 +42,4 @@ factory-boy==3.0.1 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==3.1.1 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.0.9 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin -pytest-django==4.0.0 # https://github.com/pytest-dev/pytest-django +pytest-django==4.1.0 # https://github.com/pytest-dev/pytest-django From f2d289588ba1bbe1caf9edfe0e9a7349240dd557 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 24 Oct 2020 11:04:52 -0700 Subject: [PATCH 1151/2840] Update sh from 1.14.0 to 1.14.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6c04acb98..b53316a3b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ cookiecutter==1.7.2 -sh==1.14.0 +sh==1.14.1 binaryornot==0.4.4 # Code quality From 2b3cd5178935a0534e5e6a8c82d8c5385b1e7b66 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Oct 2020 07:10:28 +0000 Subject: [PATCH 1152/2840] Bump stefanzweifel/git-auto-commit-action from v4.6.0 to v4.7.2 Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from v4.6.0 to v4.7.2. - [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases) - [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.6.0...bbd291750d2526367d915d5197485331dc2d8dc7) Signed-off-by: dependabot[bot] --- .github/workflows/update-changelog.yml | 2 +- .github/workflows/update-contributors.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index b6e2f4bee..0c72c7819 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -28,7 +28,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.6.0 + uses: stefanzweifel/git-auto-commit-action@v4.7.2 with: commit_message: Update Changelog file_pattern: CHANGELOG.md diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index f3999157d..4ce1c76f1 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -24,7 +24,7 @@ jobs: run: python scripts/update_contributors.py - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.6.0 + uses: stefanzweifel/git-auto-commit-action@v4.7.2 with: commit_message: Update Contributors file_pattern: CONTRIBUTORS.md .github/contributors.json From 9c0f056817bf51b975e3264dbbed12e3af36324c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 28 Oct 2020 02:10:16 -0700 Subject: [PATCH 1153/2840] Update django-stubs from 1.6.0 to 1.7.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5aaf740b5..5ca2dcdc6 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -14,7 +14,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # Testing # ------------------------------------------------------------------------------ mypy==0.782 # https://github.com/python/mypy -django-stubs==1.6.0 # https://github.com/typeddjango/django-stubs +django-stubs==1.7.0 # https://github.com/typeddjango/django-stubs pytest==6.1.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar From 21d8bf5fc3b39a4cd723c526b197e123244581fe Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 28 Oct 2020 23:59:02 -0700 Subject: [PATCH 1154/2840] Update pytest from 6.1.1 to 6.1.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6c04acb98..beb028244 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ flake8-isort==4.0.0 # Testing # ------------------------------------------------------------------------------ tox==3.20.1 -pytest==6.1.1 +pytest==6.1.2 pytest-cookies==0.5.1 pytest-instafail==0.4.2 pyyaml==5.3.1 From 5224641a16797cfb469416f5e96c82612a11239c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 28 Oct 2020 23:59:03 -0700 Subject: [PATCH 1155/2840] Update pytest from 6.1.1 to 6.1.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5aaf740b5..be0063ee8 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -15,7 +15,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # ------------------------------------------------------------------------------ mypy==0.782 # https://github.com/python/mypy django-stubs==1.6.0 # https://github.com/typeddjango/django-stubs -pytest==6.1.1 # https://github.com/pytest-dev/pytest +pytest==6.1.2 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation From b14a033c8b295dd15085025beebb91a5710ff31f Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 30 Oct 2020 15:44:46 -0700 Subject: [PATCH 1156/2840] Update pre-commit from 2.7.1 to 2.8.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5aaf740b5..17d28c4dc 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -33,7 +33,7 @@ pylint-django==2.3.0 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.7.1 # https://github.com/pre-commit/pre-commit +pre-commit==2.8.2 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From b86ede6079abeb7adf228b5191526dd38807ae96 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 2 Nov 2020 06:37:16 -0800 Subject: [PATCH 1157/2840] Update pytz from 2020.1 to 2020.4 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index e0045f418..8dcf820fb 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,4 +1,4 @@ -pytz==2020.1 # https://github.com/stub42/pytz +pytz==2020.4 # https://github.com/stub42/pytz python-slugify==4.0.1 # https://github.com/un33k/python-slugify Pillow==8.0.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} From 510ba4ca8a0e2e0537689d9260e61b98afa0abf5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 2 Nov 2020 06:37:19 -0800 Subject: [PATCH 1158/2840] Update django from 3.0.10 to 3.0.11 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index e0045f418..39b3fc2a7 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -30,7 +30,7 @@ wsproto==0.15.0 # https://github.com/python-hyper/wsproto/ # Django # ------------------------------------------------------------------------------ -django==3.0.10 # pyup: < 3.1 # https://www.djangoproject.com/ +django==3.0.11 # pyup: < 3.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils django-allauth==0.43.0 # https://github.com/pennersr/django-allauth From 2bd2e4a8fccb6265be6978e4d27831beeab52009 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 2 Nov 2020 06:37:22 -0800 Subject: [PATCH 1159/2840] Update sphinx from 3.2.1 to 3.3.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5aaf740b5..7cce652cc 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation # ------------------------------------------------------------------------------ -sphinx==3.2.1 # https://github.com/sphinx-doc/sphinx +sphinx==3.3.0 # https://github.com/sphinx-doc/sphinx sphinx-autobuild==2020.9.1 # https://github.com/GaretJax/sphinx-autobuild # Code quality From 4a5717c831db7e5731a9b7dda938b25b775df660 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 2 Nov 2020 15:47:08 -0800 Subject: [PATCH 1160/2840] Update sentry-sdk from 0.19.1 to 0.19.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 58714e5ca..157ac92a3 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.19.1 # https://github.com/getsentry/sentry-python +sentry-sdk==0.19.2 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From b40a76eb13c88ebfb064db0352cd98ed099889a4 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 3 Nov 2020 23:35:24 +0000 Subject: [PATCH 1161/2840] Bump template version --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 8a5b0b8ce..c72ba1c9d 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ except ImportError: # Our version ALWAYS matches the version of Django we support # If Django has a new release, we branch, tag, then update this setting after the tag. -version = "3.0.10" +version = "3.0.11" if sys.argv[-1] == "tag": os.system(f'git tag -a {version} -m "version {version}"') From 63ea6bca763a2fc272a58e75bea3d07f5c188eba Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 00:19:56 +0000 Subject: [PATCH 1162/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 5dc5c1c45..55368bb73 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -4,7 +4,7 @@ fail_fast: true repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v3.2.0 + rev: v3.3.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer From f99a0af4c0618d774cd7d83e7498a5f8cba11a4d Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 4 Nov 2020 02:14:42 +0000 Subject: [PATCH 1163/2840] Update Changelog --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ccb84bd81..2e802de11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,20 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-11-03] +### Updated +- Update sentry-sdk to 0.19.2 ([#2926](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2926)) +- Update sphinx to 3.3.0 ([#2925](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2925)) +- Update django to 3.0.11 ([#2924](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2924)) +- Update pytz to 2020.4 ([#2923](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2923)) +- Update pre-commit to 2.8.2 ([#2919](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2919)) +- Update pytest to 6.1.2 ([#2917](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2917)) +- Update sh to 1.14.1 ([#2912](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2912)) +- Update pytest-django to 4.1.0 ([#2911](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2911)) +- Update pillow to 8.0.1 ([#2910](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2910)) +- Update django-celery-beat to 2.1.0 ([#2907](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2907)) +- Update uvicorn to 0.12.2 ([#2906](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2906)) + ## [2020-10-19] ### Updated - Update sentry-sdk to 0.19.1 ([#2905](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2905)) From 607c9676f52a3554747c51c8b9c243315ddbc99d Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Wed, 4 Nov 2020 11:54:21 -0500 Subject: [PATCH 1164/2840] Use defer for script tags (Fix #2922) * This way, scripts from external URLs are loaded asynchronously. By putting it at the top of the file, the browser parses it first, downloads it while continuing to parse the HTML, and then executes on parsing finish * Additionally, developers will not need to use $(window).ready() or the like in their files anymore. * Added inline_javascript tag in case anyone wants to use the bottom of the HTML page to execute some Javascript. Using defer here has no effect as inline scripts defer by default Signed-off-by: Andrew-Chen-Wang --- .../templates/account/email.html | 2 +- .../templates/base.html | 51 ++++++++++--------- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html index 78d997365..8b4669bb6 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html @@ -59,7 +59,7 @@ {% endblock %} -{% block javascript %} +{% block inline_javascript %} {{ block.super }} + {% endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% endcompress %}{% endraw %}{% endif %}{% raw %} + {% endraw %}{% else %}{% raw %} + + + + + + + {% endraw %}{% endif %}{% raw %} + + + {% endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% compress js %}{% endraw %}{% endif %}{% raw %} + + {% endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% endcompress %}{% endraw %}{% endif %}{% raw %} + + {% endblock javascript %} @@ -92,30 +116,9 @@ {% block modal %}{% endblock modal %} - - - {% block javascript %} - {% endraw %}{% if cookiecutter.custom_bootstrap_compilation == "y" and cookiecutter.js_task_runner == "Gulp" %}{% raw %} - - {% endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% compress js %}{% endraw %}{% endif %}{% raw %} - - {% endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% endcompress %}{% endraw %}{% endif %}{% raw %} - {% endraw %}{% else %}{% raw %} - - - - - - - {% endraw %}{% endif %}{% raw %} - - - {% endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% compress js %}{% endraw %}{% endif %}{% raw %} - - {% endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% endcompress %}{% endraw %}{% endif %}{% raw %} - - {% endblock javascript %} + {% block inline_javascript %} + {# Script tags with only code, no src (defer by default) #} + {% endblock inline_javascript %} {% endraw %} From 72da0bfa9cb7897b03a5ebaef3f2ece3d31247db Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Wed, 4 Nov 2020 12:17:02 -0500 Subject: [PATCH 1165/2840] Fix docs service and add RTD support (#2920) Co-authored-by: Andrew-Chen-Wang Co-authored-by: Bruno Alla --- docs/document.rst | 19 ++++++++++++++++-- .../.readthedocs.yml | 9 +++++++++ .../compose/local/docs/Dockerfile | 6 ++++-- .../compose/local/docs/start | 7 +++++++ {{cookiecutter.project_slug}}/docs/Makefile | 2 +- {{cookiecutter.project_slug}}/docs/conf.py | 18 ++++++++++++----- .../docs/{_source => }/howto.rst | 0 .../docs/{_source => }/index.rst | 0 .../{_source => }/pycharm/configuration.rst | 0 .../docs/{_source => }/pycharm/images/1.png | Bin .../docs/{_source => }/pycharm/images/2.png | Bin .../docs/{_source => }/pycharm/images/3.png | Bin .../docs/{_source => }/pycharm/images/4.png | Bin .../docs/{_source => }/pycharm/images/7.png | Bin .../docs/{_source => }/pycharm/images/8.png | Bin .../docs/{_source => }/pycharm/images/f1.png | Bin .../docs/{_source => }/pycharm/images/f2.png | Bin .../docs/{_source => }/pycharm/images/f3.png | Bin .../docs/{_source => }/pycharm/images/f4.png | Bin .../{_source => }/pycharm/images/issue1.png | Bin .../{_source => }/pycharm/images/issue2.png | Bin .../docs/{_source => }/users.rst | 0 {{cookiecutter.project_slug}}/local.yml | 3 ++- 23 files changed, 53 insertions(+), 11 deletions(-) create mode 100644 {{cookiecutter.project_slug}}/.readthedocs.yml create mode 100644 {{cookiecutter.project_slug}}/compose/local/docs/start rename {{cookiecutter.project_slug}}/docs/{_source => }/howto.rst (100%) rename {{cookiecutter.project_slug}}/docs/{_source => }/index.rst (100%) rename {{cookiecutter.project_slug}}/docs/{_source => }/pycharm/configuration.rst (100%) rename {{cookiecutter.project_slug}}/docs/{_source => }/pycharm/images/1.png (100%) rename {{cookiecutter.project_slug}}/docs/{_source => }/pycharm/images/2.png (100%) rename {{cookiecutter.project_slug}}/docs/{_source => }/pycharm/images/3.png (100%) rename {{cookiecutter.project_slug}}/docs/{_source => }/pycharm/images/4.png (100%) rename {{cookiecutter.project_slug}}/docs/{_source => }/pycharm/images/7.png (100%) rename {{cookiecutter.project_slug}}/docs/{_source => }/pycharm/images/8.png (100%) rename {{cookiecutter.project_slug}}/docs/{_source => }/pycharm/images/f1.png (100%) rename {{cookiecutter.project_slug}}/docs/{_source => }/pycharm/images/f2.png (100%) rename {{cookiecutter.project_slug}}/docs/{_source => }/pycharm/images/f3.png (100%) rename {{cookiecutter.project_slug}}/docs/{_source => }/pycharm/images/f4.png (100%) rename {{cookiecutter.project_slug}}/docs/{_source => }/pycharm/images/issue1.png (100%) rename {{cookiecutter.project_slug}}/docs/{_source => }/pycharm/images/issue2.png (100%) rename {{cookiecutter.project_slug}}/docs/{_source => }/users.rst (100%) diff --git a/docs/document.rst b/docs/document.rst index 15a5396e1..a30979094 100644 --- a/docs/document.rst +++ b/docs/document.rst @@ -15,15 +15,30 @@ If you set up your project to `develop locally with docker`_, run the following Navigate to port 7000 on your host to see the documentation. This will be opened automatically at `localhost`_ for local, non-docker development. +Note: using Docker for documentation sets up a temporary SQLite file by setting the environment variable ``DATABASE_URL=sqlite:///readthedocs.db`` in ``docs/conf.py`` to avoid a dependency on PostgreSQL. + Generate API documentation ---------------------------- -Edit the ``docs/_source`` files and project application docstrings to create your documentation. +Edit the ``docs`` files and project application docstrings to create your documentation. -Sphinx can automatically include class and function signatures and docstrings in generated documentation. +Sphinx can automatically include class and function signatures and docstrings in generated documentation. See the generated project documentation for more examples. +Setting up ReadTheDocs +---------------------- + +To setup your documentation on `ReadTheDocs`_, you must + +1. Go to `ReadTheDocs`_ and login/create an account +2. Add your GitHub repository +3. Trigger a build + +Additionally, you can auto-build Pull Request previews, but `you must enable it`_. + .. _localhost: http://localhost:7000/ .. _Sphinx: https://www.sphinx-doc.org/en/master/index.html .. _develop locally: ./developing-locally.html .. _develop locally with docker: ./developing-locally-docker.html +.. _ReadTheDocs: https://readthedocs.org/ +.. _you must enable it: https://docs.readthedocs.io/en/latest/guides/autobuild-docs-for-pull-requests.html#autobuild-documentation-for-pull-requests diff --git a/{{cookiecutter.project_slug}}/.readthedocs.yml b/{{cookiecutter.project_slug}}/.readthedocs.yml new file mode 100644 index 000000000..b193a85e0 --- /dev/null +++ b/{{cookiecutter.project_slug}}/.readthedocs.yml @@ -0,0 +1,9 @@ +version: 2 + +sphinx: + configuration: docs/conf.py + +python: + version: 3.8 + install: + - requirements: requirements/local.txt diff --git a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile index 7736777b3..315fdd405 100644 --- a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile @@ -24,6 +24,8 @@ COPY ./requirements /requirements # All imports needed for autodoc. RUN pip install -r /requirements/local.txt -r /requirements/production.txt -WORKDIR /docs +COPY ./compose/local/docs/start /start-docs +RUN sed -i 's/\r$//g' /start-docs +RUN chmod +x /start-docs -CMD make livehtml +WORKDIR /docs diff --git a/{{cookiecutter.project_slug}}/compose/local/docs/start b/{{cookiecutter.project_slug}}/compose/local/docs/start new file mode 100644 index 000000000..fd2e0de6a --- /dev/null +++ b/{{cookiecutter.project_slug}}/compose/local/docs/start @@ -0,0 +1,7 @@ +#!/bin/bash + +set -o errexit +set -o pipefail +set -o nounset + +make livehtml diff --git a/{{cookiecutter.project_slug}}/docs/Makefile b/{{cookiecutter.project_slug}}/docs/Makefile index 4f772cade..0b56e1f86 100644 --- a/{{cookiecutter.project_slug}}/docs/Makefile +++ b/{{cookiecutter.project_slug}}/docs/Makefile @@ -5,7 +5,7 @@ # from the environment for the first two. SPHINXOPTS ?= SPHINXBUILD ?= sphinx-build -c . -SOURCEDIR = ./_source +SOURCEDIR = . BUILDDIR = ./_build {%- if cookiecutter.use_docker == 'y' %} APP = /app diff --git a/{{cookiecutter.project_slug}}/docs/conf.py b/{{cookiecutter.project_slug}}/docs/conf.py index 691f351e5..c640e1c63 100644 --- a/{{cookiecutter.project_slug}}/docs/conf.py +++ b/{{cookiecutter.project_slug}}/docs/conf.py @@ -14,11 +14,19 @@ import os import sys import django -{% if cookiecutter.use_docker == 'y' %} -sys.path.insert(0, os.path.abspath("/app")) -os.environ.setdefault("DATABASE_URL", "") -{% else %} -sys.path.insert(0, os.path.abspath("..")) +if os.getenv("READTHEDOCS", default=False) == "True": + sys.path.insert(0, os.path.abspath("..")) + os.environ["DJANGO_READ_DOT_ENV_FILE"] = "True" + os.environ["USE_DOCKER"] = "no" +else: +{%- if cookiecutter.use_docker == 'y' %} + sys.path.insert(0, os.path.abspath("/app")) +{%- else %} + sys.path.insert(0, os.path.abspath("..")) +{%- endif %} +os.environ["DATABASE_URL"] = "sqlite:///readthedocs.db" +{%- if cookiecutter.use_celery == 'y' %} +os.environ["CELERY_BROKER_URL"] = os.getenv("REDIS_URL", "redis://redis:6379") {%- endif %} os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local") django.setup() diff --git a/{{cookiecutter.project_slug}}/docs/_source/howto.rst b/{{cookiecutter.project_slug}}/docs/howto.rst similarity index 100% rename from {{cookiecutter.project_slug}}/docs/_source/howto.rst rename to {{cookiecutter.project_slug}}/docs/howto.rst diff --git a/{{cookiecutter.project_slug}}/docs/_source/index.rst b/{{cookiecutter.project_slug}}/docs/index.rst similarity index 100% rename from {{cookiecutter.project_slug}}/docs/_source/index.rst rename to {{cookiecutter.project_slug}}/docs/index.rst diff --git a/{{cookiecutter.project_slug}}/docs/_source/pycharm/configuration.rst b/{{cookiecutter.project_slug}}/docs/pycharm/configuration.rst similarity index 100% rename from {{cookiecutter.project_slug}}/docs/_source/pycharm/configuration.rst rename to {{cookiecutter.project_slug}}/docs/pycharm/configuration.rst diff --git a/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/1.png b/{{cookiecutter.project_slug}}/docs/pycharm/images/1.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/_source/pycharm/images/1.png rename to {{cookiecutter.project_slug}}/docs/pycharm/images/1.png diff --git a/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/2.png b/{{cookiecutter.project_slug}}/docs/pycharm/images/2.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/_source/pycharm/images/2.png rename to {{cookiecutter.project_slug}}/docs/pycharm/images/2.png diff --git a/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/3.png b/{{cookiecutter.project_slug}}/docs/pycharm/images/3.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/_source/pycharm/images/3.png rename to {{cookiecutter.project_slug}}/docs/pycharm/images/3.png diff --git a/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/4.png b/{{cookiecutter.project_slug}}/docs/pycharm/images/4.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/_source/pycharm/images/4.png rename to {{cookiecutter.project_slug}}/docs/pycharm/images/4.png diff --git a/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/7.png b/{{cookiecutter.project_slug}}/docs/pycharm/images/7.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/_source/pycharm/images/7.png rename to {{cookiecutter.project_slug}}/docs/pycharm/images/7.png diff --git a/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/8.png b/{{cookiecutter.project_slug}}/docs/pycharm/images/8.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/_source/pycharm/images/8.png rename to {{cookiecutter.project_slug}}/docs/pycharm/images/8.png diff --git a/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/f1.png b/{{cookiecutter.project_slug}}/docs/pycharm/images/f1.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/_source/pycharm/images/f1.png rename to {{cookiecutter.project_slug}}/docs/pycharm/images/f1.png diff --git a/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/f2.png b/{{cookiecutter.project_slug}}/docs/pycharm/images/f2.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/_source/pycharm/images/f2.png rename to {{cookiecutter.project_slug}}/docs/pycharm/images/f2.png diff --git a/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/f3.png b/{{cookiecutter.project_slug}}/docs/pycharm/images/f3.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/_source/pycharm/images/f3.png rename to {{cookiecutter.project_slug}}/docs/pycharm/images/f3.png diff --git a/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/f4.png b/{{cookiecutter.project_slug}}/docs/pycharm/images/f4.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/_source/pycharm/images/f4.png rename to {{cookiecutter.project_slug}}/docs/pycharm/images/f4.png diff --git a/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/issue1.png b/{{cookiecutter.project_slug}}/docs/pycharm/images/issue1.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/_source/pycharm/images/issue1.png rename to {{cookiecutter.project_slug}}/docs/pycharm/images/issue1.png diff --git a/{{cookiecutter.project_slug}}/docs/_source/pycharm/images/issue2.png b/{{cookiecutter.project_slug}}/docs/pycharm/images/issue2.png similarity index 100% rename from {{cookiecutter.project_slug}}/docs/_source/pycharm/images/issue2.png rename to {{cookiecutter.project_slug}}/docs/pycharm/images/issue2.png diff --git a/{{cookiecutter.project_slug}}/docs/_source/users.rst b/{{cookiecutter.project_slug}}/docs/users.rst similarity index 100% rename from {{cookiecutter.project_slug}}/docs/_source/users.rst rename to {{cookiecutter.project_slug}}/docs/users.rst diff --git a/{{cookiecutter.project_slug}}/local.yml b/{{cookiecutter.project_slug}}/local.yml index a6cbe5430..e285f3498 100644 --- a/{{cookiecutter.project_slug}}/local.yml +++ b/{{cookiecutter.project_slug}}/local.yml @@ -51,7 +51,8 @@ services: - ./{{ cookiecutter.project_slug }}:/app/{{ cookiecutter.project_slug }}:z ports: - "7000:7000" - + command: /start-docs + {%- if cookiecutter.use_mailhog == 'y' %} mailhog: From f8a239d4f9844031792993c085be2e13b67dbb10 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 5 Nov 2020 02:15:30 +0000 Subject: [PATCH 1166/2840] Update Changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e802de11..3748e8c18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,15 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-11-04] +### Changed +- Fix docs service and add RTD support ([#2920](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2920)) +- Bump stefanzweifel/git-auto-commit-action from v4.6.0 to v4.7.2 ([#2914](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2914)) +### Updated +- Auto-update pre-commit hooks ([#2908](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2908)) +- Update mypy to 0.790 ([#2886](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2886)) +- Update django-stubs to 1.7.0 ([#2916](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2916)) + ## [2020-11-03] ### Updated - Update sentry-sdk to 0.19.2 ([#2926](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2926)) From 3750aff3949eb2b77cf41dfd37978623863bd619 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 5 Nov 2020 17:50:07 -0800 Subject: [PATCH 1167/2840] Update djangorestframework from 3.12.1 to 3.12.2 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 8b9af7a28..ca92f81a6 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -41,6 +41,6 @@ django-compressor==2.4 # https://github.com/django-compressor/django-compressor django-redis==4.12.1 # https://github.com/jazzband/django-redis {%- if cookiecutter.use_drf == "y" %} # Django REST Framework -djangorestframework==3.12.1 # https://github.com/encode/django-rest-framework +djangorestframework==3.12.2 # https://github.com/encode/django-rest-framework django-cors-headers==3.5.0 # https://github.com/adamchainz/django-cors-headers {%- endif %} From 041ecb0fc648378fd4570e6cb02f9800efb6845f Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 7 Nov 2020 02:15:42 +0000 Subject: [PATCH 1168/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3748e8c18..ffc571c7b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-11-06] +### Updated +- Update djangorestframework to 3.12.2 ([#2930](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2930)) + ## [2020-11-04] ### Changed - Fix docs service and add RTD support ([#2920](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2920)) From 1abfd539e398516130944891660eb8959c22e7b7 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 9 Nov 2020 18:46:19 +0000 Subject: [PATCH 1169/2840] Basic CI workflow using github actions --- .github/workflows/ci.yml | 33 +++++++++++++++++++++++++++++++++ .travis.yml | 36 ------------------------------------ 2 files changed, 33 insertions(+), 36 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..eb1aeec45 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,33 @@ +name: CI + +on: [push, pull_request] + +jobs: + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + script: + - name: Test results + run: tox -e py38 + - name: Black template + run: tox -e black-template + - name: Basic Docker + run: sh tests/test_docker.sh + - name: Extended Docker + run: sh tests/test_docker.sh use_celery=y use_drf=y js_task_runner=Gulp + - name: Bare metal + run: sh tests/test_bare.sh use_celery=y use_compressor=y + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: 3.8 + - name: Install dependencies + run: | + python -m pip install -U pip + python -m pip install -U tox + - name: ${{ matrix.script.name }} + run: ${{ matrix.script.run }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index bfd008e77..000000000 --- a/.travis.yml +++ /dev/null @@ -1,36 +0,0 @@ -services: - - docker - -language: python - -python: 3.8 - -before_install: - - docker-compose -v - - docker -v - -matrix: - include: - - name: Test results - script: tox -e py38 - - name: Black template - script: tox -e black-template - - name: Basic Docker - script: sh tests/test_docker.sh - - name: Extended Docker - script: sh tests/test_docker.sh use_celery=y use_drf=y js_task_runner=Gulp - - name: Bare metal - script: sh tests/test_bare.sh use_celery=y use_compressor=y - services: - - postgresql - - redis-server - env: - - CELERY_BROKER_URL=redis://localhost:6379/0 - -install: - - pip install tox - -notifications: - email: - on_success: change - on_failure: always From 0a56c9c9b9157db28dbe2427dd7a85acebe8e260 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 9 Nov 2020 19:01:29 +0000 Subject: [PATCH 1170/2840] Split out workflow to add services for bare metal tests --- .github/workflows/ci.yml | 69 ++++++++++++++++++++++++++++++++-------- 1 file changed, 55 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eb1aeec45..3785ec7ce 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,22 +3,14 @@ name: CI on: [push, pull_request] jobs: - test: + tox: runs-on: ubuntu-latest strategy: fail-fast: false matrix: - script: - - name: Test results - run: tox -e py38 - - name: Black template - run: tox -e black-template - - name: Basic Docker - run: sh tests/test_docker.sh - - name: Extended Docker - run: sh tests/test_docker.sh use_celery=y use_drf=y js_task_runner=Gulp - - name: Bare metal - run: sh tests/test_bare.sh use_celery=y use_compressor=y + tox-env: + - py38 + - black-template steps: - uses: actions/checkout@v2 @@ -29,5 +21,54 @@ jobs: run: | python -m pip install -U pip python -m pip install -U tox - - name: ${{ matrix.script.name }} - run: ${{ matrix.script.run }} + - name: Tox ${{ matrix.tox-env }} + run: tox -e ${{ matrix.tox-env }} + + docker: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + script: + - name: Basic + args: "" + - name: Extended + args: "use_celery=y use_drf=y js_task_runner=Gulp" + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: 3.8 + - name: Docker ${{ matrix.script.name }} + run: sh tests/test_docker.sh ${{ matrix.script.args }} + + bare: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + script: + - name: With Celery + args: "use_celery=y use_compressor=y" + + services: + redis: + image: redis + ports: + - 6379:6379 + postgres: + image: postgres + env: + POSTGRES_PASSWORD: postgres + + env: + CELERY_BROKER_URL: "redis://localhost:6379/0" + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: 3.8 + - name: Bare Metal ${{ matrix.script.name }} + run: sh tests/test_bare.sh ${{ matrix.script.args }} From 56268ec82c4b8969cefd2a87511fbfb15483ec4d Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 9 Nov 2020 19:06:49 +0000 Subject: [PATCH 1171/2840] Pin service images, expose DB ports and don't set PG password --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3785ec7ce..32eaa054f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,13 +54,13 @@ jobs: services: redis: - image: redis + image: redis:5.0 ports: - 6379:6379 postgres: - image: postgres - env: - POSTGRES_PASSWORD: postgres + image: postgres:12 + ports: + - 5432:5432 env: CELERY_BROKER_URL: "redis://localhost:6379/0" From a625327226e77839b39865e484c8b2ce5a02f55e Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 9 Nov 2020 19:18:38 +0000 Subject: [PATCH 1172/2840] Set some environment variables --- .github/workflows/ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 32eaa054f..6bc0966b0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,6 +35,10 @@ jobs: - name: Extended args: "use_celery=y use_drf=y js_task_runner=Gulp" + env: + DOCKER_BUILDKIT: 1 + COMPOSE_DOCKER_CLI_BUILD: 1 + steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 @@ -64,6 +68,7 @@ jobs: env: CELERY_BROKER_URL: "redis://localhost:6379/0" + DATABASE_URL: "postgres://postgres" steps: - uses: actions/checkout@v2 From c3d644083052025d05f27f8e786296349990dbc5 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 9 Nov 2020 19:23:48 +0000 Subject: [PATCH 1173/2840] Explicit DATABASE_URL --- .github/workflows/ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6bc0966b0..a943bfba8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,10 +65,13 @@ jobs: image: postgres:12 ports: - 5432:5432 + env: + POSTGRES_PASSWORD: postgres env: CELERY_BROKER_URL: "redis://localhost:6379/0" - DATABASE_URL: "postgres://postgres" + # postgres://user:password@host:port/database + DATABASE_URL: "postgres://postgres:postgres@postgres:5432/postgres" steps: - uses: actions/checkout@v2 From 2233de8566830bbca8d02a5fe20a183831801823 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 9 Nov 2020 19:28:09 +0000 Subject: [PATCH 1174/2840] Connect to PG on localhost --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a943bfba8..fb26dd8e1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -71,7 +71,7 @@ jobs: env: CELERY_BROKER_URL: "redis://localhost:6379/0" # postgres://user:password@host:port/database - DATABASE_URL: "postgres://postgres:postgres@postgres:5432/postgres" + DATABASE_URL: "postgres://postgres:postgres@localhost:5432/postgres" steps: - uses: actions/checkout@v2 From 1e6104ce723809ff758a4b24967bb20dca75f762 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 9 Nov 2020 19:31:40 +0000 Subject: [PATCH 1175/2840] Update badge --- README.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index f964635f9..dbc510a47 100644 --- a/README.rst +++ b/README.rst @@ -1,8 +1,8 @@ Cookiecutter Django -======================= +=================== -.. image:: https://travis-ci.org/pydanny/cookiecutter-django.svg?branch=master - :target: https://travis-ci.org/pydanny/cookiecutter-django?branch=master +.. image:: https://img.shields.io/github/workflow/status/pydanny/cookiecutter-django/CI/master + :target: https://github.com/pydanny/cookiecutter-django/actions?query=workflow%3ACI :alt: Build Status .. image:: https://readthedocs.org/projects/cookiecutter-django/badge/?version=latest From 46a0b60a29d34d3b8654382408541a0c52b890e6 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 9 Nov 2020 19:38:16 +0000 Subject: [PATCH 1176/2840] Ignore pushes to non-master branch to avoid double builds --- .github/workflows/ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fb26dd8e1..fd9668459 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,9 @@ name: CI -on: [push, pull_request] +on: + push: + branches: [ master ] + pull_request: jobs: tox: From 9f3117c61579a6413fc272ddd450a02d79467e2a Mon Sep 17 00:00:00 2001 From: umgelurgel Date: Thu, 12 Nov 2020 18:53:29 +0100 Subject: [PATCH 1177/2840] Upgrade factory-boy to 3.1.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- .../{{cookiecutter.project_slug}}/users/tests/factories.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index b57268c7c..ccde790ad 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -37,7 +37,7 @@ pre-commit==2.8.2 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ -factory-boy==3.0.1 # https://github.com/FactoryBoy/factory_boy +factory-boy==3.1.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==3.1.1 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.0.9 # https://github.com/django-extensions/django-extensions diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py index 1a78f132d..05b3ae0b5 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py @@ -23,7 +23,7 @@ class UserFactory(DjangoModelFactory): digits=True, upper_case=True, lower_case=True, - ).generate(extra_kwargs={}) + ).generate(params={"locale": None}) ) self.set_password(password) From aaaa26494a0ed546d6a8e87e86b3e75f1177eab9 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 12 Nov 2020 13:10:42 -0800 Subject: [PATCH 1178/2840] Update sentry-sdk from 0.19.2 to 0.19.3 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 157ac92a3..12e4bd855 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.19.2 # https://github.com/getsentry/sentry-python +sentry-sdk==0.19.3 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From eca1f45564cc58cdc19cb813b551776fa765e0f2 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 12 Nov 2020 13:10:45 -0800 Subject: [PATCH 1179/2840] Update sphinx from 3.3.0 to 3.3.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index b57268c7c..cf505bb43 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation # ------------------------------------------------------------------------------ -sphinx==3.3.0 # https://github.com/sphinx-doc/sphinx +sphinx==3.3.1 # https://github.com/sphinx-doc/sphinx sphinx-autobuild==2020.9.1 # https://github.com/GaretJax/sphinx-autobuild # Code quality From 22ad82b24e29fc3cbcbdca20168b6fecde246313 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 13 Nov 2020 02:15:12 +0000 Subject: [PATCH 1180/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ffc571c7b..51a6149a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-11-12] +### Changed +- Migrate CI to Github Actions ([#2931](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2931)) + ## [2020-11-06] ### Updated - Update djangorestframework to 3.12.2 ([#2930](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2930)) From 94130f9c56a5eea22a5d0f7653cb88a64fb50eeb Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 13 Nov 2020 10:00:15 +0000 Subject: [PATCH 1181/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 4f2f96dfa..3ecf0223b 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1037,5 +1037,10 @@ "name": "Wes Turner", "github_login": "westurner", "twitter_username": "westurner" + }, + { + "name": "Jakub Musko", + "github_login": "umgelurgel", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index e0fda25ed..642a6ba9b 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -796,6 +796,13 @@ Listed in alphabetical order. + + Jakub Musko + + umgelurgel + + + James Williams From 23b6c0d61f3417688b8a8dc278d2a2f339d20901 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 14 Nov 2020 02:15:20 +0000 Subject: [PATCH 1182/2840] Update Changelog --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51a6149a3..da70c8c62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,13 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-11-13] +### Changed +- Upgrade factory-boy to 3.1.0 ([#2932](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2932)) +### Updated +- Update sentry-sdk to 0.19.3 ([#2933](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2933)) +- Update sphinx to 3.3.1 ([#2934](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2934)) + ## [2020-11-12] ### Changed - Migrate CI to Github Actions ([#2931](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2931)) From 1fa5d798134fcb6a230f0a2cb8bb8f4e6517925b Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Sat, 14 Nov 2020 10:27:14 -0500 Subject: [PATCH 1183/2840] Add "defer" for inline Javascript * Also utilize ECMAScript 6, 2015 syntax --- .../templates/account/email.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html index 8b4669bb6..2b7e12789 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html @@ -62,17 +62,17 @@ {% block inline_javascript %} {{ block.super }} From 4b9002d7db8d278f455b1b7915febf0bdfd6dc9b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Nov 2020 22:10:36 +0100 Subject: [PATCH 1184/2840] Fix formatting --- docs/developing-locally.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst index 0da265484..2b7806ce4 100644 --- a/docs/developing-locally.rst +++ b/docs/developing-locally.rst @@ -34,10 +34,10 @@ First things first. $ git init # A git repo is required for pre-commit to install $ pre-commit install - .. note:: + .. note:: - the `pre-commit` exists in the generated project as default. - for the details of `pre-commit`, follow the [site of pre-commit](https://pre-commit.com/). + the `pre-commit` exists in the generated project as default. + for the details of `pre-commit`, follow the [site of pre-commit](https://pre-commit.com/). #. Create a new PostgreSQL database using createdb_: :: From 4ffa344592c4c76fc959d0de69b307a8dfcf3fc5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 15 Nov 2020 00:30:23 +0000 Subject: [PATCH 1185/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 3ecf0223b..38ab437e2 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1042,5 +1042,10 @@ "name": "Jakub Musko", "github_login": "umgelurgel", "twitter_username": "" + }, + { + "name": "Fabian Affolter", + "github_login": "fabaff", + "twitter_username": "fabaff" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 642a6ba9b..8ccbf18e3 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -656,6 +656,13 @@ Listed in alphabetical order. + + Fabian Affolter + + fabaff + + fabaff + Felipe Arruda From ecc46a36c43b475801d421821feb5b725c9c2697 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 16 Nov 2020 02:15:38 +0000 Subject: [PATCH 1186/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index da70c8c62..668768972 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-11-15] +### Changed +- Fix formatting in docs ([#2935](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2935)) + ## [2020-11-13] ### Changed - Upgrade factory-boy to 3.1.0 ([#2932](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2932)) From 1ab82a0e33d591cf23855984cd3253f0b756a07a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Nov 2020 06:16:21 +0000 Subject: [PATCH 1187/2840] Bump peter-evans/create-pull-request from v2 to v3.5.0 Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from v2 to v3.5.0. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v2...ff0beed1b2103611f5bdb7dfb1b23956763bf79a) Signed-off-by: dependabot[bot] --- .github/workflows/pre-commit-autoupdate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index 9937cdebc..c81a25a7e 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -26,7 +26,7 @@ jobs: run: pre-commit autoupdate - name: Create Pull Request - uses: peter-evans/create-pull-request@v2 + uses: peter-evans/create-pull-request@v3.5.0 with: token: ${{ secrets.GITHUB_TOKEN }} branch: update/pre-commit-autoupdate From 9439c82e60f178b4bafb3f6b920ad9be8c0f9168 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 18 Nov 2020 02:16:09 +0000 Subject: [PATCH 1188/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 668768972..2e6d7c378 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-11-17] +### Changed +- Bump peter-evans/create-pull-request from v2 to v3.5.0 ([#2936](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2936)) + ## [2020-11-15] ### Changed - Fix formatting in docs ([#2935](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2935)) From e649b76ec9d045f288e08ac751b501e72c856c77 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 18 Nov 2020 13:53:32 -0800 Subject: [PATCH 1189/2840] Update django-crispy-forms from 1.9.2 to 1.10.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index ca92f81a6..a65825f2c 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -34,7 +34,7 @@ django==3.0.11 # pyup: < 3.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils django-allauth==0.43.0 # https://github.com/pennersr/django-allauth -django-crispy-forms==1.9.2 # https://github.com/django-crispy-forms/django-crispy-forms +django-crispy-forms==1.10.0 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.4 # https://github.com/django-compressor/django-compressor {%- endif %} From a02aba44e7683a0852f03e28b01aeeb1ce8d7207 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 19 Nov 2020 10:39:39 -0800 Subject: [PATCH 1190/2840] Update sentry-sdk from 0.19.3 to 0.19.4 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 12e4bd855..38e5ec869 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.19.3 # https://github.com/getsentry/sentry-python +sentry-sdk==0.19.4 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From 88f6150c5d1a40c0a119f3909339bc9f3d9481df Mon Sep 17 00:00:00 2001 From: Simon Rey <51708585+eqqe@users.noreply.github.com> Date: Thu, 19 Nov 2020 20:16:56 +0100 Subject: [PATCH 1191/2840] Fix after uvicorn 0.12.0 - Ship extra dependencies Uvicorn no longer ships extra dependencies uvloop, websockets and httptools as default. To install these dependencies use uvicorn[standard]. cf https://github.com/encode/uvicorn/blob/master/CHANGELOG.md --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index a65825f2c..d0630a6da 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -24,7 +24,7 @@ flower==0.9.5 # https://github.com/mher/flower {%- endif %} {%- endif %} {%- if cookiecutter.use_async == 'y' %} -uvicorn==0.12.2 # https://github.com/encode/uvicorn +uvicorn[standard]==0.12.2 # https://github.com/encode/uvicorn wsproto==0.15.0 # https://github.com/python-hyper/wsproto/ {%- endif %} From a6b637841665daff0d00e384febbf14210c9c2c1 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 20 Nov 2020 02:16:46 +0000 Subject: [PATCH 1192/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e6d7c378..c0636762f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-11-19] +### Updated +- Update django-crispy-forms to 1.10.0 ([#2937](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2937)) + ## [2020-11-17] ### Changed - Bump peter-evans/create-pull-request from v2 to v3.5.0 ([#2936](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2936)) From a30b604a25b9fc32976b31473faeaa764c8342f5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 21 Nov 2020 02:16:33 +0000 Subject: [PATCH 1193/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c0636762f..3dbb31b17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-11-20] +### Updated +- Update sentry-sdk to 0.19.4 ([#2938](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2938)) + ## [2020-11-19] ### Updated - Update django-crispy-forms to 1.10.0 ([#2937](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2937)) From f02c57bf3ebba0647c7fe8ca35aaf54867c7f402 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 21 Nov 2020 11:44:46 +0000 Subject: [PATCH 1194/2840] Remove wsproto --- {{cookiecutter.project_slug}}/requirements/base.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index d0630a6da..64cb3e0f3 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -25,7 +25,6 @@ flower==0.9.5 # https://github.com/mher/flower {%- endif %} {%- if cookiecutter.use_async == 'y' %} uvicorn[standard]==0.12.2 # https://github.com/encode/uvicorn -wsproto==0.15.0 # https://github.com/python-hyper/wsproto/ {%- endif %} # Django From 6e932a48b82c34cd7bbf0d40074bc5bc6286d5d8 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 21 Nov 2020 11:49:57 +0000 Subject: [PATCH 1195/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 38ab437e2..25a33ed51 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1047,5 +1047,10 @@ "name": "Fabian Affolter", "github_login": "fabaff", "twitter_username": "fabaff" + }, + { + "name": "Simon Rey", + "github_login": "eqqe", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 8ccbf18e3..6649f3fd7 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1286,6 +1286,13 @@ Listed in alphabetical order. saschalalala + + Simon Rey + + eqqe + + + Sorasful From 132a6f0be2a8b66677809bef25e550531d011ec7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 21 Nov 2020 15:37:47 -0800 Subject: [PATCH 1196/2840] Update pre-commit from 2.8.2 to 2.9.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 0847e6b23..368dc5bd8 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -33,7 +33,7 @@ pylint-django==2.3.0 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.8.2 # https://github.com/pre-commit/pre-commit +pre-commit==2.9.0 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From 4d6a2b9a1746b4cab0fd20c4cb40f07561858945 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 22 Nov 2020 02:16:48 +0000 Subject: [PATCH 1197/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3dbb31b17..800de5fd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-11-21] +### Changed +- Fix after uvicorn 0.12.0 - Ship extra dependencies ([#2939](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2939)) + ## [2020-11-20] ### Updated - Update sentry-sdk to 0.19.4 ([#2938](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2938)) From 90d71f424d0333c2847d21b1bff8b59bbdf0ea13 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 22 Nov 2020 02:00:45 -0800 Subject: [PATCH 1198/2840] Update uvicorn from 0.12.2 to 0.12.3 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 64cb3e0f3..eea7fe657 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -24,7 +24,7 @@ flower==0.9.5 # https://github.com/mher/flower {%- endif %} {%- endif %} {%- if cookiecutter.use_async == 'y' %} -uvicorn[standard]==0.12.2 # https://github.com/encode/uvicorn +uvicorn[standard]==0.12.3 # https://github.com/encode/uvicorn {%- endif %} # Django From 48011f7422d26e1561e59156960c87a0806f0227 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 24 Nov 2020 02:17:31 +0000 Subject: [PATCH 1199/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 800de5fd0..faa102b0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-11-23] +### Updated +- Update uvicorn to 0.12.3 ([#2943](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2943)) +- Update pre-commit to 2.9.0 ([#2942](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2942)) + ## [2020-11-21] ### Changed - Fix after uvicorn 0.12.0 - Ship extra dependencies ([#2939](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2939)) From b47678a2e84774d9834c103dab49278888ffb568 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Nov 2020 05:47:41 +0000 Subject: [PATCH 1200/2840] Bump peter-evans/create-pull-request from v3.5.0 to v3.5.1 Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from v3.5.0 to v3.5.1. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.5.0...ce699aa2d108e9d04fde047a71e44b2bf444b6dc) Signed-off-by: dependabot[bot] --- .github/workflows/pre-commit-autoupdate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index c81a25a7e..f471eacf1 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -26,7 +26,7 @@ jobs: run: pre-commit autoupdate - name: Create Pull Request - uses: peter-evans/create-pull-request@v3.5.0 + uses: peter-evans/create-pull-request@v3.5.1 with: token: ${{ secrets.GITHUB_TOKEN }} branch: update/pre-commit-autoupdate From 4e978361097c652e8089b3c45e0bb8f88be4f106 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 25 Nov 2020 11:27:41 -0800 Subject: [PATCH 1201/2840] Update django-allauth from 0.43.0 to 0.44.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index eea7fe657..502928f67 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -32,7 +32,7 @@ uvicorn[standard]==0.12.3 # https://github.com/encode/uvicorn django==3.0.11 # pyup: < 3.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils -django-allauth==0.43.0 # https://github.com/pennersr/django-allauth +django-allauth==0.44.0 # https://github.com/pennersr/django-allauth django-crispy-forms==1.10.0 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.4 # https://github.com/django-compressor/django-compressor From c33d0f278c0bcd8271927184e5fe0a7e2aa4c4ed Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 25 Nov 2020 15:33:56 -0800 Subject: [PATCH 1202/2840] Update django-extensions from 3.0.9 to 3.1.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 368dc5bd8..5df8e4aeb 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -40,6 +40,6 @@ pre-commit==2.9.0 # https://github.com/pre-commit/pre-commit factory-boy==3.1.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==3.1.1 # https://github.com/jazzband/django-debug-toolbar -django-extensions==3.0.9 # https://github.com/django-extensions/django-extensions +django-extensions==3.1.0 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==4.1.0 # https://github.com/pytest-dev/pytest-django From 3335ee70b451d968ca487cf4707740619bc6574b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 26 Nov 2020 02:17:43 +0000 Subject: [PATCH 1203/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index faa102b0f..fc617aa73 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-11-25] +### Changed +- Bump peter-evans/create-pull-request from v3.5.0 to v3.5.1 ([#2944](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2944)) + ## [2020-11-23] ### Updated - Update uvicorn to 0.12.3 ([#2943](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2943)) From f63a434d727627af7bfdc622ce538cb12d810891 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 25 Nov 2020 20:33:51 -0800 Subject: [PATCH 1204/2840] Update pre-commit from 2.9.0 to 2.9.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 368dc5bd8..464dc80e3 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -33,7 +33,7 @@ pylint-django==2.3.0 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.9.0 # https://github.com/pre-commit/pre-commit +pre-commit==2.9.2 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From d2ec1eca12ee2f6356a96009e65f60b1975f9ecd Mon Sep 17 00:00:00 2001 From: Thorrak Date: Thu, 26 Nov 2020 10:15:04 -0500 Subject: [PATCH 1205/2840] Fix typo in message --- .../{{cookiecutter.project_slug}}/users/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py index 520b1e52c..fe41938d7 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py @@ -31,7 +31,7 @@ class UserUpdateView(LoginRequiredMixin, UpdateView): def form_valid(self, form): messages.add_message( - self.request, messages.INFO, _("Infos successfully updated") + self.request, messages.INFO, _("Information successfully updated") ) return super().form_valid(form) From 894dbce6459d5aa63f83f71bffaca12708b739c3 Mon Sep 17 00:00:00 2001 From: Thorrak Date: Thu, 26 Nov 2020 10:17:20 -0500 Subject: [PATCH 1206/2840] Add test for users.form_valid Ensures that the message is added to the request when a form is submitted --- .../users/tests/test_views.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py index 3638c8f63..23d4ab3c8 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py @@ -1,8 +1,12 @@ import pytest +from django.contrib import messages from django.contrib.auth.models import AnonymousUser +from django.contrib.messages.middleware import MessageMiddleware +from django.contrib.sessions.middleware import SessionMiddleware from django.http.response import Http404 from django.test import RequestFactory +from {{ cookiecutter.project_slug }}.users.forms import UserChangeForm from {{ cookiecutter.project_slug }}.users.models import User from {{ cookiecutter.project_slug }}.users.tests.factories import UserFactory from {{ cookiecutter.project_slug }}.users.views import ( @@ -41,6 +45,24 @@ class TestUserUpdateView: assert view.get_object() == user + def test_form_valid(self, user: User, rf: RequestFactory): + view = UserUpdateView() + request = rf.get("/fake-url/") + + # Add the session/message middleware to the request + SessionMiddleware().process_request(request) + MessageMiddleware().process_request(request) + request.user = user + + view.request = request + + # Initialize the form + form = UserChangeForm() + form.cleaned_data = [] + view.form_valid(form) + + assert messages.get_messages(request)._queued_messages[0].message == "Information successfully updated" + class TestUserRedirectView: def test_get_redirect_url(self, user: User, rf: RequestFactory): From ed69df44032c5b9911640e25ec3b30f238d3b46e Mon Sep 17 00:00:00 2001 From: Thorrak Date: Thu, 26 Nov 2020 11:23:46 -0500 Subject: [PATCH 1207/2840] Change test to iterate through messages instead of accessing _queued_messages directly --- .../{{cookiecutter.project_slug}}/users/tests/test_views.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py index 23d4ab3c8..52d146065 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py @@ -61,7 +61,11 @@ class TestUserUpdateView: form.cleaned_data = [] view.form_valid(form) - assert messages.get_messages(request)._queued_messages[0].message == "Information successfully updated" + found_message = False + for message in messages.get_messages(request): + assert message.message == "Information successfully updated" + found_message = True + assert found_message class TestUserRedirectView: From bb0c68317cb71bf0ce8095452d815c04fbd1db34 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 27 Nov 2020 02:17:48 +0000 Subject: [PATCH 1208/2840] Update Changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fc617aa73..c203da3bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-11-26] +### Updated +- Update django-extensions to 3.1.0 ([#2947](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2947)) +- Update pre-commit to 2.9.2 ([#2948](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2948)) +- Update django-allauth to 0.44.0 ([#2945](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2945)) + ## [2020-11-25] ### Changed - Bump peter-evans/create-pull-request from v3.5.0 to v3.5.1 ([#2944](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2944)) From 5ad419e3223fb0b2b4c8e14d80297d521ff92dea Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 2 Dec 2020 13:58:05 +0000 Subject: [PATCH 1209/2840] Fixes for pip 20.3 --- requirements.txt | 2 +- tests/test_bare.sh | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/requirements.txt b/requirements.txt index 9f5d03653..f65d45630 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ flake8-isort==4.0.0 # Testing # ------------------------------------------------------------------------------ tox==3.20.1 -pytest==6.1.2 +pytest==5.4.3 pytest-cookies==0.5.1 pytest-instafail==0.4.2 pyyaml==5.3.1 diff --git a/tests/test_bare.sh b/tests/test_bare.sh index 61a66239c..eae09dc78 100755 --- a/tests/test_bare.sh +++ b/tests/test_bare.sh @@ -6,9 +6,9 @@ set -o errexit set -x -# Install modern pip to use new resolver: -# https://blog.python.org/2020/07/upgrade-pip-20-2-changes-20-3.html -pip install 'pip>=20.2' +# Install modern pip with new resolver: +# https://blog.python.org/2020/11/pip-20-3-release-new-resolver.html +pip install 'pip>=20.3' # install test requirements pip install -r requirements.txt @@ -25,7 +25,7 @@ cd my_awesome_project sudo utility/install_os_dependencies.sh install # Install Python deps -pip install --use-feature=2020-resolver -r requirements/local.txt +pip install -r requirements/local.txt # run the project's tests pytest From 092416147ca3c6c9f3e3a3e924a1a44867cde076 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 2 Dec 2020 14:02:54 +0000 Subject: [PATCH 1210/2840] Pin django-timezone-field==4.0 refs #2950 --- {{cookiecutter.project_slug}}/requirements/base.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 502928f67..8e8701842 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -19,6 +19,7 @@ hiredis==1.1.0 # https://github.com/redis/hiredis-py {%- if cookiecutter.use_celery == "y" %} celery==4.4.6 # pyup: < 5.0,!=4.4.7 # https://github.com/celery/celery django-celery-beat==2.1.0 # https://github.com/celery/django-celery-beat +django-timezone-field==4.0 # https://github.com/celery/django-celery-beat/pull/378 {%- if cookiecutter.use_docker == 'y' %} flower==0.9.5 # https://github.com/mher/flower {%- endif %} From 549274d699dca42125a3f9538fd99378cb30e0b5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 2 Dec 2020 06:09:49 -0800 Subject: [PATCH 1211/2840] Update django-model-utils from 4.0.0 to 4.1.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 8e8701842..9b0900696 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -32,7 +32,7 @@ uvicorn[standard]==0.12.3 # https://github.com/encode/uvicorn # ------------------------------------------------------------------------------ django==3.0.11 # pyup: < 3.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ -django-model-utils==4.0.0 # https://github.com/jazzband/django-model-utils +django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth django-crispy-forms==1.10.0 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} From 1b02e8c90ddcf766b937172fac613ce5e380a150 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 2 Dec 2020 14:14:34 +0000 Subject: [PATCH 1212/2840] PyUP filter for pytest <6 in template --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index f65d45630..02842d2da 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ flake8-isort==4.0.0 # Testing # ------------------------------------------------------------------------------ tox==3.20.1 -pytest==5.4.3 +pytest==5.4.3 # pyup: <6 # https://github.com/hackebrot/pytest-cookies/issues/51 pytest-cookies==0.5.1 pytest-instafail==0.4.2 pyyaml==5.3.1 From b2a34f57cdc9e42d68620dd29e2fc177e73a367d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 2 Dec 2020 06:17:15 -0800 Subject: [PATCH 1213/2840] Update pygithub from 1.53 to 1.54 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 02842d2da..482b00768 100644 --- a/requirements.txt +++ b/requirements.txt @@ -19,5 +19,5 @@ pyyaml==5.3.1 # Scripting # ------------------------------------------------------------------------------ -PyGithub==1.53 +PyGithub==1.54 jinja2==2.11.2 From 1164d9cbcb5960046d1dce4331912f58c9b6d3d6 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 3 Dec 2020 02:18:33 +0000 Subject: [PATCH 1214/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c203da3bc..ed7005754 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-12-02] +### Updated +- Update django-model-utils to 4.1.1 ([#2957](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2957)) +- Update pygithub to 1.54 ([#2958](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2958)) + ## [2020-11-26] ### Updated - Update django-extensions to 3.1.0 ([#2947](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2947)) From 9d6f661d4042b3f3c355f7c559f45bb7c62fa2d1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 3 Dec 2020 03:59:51 -0800 Subject: [PATCH 1215/2840] Update django-debug-toolbar from 3.1.1 to 3.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 466bef14d..8eea2149b 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -39,7 +39,7 @@ pre-commit==2.9.2 # https://github.com/pre-commit/pre-commit # ------------------------------------------------------------------------------ factory-boy==3.1.0 # https://github.com/FactoryBoy/factory_boy -django-debug-toolbar==3.1.1 # https://github.com/jazzband/django-debug-toolbar +django-debug-toolbar==3.2 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.1.0 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==4.1.0 # https://github.com/pytest-dev/pytest-django From 3d9b9dc3047a663ceba1eda66bdf1092114b904b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 5 Dec 2020 02:18:58 +0000 Subject: [PATCH 1216/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ed7005754..056feb7e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-12-04] +### Updated +- Update django-debug-toolbar to 3.2 ([#2959](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2959)) + ## [2020-12-02] ### Updated - Update django-model-utils to 4.1.1 ([#2957](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2957)) From a72e597338f601a22b7d11937cca5b2f86040f47 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 7 Dec 2020 17:14:50 -0800 Subject: [PATCH 1217/2840] Update pre-commit from 2.9.2 to 2.9.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 8eea2149b..ea8f38c35 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -33,7 +33,7 @@ pylint-django==2.3.0 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.9.2 # https://github.com/pre-commit/pre-commit +pre-commit==2.9.3 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From f727c21d087792fb77daea8cd324e4d5bac6eed4 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 8 Dec 2020 08:38:13 -0800 Subject: [PATCH 1218/2840] Update uvicorn from 0.12.3 to 0.13.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 9b0900696..ec1a7b906 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -25,7 +25,7 @@ flower==0.9.5 # https://github.com/mher/flower {%- endif %} {%- endif %} {%- if cookiecutter.use_async == 'y' %} -uvicorn[standard]==0.12.3 # https://github.com/encode/uvicorn +uvicorn[standard]==0.13.0 # https://github.com/encode/uvicorn {%- endif %} # Django From 41d760ddd8a49d31340d3f8af487a3a05d8a7f5a Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 9 Dec 2020 02:23:26 +0000 Subject: [PATCH 1219/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 056feb7e8..13725c12a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-12-08] +### Updated +- Update pre-commit to 2.9.3 ([#2961](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2961)) + ## [2020-12-04] ### Updated - Update django-debug-toolbar to 3.2 ([#2959](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2959)) From c1b9c2acc5d7f8f94238284df4533c7e304973b9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Dec 2020 06:18:22 +0000 Subject: [PATCH 1220/2840] Bump peter-evans/create-pull-request from v3.5.1 to v3.5.2 Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from v3.5.1 to v3.5.2. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.5.1...8c603dbb04b917a9fc2dd991dc54fef54b640b43) Signed-off-by: dependabot[bot] --- .github/workflows/pre-commit-autoupdate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index f471eacf1..2b5bb09b5 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -26,7 +26,7 @@ jobs: run: pre-commit autoupdate - name: Create Pull Request - uses: peter-evans/create-pull-request@v3.5.1 + uses: peter-evans/create-pull-request@v3.5.2 with: token: ${{ secrets.GITHUB_TOKEN }} branch: update/pre-commit-autoupdate From dde36972acc994dab08162b941a67fe38381fe12 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 10 Dec 2020 02:25:51 +0000 Subject: [PATCH 1221/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 13725c12a..68f29a1f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-12-09] +### Changed +- Bump peter-evans/create-pull-request from v3.5.1 to v3.5.2 ([#2964](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2964)) + ## [2020-12-08] ### Updated - Update pre-commit to 2.9.3 ([#2961](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2961)) From 633739d19d87a083fe275a482d6fc158edbe6b26 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 10 Dec 2020 05:17:51 -0800 Subject: [PATCH 1222/2840] Update sentry-sdk from 0.19.4 to 0.19.5 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 38e5ec869..eed4477e3 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.19.4 # https://github.com/getsentry/sentry-python +sentry-sdk==0.19.5 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From f058c53aa76e0de2a6f5861e4bd9cc08791dd1a6 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 10 Dec 2020 19:54:31 +0000 Subject: [PATCH 1223/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 25a33ed51..99fd084f0 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1052,5 +1052,10 @@ "name": "Simon Rey", "github_login": "eqqe", "twitter_username": "" + }, + { + "name": "Yotam Tal", + "github_login": "yotamtal", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 6649f3fd7..75f0efd2d 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1482,6 +1482,13 @@ Listed in alphabetical order. + + Yotam Tal + + yotamtal + + + Yuchen Xie From 9ea6ec46bd711661a9d8732d2b1f81baa784b5e7 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 11 Dec 2020 02:26:26 +0000 Subject: [PATCH 1224/2840] Update Changelog --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 68f29a1f2..ace310929 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,13 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-12-10] +### Changed +- Hot-reload support to celery ([#2554](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2554)) +### Updated +- Update uvicorn to 0.13.0 ([#2962](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2962)) +- Update sentry-sdk to 0.19.5 ([#2965](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2965)) + ## [2020-12-09] ### Changed - Bump peter-evans/create-pull-request from v3.5.1 to v3.5.2 ([#2964](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2964)) From 5d8908673d4d0844513c5e95c2dea10984a147d1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 12 Dec 2020 04:22:50 -0800 Subject: [PATCH 1225/2840] Update uvicorn from 0.13.0 to 0.13.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index ec1a7b906..5085f9d5d 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -25,7 +25,7 @@ flower==0.9.5 # https://github.com/mher/flower {%- endif %} {%- endif %} {%- if cookiecutter.use_async == 'y' %} -uvicorn[standard]==0.13.0 # https://github.com/encode/uvicorn +uvicorn[standard]==0.13.1 # https://github.com/encode/uvicorn {%- endif %} # Django From 56a3b3d8a5007b80046f163cdd1fd2f19f9e9b26 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 13 Dec 2020 03:32:59 -0800 Subject: [PATCH 1226/2840] Update django-cors-headers from 3.5.0 to 3.6.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index ec1a7b906..1aa4a296a 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -42,5 +42,5 @@ django-redis==4.12.1 # https://github.com/jazzband/django-redis {%- if cookiecutter.use_drf == "y" %} # Django REST Framework djangorestframework==3.12.2 # https://github.com/encode/django-rest-framework -django-cors-headers==3.5.0 # https://github.com/adamchainz/django-cors-headers +django-cors-headers==3.6.0 # https://github.com/adamchainz/django-cors-headers {%- endif %} From 0d96660e9451bc29f573cfa54041339b4f7df393 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 13 Dec 2020 03:33:02 -0800 Subject: [PATCH 1227/2840] Update pytest from 6.1.2 to 6.2.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 70e9090f4..fe7001c69 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -15,7 +15,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # ------------------------------------------------------------------------------ mypy==0.790 # https://github.com/python/mypy django-stubs==1.7.0 # https://github.com/typeddjango/django-stubs -pytest==6.1.2 # https://github.com/pytest-dev/pytest +pytest==6.2.0 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation From 840530ae7df15ab4c725af4297d6bbf34f33397c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 15 Dec 2020 02:29:03 +0000 Subject: [PATCH 1228/2840] Update Changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ace310929..d98a0b91c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-12-14] +### Updated +- Update pytest to 6.2.0 ([#2968](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2968)) +- Update django-cors-headers to 3.6.0 ([#2967](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2967)) +- Update uvicorn to 0.13.1 ([#2966](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2966)) + ## [2020-12-10] ### Changed - Hot-reload support to celery ([#2554](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2554)) From 1caced19c7284aa0529aa76416c2e6f2b01c2e3b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 16 Dec 2020 00:27:10 +0000 Subject: [PATCH 1229/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 55368bb73..3fd2b622a 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -4,7 +4,7 @@ fail_fast: true repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v3.3.0 + rev: v3.4.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer From 2b023d186db737ff97dae26df401faafe1d60149 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 15 Dec 2020 16:27:21 -0800 Subject: [PATCH 1230/2840] Update pytest from 6.2.0 to 6.2.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index fe7001c69..bd61be56b 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -15,7 +15,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # ------------------------------------------------------------------------------ mypy==0.790 # https://github.com/python/mypy django-stubs==1.7.0 # https://github.com/typeddjango/django-stubs -pytest==6.2.0 # https://github.com/pytest-dev/pytest +pytest==6.2.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation From 20fb67cc0bb450dfdcc1ea103f54654a365de87b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Dec 2020 06:14:37 +0000 Subject: [PATCH 1231/2840] Bump stefanzweifel/git-auto-commit-action from v4.7.2 to v4.8.0 Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from v4.7.2 to v4.8.0. - [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases) - [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.7.2...75802d269e7721b5146d08f6063ba3097c55ad2b) Signed-off-by: dependabot[bot] --- .github/workflows/update-changelog.yml | 2 +- .github/workflows/update-contributors.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index 0c72c7819..ea4ddf613 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -28,7 +28,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.7.2 + uses: stefanzweifel/git-auto-commit-action@v4.8.0 with: commit_message: Update Changelog file_pattern: CHANGELOG.md diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index 4ce1c76f1..f849484fc 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -24,7 +24,7 @@ jobs: run: python scripts/update_contributors.py - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.7.2 + uses: stefanzweifel/git-auto-commit-action@v4.8.0 with: commit_message: Update Contributors file_pattern: CONTRIBUTORS.md .github/contributors.json From 73c10348e49ef4a8a5f758d524e11cedc99e8bf9 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 16 Dec 2020 18:22:57 -0800 Subject: [PATCH 1232/2840] Update django-storages from 1.10.1 to 1.11 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index eed4477e3..7f8c9eaea 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -17,7 +17,7 @@ hiredis==1.1.0 # https://github.com/redis/hiredis-py # Django # ------------------------------------------------------------------------------ {%- if cookiecutter.cloud_provider == 'AWS' %} -django-storages[boto3]==1.10.1 # https://github.com/jschneier/django-storages +django-storages[boto3]==1.11 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} django-storages[google]==1.10.1 # https://github.com/jschneier/django-storages {%- endif %} From 6110904fc20a38a8ea70989098260a3af7a88846 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 16 Dec 2020 18:22:57 -0800 Subject: [PATCH 1233/2840] Update django-storages from 1.10.1 to 1.11 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 7f8c9eaea..cfb5ec68b 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -19,7 +19,7 @@ hiredis==1.1.0 # https://github.com/redis/hiredis-py {%- if cookiecutter.cloud_provider == 'AWS' %} django-storages[boto3]==1.11 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} -django-storages[google]==1.10.1 # https://github.com/jschneier/django-storages +django-storages[google]==1.11 # https://github.com/jschneier/django-storages {%- endif %} {%- if cookiecutter.mail_service == 'Mailgun' %} django-anymail[mailgun]==8.1 # https://github.com/anymail/django-anymail From bdd1345a9785a648585b7b55132f191aab6b1f90 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 19 Dec 2020 02:33:21 +0000 Subject: [PATCH 1234/2840] Update Changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d98a0b91c..a7ba2e997 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-12-18] +### Changed +- Bump stefanzweifel/git-auto-commit-action from v4.7.2 to v4.8.0 ([#2972](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2972)) +### Updated +- Update django-storages to 1.11 ([#2973](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2973)) +- Update pytest to 6.2.1 ([#2971](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2971)) +- Auto-update pre-commit hooks ([#2970](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2970)) + ## [2020-12-14] ### Updated - Update pytest to 6.2.0 ([#2968](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2968)) From cf6935b0a28f1df7510540eaee6305f4deea20cb Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 20 Dec 2020 01:02:40 -0800 Subject: [PATCH 1235/2840] Update uvicorn from 0.13.1 to 0.13.2 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 6ebbdb470..e6f8c808c 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -25,7 +25,7 @@ flower==0.9.5 # https://github.com/mher/flower {%- endif %} {%- endif %} {%- if cookiecutter.use_async == 'y' %} -uvicorn[standard]==0.13.1 # https://github.com/encode/uvicorn +uvicorn[standard]==0.13.2 # https://github.com/encode/uvicorn {%- endif %} # Django From 1532af099f34672b545c36f1b74aea484be040d1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 20 Dec 2020 01:02:43 -0800 Subject: [PATCH 1236/2840] Update coverage from 5.3 to 5.3.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index bd61be56b..1fa22dc23 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -27,7 +27,7 @@ sphinx-autobuild==2020.9.1 # https://github.com/GaretJax/sphinx-autobuild # ------------------------------------------------------------------------------ flake8==3.8.4 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort -coverage==5.3 # https://github.com/nedbat/coveragepy +coverage==5.3.1 # https://github.com/nedbat/coveragepy black==20.8b1 # https://github.com/ambv/black pylint-django==2.3.0 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} From 0b0d713d4f1a0d4bc682ca50a124647aef97b854 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 20 Dec 2020 09:49:47 -0800 Subject: [PATCH 1237/2840] Update sphinx from 3.3.1 to 3.4.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index bd61be56b..45147dc38 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation # ------------------------------------------------------------------------------ -sphinx==3.3.1 # https://github.com/sphinx-doc/sphinx +sphinx==3.4.0 # https://github.com/sphinx-doc/sphinx sphinx-autobuild==2020.9.1 # https://github.com/GaretJax/sphinx-autobuild # Code quality From 6a948603596ffadc7d2424f2a7f9fdb4ac17cc0f Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 21 Dec 2020 10:32:44 -0800 Subject: [PATCH 1238/2840] Update flower from 0.9.5 to 0.9.7 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 6ebbdb470..b994c30ea 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -21,7 +21,7 @@ celery==4.4.6 # pyup: < 5.0,!=4.4.7 # https://github.com/celery/celery django-celery-beat==2.1.0 # https://github.com/celery/django-celery-beat django-timezone-field==4.0 # https://github.com/celery/django-celery-beat/pull/378 {%- if cookiecutter.use_docker == 'y' %} -flower==0.9.5 # https://github.com/mher/flower +flower==0.9.7 # https://github.com/mher/flower {%- endif %} {%- endif %} {%- if cookiecutter.use_async == 'y' %} From 5e41838b391d3cb1cb99bc31bf2ca9b50042c48c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Dec 2020 06:12:42 +0000 Subject: [PATCH 1239/2840] Bump peter-evans/create-pull-request from v3.5.2 to v3.6.0 Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from v3.5.2 to v3.6.0. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.5.2...45c510e1f68ba052e3cd911f661a799cfb9ba3a3) Signed-off-by: dependabot[bot] --- .github/workflows/pre-commit-autoupdate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index 2b5bb09b5..c76a501bf 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -26,7 +26,7 @@ jobs: run: pre-commit autoupdate - name: Create Pull Request - uses: peter-evans/create-pull-request@v3.5.2 + uses: peter-evans/create-pull-request@v3.6.0 with: token: ${{ secrets.GITHUB_TOKEN }} branch: update/pre-commit-autoupdate From 53bbbb8e177eb0f502f82f064e48ea36f32eb423 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 24 Dec 2020 02:42:38 +0000 Subject: [PATCH 1240/2840] Update Changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a7ba2e997..5a53d671e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,15 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-12-23] +### Changed +- Bump peter-evans/create-pull-request from v3.5.2 to v3.6.0 ([#2980](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2980)) +### Updated +- Update flower to 0.9.7 ([#2979](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2979)) +- Update sphinx to 3.4.0 ([#2978](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2978)) +- Update coverage to 5.3.1 ([#2977](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2977)) +- Update uvicorn to 0.13.2 ([#2976](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2976)) + ## [2020-12-18] ### Changed - Bump stefanzweifel/git-auto-commit-action from v4.7.2 to v4.8.0 ([#2972](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2972)) From 5061f2a69f2f731be7e7ec3c70deffbdfee4abee Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 23 Dec 2020 18:42:45 -0800 Subject: [PATCH 1241/2840] Update django-storages from 1.11 to 1.11.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index cfb5ec68b..02dfe19fc 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -17,7 +17,7 @@ hiredis==1.1.0 # https://github.com/redis/hiredis-py # Django # ------------------------------------------------------------------------------ {%- if cookiecutter.cloud_provider == 'AWS' %} -django-storages[boto3]==1.11 # https://github.com/jschneier/django-storages +django-storages[boto3]==1.11.1 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} django-storages[google]==1.11 # https://github.com/jschneier/django-storages {%- endif %} From 3827d742f3b9caeea6eeb137623e25adfa4002cc Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 23 Dec 2020 18:42:46 -0800 Subject: [PATCH 1242/2840] Update django-storages from 1.11 to 1.11.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 02dfe19fc..4a610d0c4 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -19,7 +19,7 @@ hiredis==1.1.0 # https://github.com/redis/hiredis-py {%- if cookiecutter.cloud_provider == 'AWS' %} django-storages[boto3]==1.11.1 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} -django-storages[google]==1.11 # https://github.com/jschneier/django-storages +django-storages[google]==1.11.1 # https://github.com/jschneier/django-storages {%- endif %} {%- if cookiecutter.mail_service == 'Mailgun' %} django-anymail[mailgun]==8.1 # https://github.com/anymail/django-anymail From af30966400f95dc9e95dfe07ad2c40da097a78ba Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 23 Dec 2020 22:19:17 -0800 Subject: [PATCH 1243/2840] Update pygithub from 1.54 to 1.54.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 482b00768..900031883 100644 --- a/requirements.txt +++ b/requirements.txt @@ -19,5 +19,5 @@ pyyaml==5.3.1 # Scripting # ------------------------------------------------------------------------------ -PyGithub==1.54 +PyGithub==1.54.1 jinja2==2.11.2 From c122de1068fceba94b72d48c035e0ae072c4b775 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 24 Dec 2020 20:52:28 -0800 Subject: [PATCH 1244/2840] Update pytz from 2020.4 to 2020.5 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index cbad7d14e..fb3479737 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,4 +1,4 @@ -pytz==2020.4 # https://github.com/stub42/pytz +pytz==2020.5 # https://github.com/stub42/pytz python-slugify==4.0.1 # https://github.com/un33k/python-slugify Pillow==8.0.1 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} From f3dc0dbc6df032ec69a77a3998bb8051c9fa49cc Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 24 Dec 2020 20:52:31 -0800 Subject: [PATCH 1245/2840] Update sphinx from 3.4.0 to 3.4.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 7ce64023a..718242b8c 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation # ------------------------------------------------------------------------------ -sphinx==3.4.0 # https://github.com/sphinx-doc/sphinx +sphinx==3.4.1 # https://github.com/sphinx-doc/sphinx sphinx-autobuild==2020.9.1 # https://github.com/GaretJax/sphinx-autobuild # Code quality From eeae7e5f24467316b5df9d2ec45faef50340a450 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 27 Dec 2020 02:40:39 +0000 Subject: [PATCH 1246/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a53d671e..6527d6c20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-12-26] +### Updated +- Update sphinx to 3.4.1 ([#2985](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2985)) +- Update pytz to 2020.5 ([#2984](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2984)) + ## [2020-12-23] ### Changed - Bump peter-evans/create-pull-request from v3.5.2 to v3.6.0 ([#2980](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2980)) From c077028310ec8196a070fc7e05816493173d28c4 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 28 Dec 2020 02:41:37 -0800 Subject: [PATCH 1247/2840] Update factory-boy from 3.1.0 to 3.2.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 718242b8c..b831b46a8 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -37,7 +37,7 @@ pre-commit==2.9.3 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ -factory-boy==3.1.0 # https://github.com/FactoryBoy/factory_boy +factory-boy==3.2.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==3.2 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.1.0 # https://github.com/django-extensions/django-extensions From 3950f2e504c14c23cb70eda36805a865c9f3d97e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 29 Dec 2020 09:14:44 -0800 Subject: [PATCH 1248/2840] Update uvicorn from 0.13.2 to 0.13.3 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index fb3479737..eae4ac895 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -25,7 +25,7 @@ flower==0.9.7 # https://github.com/mher/flower {%- endif %} {%- endif %} {%- if cookiecutter.use_async == 'y' %} -uvicorn[standard]==0.13.2 # https://github.com/encode/uvicorn +uvicorn[standard]==0.13.3 # https://github.com/encode/uvicorn {%- endif %} # Django From 86a388b7a4bf3196cb9f2c44667ee095a5d08106 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 30 Dec 2020 02:43:05 +0000 Subject: [PATCH 1249/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6527d6c20..7a643436f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2020-12-29] +### Updated +- Update pygithub to 1.54.1 ([#2982](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2982)) +- Update django-storages to 1.11.1 ([#2981](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2981)) + ## [2020-12-26] ### Updated - Update sphinx to 3.4.1 ([#2985](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2985)) From a511e3dd94821832dcb1f8282e49d8451e356d30 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 30 Dec 2020 20:16:52 -0800 Subject: [PATCH 1250/2840] Update isort from 5.6.4 to 5.7.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 900031883..b41349464 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==20.8b1 -isort==5.6.4 +isort==5.7.0 flake8==3.8.4 flake8-isort==4.0.0 From fcbe4f5f86dc4015440fcf2fd9fb1847fdd44e6a Mon Sep 17 00:00:00 2001 From: vascop Date: Thu, 31 Dec 2020 14:02:53 +0100 Subject: [PATCH 1251/2840] Sentry Redis integration enabled by default in production. --- {{cookiecutter.project_slug}}/config/settings/production.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 340046f98..bd0acfbd4 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -7,6 +7,7 @@ from sentry_sdk.integrations.logging import LoggingIntegration {%- if cookiecutter.use_celery == 'y' %} from sentry_sdk.integrations.celery import CeleryIntegration {% endif %} +from sentry_sdk.integrations.redis import RedisIntegration {% endif -%} from .base import * # noqa @@ -351,9 +352,9 @@ sentry_logging = LoggingIntegration( ) {%- if cookiecutter.use_celery == 'y' %} -integrations = [sentry_logging, DjangoIntegration(), CeleryIntegration()] +integrations = [sentry_logging, DjangoIntegration(), CeleryIntegration(), RedisIntegration()] {% else %} -integrations = [sentry_logging, DjangoIntegration()] +integrations = [sentry_logging, DjangoIntegration(), RedisIntegration()] {% endif -%} sentry_sdk.init( From 06bd13a191b3415465fdb3891e61b4b0d1883720 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 1 Jan 2021 00:39:49 +0000 Subject: [PATCH 1252/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 3fd2b622a..5a5b58a63 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.6.4 + rev: 5.7.0 hooks: - id: isort From 3a1e94f41cb2c94e9455a2eb247c5d7085ac5255 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Fri, 1 Jan 2021 22:40:30 -0500 Subject: [PATCH 1253/2840] Use exception var in 403.html if available --- .../{{cookiecutter.project_slug}}/templates/403.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/403.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/403.html index c02bd4e9e..49c82a9d7 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/403.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/403.html @@ -5,5 +5,5 @@ {% block content %}

Forbidden (403)

-

CSRF verification failed. Request aborted.

+

{% if exception %}{{ exception }}{% else %}CSRF verification failed. Request aborted.{% endif %}

{% endblock content %}{% endraw %} From ac0af4c178029adb2ab08ad94f79994233179e2c Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Fri, 1 Jan 2021 22:44:02 -0500 Subject: [PATCH 1254/2840] Use exception var in 404.html if available --- .../{{cookiecutter.project_slug}}/templates/404.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/404.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/404.html index 1687ef311..187c1fc9d 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/404.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/404.html @@ -5,5 +5,5 @@ {% block content %}

Page not found

-

This is not the page you were looking for.

+

{% if exception %}{{ exception }}{% else %}This is not the page you were looking for.{% endif %}

{% endblock content %}{% endraw %} From 64a1c46cf4c3dacffdc95d9d10243538112e3f8f Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 2 Jan 2021 16:48:49 -0800 Subject: [PATCH 1255/2840] Update pillow from 8.0.1 to 8.1.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index fb3479737..bf152e077 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,6 +1,6 @@ pytz==2020.5 # https://github.com/stub42/pytz python-slugify==4.0.1 # https://github.com/un33k/python-slugify -Pillow==8.0.1 # https://github.com/python-pillow/Pillow +Pillow==8.1.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} {%- if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} rcssmin==1.0.6 --install-option="--without-c-extensions" # https://github.com/ndparker/rcssmin From 91b543228648376d8d20ea6fdb9b3644e7d8be5f Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 4 Jan 2021 08:45:17 -0800 Subject: [PATCH 1256/2840] Update sphinx from 3.4.1 to 3.4.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 718242b8c..3917c86c8 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation # ------------------------------------------------------------------------------ -sphinx==3.4.1 # https://github.com/sphinx-doc/sphinx +sphinx==3.4.2 # https://github.com/sphinx-doc/sphinx sphinx-autobuild==2020.9.1 # https://github.com/GaretJax/sphinx-autobuild # Code quality From e071a6d66b2728d4eefb5395ac4ee7ddca49caf2 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 5 Jan 2021 02:51:26 +0000 Subject: [PATCH 1257/2840] Update Changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a643436f..9d2b4ba44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-01-04] +### Updated +- Update isort to 5.7.0 ([#2988](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2988)) +- Update uvicorn to 0.13.3 ([#2987](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2987)) +- Auto-update pre-commit hooks ([#2990](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2990)) +- Update sphinx to 3.4.2 ([#2995](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2995)) +- Update pillow to 8.1.0 ([#2993](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2993)) + ## [2020-12-29] ### Updated - Update pygithub to 1.54.1 ([#2982](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2982)) From a395383256018ce56b5f77fa346cf2a5d15f5563 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 6 Jan 2021 02:17:12 -0800 Subject: [PATCH 1258/2840] Update pylint-django from 2.3.0 to 2.4.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 3917c86c8..f6f1f0196 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -29,7 +29,7 @@ flake8==3.8.4 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.3.1 # https://github.com/nedbat/coveragepy black==20.8b1 # https://github.com/ambv/black -pylint-django==2.3.0 # https://github.com/PyCQA/pylint-django +pylint-django==2.4.0 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} From dce3144b3989f5634a38e1c9d2b5cd128d1266c1 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Thu, 7 Jan 2021 22:27:50 -0500 Subject: [PATCH 1259/2840] Omit first_name and last_name in User model --- .../{{cookiecutter.project_slug}}/users/models.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py index 8391bc032..712a355b6 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py @@ -9,6 +9,8 @@ class User(AbstractUser): #: First and last name do not cover name patterns around the globe name = CharField(_("Name of User"), blank=True, max_length=255) + first_name = None + last_name = None def get_absolute_url(self): """Get url for user's detail view. From 2f416f90574fbfc60e1e7c5db0e2cb22dfd42b7a Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Thu, 7 Jan 2021 22:30:27 -0500 Subject: [PATCH 1260/2840] Remove first_name and last_name from migrations --- .../users/migrations/0001_initial.py | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/migrations/0001_initial.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/migrations/0001_initial.py index c9d890568..ef2c2d941 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/migrations/0001_initial.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/migrations/0001_initial.py @@ -53,18 +53,6 @@ class Migration(migrations.Migration): verbose_name="username", ), ), - ( - "first_name", - models.CharField( - blank=True, max_length=30, verbose_name="first name" - ), - ), - ( - "last_name", - models.CharField( - blank=True, max_length=150, verbose_name="last name" - ), - ), ( "email", models.EmailField( From e83933ae7a251938001497da5da37bf229a99ee8 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Thu, 7 Jan 2021 22:34:39 -0500 Subject: [PATCH 1261/2840] Upgrade Travis to Focal --- {{cookiecutter.project_slug}}/.travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.travis.yml b/{{cookiecutter.project_slug}}/.travis.yml index 24f9f24ac..f478685eb 100644 --- a/{{cookiecutter.project_slug}}/.travis.yml +++ b/{{cookiecutter.project_slug}}/.travis.yml @@ -1,4 +1,4 @@ -dist: xenial +dist: focal language: python python: From 5809eabb31543e518eb7eaffca08e793b65b7a78 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Thu, 7 Jan 2021 22:39:18 -0500 Subject: [PATCH 1262/2840] Ignore typing override in name removals --- .../{{cookiecutter.project_slug}}/users/models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py index 712a355b6..935eee9a2 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py @@ -9,8 +9,8 @@ class User(AbstractUser): #: First and last name do not cover name patterns around the globe name = CharField(_("Name of User"), blank=True, max_length=255) - first_name = None - last_name = None + first_name = None # type: ignore + last_name = None # type: ignore def get_absolute_url(self): """Get url for user's detail view. From 305347e7c7ad157a418c4ca64db65644592c08a7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 7 Jan 2021 22:04:13 -0800 Subject: [PATCH 1263/2840] Update sphinx from 3.4.2 to 3.4.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 3917c86c8..20ffbc5dd 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation # ------------------------------------------------------------------------------ -sphinx==3.4.2 # https://github.com/sphinx-doc/sphinx +sphinx==3.4.3 # https://github.com/sphinx-doc/sphinx sphinx-autobuild==2020.9.1 # https://github.com/GaretJax/sphinx-autobuild # Code quality From 42f6b1c3a5b86fe52dbc20c5212b372a93bd4083 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 8 Jan 2021 02:34:59 -0800 Subject: [PATCH 1264/2840] Update pylint-django from 2.4.0 to 2.4.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index c5cdb64e1..4c957fd54 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -29,7 +29,7 @@ flake8==3.8.4 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.3.1 # https://github.com/nedbat/coveragepy black==20.8b1 # https://github.com/ambv/black -pylint-django==2.4.0 # https://github.com/PyCQA/pylint-django +pylint-django==2.4.1 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} From 85e846a2c6d1a2b90db8e15f092e71f95f47421a Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 9 Jan 2021 02:57:06 +0000 Subject: [PATCH 1265/2840] Update Changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d2b4ba44..e4bf44c07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-01-08] +### Changed +- Upgrade Travis to Focal ([#2999](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2999)) +### Updated +- Update pylint-django to 2.4.1 ([#3001](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3001)) +- Update sphinx to 3.4.3 ([#3000](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3000)) +- Update pylint-django to 2.4.0 ([#2996](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2996)) + ## [2021-01-04] ### Updated - Update isort to 5.7.0 ([#2988](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2988)) From d25dcfe1931dfb72f559d135ed0767fc4d9ebb90 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 8 Jan 2021 18:57:23 -0800 Subject: [PATCH 1266/2840] Update tox from 3.20.1 to 3.21.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index b41349464..ded1ebc46 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8-isort==4.0.0 # Testing # ------------------------------------------------------------------------------ -tox==3.20.1 +tox==3.21.0 pytest==5.4.3 # pyup: <6 # https://github.com/hackebrot/pytest-cookies/issues/51 pytest-cookies==0.5.1 pytest-instafail==0.4.2 From a99833e8c673987fd3a215b530de715266a0c37f Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 10 Jan 2021 05:14:01 -0800 Subject: [PATCH 1267/2840] Update pylint-django from 2.4.1 to 2.4.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 4c957fd54..349442ac1 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -29,7 +29,7 @@ flake8==3.8.4 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.3.1 # https://github.com/nedbat/coveragepy black==20.8b1 # https://github.com/ambv/black -pylint-django==2.4.1 # https://github.com/PyCQA/pylint-django +pylint-django==2.4.2 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} From 4958941810400b878145fd3fdfa41e32de8cb482 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 11 Jan 2021 03:01:51 +0000 Subject: [PATCH 1268/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e4bf44c07..476dd4ad8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-01-10] +### Updated +- Update pylint-django to 2.4.2 ([#3003](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3003)) +- Update tox to 3.21.0 ([#3002](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3002)) + ## [2021-01-08] ### Changed - Upgrade Travis to Focal ([#2999](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2999)) From 1872bc65f4b144e036a3f4ee188f42035d161c64 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 13 Jan 2021 12:05:30 -0800 Subject: [PATCH 1269/2840] Update tox from 3.21.0 to 3.21.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index ded1ebc46..375d6345f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8-isort==4.0.0 # Testing # ------------------------------------------------------------------------------ -tox==3.21.0 +tox==3.21.1 pytest==5.4.3 # pyup: <6 # https://github.com/hackebrot/pytest-cookies/issues/51 pytest-cookies==0.5.1 pytest-instafail==0.4.2 From adb8abe040d0d93396324036c9ba1b69437b50fd Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 15 Jan 2021 03:12:42 +0000 Subject: [PATCH 1270/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 476dd4ad8..13531da57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-01-14] +### Updated +- Update tox to 3.21.1 ([#3006](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3006)) + ## [2021-01-10] ### Updated - Update pylint-django to 2.4.2 ([#3003](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3003)) From 2d84fe89dd44cf5abf85ce6285fa130ad5e951e2 Mon Sep 17 00:00:00 2001 From: "Fabio C. Barrionuevo da Luz" Date: Mon, 18 Jan 2021 16:06:31 -0300 Subject: [PATCH 1271/2840] Move sentry-sdk requirement to base.txt --- {{cookiecutter.project_slug}}/requirements/base.txt | 3 +++ {{cookiecutter.project_slug}}/requirements/production.txt | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 41ba12b79..36c18edf3 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -27,6 +27,9 @@ flower==0.9.7 # https://github.com/mher/flower {%- if cookiecutter.use_async == 'y' %} uvicorn[standard]==0.13.3 # https://github.com/encode/uvicorn {%- endif %} +{%- if cookiecutter.use_sentry == "y" %} +sentry-sdk==0.19.5 # https://github.com/getsentry/sentry-python +{%- endif %} # Django # ------------------------------------------------------------------------------ diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 4a610d0c4..fed43ceb7 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -7,9 +7,6 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} -{%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.19.5 # https://github.com/getsentry/sentry-python -{%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py {%- endif %} From 1858fc2be83a54110d287df7d983f18aa03dbc70 Mon Sep 17 00:00:00 2001 From: "Fabio C. Barrionuevo da Luz" Date: Mon, 18 Jan 2021 17:58:00 -0300 Subject: [PATCH 1272/2840] Revert "Move sentry-sdk requirement to base.txt" This reverts commit 2d84fe89dd44cf5abf85ce6285fa130ad5e951e2. --- {{cookiecutter.project_slug}}/requirements/base.txt | 3 --- {{cookiecutter.project_slug}}/requirements/production.txt | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 36c18edf3..41ba12b79 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -27,9 +27,6 @@ flower==0.9.7 # https://github.com/mher/flower {%- if cookiecutter.use_async == 'y' %} uvicorn[standard]==0.13.3 # https://github.com/encode/uvicorn {%- endif %} -{%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.19.5 # https://github.com/getsentry/sentry-python -{%- endif %} # Django # ------------------------------------------------------------------------------ diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index fed43ceb7..4a610d0c4 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -7,6 +7,9 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} +{%- if cookiecutter.use_sentry == "y" %} +sentry-sdk==0.19.5 # https://github.com/getsentry/sentry-python +{%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py {%- endif %} From af1cfc82c6aff6a71efc4bdc3a3ec75a7525144f Mon Sep 17 00:00:00 2001 From: "Fabio C. Barrionuevo da Luz" Date: Mon, 18 Jan 2021 18:05:22 -0300 Subject: [PATCH 1273/2840] Fix docker container stop command on github action --- {{cookiecutter.project_slug}}/.github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml index 52818e187..57add2c04 100644 --- a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml +++ b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml @@ -58,7 +58,7 @@ jobs: run: docker-compose -f local.yml exec -T django pytest - name: Tear down the Stack - run: docker-compose down + run: docker-compose -f local.yml down {%- else %} From ea57990b06903de589f5bbba7c19b4bbe4d37469 Mon Sep 17 00:00:00 2001 From: "Fabio C. Barrionuevo da Luz" Date: Mon, 18 Jan 2021 19:38:53 -0300 Subject: [PATCH 1274/2840] Update Heroku runtime to python3.8.7 --- {{cookiecutter.project_slug}}/runtime.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/runtime.txt b/{{cookiecutter.project_slug}}/runtime.txt index 43b47fb46..3e4835ce2 100644 --- a/{{cookiecutter.project_slug}}/runtime.txt +++ b/{{cookiecutter.project_slug}}/runtime.txt @@ -1 +1 @@ -python-3.8.5 +python-3.8.7 From 3e0c40f5b6cd0e975b21e333e605fc71368f9849 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 19 Jan 2021 20:45:44 -0800 Subject: [PATCH 1275/2840] Update django-celery-beat from 2.1.0 to 2.2.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 41ba12b79..d8904d695 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -18,7 +18,7 @@ hiredis==1.1.0 # https://github.com/redis/hiredis-py {%- endif %} {%- if cookiecutter.use_celery == "y" %} celery==4.4.6 # pyup: < 5.0,!=4.4.7 # https://github.com/celery/celery -django-celery-beat==2.1.0 # https://github.com/celery/django-celery-beat +django-celery-beat==2.2.0 # https://github.com/celery/django-celery-beat django-timezone-field==4.0 # https://github.com/celery/django-celery-beat/pull/378 {%- if cookiecutter.use_docker == 'y' %} flower==0.9.7 # https://github.com/mher/flower From 30d8498a79d3e02fecbb8cb03ee92208c2d7a72d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 20 Jan 2021 13:31:41 -0800 Subject: [PATCH 1276/2840] Update tox from 3.21.1 to 3.21.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 375d6345f..55182fa3f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8-isort==4.0.0 # Testing # ------------------------------------------------------------------------------ -tox==3.21.1 +tox==3.21.2 pytest==5.4.3 # pyup: <6 # https://github.com/hackebrot/pytest-cookies/issues/51 pytest-cookies==0.5.1 pytest-instafail==0.4.2 From d72c311e9b3c92942075135cbf51b9300e6413d1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 20 Jan 2021 14:54:34 -0800 Subject: [PATCH 1277/2840] Update pyyaml from 5.3.1 to 5.4.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 375d6345f..88f09127d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,7 +15,7 @@ tox==3.21.1 pytest==5.4.3 # pyup: <6 # https://github.com/hackebrot/pytest-cookies/issues/51 pytest-cookies==0.5.1 pytest-instafail==0.4.2 -pyyaml==5.3.1 +pyyaml==5.4.1 # Scripting # ------------------------------------------------------------------------------ From 3cbd840a96628282e8ab99c2dc2cf4e7e711fa82 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Thu, 21 Jan 2021 19:02:01 -0500 Subject: [PATCH 1278/2840] Use self.request.user instead of second query --- .../{{cookiecutter.project_slug}}/users/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py index 520b1e52c..f3a240d81 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py @@ -27,7 +27,7 @@ class UserUpdateView(LoginRequiredMixin, UpdateView): return reverse("users:detail", kwargs={"username": self.request.user.username}) def get_object(self): - return User.objects.get(username=self.request.user.username) + return self.request.user def form_valid(self, form): messages.add_message( From 4f52366a9149aa4d752295d40d4c609ebc1bb97a Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 22 Jan 2021 13:28:28 -0800 Subject: [PATCH 1279/2840] Update mypy from 0.790 to 0.800 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 349442ac1..ca677877b 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -13,7 +13,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # Testing # ------------------------------------------------------------------------------ -mypy==0.790 # https://github.com/python/mypy +mypy==0.800 # https://github.com/python/mypy django-stubs==1.7.0 # https://github.com/typeddjango/django-stubs pytest==6.2.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar From 5a8a86ec44ba5c018e5630370fc23d3c69f72d39 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 23 Jan 2021 03:15:12 +0000 Subject: [PATCH 1280/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 13531da57..1b47539fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-01-22] +### Changed +- Use self.request.user instead of second query ([#3012](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3012)) + ## [2021-01-14] ### Updated - Update tox to 3.21.1 ([#3006](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3006)) From b7c95f6eed786000278f5719fbf4ac037af20e50 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 24 Jan 2021 14:20:39 +0000 Subject: [PATCH 1281/2840] Update factory-boy's .generate to evaluate Co-Authored-By: Timo Halbesma --- .../{{cookiecutter.project_slug}}/users/tests/factories.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py index 05b3ae0b5..edd306cb8 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py @@ -23,7 +23,7 @@ class UserFactory(DjangoModelFactory): digits=True, upper_case=True, lower_case=True, - ).generate(params={"locale": None}) + ).evaluate(None, None, extra={"locale": None}) ) self.set_password(password) From 99f6cf35bb9cf3f5f4dad0db4d077ff3bea78fb1 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 24 Jan 2021 15:08:56 +0000 Subject: [PATCH 1282/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 99fd084f0..7976ce1d6 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1057,5 +1057,10 @@ "name": "Yotam Tal", "github_login": "yotamtal", "twitter_username": "" + }, + { + "name": "John", + "github_login": "thorrak", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 75f0efd2d..dd66bd95f 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -866,6 +866,13 @@ Listed in alphabetical order. afrowave + + John + + thorrak + + + John Cass From 42f33527c51effce8ad39e8b7d7f94a6a642d736 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 24 Jan 2021 15:11:15 +0000 Subject: [PATCH 1283/2840] Refactor test --- .../users/tests/test_views.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py index 52d146065..c2fe8b519 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py @@ -61,11 +61,8 @@ class TestUserUpdateView: form.cleaned_data = [] view.form_valid(form) - found_message = False - for message in messages.get_messages(request): - assert message.message == "Information successfully updated" - found_message = True - assert found_message + messages_sent = [m.message for m in messages.get_messages(request)] + assert messages_sent == ["Information successfully updated"] class TestUserRedirectView: From eb6fad5f3299c9dadf0fc7e844c651bf37541631 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 24 Jan 2021 15:23:56 +0000 Subject: [PATCH 1284/2840] Remove pinning of django-timezone-field fixes #2950 --- {{cookiecutter.project_slug}}/requirements/base.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index d8904d695..475ac1866 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -19,7 +19,6 @@ hiredis==1.1.0 # https://github.com/redis/hiredis-py {%- if cookiecutter.use_celery == "y" %} celery==4.4.6 # pyup: < 5.0,!=4.4.7 # https://github.com/celery/celery django-celery-beat==2.2.0 # https://github.com/celery/django-celery-beat -django-timezone-field==4.0 # https://github.com/celery/django-celery-beat/pull/378 {%- if cookiecutter.use_docker == 'y' %} flower==0.9.7 # https://github.com/mher/flower {%- endif %} From abc2e969a77a1982e1759189192bff3c43dfc7de Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 24 Jan 2021 16:50:45 +0000 Subject: [PATCH 1285/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 7976ce1d6..8853e76e7 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1062,5 +1062,10 @@ "name": "John", "github_login": "thorrak", "twitter_username": "" + }, + { + "name": "vascop", + "github_login": "vascop", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index dd66bd95f..818b6cdd7 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1426,6 +1426,13 @@ Listed in alphabetical order. egregors + + vascop + + vascop + + + Vicente G. Reyes From c2060bf34a22a213e8801d6d9a9dab08780ff27e Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 24 Jan 2021 23:16:45 +0000 Subject: [PATCH 1286/2840] Add logo to badge --- {{cookiecutter.project_slug}}/README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/README.rst b/{{cookiecutter.project_slug}}/README.rst index 1deeafbec..2aae422ce 100644 --- a/{{cookiecutter.project_slug}}/README.rst +++ b/{{cookiecutter.project_slug}}/README.rst @@ -3,7 +3,7 @@ {{cookiecutter.description}} -.. image:: https://img.shields.io/badge/built%20with-Cookiecutter%20Django-ff69b4.svg +.. image:: https://img.shields.io/badge/built%20with-Cookiecutter%20Django-ff69b4.svg?logo=cookiecutter :target: https://github.com/pydanny/cookiecutter-django/ :alt: Built with Cookiecutter Django .. image:: https://img.shields.io/badge/code%20style-black-000000.svg From 9903cb9fcde468246e4f6bb7b1067a957c1afdf9 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 25 Jan 2021 03:17:23 +0000 Subject: [PATCH 1287/2840] Update Changelog --- CHANGELOG.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b47539fb..8c5999159 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,21 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-01-24] +### Changed +- Use defer for script tags (Fix #2922) ([#2927](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2927)) +- Made Traefik conf much easier to understand and improved redirect res… ([#2838](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2838)) +- Sentry Redis integration enabled by default in production. ([#2989](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2989)) +- Add test for UserUpdateView.form_valid() ([#2949](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2949)) +### Fixed +- Omit first_name and last_name in User model ([#2998](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2998)) +### Updated +- Update django-celery-beat to 2.2.0 ([#3009](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3009)) +- Update pyyaml to 5.4.1 ([#3011](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3011)) +- Update mypy to 0.800 ([#3013](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3013)) +- Update factory-boy to 3.2.0 ([#2986](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2986)) +- Update tox to 3.21.2 ([#3010](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3010)) + ## [2021-01-22] ### Changed - Use self.request.user instead of second query ([#3012](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3012)) From cbb3cdb2b1320aae296b638564546084f0cb49a9 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Mon, 25 Jan 2021 11:20:34 -0500 Subject: [PATCH 1288/2840] Update admin to ignore *_name User attributes Fixes #3016 --- .../users/admin.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/admin.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/admin.py index a68a94a95..700311482 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/admin.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/admin.py @@ -12,8 +12,22 @@ class UserAdmin(auth_admin.UserAdmin): form = UserChangeForm add_form = UserCreationForm - fieldsets = (("User", {"fields": ("name",)}),) + tuple( - auth_admin.UserAdmin.fieldsets + fieldsets = ( + (None, {"fields": ("username", "password")}), + (_("Personal info"), {"fields": ("name", "email")}), + ( + _("Permissions"), + { + "fields": ( + "is_active", + "is_staff", + "is_superuser", + "groups", + "user_permissions", + ), + }, + ), + (_("Important dates"), {"fields": ("last_login", "date_joined")}), ) list_display = ["username", "name", "is_superuser"] search_fields = ["name"] From d1409e2fb3962c66f8c7829f6b2456b50aca40e5 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 25 Jan 2021 21:08:33 +0000 Subject: [PATCH 1289/2840] Missing import --- .../{{cookiecutter.project_slug}}/users/admin.py | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/admin.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/admin.py index 700311482..8e8e3eb2f 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/admin.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/admin.py @@ -1,6 +1,7 @@ from django.contrib import admin from django.contrib.auth import admin as auth_admin from django.contrib.auth import get_user_model +from django.utils.translation import gettext_lazy as _ from {{ cookiecutter.project_slug }}.users.forms import UserChangeForm, UserCreationForm From 37e0d6ae04da6b127e214afba1d8d1adabfa707e Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 25 Jan 2021 21:55:14 +0000 Subject: [PATCH 1290/2840] Add test for the UserAdmin --- .../users/tests/test_admin.py | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_admin.py diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_admin.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_admin.py new file mode 100644 index 000000000..ee9f70ed5 --- /dev/null +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_admin.py @@ -0,0 +1,40 @@ +import pytest +from django.urls import reverse + +from {{ cookiecutter.project_slug }}.users.models import User + +pytestmark = pytest.mark.django_db + + +class TestUserAdmin: + def test_changelist(self, admin_client): + url = reverse("admin:users_user_changelist") + response = admin_client.get(url) + assert response.status_code == 200 + + def test_search(self, admin_client): + url = reverse("admin:users_user_changelist") + response = admin_client.get(url, data={"q": "test"}) + assert response.status_code == 200 + + def test_add(self, admin_client): + url = reverse("admin:users_user_add") + response = admin_client.get(url) + assert response.status_code == 200 + + response = admin_client.post( + url, + data={ + "username": "test", + "password1": "My_R@ndom-P@ssw0rd", + "password2": "My_R@ndom-P@ssw0rd", + }, + ) + assert response.status_code == 302 + assert User.objects.filter(username="test").exists() + + def test_view_user(self, admin_client): + user = User.objects.first() + url = reverse("admin:users_user_change", kwargs={"object_id": user.pk}) + response = admin_client.get(url) + assert response.status_code == 200 From d12d01d325e662d565fb358575aa0f8caede1642 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 25 Jan 2021 22:13:19 +0000 Subject: [PATCH 1291/2840] Fix mypy error --- .../{{cookiecutter.project_slug}}/users/tests/test_admin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_admin.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_admin.py index ee9f70ed5..c50a4be4c 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_admin.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_admin.py @@ -34,7 +34,7 @@ class TestUserAdmin: assert User.objects.filter(username="test").exists() def test_view_user(self, admin_client): - user = User.objects.first() + user = User.objects.get(username="admin") url = reverse("admin:users_user_change", kwargs={"object_id": user.pk}) response = admin_client.get(url) assert response.status_code == 200 From 1b7b003f1539e86bb47d461ad018ee2d498b4cf8 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 25 Jan 2021 17:42:39 -0800 Subject: [PATCH 1292/2840] Update django-cors-headers from 3.6.0 to 3.7.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 475ac1866..a035aeed3 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -41,5 +41,5 @@ django-redis==4.12.1 # https://github.com/jazzband/django-redis {%- if cookiecutter.use_drf == "y" %} # Django REST Framework djangorestframework==3.12.2 # https://github.com/encode/django-rest-framework -django-cors-headers==3.6.0 # https://github.com/adamchainz/django-cors-headers +django-cors-headers==3.7.0 # https://github.com/adamchainz/django-cors-headers {%- endif %} From 880cdeb2df72f5a80840dd9c31d277b1a99f1a06 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 25 Jan 2021 17:42:43 -0800 Subject: [PATCH 1293/2840] Update pytest from 6.2.1 to 6.2.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 9e26f6f00..c34862a9a 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -15,7 +15,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # ------------------------------------------------------------------------------ mypy==0.800 # https://github.com/python/mypy django-stubs==1.7.0 # https://github.com/typeddjango/django-stubs -pytest==6.2.1 # https://github.com/pytest-dev/pytest +pytest==6.2.2 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation From d358fc948d6bd9c8524740cd6e5093b5232eef33 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Tue, 26 Jan 2021 09:56:24 +0530 Subject: [PATCH 1294/2840] Using SuccessMessageMixin to pass the message to django template instead of overriding form_valid --- .../{{cookiecutter.project_slug}}/users/views.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py index 011ea4106..803769fa1 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py @@ -1,6 +1,6 @@ -from django.contrib import messages from django.contrib.auth import get_user_model from django.contrib.auth.mixins import LoginRequiredMixin +from django.contrib.messages.views import SuccessMessageMixin from django.urls import reverse from django.utils.translation import gettext_lazy as _ from django.views.generic import DetailView, RedirectView, UpdateView @@ -18,23 +18,18 @@ class UserDetailView(LoginRequiredMixin, DetailView): user_detail_view = UserDetailView.as_view() -class UserUpdateView(LoginRequiredMixin, UpdateView): +class UserUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView): model = User fields = ["name"] + success_message = _("Information successfully updated") def get_success_url(self): return reverse("users:detail", kwargs={"username": self.request.user.username}) def get_object(self): return self.request.user - - def form_valid(self, form): - messages.add_message( - self.request, messages.INFO, _("Information successfully updated") - ) - return super().form_valid(form) - + user_update_view = UserUpdateView.as_view() @@ -47,4 +42,4 @@ class UserRedirectView(LoginRequiredMixin, RedirectView): return reverse("users:detail", kwargs={"username": self.request.user.username}) -user_redirect_view = UserRedirectView.as_view() +user_redirect_view = UserRedirectView.as_view() \ No newline at end of file From 125f1a8afe56950f012e40ee9109628526c85f99 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Tue, 26 Jan 2021 10:34:18 +0530 Subject: [PATCH 1295/2840] Fixing Formatting issues --- .../{{cookiecutter.project_slug}}/users/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py index 803769fa1..2b077d424 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py @@ -29,7 +29,7 @@ class UserUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView): def get_object(self): return self.request.user - + user_update_view = UserUpdateView.as_view() @@ -42,4 +42,4 @@ class UserRedirectView(LoginRequiredMixin, RedirectView): return reverse("users:detail", kwargs={"username": self.request.user.username}) -user_redirect_view = UserRedirectView.as_view() \ No newline at end of file +user_redirect_view = UserRedirectView.as_view() From 602832cde30bfb231c31dd68c99f2b74b024a35c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Jan 2021 06:07:57 +0000 Subject: [PATCH 1296/2840] Bump peter-evans/create-pull-request from v3.6.0 to v3.7.0 Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from v3.6.0 to v3.7.0. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.6.0...2455e1596942c2902952003bbb574afbbe2ab2e6) Signed-off-by: dependabot[bot] --- .github/workflows/pre-commit-autoupdate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index c76a501bf..a0ad17ab0 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -26,7 +26,7 @@ jobs: run: pre-commit autoupdate - name: Create Pull Request - uses: peter-evans/create-pull-request@v3.6.0 + uses: peter-evans/create-pull-request@v3.7.0 with: token: ${{ secrets.GITHUB_TOKEN }} branch: update/pre-commit-autoupdate From a1d551d0679b54b2f57bf9ba17e07c854171566a Mon Sep 17 00:00:00 2001 From: areski Date: Tue, 26 Jan 2021 16:13:27 +0100 Subject: [PATCH 1297/2840] Update from Python3.8 to Python3.9 --- .github/workflows/ci.yml | 8 ++++---- .github/workflows/pre-commit-autoupdate.yml | 2 +- .github/workflows/update-changelog.yml | 2 +- .github/workflows/update-contributors.yml | 2 +- CONTRIBUTING.rst | 4 ++-- README.rst | 2 +- docs/deployment-on-pythonanywhere.rst | 2 +- docs/developing-locally.rst | 4 ++-- hooks/pre_gen_project.py | 2 +- setup.py | 2 +- tox.ini | 2 +- {{cookiecutter.project_slug}}/.github/workflows/ci.yml | 8 ++++---- {{cookiecutter.project_slug}}/.gitlab-ci.yml | 4 ++-- {{cookiecutter.project_slug}}/.readthedocs.yml | 2 +- {{cookiecutter.project_slug}}/.travis.yml | 4 ++-- .../compose/local/django/Dockerfile | 2 +- .../compose/local/docs/Dockerfile | 2 +- .../compose/production/django/Dockerfile | 2 +- {{cookiecutter.project_slug}}/runtime.txt | 2 +- {{cookiecutter.project_slug}}/setup.cfg | 2 +- 20 files changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fd9668459..cd1389c0d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,14 +12,14 @@ jobs: fail-fast: false matrix: tox-env: - - py38 + - py39 - black-template steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.9 - name: Install dependencies run: | python -m pip install -U pip @@ -46,7 +46,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.9 - name: Docker ${{ matrix.script.name }} run: sh tests/test_docker.sh ${{ matrix.script.args }} @@ -80,6 +80,6 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.9 - name: Bare Metal ${{ matrix.script.name }} run: sh tests/test_bare.sh ${{ matrix.script.args }} diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index a0ad17ab0..71738d629 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.9 - name: Install pre-commit run: pip install pre-commit diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index ea4ddf613..f05f99d61 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -17,7 +17,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.9 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index f849484fc..835000b29 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -15,7 +15,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.9 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 5d88bf5bf..d4412b7f0 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -38,9 +38,9 @@ To run all tests using various versions of python in virtualenvs defined in tox. It is possible to test with a specific version of python. To do this, the command is:: - $ tox -e py38 + $ tox -e py39 -This will run py.test with the python3.8 interpreter, for example. +This will run py.test with the python3.9 interpreter, for example. To run a particular test with tox for against your current Python version:: diff --git a/README.rst b/README.rst index dbc510a47..105497c47 100644 --- a/README.rst +++ b/README.rst @@ -41,7 +41,7 @@ Features --------- * For Django 3.0 -* Works with Python 3.8 +* Works with Python 3.9 * Renders Django projects with 100% starting test coverage * Twitter Bootstrap_ v4 (`maintained Foundation fork`_ also available) * 12-Factor_ based settings via django-environ_ diff --git a/docs/deployment-on-pythonanywhere.rst b/docs/deployment-on-pythonanywhere.rst index 16dba5a29..67da158ba 100644 --- a/docs/deployment-on-pythonanywhere.rst +++ b/docs/deployment-on-pythonanywhere.rst @@ -35,7 +35,7 @@ Make sure your project is fully committed and pushed up to Bitbucket or Github o git clone # you can also use hg cd my-project-name - mkvirtualenv --python=/usr/bin/python3.8 my-project-name + mkvirtualenv --python=/usr/bin/python3.9 my-project-name pip install -r requirements/production.txt # may take a few minutes diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst index 2b7806ce4..c8b54ea53 100644 --- a/docs/developing-locally.rst +++ b/docs/developing-locally.rst @@ -9,7 +9,7 @@ Setting Up Development Environment Make sure to have the following on your host: -* Python 3.8 +* Python 3.9 * PostgreSQL_. * Redis_, if using Celery * Cookiecutter_ @@ -18,7 +18,7 @@ First things first. #. Create a virtualenv: :: - $ python3.8 -m venv + $ python3.9 -m venv #. Activate the virtualenv you have just created: :: diff --git a/hooks/pre_gen_project.py b/hooks/pre_gen_project.py index 8eaf4983d..70c29557c 100644 --- a/hooks/pre_gen_project.py +++ b/hooks/pre_gen_project.py @@ -35,7 +35,7 @@ if "{{ cookiecutter.use_docker }}".lower() == "n": if python_major_version == 2: print( WARNING + "You're running cookiecutter under Python 2, but the generated " - "project requires Python 3.8+. Do you want to proceed (y/n)? " + TERMINATOR + "project requires Python 3.9+. Do you want to proceed (y/n)? " + TERMINATOR ) yes_options, no_options = frozenset(["y"]), frozenset(["n"]) while True: diff --git a/setup.py b/setup.py index c72ba1c9d..44ffae967 100644 --- a/setup.py +++ b/setup.py @@ -40,7 +40,7 @@ setup( "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development", ], diff --git a/tox.ini b/tox.ini index cecc7435f..0afe3931d 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] skipsdist = true -envlist = py38,black-template +envlist = py39,black-template [testenv] deps = -rrequirements.txt diff --git a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml index 57add2c04..15eb3daa4 100644 --- a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml +++ b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml @@ -23,10 +23,10 @@ jobs: - name: Checkout Code Repository uses: actions/checkout@v2 - - name: Set up Python 3.8 + - name: Set up Python 3.9 uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.9 - name: Install flake8 run: | @@ -62,10 +62,10 @@ jobs: {%- else %} - - name: Set up Python 3.8 + - name: Set up Python 3.9 uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.9 - name: Get pip cache dir id: pip-cache-location diff --git a/{{cookiecutter.project_slug}}/.gitlab-ci.yml b/{{cookiecutter.project_slug}}/.gitlab-ci.yml index 60925b811..314aacb6e 100644 --- a/{{cookiecutter.project_slug}}/.gitlab-ci.yml +++ b/{{cookiecutter.project_slug}}/.gitlab-ci.yml @@ -13,7 +13,7 @@ variables: flake8: stage: lint - image: python:3.8-alpine + image: python:3.9-alpine before_script: - pip install -q flake8 script: @@ -21,7 +21,7 @@ flake8: pytest: stage: test - image: python:3.8 + image: python:3.9 {% if cookiecutter.use_docker == 'y' -%} image: docker/compose:latest tags: diff --git a/{{cookiecutter.project_slug}}/.readthedocs.yml b/{{cookiecutter.project_slug}}/.readthedocs.yml index b193a85e0..1b6020f3a 100644 --- a/{{cookiecutter.project_slug}}/.readthedocs.yml +++ b/{{cookiecutter.project_slug}}/.readthedocs.yml @@ -4,6 +4,6 @@ sphinx: configuration: docs/conf.py python: - version: 3.8 + version: 3.9 install: - requirements: requirements/local.txt diff --git a/{{cookiecutter.project_slug}}/.travis.yml b/{{cookiecutter.project_slug}}/.travis.yml index f478685eb..a684da225 100644 --- a/{{cookiecutter.project_slug}}/.travis.yml +++ b/{{cookiecutter.project_slug}}/.travis.yml @@ -2,7 +2,7 @@ dist: focal language: python python: - - "3.8" + - "3.9" services: - {% if cookiecutter.use_docker == 'y' %}docker{% else %}postgresql{% endif %} @@ -37,7 +37,7 @@ jobs: - sudo apt-get install -qq libsqlite3-dev libxml2 libxml2-dev libssl-dev libbz2-dev wget curl llvm language: python python: - - "3.8" + - "3.9" install: - pip install -r requirements/local.txt script: diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index 5473f114e..210d14fa8 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.8-slim-buster +FROM python:3.9-slim-buster ENV PYTHONUNBUFFERED 1 ENV PYTHONDONTWRITEBYTECODE 1 diff --git a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile index 315fdd405..fbb5ce9d0 100644 --- a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.8-slim-buster +FROM python:3.9-slim-buster ENV PYTHONUNBUFFERED 1 ENV PYTHONDONTWRITEBYTECODE 1 diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index 2e6a195b7..45faa17e9 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -9,7 +9,7 @@ RUN npm run build # Python build stage {%- endif %} -FROM python:3.8-slim-buster +FROM python:3.9-slim-buster ENV PYTHONUNBUFFERED 1 diff --git a/{{cookiecutter.project_slug}}/runtime.txt b/{{cookiecutter.project_slug}}/runtime.txt index 3e4835ce2..1a1817944 100644 --- a/{{cookiecutter.project_slug}}/runtime.txt +++ b/{{cookiecutter.project_slug}}/runtime.txt @@ -1 +1 @@ -python-3.8.7 +python-3.9.1 diff --git a/{{cookiecutter.project_slug}}/setup.cfg b/{{cookiecutter.project_slug}}/setup.cfg index 5bde75cff..c3ce2a0ef 100644 --- a/{{cookiecutter.project_slug}}/setup.cfg +++ b/{{cookiecutter.project_slug}}/setup.cfg @@ -7,7 +7,7 @@ max-line-length = 120 exclude = .tox,.git,*/migrations/*,*/static/CACHE/*,docs,node_modules,venv [mypy] -python_version = 3.8 +python_version = 3.9 check_untyped_defs = True ignore_missing_imports = True warn_unused_ignores = True From d5d42b179726b00660ab284ce7819b688bb520bb Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 26 Jan 2021 10:51:06 -0800 Subject: [PATCH 1298/2840] Update coverage from 5.3.1 to 5.4 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index c34862a9a..e5919ee37 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -27,7 +27,7 @@ sphinx-autobuild==2020.9.1 # https://github.com/GaretJax/sphinx-autobuild # ------------------------------------------------------------------------------ flake8==3.8.4 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort -coverage==5.3.1 # https://github.com/nedbat/coveragepy +coverage==5.4 # https://github.com/nedbat/coveragepy black==20.8b1 # https://github.com/ambv/black pylint-django==2.4.2 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} From 8e031e760ff8b391fcc4dbb6a7d209aa36937666 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 27 Jan 2021 02:35:54 +0000 Subject: [PATCH 1299/2840] Update Changelog --- CHANGELOG.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c5999159..1a246a3eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-01-26] +### Changed +- Bump peter-evans/create-pull-request from v3.6.0 to v3.7.0 ([#3022](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3022)) +- Using SuccessMessageMixin to send success message to django template ([#3021](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3021)) +### Fixed +- Update admin to ignore *_name User attributes ([#3018](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3018)) +### Updated +- Update coverage to 5.4 ([#3024](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3024)) +- Update pytest to 6.2.2 ([#3020](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3020)) +- Update django-cors-headers to 3.7.0 ([#3019](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3019)) + ## [2021-01-24] ### Changed - Use defer for script tags (Fix #2922) ([#2927](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2927)) From 9969f8fa0da67de61f7583d319bf8a741a3e281f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 28 Jan 2021 09:19:14 +0000 Subject: [PATCH 1300/2840] Handle error if node hasn't started yet --- {{cookiecutter.project_slug}}/config/settings/local.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/local.py b/{{cookiecutter.project_slug}}/config/settings/local.py index c69042d53..3ce150e1c 100644 --- a/{{cookiecutter.project_slug}}/config/settings/local.py +++ b/{{cookiecutter.project_slug}}/config/settings/local.py @@ -70,8 +70,12 @@ if env("USE_DOCKER") == "yes": hostname, _, ips = socket.gethostbyname_ex(socket.gethostname()) INTERNAL_IPS += [".".join(ip.split(".")[:-1] + ["1"]) for ip in ips] {%- if cookiecutter.js_task_runner == 'Gulp' %} - _, _, ips = socket.gethostbyname_ex("node") - INTERNAL_IPS.extend(ips) + try: + _, _, ips = socket.gethostbyname_ex("node") + INTERNAL_IPS.extend(ips) + except socket.gaierror: + # The node container isn't started (yet?) + pass {%- endif %} {%- endif %} From 7b92bc388d3150c7f810a901a93888cb4b471a86 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 28 Jan 2021 10:46:03 +0000 Subject: [PATCH 1301/2840] Update deprecated `scale` command to `up --scale` The scale command is deprecated: Use the up command with the `--scale` flag instead. --- docs/deployment-with-docker.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/deployment-with-docker.rst b/docs/deployment-with-docker.rst index 01df2e44d..fcce7e6f5 100644 --- a/docs/deployment-with-docker.rst +++ b/docs/deployment-with-docker.rst @@ -124,8 +124,8 @@ To check the logs out, run:: If you want to scale your application, run:: - docker-compose -f production.yml scale django=4 - docker-compose -f production.yml scale celeryworker=2 + docker-compose -f production.yml up --scale django=4 + docker-compose -f production.yml up --scale celeryworker=2 .. warning:: don't try to scale ``postgres``, ``celerybeat``, or ``traefik``. From f0ae5ebfe75e9452cec96962d0426aea491c0bbf Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 28 Jan 2021 02:46:12 -0800 Subject: [PATCH 1302/2840] Update tox from 3.21.2 to 3.21.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 87161a2e1..6f389476f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8-isort==4.0.0 # Testing # ------------------------------------------------------------------------------ -tox==3.21.2 +tox==3.21.3 pytest==5.4.3 # pyup: <6 # https://github.com/hackebrot/pytest-cookies/issues/51 pytest-cookies==0.5.1 pytest-instafail==0.4.2 From 7bfac19625f9c53e23372e9b6e46b8c50c5aa1ae Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 28 Jan 2021 09:24:34 -0800 Subject: [PATCH 1303/2840] Update django-anymail from 8.1 to 8.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 4a610d0c4..f5bf3ca99 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -22,7 +22,7 @@ django-storages[boto3]==1.11.1 # https://github.com/jschneier/django-storages django-storages[google]==1.11.1 # https://github.com/jschneier/django-storages {%- endif %} {%- if cookiecutter.mail_service == 'Mailgun' %} -django-anymail[mailgun]==8.1 # https://github.com/anymail/django-anymail +django-anymail[mailgun]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Amazon SES' %} django-anymail[amazon_ses]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} From f9b0b5a4222f0fe233528df17ec2e082c9fd15ec Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 28 Jan 2021 09:24:35 -0800 Subject: [PATCH 1304/2840] Update django-anymail from 8.1 to 8.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index f5bf3ca99..004375dcb 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -24,7 +24,7 @@ django-storages[google]==1.11.1 # https://github.com/jschneier/django-storages {%- if cookiecutter.mail_service == 'Mailgun' %} django-anymail[mailgun]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Amazon SES' %} -django-anymail[amazon_ses]==8.1 # https://github.com/anymail/django-anymail +django-anymail[amazon_ses]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} django-anymail[mailjet]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} From 346c91c7613c910c1a00fa3c3010fc56c6d0ceba Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 28 Jan 2021 09:24:35 -0800 Subject: [PATCH 1305/2840] Update django-anymail from 8.1 to 8.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 004375dcb..c1b8a9642 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -26,7 +26,7 @@ django-anymail[mailgun]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Amazon SES' %} django-anymail[amazon_ses]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} -django-anymail[mailjet]==8.1 # https://github.com/anymail/django-anymail +django-anymail[mailjet]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} django-anymail[mandrill]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} From 70adb225292c901b24ecd03d4d52cd059a2eb4d8 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 28 Jan 2021 09:24:36 -0800 Subject: [PATCH 1306/2840] Update django-anymail from 8.1 to 8.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index c1b8a9642..b5766bc14 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -28,7 +28,7 @@ django-anymail[amazon_ses]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} django-anymail[mailjet]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} -django-anymail[mandrill]==8.1 # https://github.com/anymail/django-anymail +django-anymail[mandrill]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} django-anymail[postmark]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} From dceee9bb5ca3b124a0bf8efe75ec1aabb2262b38 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 28 Jan 2021 09:24:37 -0800 Subject: [PATCH 1307/2840] Update django-anymail from 8.1 to 8.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index b5766bc14..dc6a0a42e 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -30,7 +30,7 @@ django-anymail[mailjet]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} django-anymail[mandrill]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} -django-anymail[postmark]==8.1 # https://github.com/anymail/django-anymail +django-anymail[postmark]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} django-anymail[sendgrid]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} From f4a5b106a7bf8c0126636a637c175c9c8215c482 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 28 Jan 2021 09:24:38 -0800 Subject: [PATCH 1308/2840] Update django-anymail from 8.1 to 8.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index dc6a0a42e..148d20e48 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -32,7 +32,7 @@ django-anymail[mandrill]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} django-anymail[postmark]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} -django-anymail[sendgrid]==8.1 # https://github.com/anymail/django-anymail +django-anymail[sendgrid]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} django-anymail[sendinblue]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} From 0059a87a85f585a2e105d4140ccebe294df79e89 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 28 Jan 2021 09:24:39 -0800 Subject: [PATCH 1309/2840] Update django-anymail from 8.1 to 8.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 148d20e48..c3dd39f25 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -34,7 +34,7 @@ django-anymail[postmark]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} django-anymail[sendgrid]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} -django-anymail[sendinblue]==8.1 # https://github.com/anymail/django-anymail +django-anymail[sendinblue]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} django-anymail[sparkpost]==8.1 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Other SMTP' %} From b2613405b00fd8b34be6bafec09a86a9824409ac Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 28 Jan 2021 09:24:40 -0800 Subject: [PATCH 1310/2840] Update django-anymail from 8.1 to 8.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index c3dd39f25..d9be12802 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -36,7 +36,7 @@ django-anymail[sendgrid]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} django-anymail[sendinblue]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} -django-anymail[sparkpost]==8.1 # https://github.com/anymail/django-anymail +django-anymail[sparkpost]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Other SMTP' %} django-anymail==8.1 # https://github.com/anymail/django-anymail {%- endif %} From f12fdbafafe229cfb14252794664873dd6c5beec Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 28 Jan 2021 09:24:41 -0800 Subject: [PATCH 1311/2840] Update django-anymail from 8.1 to 8.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index d9be12802..ef7f99644 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -38,5 +38,5 @@ django-anymail[sendinblue]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} django-anymail[sparkpost]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Other SMTP' %} -django-anymail==8.1 # https://github.com/anymail/django-anymail +django-anymail==8.2 # https://github.com/anymail/django-anymail {%- endif %} From e546500bd0d3ea92a629695a2c95addc74e49d57 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 28 Jan 2021 09:24:44 -0800 Subject: [PATCH 1312/2840] Update pre-commit from 2.9.3 to 2.10.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index e5919ee37..163a83d76 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -33,7 +33,7 @@ pylint-django==2.4.2 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.9.3 # https://github.com/pre-commit/pre-commit +pre-commit==2.10.0 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From 518f179b13545b061ee235a88687303a75bc406e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 29 Jan 2021 02:36:43 +0000 Subject: [PATCH 1313/2840] Update Changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a246a3eb..96d9b79e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-01-28] +### Updated +- Update pre-commit to 2.10.0 ([#3028](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3028)) +- Update django-anymail to 8.2 ([#3027](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3027)) +- Update tox to 3.21.3 ([#3026](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3026)) + ## [2021-01-26] ### Changed - Bump peter-evans/create-pull-request from v3.6.0 to v3.7.0 ([#3022](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3022)) From e0cf956fe2b63fff19710bc0c12a47e795598b2d Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Fri, 29 Jan 2021 17:55:10 +0530 Subject: [PATCH 1314/2840] Refactored users.forms to make the code more readeable --- .../users/forms.py | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py index 7d3a296bc..80cd97aed 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py @@ -1,6 +1,5 @@ from django.contrib.auth import forms as admin_forms from django.contrib.auth import get_user_model -from django.core.exceptions import ValidationError from django.utils.translation import gettext_lazy as _ User = get_user_model() @@ -12,20 +11,9 @@ class UserChangeForm(admin_forms.UserChangeForm): class UserCreationForm(admin_forms.UserCreationForm): - - error_message = admin_forms.UserCreationForm.error_messages.update( - {"duplicate_username": _("This username has already been taken.")} - ) - class Meta(admin_forms.UserCreationForm.Meta): model = User - def clean_username(self): - username = self.cleaned_data["username"] - - try: - User.objects.get(username=username) - except User.DoesNotExist: - return username - - raise ValidationError(self.error_messages["duplicate_username"]) + error_messages = { + "username": {"unique": _("This username has already been taken.")} + } From 0a241a8f75dfee56c0af5b7d8c7eea2f071b8ff3 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Fri, 29 Jan 2021 22:16:11 +0530 Subject: [PATCH 1315/2840] Updated test_forms.py to not check whether UserCreationForm has a clean_username() method --- .../{{cookiecutter.project_slug}}/users/tests/test_forms.py | 1 - 1 file changed, 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py index dfa5da52e..3b4a1210c 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py @@ -20,7 +20,6 @@ class TestUserCreationForm: ) assert form.is_valid() - assert form.clean_username() == proto_user.username # Creating a user. form.save() From e8996ef281ada2dab4188f2eff1435d2a694f50c Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Sat, 30 Jan 2021 11:41:16 +0530 Subject: [PATCH 1316/2840] Updated the test_clean_username test to also test for the custom validation message raised in case username already exists in the db --- .../{{cookiecutter.project_slug}}/users/tests/test_forms.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py index 3b4a1210c..437829b25 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py @@ -1,4 +1,5 @@ import pytest +from django.utils.translation import ugettext_lazy as _ from {{ cookiecutter.project_slug }}.users.forms import UserCreationForm from {{ cookiecutter.project_slug }}.users.tests.factories import UserFactory @@ -37,3 +38,4 @@ class TestUserCreationForm: assert not form.is_valid() assert len(form.errors) == 1 assert "username" in form.errors + assert form.errors["username"][0] == _("This username has already been taken.") From b980db9f6252ba8a1d6727512d3cd1a40a3ef3cb Mon Sep 17 00:00:00 2001 From: PJ Hoberman Date: Sat, 30 Jan 2021 13:55:06 -0700 Subject: [PATCH 1317/2840] Adding local celery instructions to developing-locally --- docs/developing-locally.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst index 2b7806ce4..264fd849d 100644 --- a/docs/developing-locally.rst +++ b/docs/developing-locally.rst @@ -143,6 +143,10 @@ when developing locally. If you have the appropriate setup on your local machine in ``config/settings/local.py``:: CELERY_TASK_ALWAYS_EAGER = False + +To run Celery locally, make sure redis-server is installed (instructions are available at https://redis.io/topics/quickstart), run the server in one terminal with `redis-server`, and then start celery in another terminal with the following command:: + + celery -A config.celery_app worker --loglevel=info Sass Compilation & Live Reloading From ba97025971b5f7ecd3b8b094b307f0bbea234efe Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 31 Jan 2021 05:43:22 -0800 Subject: [PATCH 1318/2840] Update django-crispy-forms from 1.10.0 to 1.11.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index a035aeed3..76efc0e9e 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -33,7 +33,7 @@ django==3.0.11 # pyup: < 3.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth -django-crispy-forms==1.10.0 # https://github.com/django-crispy-forms/django-crispy-forms +django-crispy-forms==1.11.0 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.4 # https://github.com/django-compressor/django-compressor {%- endif %} From ae63c708093696de322353cb497917b34be17399 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 31 Jan 2021 18:04:27 +0000 Subject: [PATCH 1319/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 8853e76e7..7a684f38f 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1067,5 +1067,10 @@ "name": "vascop", "github_login": "vascop", "twitter_username": "" + }, + { + "name": "PJ Hoberman", + "github_login": "pjhoberman", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 818b6cdd7..ca43cd64c 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1223,6 +1223,13 @@ Listed in alphabetical order. + + PJ Hoberman + + pjhoberman + + + Raony Guimarães Corrêa From 958de4814eb6e2478a6a9464bcdcdf56055d15e3 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 31 Jan 2021 18:11:23 +0000 Subject: [PATCH 1320/2840] Update dependabot.yml --- .github/dependabot.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 5ee5d0a04..f0b70dd0e 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,3 +8,5 @@ updates: directory: "/" schedule: interval: "daily" + labels: + - "update" From 7c68e12bcae78b9ea03724dda4e5afb987d9dd23 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 1 Feb 2021 02:37:18 +0000 Subject: [PATCH 1321/2840] Update Changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 96d9b79e1..3fa3ae633 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-01-31] +### Changed +- Adding local celery instructions to developing-locally ([#3031](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3031)) +### Updated +- Update django-crispy-forms to 1.11.0 ([#3032](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3032)) + ## [2021-01-28] ### Updated - Update pre-commit to 2.10.0 ([#3028](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3028)) From ffffd6d14881f79a6dcc8c6e2d41141a88a6771f Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 31 Jan 2021 18:37:25 -0800 Subject: [PATCH 1322/2840] Update jinja2 from 2.11.2 to 2.11.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6f389476f..80b930c8f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -20,4 +20,4 @@ pyyaml==5.4.1 # Scripting # ------------------------------------------------------------------------------ PyGithub==1.54.1 -jinja2==2.11.2 +jinja2==2.11.3 From 086dae7ecaf4077ff81b8162f2843ccfa6791aa1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Feb 2021 07:19:27 +0000 Subject: [PATCH 1323/2840] Bump peter-evans/create-pull-request from v3.7.0 to v3.8.0 Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from v3.7.0 to v3.8.0. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.7.0...5e9d0ee9ea5ccf865a52a571cba827e4b52a1aff) Signed-off-by: dependabot[bot] --- .github/workflows/pre-commit-autoupdate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index a0ad17ab0..ca2ecdd59 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -26,7 +26,7 @@ jobs: run: pre-commit autoupdate - name: Create Pull Request - uses: peter-evans/create-pull-request@v3.7.0 + uses: peter-evans/create-pull-request@v3.8.0 with: token: ${{ secrets.GITHUB_TOKEN }} branch: update/pre-commit-autoupdate From d442074ce33d7164b8563bb3c32b7df8b8b06129 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 1 Feb 2021 01:49:28 -0800 Subject: [PATCH 1324/2840] Update pytz from 2020.5 to 2021.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 76efc0e9e..b2eaa48ea 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,4 +1,4 @@ -pytz==2020.5 # https://github.com/stub42/pytz +pytz==2021.1 # https://github.com/stub42/pytz python-slugify==4.0.1 # https://github.com/un33k/python-slugify Pillow==8.1.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} From fc01e870bd53d1ab903f99b7fd842054910a8090 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 2 Feb 2021 02:38:04 +0000 Subject: [PATCH 1325/2840] Update Changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fa3ae633..a0abb1a45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-02-01] +### Updated +- Update pytz to 2021.1 ([#3035](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3035)) +- Update jinja2 to 2.11.3 ([#3033](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3033)) +- Bump peter-evans/create-pull-request from v3.7.0 to v3.8.0 ([#3034](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3034)) + ## [2021-01-31] ### Changed - Adding local celery instructions to developing-locally ([#3031](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3031)) From c5750920164e11b840ef55db9f6720f4ee663a39 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 1 Feb 2021 18:38:12 -0800 Subject: [PATCH 1326/2840] Update django from 3.0.11 to 3.0.12 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index b2eaa48ea..a0e98dab1 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -29,7 +29,7 @@ uvicorn[standard]==0.13.3 # https://github.com/encode/uvicorn # Django # ------------------------------------------------------------------------------ -django==3.0.11 # pyup: < 3.1 # https://www.djangoproject.com/ +django==3.0.12 # pyup: < 3.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth From 08334ba9795e38917b6aaa07d519f14b93cdc830 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Tue, 2 Feb 2021 13:19:27 +0530 Subject: [PATCH 1327/2840] Fixed the Middleware deprecation warnings by creating a dummy response function. --- .../users/tests/test_views.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py index c2fe8b519..36ad6e1fa 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py @@ -3,6 +3,7 @@ from django.contrib import messages from django.contrib.auth.models import AnonymousUser from django.contrib.messages.middleware import MessageMiddleware from django.contrib.sessions.middleware import SessionMiddleware +from django.http import HttpRequest from django.http.response import Http404 from django.test import RequestFactory @@ -27,6 +28,9 @@ class TestUserUpdateView: https://github.com/pytest-dev/pytest-django/pull/258 """ + def dummy_get_response(self, request: HttpRequest): + return None + def test_get_success_url(self, user: User, rf: RequestFactory): view = UserUpdateView() request = rf.get("/fake-url/") @@ -50,8 +54,8 @@ class TestUserUpdateView: request = rf.get("/fake-url/") # Add the session/message middleware to the request - SessionMiddleware().process_request(request) - MessageMiddleware().process_request(request) + SessionMiddleware(self.dummy_get_response).process_request(request) + MessageMiddleware(self.dummy_get_response).process_request(request) request.user = user view.request = request From fc8e2ea8a237b5a4badc2b1226194481cbca39ac Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Thu, 4 Feb 2021 15:28:08 +0530 Subject: [PATCH 1328/2840] Removed unnecessary test for username case sensitivity since django usernames are case sensitive by default. Also made the redirecting to the login url more dynamic by fetching the defined login_url from settings --- .../users/tests/test_views.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py index c2fe8b519..9e6bbcbfc 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py @@ -1,10 +1,12 @@ import pytest +from django.conf import settings from django.contrib import messages from django.contrib.auth.models import AnonymousUser from django.contrib.messages.middleware import MessageMiddleware from django.contrib.sessions.middleware import SessionMiddleware from django.http.response import Http404 from django.test import RequestFactory +from django.urls import reverse from {{ cookiecutter.project_slug }}.users.forms import UserChangeForm from {{ cookiecutter.project_slug }}.users.models import User @@ -90,13 +92,7 @@ class TestUserDetailView: request.user = AnonymousUser() response = user_detail_view(request, username=user.username) + login_url = reverse(settings.LOGIN_URL) assert response.status_code == 302 - assert response.url == "/accounts/login/?next=/fake-url/" - - def test_case_sensitivity(self, rf: RequestFactory): - request = rf.get("/fake-url/") - request.user = UserFactory(username="UserName") - - with pytest.raises(Http404): - user_detail_view(request, username="username") + assert response.url == f"{login_url}?next=/fake-url/" From 3cf7e74a7781f31314aa5f16a6be614057845f09 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Thu, 4 Feb 2021 15:54:26 +0530 Subject: [PATCH 1329/2840] Removed unused Http404 import. --- .../{{cookiecutter.project_slug}}/users/tests/test_views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py index 9e6bbcbfc..a9349bf3a 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py @@ -4,7 +4,6 @@ from django.contrib import messages from django.contrib.auth.models import AnonymousUser from django.contrib.messages.middleware import MessageMiddleware from django.contrib.sessions.middleware import SessionMiddleware -from django.http.response import Http404 from django.test import RequestFactory from django.urls import reverse From 002b3eaf4100c02d9045f5953157754699e60777 Mon Sep 17 00:00:00 2001 From: areski Date: Thu, 4 Feb 2021 16:52:45 +0100 Subject: [PATCH 1330/2840] Update Django 3.0.11 to 3.1.6 --- tests/test_docker.sh | 2 +- .../requirements/base.txt | 2 +- .../0004_alter_options_ordering_domain.py | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/contrib/sites/migrations/0004_alter_options_ordering_domain.py diff --git a/tests/test_docker.sh b/tests/test_docker.sh index 740f8fc22..f6df6b8ab 100755 --- a/tests/test_docker.sh +++ b/tests/test_docker.sh @@ -30,4 +30,4 @@ docker-compose -f local.yml run django pytest docker-compose -f local.yml run django python manage.py makemigrations --dry-run --check || { echo "ERROR: there were changes in the models, but migration listed above have not been created and are not saved in version control"; exit 1; } # Test support for translations -docker-compose -f local.yml run django python manage.py makemessages +docker-compose -f local.yml run django python manage.py makemessages --all diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index b2eaa48ea..1bb928178 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -29,7 +29,7 @@ uvicorn[standard]==0.13.3 # https://github.com/encode/uvicorn # Django # ------------------------------------------------------------------------------ -django==3.0.11 # pyup: < 3.1 # https://www.djangoproject.com/ +django==3.1.6 # pyup: < 3.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/contrib/sites/migrations/0004_alter_options_ordering_domain.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/contrib/sites/migrations/0004_alter_options_ordering_domain.py new file mode 100644 index 000000000..ffc88bf5c --- /dev/null +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/contrib/sites/migrations/0004_alter_options_ordering_domain.py @@ -0,0 +1,17 @@ +# Generated by Django 3.1.6 on 2021-02-04 14:49 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('sites', '0003_set_site_domain_and_name'), + ] + + operations = [ + migrations.AlterModelOptions( + name='site', + options={'ordering': ['domain'], 'verbose_name': 'site', 'verbose_name_plural': 'sites'}, + ), + ] From b2fa8b1b182f6b456e10870739652ec6b3045a45 Mon Sep 17 00:00:00 2001 From: areski Date: Thu, 4 Feb 2021 19:07:31 +0100 Subject: [PATCH 1331/2840] Update Readme for support Django 3.1 --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index dbc510a47..ae8699503 100644 --- a/README.rst +++ b/README.rst @@ -40,7 +40,7 @@ production-ready Django projects quickly. Features --------- -* For Django 3.0 +* For Django 3.1 * Works with Python 3.8 * Renders Django projects with 100% starting test coverage * Twitter Bootstrap_ v4 (`maintained Foundation fork`_ also available) From 39033fa8abb1c9cbb5895c498c5c829f35e82850 Mon Sep 17 00:00:00 2001 From: areski Date: Thu, 4 Feb 2021 19:09:09 +0100 Subject: [PATCH 1332/2840] Fix pyup for Django 3.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 1bb928178..3efa6170d 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -29,7 +29,7 @@ uvicorn[standard]==0.13.3 # https://github.com/encode/uvicorn # Django # ------------------------------------------------------------------------------ -django==3.1.6 # pyup: < 3.1 # https://www.djangoproject.com/ +django==3.1.6 # pyup: < 3.2 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth From 47768d495f928196da015cd22c4c9c0cdfd1c429 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Fri, 5 Feb 2021 09:47:06 +0530 Subject: [PATCH 1333/2840] Refactored test_views to test only the required characteristics of the UserCreationForm. --- .../users/tests/test_forms.py | 38 +++++++++---------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py index 437829b25..617f2cbe5 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py @@ -1,37 +1,33 @@ +""" +Module for all Form Tests. +""" import pytest from django.utils.translation import ugettext_lazy as _ from {{ cookiecutter.project_slug }}.users.forms import UserCreationForm -from {{ cookiecutter.project_slug }}.users.tests.factories import UserFactory +from {{ cookiecutter.project_slug }}.users.models import User pytestmark = pytest.mark.django_db class TestUserCreationForm: - def test_clean_username(self): - # A user with proto_user params does not exist yet. - proto_user = UserFactory.build() + """ + Test class for all tests related to the UserCreationForm + """ + def test_username_validation_error_msg(self, user: User): + """ + Tests UserCreation Form's unique validator functions correctly by testing: + 1) Only 1 error is raised by the UserCreation Form + 2) The desired error message is raised + """ - form = UserCreationForm( - { - "username": proto_user.username, - "password1": proto_user._password, - "password2": proto_user._password, - } - ) - - assert form.is_valid() - - # Creating a user. - form.save() - - # The user with proto_user params already exists, + # The user already exists, # hence cannot be created. form = UserCreationForm( { - "username": proto_user.username, - "password1": proto_user._password, - "password2": proto_user._password, + "username": user.username, + "password1": user.password, + "password2": user.password, } ) From 352232f61706c22a1184094fe79798eef174baa3 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Fri, 5 Feb 2021 09:55:30 +0530 Subject: [PATCH 1334/2840] Fixed Formatting Issues. --- .../{{cookiecutter.project_slug}}/users/tests/test_forms.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py index 617f2cbe5..66118f493 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py @@ -14,11 +14,13 @@ class TestUserCreationForm: """ Test class for all tests related to the UserCreationForm """ + def test_username_validation_error_msg(self, user: User): """ Tests UserCreation Form's unique validator functions correctly by testing: - 1) Only 1 error is raised by the UserCreation Form - 2) The desired error message is raised + 1) A new user with an existing username cannot be added. + 2) Only 1 error is raised by the UserCreation Form + 3) The desired error message is raised """ # The user already exists, From 9d3d423221914da193f8a3f43cbc9f0d1a6c3ddc Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 6 Feb 2021 16:56:50 +0000 Subject: [PATCH 1335/2840] Bump template version --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index c72ba1c9d..e6e863850 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ except ImportError: # Our version ALWAYS matches the version of Django we support # If Django has a new release, we branch, tag, then update this setting after the tag. -version = "3.0.11" +version = "3.0.12" if sys.argv[-1] == "tag": os.system(f'git tag -a {version} -m "version {version}"') From 06c54c9312b270c3cc88fd87da03351260dad053 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 6 Feb 2021 08:59:33 -0800 Subject: [PATCH 1336/2840] Update tox from 3.21.3 to 3.21.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 80b930c8f..d7e3c5b95 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8-isort==4.0.0 # Testing # ------------------------------------------------------------------------------ -tox==3.21.3 +tox==3.21.4 pytest==5.4.3 # pyup: <6 # https://github.com/hackebrot/pytest-cookies/issues/51 pytest-cookies==0.5.1 pytest-instafail==0.4.2 From e853e50fb727a344fb7768c6bcd0433cbd7a76fb Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 7 Feb 2021 02:22:26 +0000 Subject: [PATCH 1337/2840] Update Changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a0abb1a45..86d0cfd5c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-02-06] +### Changed +- Removed Redundant test_case_sensitivity() and made test_not_authenticated() get the LOGIN_URL dynamically. ([#3041](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3041)) +- Refactored users.forms to make the code more readeable ([#3029](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3029)) +- Update django to 3.0.12 ([#3037](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3037)) +### Updated +- Update tox to 3.21.4 ([#3044](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3044)) + ## [2021-02-01] ### Updated - Update pytz to 2021.1 ([#3035](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3035)) From 416e052de22dcdee225b55669dc61d8a3ed1e2fb Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 6 Feb 2021 20:36:09 -0800 Subject: [PATCH 1338/2840] Update pre-commit from 2.10.0 to 2.10.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 163a83d76..62aa17ec0 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -33,7 +33,7 @@ pylint-django==2.4.2 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.10.0 # https://github.com/pre-commit/pre-commit +pre-commit==2.10.1 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From 10a4f4e4b8276aeffcf47f71705cc0f3b0934f02 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Feb 2021 06:30:51 +0000 Subject: [PATCH 1339/2840] Bump peter-evans/create-pull-request from v3.8.0 to v3.8.1 Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from v3.8.0 to v3.8.1. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.8.0...34371f09e5a05dadd212d0bc451d4c1fa456c646) Signed-off-by: dependabot[bot] --- .github/workflows/pre-commit-autoupdate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index ca2ecdd59..188e96ac6 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -26,7 +26,7 @@ jobs: run: pre-commit autoupdate - name: Create Pull Request - uses: peter-evans/create-pull-request@v3.8.0 + uses: peter-evans/create-pull-request@v3.8.1 with: token: ${{ secrets.GITHUB_TOKEN }} branch: update/pre-commit-autoupdate From 073625445bdab864f0dadeeedb1e2fb233396bc9 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 8 Feb 2021 07:23:24 -0800 Subject: [PATCH 1340/2840] Update django-extensions from 3.1.0 to 3.1.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 163a83d76..88d7419f8 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -40,6 +40,6 @@ pre-commit==2.10.0 # https://github.com/pre-commit/pre-commit factory-boy==3.2.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==3.2 # https://github.com/jazzband/django-debug-toolbar -django-extensions==3.1.0 # https://github.com/django-extensions/django-extensions +django-extensions==3.1.1 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==4.1.0 # https://github.com/pytest-dev/pytest-django From 8473717a910d3e1bf82e463d21962c12bac07a60 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 9 Feb 2021 02:21:45 +0000 Subject: [PATCH 1341/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 86d0cfd5c..6c1c32237 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-02-08] +### Updated +- Update django-extensions to 3.1.1 ([#3047](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3047)) +- Bump peter-evans/create-pull-request from v3.8.0 to v3.8.1 ([#3046](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3046)) + ## [2021-02-06] ### Changed - Removed Redundant test_case_sensitivity() and made test_not_authenticated() get the LOGIN_URL dynamically. ([#3041](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3041)) From 9efa93a7e0b406ed56a19f6856fb5fea81fffe38 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 10 Feb 2021 05:51:17 +0000 Subject: [PATCH 1342/2840] Bump peter-evans/create-pull-request from v3.8.1 to v3.8.2 Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from v3.8.1 to v3.8.2. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.8.1...052fc72b4198ba9fbc81b818c6e1859f747d49a8) Signed-off-by: dependabot[bot] --- .github/workflows/pre-commit-autoupdate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index 188e96ac6..1c0c0b769 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -26,7 +26,7 @@ jobs: run: pre-commit autoupdate - name: Create Pull Request - uses: peter-evans/create-pull-request@v3.8.1 + uses: peter-evans/create-pull-request@v3.8.2 with: token: ${{ secrets.GITHUB_TOKEN }} branch: update/pre-commit-autoupdate From 84a6de2d75b265263b5610cf4d66348dc68041da Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 11 Feb 2021 02:21:56 +0000 Subject: [PATCH 1343/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c1c32237..dd79da4bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-02-10] +### Updated +- Bump peter-evans/create-pull-request from v3.8.1 to v3.8.2 ([#3049](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3049)) + ## [2021-02-08] ### Updated - Update django-extensions to 3.1.1 ([#3047](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3047)) From ae151f04a2b9db0791b077b48d42baaf6f318c01 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 11 Feb 2021 23:54:12 -0800 Subject: [PATCH 1344/2840] Update sentry-sdk from 0.19.5 to 0.20.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index ef7f99644..9f1ea9691 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.19.5 # https://github.com/getsentry/sentry-python +sentry-sdk==0.20.0 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From 8d87b194fc4b6fabcbd4c119174dd43c5793c8a3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 13 Feb 2021 02:21:49 +0000 Subject: [PATCH 1345/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index dd79da4bb..182ce5eb6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-02-12] +### Updated +- Update pre-commit to 2.10.1 ([#3045](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3045)) +- Update sentry-sdk to 0.20.0 ([#3051](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3051)) + ## [2021-02-10] ### Updated - Bump peter-evans/create-pull-request from v3.8.1 to v3.8.2 ([#3049](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3049)) From 179ba90299592f0437fe3b4a356f391248a57595 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 13 Feb 2021 00:19:41 -0800 Subject: [PATCH 1346/2840] Update sentry-sdk from 0.20.0 to 0.20.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 9f1ea9691..83f3ef9f7 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.20.0 # https://github.com/getsentry/sentry-python +sentry-sdk==0.20.1 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From 027c18fb87610d9064e96ce8f619543cf0229bfb Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 14 Feb 2021 02:22:50 +0000 Subject: [PATCH 1347/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 182ce5eb6..6cba732c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-02-13] +### Updated +- Update sentry-sdk to 0.20.1 ([#3052](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3052)) + ## [2021-02-12] ### Updated - Update pre-commit to 2.10.1 ([#3045](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3045)) From 583f8c668807e1f88bae57173bad839af87d488d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 14 Feb 2021 15:08:48 -0800 Subject: [PATCH 1348/2840] Update sphinx from 3.4.3 to 3.5.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 7ef1d5097..39d6a9fda 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation # ------------------------------------------------------------------------------ -sphinx==3.4.3 # https://github.com/sphinx-doc/sphinx +sphinx==3.5.0 # https://github.com/sphinx-doc/sphinx sphinx-autobuild==2020.9.1 # https://github.com/GaretJax/sphinx-autobuild # Code quality From 3795bc04d039eb5e3e251c3be2bc190f2f4f697f Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 16 Feb 2021 06:27:45 -0800 Subject: [PATCH 1349/2840] Update sentry-sdk from 0.20.1 to 0.20.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 83f3ef9f7..66d7fca42 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.20.1 # https://github.com/getsentry/sentry-python +sentry-sdk==0.20.2 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From 17499a12c9216d1db907305ef30f58970cd0932e Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Tue, 16 Feb 2021 18:33:27 -0500 Subject: [PATCH 1350/2840] Remove email from User API --- .../{{cookiecutter.project_slug}}/users/api/serializers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py index 8bd39d30e..b5ccabba1 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py @@ -7,7 +7,7 @@ User = get_user_model() class UserSerializer(serializers.ModelSerializer): class Meta: model = User - fields = ["username", "email", "name", "url"] + fields = ["username", "name", "url"] extra_kwargs = { "url": {"view_name": "api:user-detail", "lookup_field": "username"} From 8aeee881bb32935718e767114256179f9c9bf216 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Tue, 16 Feb 2021 18:35:47 -0500 Subject: [PATCH 1351/2840] Remove email from User API Test --- .../{{cookiecutter.project_slug}}/users/tests/test_drf_views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py index 60944ad3b..924573089 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_drf_views.py @@ -28,7 +28,6 @@ class TestUserViewSet: assert response.data == { "username": user.username, - "email": user.email, "name": user.name, "url": f"http://testserver/api/users/{user.username}/", } From 55003e21a62c761910f64a4899842a986d5fdfba Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 17 Feb 2021 02:20:58 +0000 Subject: [PATCH 1352/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6cba732c6..c3a819341 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-02-16] +### Updated +- Update sentry-sdk to 0.20.2 ([#3054](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3054)) +- Update sphinx to 3.5.0 ([#3053](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3053)) + ## [2021-02-13] ### Updated - Update sentry-sdk to 0.20.1 ([#3052](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3052)) From 119a4d066010a3edb05e0a9e6a4ad927fa692c10 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 16 Feb 2021 18:21:04 -0800 Subject: [PATCH 1353/2840] Update sphinx from 3.5.0 to 3.5.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 39d6a9fda..02ff06aad 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation # ------------------------------------------------------------------------------ -sphinx==3.5.0 # https://github.com/sphinx-doc/sphinx +sphinx==3.5.1 # https://github.com/sphinx-doc/sphinx sphinx-autobuild==2020.9.1 # https://github.com/GaretJax/sphinx-autobuild # Code quality From c2db5077bb5620203008453791f3bb02c9becd4a Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 17 Feb 2021 04:27:17 -0800 Subject: [PATCH 1354/2840] Update tox from 3.21.4 to 3.22.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index d7e3c5b95..cce198bf4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8-isort==4.0.0 # Testing # ------------------------------------------------------------------------------ -tox==3.21.4 +tox==3.22.0 pytest==5.4.3 # pyup: <6 # https://github.com/hackebrot/pytest-cookies/issues/51 pytest-cookies==0.5.1 pytest-instafail==0.4.2 From 81812fd8c297fb0164df3edcec519991a7f2c9cd Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 19 Feb 2021 06:29:09 -0800 Subject: [PATCH 1355/2840] Update sentry-sdk from 0.20.2 to 0.20.3 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 66d7fca42..0ce6fc10e 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.20.2 # https://github.com/getsentry/sentry-python +sentry-sdk==0.20.3 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From d67dbf9d362d1b00ab6a050444d4f9e6a68ff052 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 20 Feb 2021 00:58:50 -0800 Subject: [PATCH 1356/2840] Update django from 3.0.12 to 3.0.13 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index a0e98dab1..085972df1 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -29,7 +29,7 @@ uvicorn[standard]==0.13.3 # https://github.com/encode/uvicorn # Django # ------------------------------------------------------------------------------ -django==3.0.12 # pyup: < 3.1 # https://www.djangoproject.com/ +django==3.0.13 # pyup: < 3.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth From 5d138cc0f50a5d827a553fd4c2413e9e3923bcbe Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 20 Feb 2021 08:00:22 -0800 Subject: [PATCH 1357/2840] Update mypy from 0.800 to 0.812 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 39d6a9fda..c6293bde1 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -13,7 +13,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # Testing # ------------------------------------------------------------------------------ -mypy==0.800 # https://github.com/python/mypy +mypy==0.812 # https://github.com/python/mypy django-stubs==1.7.0 # https://github.com/typeddjango/django-stubs pytest==6.2.2 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar From bf4d502941e7ec626892d18ef2777e6d46ab653e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 21 Feb 2021 06:12:15 -0800 Subject: [PATCH 1358/2840] Update uvicorn from 0.13.3 to 0.13.4 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index a0e98dab1..132cd7cf7 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -24,7 +24,7 @@ flower==0.9.7 # https://github.com/mher/flower {%- endif %} {%- endif %} {%- if cookiecutter.use_async == 'y' %} -uvicorn[standard]==0.13.3 # https://github.com/encode/uvicorn +uvicorn[standard]==0.13.4 # https://github.com/encode/uvicorn {%- endif %} # Django From f97513d0ca601b4d1401da7f95c2dba867fd1e98 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 21 Feb 2021 06:12:17 -0800 Subject: [PATCH 1359/2840] Update django-crispy-forms from 1.11.0 to 1.11.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index a0e98dab1..34115932c 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -33,7 +33,7 @@ django==3.0.12 # pyup: < 3.1 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth -django-crispy-forms==1.11.0 # https://github.com/django-crispy-forms/django-crispy-forms +django-crispy-forms==1.11.1 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.4 # https://github.com/django-compressor/django-compressor {%- endif %} From 86f79e08b2153c79b423d78247f3a0988b5a993b Mon Sep 17 00:00:00 2001 From: areski Date: Sun, 21 Feb 2021 17:55:05 +0100 Subject: [PATCH 1360/2840] Update Django to 3.1.7 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- .../sites/migrations/0004_alter_options_ordering_domain.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 3efa6170d..7ded74df9 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -29,7 +29,7 @@ uvicorn[standard]==0.13.3 # https://github.com/encode/uvicorn # Django # ------------------------------------------------------------------------------ -django==3.1.6 # pyup: < 3.2 # https://www.djangoproject.com/ +django==3.1.7 # pyup: < 3.2 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/contrib/sites/migrations/0004_alter_options_ordering_domain.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/contrib/sites/migrations/0004_alter_options_ordering_domain.py index ffc88bf5c..00c9a74d3 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/contrib/sites/migrations/0004_alter_options_ordering_domain.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/contrib/sites/migrations/0004_alter_options_ordering_domain.py @@ -1,4 +1,4 @@ -# Generated by Django 3.1.6 on 2021-02-04 14:49 +# Generated by Django 3.1.7 on 2021-02-04 14:49 from django.db import migrations From 977e0333520af940fc7531559ce6af5c46d704c1 Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Sun, 21 Feb 2021 19:25:32 +0200 Subject: [PATCH 1361/2840] refactor: remove default cache settings in test.py It's LocMemCache by default, there is no need to specify this in test.py ```python django.core.cache.backends.locmem.LocMemCache ``` https://docs.djangoproject.com/en/dev/ref/settings/#caches --- {{cookiecutter.project_slug}}/config/settings/test.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/test.py b/{{cookiecutter.project_slug}}/config/settings/test.py index 667bb20d8..222597ad9 100644 --- a/{{cookiecutter.project_slug}}/config/settings/test.py +++ b/{{cookiecutter.project_slug}}/config/settings/test.py @@ -15,16 +15,6 @@ SECRET_KEY = env( # https://docs.djangoproject.com/en/dev/ref/settings/#test-runner TEST_RUNNER = "django.test.runner.DiscoverRunner" -# CACHES -# ------------------------------------------------------------------------------ -# https://docs.djangoproject.com/en/dev/ref/settings/#caches -CACHES = { - "default": { - "BACKEND": "django.core.cache.backends.locmem.LocMemCache", - "LOCATION": "", - } -} - # PASSWORDS # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#password-hashers From 4434df4d7b6dd5a4b22285d39b17b81a570e24f7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Feb 2021 06:43:11 +0000 Subject: [PATCH 1362/2840] Bump stefanzweifel/git-auto-commit-action from v4.8.0 to v4.9.0 Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from v4.8.0 to v4.9.0. - [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases) - [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.8.0...268ec0c24022281e267b095789643cf0db356bc6) Signed-off-by: dependabot[bot] --- .github/workflows/update-changelog.yml | 2 +- .github/workflows/update-contributors.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index ea4ddf613..7cb2a1b80 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -28,7 +28,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.8.0 + uses: stefanzweifel/git-auto-commit-action@v4.9.0 with: commit_message: Update Changelog file_pattern: CHANGELOG.md diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index f849484fc..4d9026b9f 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -24,7 +24,7 @@ jobs: run: python scripts/update_contributors.py - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.8.0 + uses: stefanzweifel/git-auto-commit-action@v4.9.0 with: commit_message: Update Contributors file_pattern: CONTRIBUTORS.md .github/contributors.json From c8a4de1a385953a933efb757f70f5708aed6933b Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 22 Feb 2021 19:49:08 +0000 Subject: [PATCH 1363/2840] Bump template version --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index e6e863850..fb3a7cae7 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ except ImportError: # Our version ALWAYS matches the version of Django we support # If Django has a new release, we branch, tag, then update this setting after the tag. -version = "3.0.12" +version = "3.0.13" if sys.argv[-1] == "tag": os.system(f'git tag -a {version} -m "version {version}"') From 748179bedc862f3967f359565ccbbc2c2233cf71 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 22 Feb 2021 20:26:42 +0000 Subject: [PATCH 1364/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 7a684f38f..5b5c575cf 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1072,5 +1072,10 @@ "name": "PJ Hoberman", "github_login": "pjhoberman", "twitter_username": "" + }, + { + "name": "lcd1232", + "github_login": "lcd1232", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index ca43cd64c..9a8e30190 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -978,6 +978,13 @@ Listed in alphabetical order. + + lcd1232 + + lcd1232 + + + Leo won From 1aa4c31b87d3a32fd791ee1a7053c4d08f845200 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Mon, 22 Feb 2021 15:45:05 -0500 Subject: [PATCH 1365/2840] Change confusing CSRF 403 message Co-authored-by: Bruno Alla --- .../{{cookiecutter.project_slug}}/templates/403.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/403.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/403.html index 49c82a9d7..31da98826 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/403.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/403.html @@ -5,5 +5,5 @@ {% block content %}

Forbidden (403)

-

{% if exception %}{{ exception }}{% else %}CSRF verification failed. Request aborted.{% endif %}

+

{% if exception %}{{ exception }}{% else %}You're not allowed to access this page.{% endif %}

{% endblock content %}{% endraw %} From 499b60ce7fb7ee38988ceca9db23bc1a93c9e76c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 23 Feb 2021 02:24:37 +0000 Subject: [PATCH 1366/2840] Update Changelog --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c3a819341..5838e06eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,22 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-02-22] +### Changed +- refactor: remove default cache settings in test.py ([#3064](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3064)) +- Update django to 3.0.13 ([#3060](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3060)) +### Fixed +- Fix missing Django Debug toolbar with node container ([#2865](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2865)) +- Remove Email from User API ([#3055](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3055)) +### Updated +- Bump stefanzweifel/git-auto-commit-action from v4.8.0 to v4.9.0 ([#3065](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3065)) +- Update django-crispy-forms to 1.11.1 ([#3063](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3063)) +- Update uvicorn to 0.13.4 ([#3062](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3062)) +- Update mypy to 0.812 ([#3061](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3061)) +- Update sentry-sdk to 0.20.3 ([#3059](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3059)) +- Update tox to 3.22.0 ([#3057](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3057)) +- Update sphinx to 3.5.1 ([#3056](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3056)) + ## [2021-02-16] ### Updated - Update sentry-sdk to 0.20.2 ([#3054](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3054)) From a4f1acf17e952cb058676d75b3e0054ffee57643 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Tue, 23 Feb 2021 10:59:30 +0530 Subject: [PATCH 1367/2840] Updated the github action to run all pre-commit hooks on all files in the linter stage so that there is only 1 place that is used to maange all code quality tools. --- {{cookiecutter.project_slug}}/.github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml index 57add2c04..3a6b0284c 100644 --- a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml +++ b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml @@ -16,7 +16,7 @@ on: jobs: - flake8: + linter: runs-on: ubuntu-latest steps: @@ -28,13 +28,13 @@ jobs: with: python-version: 3.8 - - name: Install flake8 + - name: Install flake8, flake8-isort, and black run: | python -m pip install --upgrade pip - pip install flake8 + pip install flake8 flake8-isort black - - name: Lint with flake8 - run: flake8 + - name: Install and Run Pre-commit + uses: pre-commit/action@v2.0.0 # With no caching at all the entire ci process takes 4m 30s to complete! pytest: From db636c8e3675132106ddc8ea99024a84ee594659 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Tue, 23 Feb 2021 11:11:03 +0530 Subject: [PATCH 1368/2840] Updated tests with the updated github stage names. --- tests/test_cookiecutter_generation.py | 12 ++++++------ .../.github/workflows/ci.yml | 3 +++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index af6e4588b..a1dcf796d 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -234,7 +234,7 @@ def test_gitlab_invokes_flake8_and_pytest( ("y", "docker-compose -f local.yml exec -T django pytest"), ], ) -def test_github_invokes_flake8_and_pytest( +def test_github_invokes_linter_and_pytest( cookies, context, use_docker, expected_test_script ): context.update({"ci_tool": "Github", "use_docker": use_docker}) @@ -248,11 +248,11 @@ def test_github_invokes_flake8_and_pytest( with open(f"{result.project}/.github/workflows/ci.yml", "r") as github_yml: try: github_config = yaml.safe_load(github_yml) - flake8_present = False - for action_step in github_config["jobs"]["flake8"]["steps"]: - if action_step.get("run") == "flake8": - flake8_present = True - assert flake8_present + linter_present = False + for action_step in github_config["jobs"]["linter"]["steps"]: + if action_step.get("run") == "linter": + linter_present = True + assert linter_present expected_test_script_present = False for action_step in github_config["jobs"]["pytest"]["steps"]: diff --git a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml index 3a6b0284c..a69b2c924 100644 --- a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml +++ b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml @@ -33,6 +33,9 @@ jobs: python -m pip install --upgrade pip pip install flake8 flake8-isort black + # Run all pre-commit hooks on all the files. + # Getting only staged files can be tricky in case a new PR is opened + # since the action is run on a branch in detached head state - name: Install and Run Pre-commit uses: pre-commit/action@v2.0.0 From fbc9b89e0d37d70b0e65db0f7b1d77f311989b50 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Tue, 23 Feb 2021 11:28:37 +0530 Subject: [PATCH 1369/2840] Updated tests with the updated github stage names. --- tests/test_cookiecutter_generation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index a1dcf796d..c8514493f 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -250,7 +250,7 @@ def test_github_invokes_linter_and_pytest( github_config = yaml.safe_load(github_yml) linter_present = False for action_step in github_config["jobs"]["linter"]["steps"]: - if action_step.get("run") == "linter": + if action_step.get("uses", "NA").startswith("pre-commit"): linter_present = True assert linter_present From c988a6fbdc02eae7343749439ca01d81279dc7f2 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Tue, 23 Feb 2021 19:20:17 +0530 Subject: [PATCH 1370/2840] Removed the step for installing dependencies --- {{cookiecutter.project_slug}}/.github/workflows/ci.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml index a69b2c924..378ee30b3 100644 --- a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml +++ b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml @@ -28,11 +28,6 @@ jobs: with: python-version: 3.8 - - name: Install flake8, flake8-isort, and black - run: | - python -m pip install --upgrade pip - pip install flake8 flake8-isort black - # Run all pre-commit hooks on all the files. # Getting only staged files can be tricky in case a new PR is opened # since the action is run on a branch in detached head state From 7a289de3e526565687e72e8d4e0b3bb3b50d9e81 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 23 Feb 2021 19:44:29 +0000 Subject: [PATCH 1371/2840] Bump version 3.0.13 -> 3.1.7 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index fb3a7cae7..bc31d84a1 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ except ImportError: # Our version ALWAYS matches the version of Django we support # If Django has a new release, we branch, tag, then update this setting after the tag. -version = "3.0.13" +version = "3.1.7" if sys.argv[-1] == "tag": os.system(f'git tag -a {version} -m "version {version}"') From ff98d8f517526f9211fcafb4eaf86d8f23ac7e1d Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 23 Feb 2021 20:34:41 +0000 Subject: [PATCH 1372/2840] Remove --use-feature=2020-resolver in pip commands They are now the default and cause a warning: WARNING: --use-feature=2020-resolver no longer has any effect, since it is now the default dependency resolver in pip. This will become an error in pip 21.0. --- {{cookiecutter.project_slug}}/compose/local/django/Dockerfile | 2 +- .../compose/production/django/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index c34f8ad40..25d70bf51 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -16,7 +16,7 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ COPY ./requirements /requirements # create python dependency wheels -RUN pip wheel --no-cache-dir --no-deps --use-feature=2020-resolver --wheel-dir /usr/src/app/wheels \ +RUN pip wheel --no-cache-dir --no-deps --wheel-dir /usr/src/app/wheels \ -r /requirements/local.txt \ && rm -rf /requirements diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index a2f432ccc..f4e2b458b 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -30,7 +30,7 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ COPY ./requirements /requirements # create python dependency wheels -RUN pip wheel --no-cache-dir --no-deps --use-feature=2020-resolver --wheel-dir /usr/src/app/wheels \ +RUN pip wheel --no-cache-dir --no-deps --wheel-dir /usr/src/app/wheels \ -r /requirements/production.txt \ && rm -rf /requirements From 483b636fcb74353baed3009be25ce7724bc5e644 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 23 Feb 2021 20:36:52 +0000 Subject: [PATCH 1373/2840] Only indent with spaces in django Dockerfile --- {{cookiecutter.project_slug}}/compose/local/django/Dockerfile | 2 +- .../compose/production/django/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index 25d70bf51..0fc7b9c16 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -66,7 +66,7 @@ COPY --from=python-build-stage /usr/src/app/wheels /wheels # use wheels to install python dependencies RUN pip install --no-cache /wheels/* \ - && rm -rf /wheels + && rm -rf /wheels WORKDIR /app diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index f4e2b458b..69b80aa00 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -85,7 +85,7 @@ COPY --from=python-build-stage /usr/src/app/wheels /wheels # use wheels to install python dependencies RUN pip install --no-cache /wheels/* \ - && rm -rf /wheels + && rm -rf /wheels {%- if cookiecutter.js_task_runner == 'Gulp' %} COPY --from=client-builder --chown=django:django /app /app From 4caad4a1297a555343e12a6e887b0cfe9b6e370d Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 24 Feb 2021 02:25:29 +0000 Subject: [PATCH 1374/2840] Update Changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5838e06eb..d0a4c8f2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-02-23] +### Changed +- Update to Django 3.1 ([#3043](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3043)) +- Lint with pre-commit on CI with Github actions ([#3066](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3066)) +- Use exception var in status code pages if available ([#2992](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2992)) + ## [2021-02-22] ### Changed - refactor: remove default cache settings in test.py ([#3064](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3064)) From 15453df8245ffd31b9aceaecb9970342b26f814a Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Wed, 24 Feb 2021 10:58:28 +0530 Subject: [PATCH 1375/2840] Updated the local and production dockerfiles with more repeatability and easier to update in mind. --- .../compose/local/django/Dockerfile | 85 ++++++++------- .../compose/production/django/Dockerfile | 101 ++++++++++-------- 2 files changed, 103 insertions(+), 83 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index 0fc7b9c16..bdcd87ba7 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -1,31 +1,57 @@ -# Python build stage -FROM python:3.8-slim-buster as python-build-stage -ENV PYTHONDONTWRITEBYTECODE 1 +ARG PYTHON_VERSION=3.8-slim-buster +# define an alias for the specfic python version used in this file. +FROM python:${PYTHON_VERSION} as python + +# Python build stage +FROM python as python-build-stage + +ARG BUILD_ENVIRONMENT=local + +# Install apt packages RUN apt-get update && apt-get install --no-install-recommends -y \ # dependencies for building Python packages build-essential \ + # psycopg2 dependencies + libpq-dev + +# Requirements are installed here to ensure they will be cached. +COPY ./requirements . + +# Create Python Dependency and Sub-Dependency Wheels. +RUN pip wheel --wheel-dir /usr/src/app/wheels \ + -r ${BUILD_ENVIRONMENT}.txt + + +# Python 'run' stage +FROM python as python-run-stage + +ARG BUILD_ENVIRONMENT=local +ARG APP_HOME=/app + +ENV PYTHONUNBUFFERED 1 +ENV PYTHONDONTWRITEBYTECODE 1 +ENV BUILD_ENV ${BUILD_ENVIRONMENT} + +WORKDIR ${APP_HOME} + +# Install required system dependencies +RUN apt-get update && apt-get install --no-install-recommends -y \ # psycopg2 dependencies libpq-dev \ + # Translations dependencies + gettext \ # cleaning up unused files && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && rm -rf /var/lib/apt/lists/* +# All absolute dir copies ignore workdir instruction. All relative dir copies are wrt to the workdir instruction +# copy python dependency wheels from python-build-stage +COPY --from=python-build-stage /usr/src/app/wheels /wheels/ -# Requirements are installed here to ensure they will be cached. -COPY ./requirements /requirements - -# create python dependency wheels -RUN pip wheel --no-cache-dir --no-deps --wheel-dir /usr/src/app/wheels \ - -r /requirements/local.txt \ - && rm -rf /requirements - - -# Python 'run' stage -FROM python:3.8-slim-buster as python-run-stage - -ENV PYTHONUNBUFFERED 1 -ENV PYTHONDONTWRITEBYTECODE 1 +# use wheels to install python dependencies +RUN pip install --no-cache-dir --no-index --find-links=/wheels/ /wheels/* \ + && rm -rf /wheels/ COPY ./compose/production/django/entrypoint /entrypoint RUN sed -i 's/\r$//g' /entrypoint @@ -49,26 +75,7 @@ RUN sed -i 's/\r$//g' /start-flower RUN chmod +x /start-flower {% endif %} +# copy application code to WORKDIR +COPY . ${APP_HOME} -# installing required system dependencies -RUN apt-get update && apt-get install --no-install-recommends -y \ - # psycopg2 dependencies - libpq-dev \ - # Translations dependencies - gettext \ - # cleaning up unused files - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -rf /var/lib/apt/lists/* - - -# copy python dependency wheels from python-build-stage -COPY --from=python-build-stage /usr/src/app/wheels /wheels - -# use wheels to install python dependencies -RUN pip install --no-cache /wheels/* \ - && rm -rf /wheels - - -WORKDIR /app - -ENTRYPOINT ["/entrypoint"] +ENTRYPOINT ["/entrypoint"] \ No newline at end of file diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index 69b80aa00..8fa6e202c 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -1,47 +1,75 @@ {% if cookiecutter.js_task_runner == 'Gulp' -%} FROM node:10-stretch-slim as client-builder -WORKDIR /app -COPY ./package.json /app +ARG APP_HOME=/app +WORKDIR ${APP_HOME} + +COPY ./package.json ${APP_HOME} RUN npm install && npm cache clean --force -COPY . /app +COPY . ${APP_HOME} RUN npm run build {%- endif %} +ARG PYTHON_VERSION=3.8-slim-buster + +# define an alias for the specfic python version used in this file. +FROM python:${PYTHON_VERSION} as python + # Python build stage -FROM python:3.8-slim-buster as python-build-stage - -ENV PYTHONDONTWRITEBYTECODE 1 -ARG BUILD_ENVIRONMENT +FROM python as python-build-stage +ARG BUILD_ENVIRONMENT=production +# Install apt packages RUN apt-get update && apt-get install --no-install-recommends -y \ # dependencies for building Python packages build-essential \ + # psycopg2 dependencies + libpq-dev + +# Requirements are installed here to ensure they will be cached. +COPY ./requirements . + +# Create Python Dependency and Sub-Dependency Wheels. +RUN pip wheel --wheel-dir /usr/src/app/wheels \ + -r ${BUILD_ENVIRONMENT}.txt + + +# Python 'run' stage +FROM python as python-run-stage + +ARG BUILD_ENVIRONMENT=production +ARG APP_HOME=/app + +ENV PYTHONUNBUFFERED 1 +ENV PYTHONDONTWRITEBYTECODE 1 +ENV BUILD_ENV ${BUILD_ENVIRONMENT} + +WORKDIR ${APP_HOME} + +RUN addgroup --system django \ + && adduser --system --ingroup django django + + +# Install required system dependencies +RUN apt-get update && apt-get install --no-install-recommends -y \ # psycopg2 dependencies libpq-dev \ + # Translations dependencies + gettext \ # cleaning up unused files && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && rm -rf /var/lib/apt/lists/* +# All absolute dir copies ignore workdir instruction. All relative dir copies are wrt to the workdir instruction +# copy python dependency wheels from python-build-stage +COPY --from=python-build-stage /usr/src/app/wheels /wheels/ -# Requirements are installed here to ensure they will be cached. -COPY ./requirements /requirements +# use wheels to install python dependencies +RUN pip install --no-cache-dir --no-index --find-links=/wheels/ /wheels/* \ + && rm -rf /wheels/ -# create python dependency wheels -RUN pip wheel --no-cache-dir --no-deps --wheel-dir /usr/src/app/wheels \ - -r /requirements/production.txt \ - && rm -rf /requirements - -# Python 'run' stage -FROM python:3.8-slim-buster as python-run-stage - -ENV PYTHONDONTWRITEBYTECODE 1 -ENV PYTHONUNBUFFERED 1 - -RUN addgroup --system django \ - && adduser --system --ingroup django django COPY --chown=django:django ./compose/production/django/entrypoint /entrypoint RUN sed -i 's/\r$//g' /entrypoint @@ -69,32 +97,17 @@ RUN sed -i 's/\r$//g' /start-flower RUN chmod +x /start-flower {%- endif %} -# installing required system dependencies -RUN apt-get update && apt-get install --no-install-recommends -y \ - # psycopg2 dependencies - libpq-dev \ - # Translations dependencies - gettext \ - # cleaning up unused files - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -rf /var/lib/apt/lists/* - - -# copy python dependency wheels from python-build-stage -COPY --from=python-build-stage /usr/src/app/wheels /wheels - -# use wheels to install python dependencies -RUN pip install --no-cache /wheels/* \ - && rm -rf /wheels +# copy application code to WORKDIR {%- if cookiecutter.js_task_runner == 'Gulp' %} -COPY --from=client-builder --chown=django:django /app /app +COPY --from=client-builder --chown=django:django ${APP_HOME} ${APP_HOME} {% else %} -COPY --chown=django:django . /app +COPY --chown=django:django . ${APP_HOME} {%- endif %} +# make django owner of the WORKDIR directory as well. +RUN chown django:django ${APP_HOME} + USER django -WORKDIR /app - -ENTRYPOINT ["/entrypoint"] +ENTRYPOINT ["/entrypoint"] \ No newline at end of file From d396264efaad39fcb17409f7b56db4c3d1947e6b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Feb 2021 07:19:28 +0000 Subject: [PATCH 1376/2840] Bump stefanzweifel/git-auto-commit-action from v4.9.0 to v4.9.1 Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from v4.9.0 to v4.9.1. - [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases) - [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.9.0...296e083b4c312cf3438feb21957a85fa9677f61d) Signed-off-by: dependabot[bot] --- .github/workflows/update-changelog.yml | 2 +- .github/workflows/update-contributors.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index 7cb2a1b80..5c63532b3 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -28,7 +28,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.9.0 + uses: stefanzweifel/git-auto-commit-action@v4.9.1 with: commit_message: Update Changelog file_pattern: CHANGELOG.md diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index 4d9026b9f..64a899e44 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -24,7 +24,7 @@ jobs: run: python scripts/update_contributors.py - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.9.0 + uses: stefanzweifel/git-auto-commit-action@v4.9.1 with: commit_message: Update Contributors file_pattern: CONTRIBUTORS.md .github/contributors.json From 2345c2c92d21b8274f0581864f0b656b9b147cca Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Wed, 24 Feb 2021 16:26:58 +0530 Subject: [PATCH 1377/2840] Update {{cookiecutter.project_slug}}/compose/production/django/Dockerfile Co-authored-by: Bruno Alla --- .../compose/production/django/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index 8fa6e202c..4da817df3 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -68,7 +68,7 @@ COPY --from=python-build-stage /usr/src/app/wheels /wheels/ # use wheels to install python dependencies RUN pip install --no-cache-dir --no-index --find-links=/wheels/ /wheels/* \ - && rm -rf /wheels/ + && rm -rf /wheels/ COPY --chown=django:django ./compose/production/django/entrypoint /entrypoint @@ -110,4 +110,4 @@ RUN chown django:django ${APP_HOME} USER django -ENTRYPOINT ["/entrypoint"] \ No newline at end of file +ENTRYPOINT ["/entrypoint"] From e0566e5b1eeb9c8e17ff66b9fd9a0529bcdf768c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 25 Feb 2021 02:23:46 +0000 Subject: [PATCH 1378/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d0a4c8f2d..f3ca47755 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-02-24] +### Updated +- Bump stefanzweifel/git-auto-commit-action from v4.9.0 to v4.9.1 ([#3069](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3069)) + ## [2021-02-23] ### Changed - Update to Django 3.1 ([#3043](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3043)) From fa0b278225b8b444cf2d40c85d3939d3806e5c75 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Fri, 26 Feb 2021 12:04:48 +0530 Subject: [PATCH 1379/2840] Updated test_urls and views to re-use User.get_absolute_url method instead of using reverse on the user:detail view --- .../{{cookiecutter.project_slug}}/users/tests/test_urls.py | 5 +---- .../{{cookiecutter.project_slug}}/users/views.py | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py index aab6d0a87..2623f4e39 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py @@ -7,10 +7,7 @@ pytestmark = pytest.mark.django_db def test_detail(user: User): - assert ( - reverse("users:detail", kwargs={"username": user.username}) - == f"/users/{user.username}/" - ) + assert user.get_absolute_url() == f"/users/{user.username}/" assert resolve(f"/users/{user.username}/").view_name == "users:detail" diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py index 2b077d424..c7b846c08 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py @@ -25,7 +25,7 @@ class UserUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView): success_message = _("Information successfully updated") def get_success_url(self): - return reverse("users:detail", kwargs={"username": self.request.user.username}) + return self.request.user.get_absolute_url() # type: ignore [union-attr] def get_object(self): return self.request.user From 691229b979ef9695658f3c29f236d181ac97c32c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 1 Mar 2021 12:00:56 -0800 Subject: [PATCH 1380/2840] Update coverage from 5.4 to 5.5 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 6960b1d79..47bba1361 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -27,7 +27,7 @@ sphinx-autobuild==2020.9.1 # https://github.com/GaretJax/sphinx-autobuild # ------------------------------------------------------------------------------ flake8==3.8.4 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort -coverage==5.4 # https://github.com/nedbat/coveragepy +coverage==5.5 # https://github.com/nedbat/coveragepy black==20.8b1 # https://github.com/ambv/black pylint-django==2.4.2 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} From 51b92b935f25976847a198b1018f24000583e53e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 1 Mar 2021 21:07:12 -0800 Subject: [PATCH 1381/2840] Update pillow from 8.1.0 to 8.1.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 71317e818..d5382a6d5 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,6 +1,6 @@ pytz==2021.1 # https://github.com/stub42/pytz python-slugify==4.0.1 # https://github.com/un33k/python-slugify -Pillow==8.1.0 # https://github.com/python-pillow/Pillow +Pillow==8.1.1 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} {%- if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} rcssmin==1.0.6 --install-option="--without-c-extensions" # https://github.com/ndparker/rcssmin From 97935112664cb5c267f3099a395f004ff8c7e873 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 2 Mar 2021 19:48:26 +0000 Subject: [PATCH 1382/2840] Support both master and main branches --- {{cookiecutter.project_slug}}/.github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml index 378ee30b3..c8bda2174 100644 --- a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml +++ b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml @@ -7,11 +7,11 @@ env: on: pull_request: - branches: [ "master" ] + branches: [ "master", "main" ] paths-ignore: [ "docs/**" ] push: - branches: [ "master" ] + branches: [ "master", "main" ] paths-ignore: [ "docs/**" ] From c1ec7e3cd1fe6d4fc578430cf013b098611d5557 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 2 Mar 2021 20:03:14 +0000 Subject: [PATCH 1383/2840] Add necessary services for GH actions without Docker --- .../.github/workflows/ci.yml | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml index c8bda2174..c84d3eebd 100644 --- a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml +++ b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml @@ -37,6 +37,30 @@ jobs: # With no caching at all the entire ci process takes 4m 30s to complete! pytest: runs-on: ubuntu-latest + {%- if cookiecutter.use_docker == 'n' %} + + services: + {%- if cookiecutter.use_celery == 'y' %} + redis: + image: redis:5.0 + ports: + - 6379:6379 + {%- endif %} + postgres: + image: postgres:12 + ports: + - 5432:5432 + env: + POSTGRES_PASSWORD: postgres + + env: + {%- if cookiecutter.use_celery == 'y' %} + CELERY_BROKER_URL: "redis://localhost:6379/0" + {%- endif %} + # postgres://user:password@host:port/database + DATABASE_URL: "postgres://postgres:postgres@localhost:5432/postgres" + {%- endif %} + steps: - name: Checkout Code Repository From c3ee08fbb2be2688af155e3eb36a14be438f5d3d Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 2 Mar 2021 20:03:27 +0000 Subject: [PATCH 1384/2840] Tweak formatting of workflow file --- {{cookiecutter.project_slug}}/.github/workflows/ci.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml index c84d3eebd..7799cf415 100644 --- a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml +++ b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: - name: Install and Run Pre-commit uses: pre-commit/action@v2.0.0 -# With no caching at all the entire ci process takes 4m 30s to complete! + # With no caching at all the entire ci process takes 4m 30s to complete! pytest: runs-on: ubuntu-latest {%- if cookiecutter.use_docker == 'n' %} @@ -65,7 +65,7 @@ jobs: - name: Checkout Code Repository uses: actions/checkout@v2 - {% if cookiecutter.use_docker == 'y' -%} + {%- if cookiecutter.use_docker == 'y' %} - name: Build the Stack run: docker-compose -f local.yml build @@ -81,7 +81,6 @@ jobs: - name: Tear down the Stack run: docker-compose -f local.yml down - {%- else %} - name: Set up Python 3.8 @@ -93,8 +92,8 @@ jobs: id: pip-cache-location run: | echo "::set-output name=dir::$(pip cache dir)" + {%- raw %} - {% raw %} - name: Cache pip Project Dependencies uses: actions/cache@v2 with: @@ -104,7 +103,7 @@ jobs: key: ${{ runner.os }}-pip-${{ hashFiles('**/local.txt') }} restore-keys: | ${{ runner.os }}-pip- - {% endraw %} + {%- endraw %} - name: Install Dependencies run: | @@ -113,5 +112,4 @@ jobs: - name: Test with pytest run: pytest - {%- endif %} From d999846ca27693dfa0efb0813e477a03f968d704 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 2 Mar 2021 20:11:15 +0000 Subject: [PATCH 1385/2840] Fix Github CI with Docker --- {{cookiecutter.project_slug}}/.github/workflows/ci.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml index 7799cf415..9798e6c8d 100644 --- a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml +++ b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml @@ -70,14 +70,11 @@ jobs: - name: Build the Stack run: docker-compose -f local.yml build - - name: Make DB Migrations + - name: Run DB Migrations run: docker-compose -f local.yml run --rm django python manage.py migrate - - name: Run the Stack - run: docker-compose -f local.yml up -d - - name: Run Django Tests - run: docker-compose -f local.yml exec -T django pytest + run: docker-compose -f local.yml run django pytest - name: Tear down the Stack run: docker-compose -f local.yml down From a6e45554500fa7b2c2883710d1085833d635bb9d Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 2 Mar 2021 21:20:20 +0000 Subject: [PATCH 1386/2840] Update tests --- tests/test_cookiecutter_generation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index c8514493f..7e585ea40 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -231,7 +231,7 @@ def test_gitlab_invokes_flake8_and_pytest( ["use_docker", "expected_test_script"], [ ("n", "pytest"), - ("y", "docker-compose -f local.yml exec -T django pytest"), + ("y", "docker-compose -f local.yml run django pytest"), ], ) def test_github_invokes_linter_and_pytest( From d47052388fa8cfdb7cd17410334a32c274ad3dbc Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 2 Mar 2021 17:00:27 -0800 Subject: [PATCH 1387/2840] Update ipdb from 0.13.4 to 0.13.5 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 47bba1361..ec239bb46 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,7 +1,7 @@ -r base.txt Werkzeug==1.0.1 # https://github.com/pallets/werkzeug -ipdb==0.13.4 # https://github.com/gotcha/ipdb +ipdb==0.13.5 # https://github.com/gotcha/ipdb {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 {%- else %} From a87d131a2a0bf771b75b6b8a9859d9011fce0ec7 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 3 Mar 2021 02:27:47 +0000 Subject: [PATCH 1388/2840] Update Changelog --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f3ca47755..0b2a08777 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,13 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-03-02] +### Fixed +- Fixes for pytest job in Github CI workflow ([#3076](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3076)) +### Updated +- Update pillow to 8.1.1 ([#3075](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3075)) +- Update coverage to 5.5 ([#3074](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3074)) + ## [2021-02-24] ### Updated - Bump stefanzweifel/git-auto-commit-action from v4.9.0 to v4.9.1 ([#3069](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3069)) From 15b7b97722647b4500e0db7995f46b43d7ec987f Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 3 Mar 2021 11:54:07 -0800 Subject: [PATCH 1389/2840] Update tox from 3.22.0 to 3.23.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index cce198bf4..a410f3132 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ flake8-isort==4.0.0 # Testing # ------------------------------------------------------------------------------ -tox==3.22.0 +tox==3.23.0 pytest==5.4.3 # pyup: <6 # https://github.com/hackebrot/pytest-cookies/issues/51 pytest-cookies==0.5.1 pytest-instafail==0.4.2 From 899faa766b23cf307b359d8d65cf6aed73a68d83 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 4 Mar 2021 02:28:43 +0000 Subject: [PATCH 1390/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b2a08777..1a0e1b749 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-03-03] +### Updated +- Update tox to 3.23.0 ([#3079](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3079)) +- Update ipdb to 0.13.5 ([#3078](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3078)) + ## [2021-03-02] ### Fixed - Fixes for pytest job in Github CI workflow ([#3076](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3076)) From 1371d6a3e60efa097b3464a784e8587219c64509 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Thu, 4 Mar 2021 19:34:58 +0530 Subject: [PATCH 1391/2840] Reverting the use of get_absolute_url method in getting the detail view url. Purpose was to test if the url could be created correctly and not if the view was working correctly. --- .../{{cookiecutter.project_slug}}/users/tests/test_urls.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py index 2623f4e39..aab6d0a87 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py @@ -7,7 +7,10 @@ pytestmark = pytest.mark.django_db def test_detail(user: User): - assert user.get_absolute_url() == f"/users/{user.username}/" + assert ( + reverse("users:detail", kwargs={"username": user.username}) + == f"/users/{user.username}/" + ) assert resolve(f"/users/{user.username}/").view_name == "users:detail" From b593c9884470274f38c6f17d7be33a87cd3cb577 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Mar 2021 05:53:28 +0000 Subject: [PATCH 1392/2840] Bump stefanzweifel/git-auto-commit-action from v4.9.1 to v4.9.2 Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from v4.9.1 to v4.9.2. - [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases) - [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.9.1...be7095c202abcf573b09f20541e0ee2f6a3a9d9b) Signed-off-by: dependabot[bot] --- .github/workflows/update-changelog.yml | 2 +- .github/workflows/update-contributors.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index 5c63532b3..fa70824c0 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -28,7 +28,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.9.1 + uses: stefanzweifel/git-auto-commit-action@v4.9.2 with: commit_message: Update Changelog file_pattern: CHANGELOG.md diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index 64a899e44..5d5dd0eaa 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -24,7 +24,7 @@ jobs: run: python scripts/update_contributors.py - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.9.1 + uses: stefanzweifel/git-auto-commit-action@v4.9.2 with: commit_message: Update Contributors file_pattern: CONTRIBUTORS.md .github/contributors.json From 3d67dc267193986b88df05b163738e2dabd0ec75 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 6 Mar 2021 02:29:15 +0000 Subject: [PATCH 1393/2840] Update Changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a0e1b749..150dd3909 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-03-05] +### Changed +- Updated test_urls.py and views.py to re-use User.get_absolute_url() ([#3070](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3070)) +### Updated +- Bump stefanzweifel/git-auto-commit-action from v4.9.1 to v4.9.2 ([#3082](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3082)) + ## [2021-03-03] ### Updated - Update tox to 3.23.0 ([#3079](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3079)) From fb6cb0f51eedb1e801dc57be71363af8102a0b0d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 6 Mar 2021 23:08:35 -0800 Subject: [PATCH 1394/2840] Update pillow from 8.1.1 to 8.1.2 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index d5382a6d5..377f2d05f 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,6 +1,6 @@ pytz==2021.1 # https://github.com/stub42/pytz python-slugify==4.0.1 # https://github.com/un33k/python-slugify -Pillow==8.1.1 # https://github.com/python-pillow/Pillow +Pillow==8.1.2 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} {%- if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} rcssmin==1.0.6 --install-option="--without-c-extensions" # https://github.com/ndparker/rcssmin From 569ab9af4a204ca71e407b6ca45a9d8887036350 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 10 Mar 2021 08:50:25 -0800 Subject: [PATCH 1395/2840] Update pre-commit from 2.10.1 to 2.11.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index ec239bb46..ed3479fce 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -33,7 +33,7 @@ pylint-django==2.4.2 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.10.1 # https://github.com/pre-commit/pre-commit +pre-commit==2.11.1 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From 078ae92e01ae9d6c59762e94664e66527e222593 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 15 Mar 2021 14:27:21 -0700 Subject: [PATCH 1396/2840] Update flake8 from 3.8.4 to 3.9.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index a410f3132..54dbc229d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ binaryornot==0.4.4 # ------------------------------------------------------------------------------ black==20.8b1 isort==5.7.0 -flake8==3.8.4 +flake8==3.9.0 flake8-isort==4.0.0 # Testing From b6c6d682ff649414fed8258bafb0d84159724666 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 15 Mar 2021 14:27:22 -0700 Subject: [PATCH 1397/2840] Update flake8 from 3.8.4 to 3.9.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index ec239bb46..9b49a0b46 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -25,7 +25,7 @@ sphinx-autobuild==2020.9.1 # https://github.com/GaretJax/sphinx-autobuild # Code quality # ------------------------------------------------------------------------------ -flake8==3.8.4 # https://github.com/PyCQA/flake8 +flake8==3.9.0 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.5 # https://github.com/nedbat/coveragepy black==20.8b1 # https://github.com/ambv/black From d36f7e8617e9e107eb97cd14a8ef3f7bd2256df6 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 22 Mar 2021 00:27:06 +0000 Subject: [PATCH 1398/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 5a5b58a63..fd4572f79 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,12 +16,12 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.7.0 + rev: 5.8.0 hooks: - id: isort - repo: https://gitlab.com/pycqa/flake8 - rev: 3.8.4 + rev: 3.9.0 hooks: - id: flake8 args: ['--config=setup.cfg'] From b9eaa50ff565a33d65c56b8848ce7c4cc588fa11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20C=2E=20Barrionuevo=20da=20Luz?= Date: Sun, 21 Mar 2021 22:48:36 -0300 Subject: [PATCH 1399/2840] Add non-python requirements file for Ubuntu 20.04 --- .../utility/requirements-focal.apt | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 {{cookiecutter.project_slug}}/utility/requirements-focal.apt diff --git a/{{cookiecutter.project_slug}}/utility/requirements-focal.apt b/{{cookiecutter.project_slug}}/utility/requirements-focal.apt new file mode 100644 index 000000000..fe6f21e46 --- /dev/null +++ b/{{cookiecutter.project_slug}}/utility/requirements-focal.apt @@ -0,0 +1,23 @@ +##basic build dependencies of various Django apps for Ubuntu Focal 20.04 +#build-essential metapackage install: make, gcc, g++, +build-essential +#required to translate +gettext +python3-dev + +##shared dependencies of: +##Pillow, pylibmc +zlib1g-dev + +##Postgresql and psycopg2 dependencies +libpq-dev + +##Pillow dependencies +libtiff5-dev +libjpeg8-dev +libfreetype6-dev +liblcms2-dev +libwebp-dev + +##django-extensions +graphviz-dev From 2ea090a0de268cddccd3defcb6ade4f77bfa1ca7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 22 Mar 2021 03:47:05 -0700 Subject: [PATCH 1400/2840] Update isort from 5.7.0 to 5.8.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 54dbc229d..3b16db8d8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==20.8b1 -isort==5.7.0 +isort==5.8.0 flake8==3.9.0 flake8-isort==4.0.0 From 779270832223d243d5f416c48547090c4e776cc5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 22 Mar 2021 03:51:35 -0700 Subject: [PATCH 1401/2840] Update sphinx-autobuild from 2020.9.1 to 2021.3.14 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 49640cb26..a1e39ca50 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -21,7 +21,7 @@ pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation # ------------------------------------------------------------------------------ sphinx==3.5.1 # https://github.com/sphinx-doc/sphinx -sphinx-autobuild==2020.9.1 # https://github.com/GaretJax/sphinx-autobuild +sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild # Code quality # ------------------------------------------------------------------------------ From be4e70bbd907565b4cc9c59ea6c114ca7109f1f1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 22 Mar 2021 03:52:19 -0700 Subject: [PATCH 1402/2840] Update ipdb from 0.13.5 to 0.13.7 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 49640cb26..6fafe86de 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,7 +1,7 @@ -r base.txt Werkzeug==1.0.1 # https://github.com/pallets/werkzeug -ipdb==0.13.5 # https://github.com/gotcha/ipdb +ipdb==0.13.7 # https://github.com/gotcha/ipdb {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 {%- else %} From 34877810799668e1b6e1ab75f5c8e5abef618602 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 22 Mar 2021 04:18:19 -0700 Subject: [PATCH 1403/2840] Update sphinx from 3.5.1 to 3.5.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 9b8535574..b6a7e5439 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation # ------------------------------------------------------------------------------ -sphinx==3.5.1 # https://github.com/sphinx-doc/sphinx +sphinx==3.5.3 # https://github.com/sphinx-doc/sphinx sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild # Code quality From b07c5d5d906beac2b435b8560bd8595e4649e9f9 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 22 Mar 2021 07:21:59 -0700 Subject: [PATCH 1404/2840] Update django-crispy-forms from 1.11.1 to 1.11.2 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 377f2d05f..75479fdb3 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -33,7 +33,7 @@ django==3.1.7 # pyup: < 3.2 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth -django-crispy-forms==1.11.1 # https://github.com/django-crispy-forms/django-crispy-forms +django-crispy-forms==1.11.2 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.4 # https://github.com/django-compressor/django-compressor {%- endif %} From b6bd76d4287b2bcb35bbd8a1c85ba05140edc5bd Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 23 Mar 2021 02:37:18 +0000 Subject: [PATCH 1405/2840] Update Changelog --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 150dd3909..db8f052f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,18 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-03-22] +### Updated +- Update django-crispy-forms to 1.11.2 ([#3104](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3104)) +- Update sphinx to 3.5.3 ([#3103](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3103)) +- Update ipdb to 0.13.7 ([#3102](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3102)) +- Update sphinx-autobuild to 2021.3.14 ([#3101](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3101)) +- Update isort to 5.8.0 ([#3100](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3100)) +- Update pre-commit to 2.11.1 ([#3089](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3089)) +- Update flake8 to 3.9.0 ([#3096](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3096)) +- Update pillow to 8.1.2 ([#3084](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3084)) +- Auto-update pre-commit hooks ([#3095](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3095)) + ## [2021-03-05] ### Changed - Updated test_urls.py and views.py to re-use User.get_absolute_url() ([#3070](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3070)) From a7847ec2ccc2ff58eb8335658770833fa38a335e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 25 Mar 2021 09:30:30 -0700 Subject: [PATCH 1406/2840] Update djangorestframework from 3.12.2 to 3.12.3 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 75479fdb3..69b11ce71 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -40,6 +40,6 @@ django-compressor==2.4 # https://github.com/django-compressor/django-compressor django-redis==4.12.1 # https://github.com/jazzband/django-redis {%- if cookiecutter.use_drf == "y" %} # Django REST Framework -djangorestframework==3.12.2 # https://github.com/encode/django-rest-framework +djangorestframework==3.12.3 # https://github.com/encode/django-rest-framework django-cors-headers==3.7.0 # https://github.com/adamchainz/django-cors-headers {%- endif %} From ebc2f0446ac1cd22f5817f8bb63b0bda1d22ea51 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 26 Mar 2021 02:15:58 +0000 Subject: [PATCH 1407/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index db8f052f3..15c176dbb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-03-25] +### Updated +- Update djangorestframework to 3.12.3 ([#3105](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3105)) + ## [2021-03-22] ### Updated - Update django-crispy-forms to 1.11.2 ([#3104](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3104)) From 140c3a961caa6862c57112f7d068161bbed24e58 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 26 Mar 2021 09:30:46 -0700 Subject: [PATCH 1408/2840] Update djangorestframework from 3.12.3 to 3.12.4 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 69b11ce71..1946b0750 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -40,6 +40,6 @@ django-compressor==2.4 # https://github.com/django-compressor/django-compressor django-redis==4.12.1 # https://github.com/jazzband/django-redis {%- if cookiecutter.use_drf == "y" %} # Django REST Framework -djangorestframework==3.12.3 # https://github.com/encode/django-rest-framework +djangorestframework==3.12.4 # https://github.com/encode/django-rest-framework django-cors-headers==3.7.0 # https://github.com/adamchainz/django-cors-headers {%- endif %} From a18ccd35238745c588281b1436807c65ccd3c5d6 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 27 Mar 2021 02:23:07 +0000 Subject: [PATCH 1409/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 15c176dbb..d1479a28e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-03-26] +### Updated +- Update djangorestframework to 3.12.4 ([#3107](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3107)) + ## [2021-03-25] ### Updated - Update djangorestframework to 3.12.3 ([#3105](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3105)) From 0073683c7056ef69686c6f7c3f8f251a23731909 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 27 Mar 2021 02:04:38 -0700 Subject: [PATCH 1410/2840] Update gunicorn from 20.0.4 to 20.1.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 0ce6fc10e..743cb3f9e 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -2,7 +2,7 @@ -r base.txt -gunicorn==20.0.4 # https://github.com/benoitc/gunicorn +gunicorn==20.1.0 # https://github.com/benoitc/gunicorn psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==2.2.0 # https://github.com/antonagestam/collectfast From 5314faaf8adaf2fcd5cd3b369bca2fc8ebdbc51a Mon Sep 17 00:00:00 2001 From: Tames McTigue Date: Tue, 30 Mar 2021 13:09:29 +0300 Subject: [PATCH 1411/2840] Fixed placement of image key value for non-Docker run. --- {{cookiecutter.project_slug}}/.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.gitlab-ci.yml b/{{cookiecutter.project_slug}}/.gitlab-ci.yml index 60925b811..fcdfb7dd7 100644 --- a/{{cookiecutter.project_slug}}/.gitlab-ci.yml +++ b/{{cookiecutter.project_slug}}/.gitlab-ci.yml @@ -21,7 +21,6 @@ flake8: pytest: stage: test - image: python:3.8 {% if cookiecutter.use_docker == 'y' -%} image: docker/compose:latest tags: @@ -36,6 +35,7 @@ pytest: script: - docker-compose -f local.yml run django pytest {%- else %} + image: python:3.8 tags: - python services: From 49bf68aa006986e427665400f9fd99b09b34fda1 Mon Sep 17 00:00:00 2001 From: Tames McTigue Date: Tue, 30 Mar 2021 13:26:12 +0300 Subject: [PATCH 1412/2840] Fixed blank space --- {{cookiecutter.project_slug}}/.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.gitlab-ci.yml b/{{cookiecutter.project_slug}}/.gitlab-ci.yml index fcdfb7dd7..c599f6b62 100644 --- a/{{cookiecutter.project_slug}}/.gitlab-ci.yml +++ b/{{cookiecutter.project_slug}}/.gitlab-ci.yml @@ -34,7 +34,7 @@ pytest: - docker-compose -f local.yml up -d script: - docker-compose -f local.yml run django pytest - {%- else %} + {%- else -%} image: python:3.8 tags: - python From 0ef98a118b110fff72caf5b8dbac4efd97330a3b Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 2 Apr 2021 11:19:19 -0700 Subject: [PATCH 1413/2840] Update pillow from 8.1.2 to 8.2.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 1946b0750..96619498f 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,6 +1,6 @@ pytz==2021.1 # https://github.com/stub42/pytz python-slugify==4.0.1 # https://github.com/un33k/python-slugify -Pillow==8.1.2 # https://github.com/python-pillow/Pillow +Pillow==8.2.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} {%- if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} rcssmin==1.0.6 --install-option="--without-c-extensions" # https://github.com/ndparker/rcssmin From 9e62ff99d5d1c4b035eea44b6d2d053c31d26061 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 4 Apr 2021 12:36:50 -0700 Subject: [PATCH 1414/2840] Update pytest from 6.2.2 to 6.2.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index b6a7e5439..fdce88d72 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -15,7 +15,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # ------------------------------------------------------------------------------ mypy==0.812 # https://github.com/python/mypy django-stubs==1.7.0 # https://github.com/typeddjango/django-stubs -pytest==6.2.2 # https://github.com/pytest-dev/pytest +pytest==6.2.3 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation From a5727efc5555974ada6aac02d6ec9887140b8678 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 5 Apr 2021 08:36:26 -0700 Subject: [PATCH 1415/2840] Update django-extensions from 3.1.1 to 3.1.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index b6a7e5439..fbe62a58f 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -40,6 +40,6 @@ pre-commit==2.11.1 # https://github.com/pre-commit/pre-commit factory-boy==3.2.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==3.2 # https://github.com/jazzband/django-debug-toolbar -django-extensions==3.1.1 # https://github.com/django-extensions/django-extensions +django-extensions==3.1.2 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==4.1.0 # https://github.com/pytest-dev/pytest-django From 289a14aef102c4e93e311a679cfb778a8f05c0f1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 6 Apr 2021 17:56:14 -0700 Subject: [PATCH 1416/2840] Update django from 3.1.7 to 3.1.8 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 1946b0750..25d1802da 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -29,7 +29,7 @@ uvicorn[standard]==0.13.4 # https://github.com/encode/uvicorn # Django # ------------------------------------------------------------------------------ -django==3.1.7 # pyup: < 3.2 # https://www.djangoproject.com/ +django==3.1.8 # pyup: < 3.2 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth From a567c85fb5018125b2bb06bd3d5d86d53a2b1ebe Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 6 Apr 2021 21:03:28 -0700 Subject: [PATCH 1417/2840] Update pre-commit from 2.11.1 to 2.12.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index b6a7e5439..dcbd76b93 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -33,7 +33,7 @@ pylint-django==2.4.2 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.11.1 # https://github.com/pre-commit/pre-commit +pre-commit==2.12.0 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From 3a23b5f45e385aeaac2e754989648ccb7403d58c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 4 Mar 2021 07:47:26 -0800 Subject: [PATCH 1418/2840] Update sentry-sdk from 0.20.3 to 1.0.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 743cb3f9e..6e566eccf 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==0.20.3 # https://github.com/getsentry/sentry-python +sentry-sdk==1.0.0 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From 329493903aac6d3bd6c1a840c90391d10bae8296 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 29 Mar 2021 09:12:28 -0700 Subject: [PATCH 1419/2840] Update hiredis from 1.1.0 to 2.0.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 6e566eccf..d4ed6f83a 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -11,7 +11,7 @@ Collectfast==2.2.0 # https://github.com/antonagestam/collectfast sentry-sdk==1.0.0 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} -hiredis==1.1.0 # https://github.com/redis/hiredis-py +hiredis==2.0.0 # https://github.com/redis/hiredis-py {%- endif %} # Django From 83423025d9b805b7667363fcea66b7ef65bc4f39 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 29 Mar 2021 09:12:29 -0700 Subject: [PATCH 1420/2840] Update hiredis from 1.1.0 to 2.0.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index a4ab01b00..fd7daccbd 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -14,7 +14,7 @@ whitenoise==5.2.0 # https://github.com/evansd/whitenoise {%- endif %} redis==3.5.3 # https://github.com/andymccurdy/redis-py {%- if cookiecutter.use_docker == "y" or cookiecutter.windows == "n" %} -hiredis==1.1.0 # https://github.com/redis/hiredis-py +hiredis==2.0.0 # https://github.com/redis/hiredis-py {%- endif %} {%- if cookiecutter.use_celery == "y" %} celery==4.4.6 # pyup: < 5.0,!=4.4.7 # https://github.com/celery/celery From fa143aa60a2711fd36c7624f21278aa726c35697 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 7 Apr 2021 20:47:03 +0100 Subject: [PATCH 1421/2840] Bump version to 3.1.8 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index bc31d84a1..f8cfe29cd 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ except ImportError: # Our version ALWAYS matches the version of Django we support # If Django has a new release, we branch, tag, then update this setting after the tag. -version = "3.1.7" +version = "3.1.8" if sys.argv[-1] == "tag": os.system(f'git tag -a {version} -m "version {version}"') From 3f3148f88fdd015acf61cd731eaa944ab260a3cc Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 7 Apr 2021 19:50:12 +0000 Subject: [PATCH 1422/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 5b5c575cf..846375687 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1077,5 +1077,10 @@ "name": "lcd1232", "github_login": "lcd1232", "twitter_username": "" + }, + { + "name": "Tames McTigue", + "github_login": "Tamerz", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 9a8e30190..ea8701879 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1363,6 +1363,13 @@ Listed in alphabetical order. + + Tames McTigue + + Tamerz + + + Tano Abeleyra From 095a2a56af953d2d1fd8f3c78e2585e8300b90cd Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 2 Mar 2021 21:50:57 +0000 Subject: [PATCH 1423/2840] Run linting via pre-commit on CI --- tests/test_bare.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/test_bare.sh b/tests/test_bare.sh index eae09dc78..c7938ecf6 100755 --- a/tests/test_bare.sh +++ b/tests/test_bare.sh @@ -27,5 +27,10 @@ sudo utility/install_os_dependencies.sh install # Install Python deps pip install -r requirements/local.txt +# Lint by running pre-commit on all files +git init +git add . +pre-commit run --show-diff-on-failure -a + # run the project's tests pytest From c38289493410d2401a5903f6feada0d3f3d79fe3 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 2 Mar 2021 22:50:28 +0000 Subject: [PATCH 1424/2840] Fix pre-commit hook issues --- .../.pre-commit-config.yaml | 1 - {{cookiecutter.project_slug}}/.pylintrc | 2 +- {{cookiecutter.project_slug}}/LICENSE | 8 ++-- {{cookiecutter.project_slug}}/Procfile | 4 +- {{cookiecutter.project_slug}}/README.rst | 41 ++++++++++--------- .../compose/production/traefik/traefik.yml | 2 +- .../config/settings/base.py | 5 ++- .../config/settings/production.py | 3 +- {{cookiecutter.project_slug}}/local.yml | 5 +-- {{cookiecutter.project_slug}}/production.yml | 3 +- .../utility/install_python_dependencies.sh | 3 +- .../templates/403.html | 3 +- .../templates/404.html | 3 +- .../templates/500.html | 3 +- .../templates/account/account_inactive.html | 2 +- .../templates/account/base.html | 2 +- .../templates/account/email.html | 2 +- .../templates/account/email_confirm.html | 2 +- .../templates/account/login.html | 2 +- .../templates/account/logout.html | 4 +- .../templates/account/password_change.html | 2 +- .../templates/account/password_reset.html | 2 +- .../account/password_reset_done.html | 6 +-- .../account/password_reset_from_key.html | 2 +- .../account/password_reset_from_key_done.html | 2 +- .../templates/account/password_set.html | 2 +- .../templates/account/signup.html | 2 +- .../templates/account/signup_closed.html | 2 +- .../templates/account/verification_sent.html | 2 +- .../account/verified_email_required.html | 4 +- .../templates/base.html | 24 +++++------ .../templates/pages/about.html | 2 +- .../templates/pages/home.html | 2 +- .../templates/users/user_detail.html | 3 +- .../templates/users/user_form.html | 3 +- 35 files changed, 78 insertions(+), 82 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index fd4572f79..df71ea618 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -26,4 +26,3 @@ repos: - id: flake8 args: ['--config=setup.cfg'] additional_dependencies: [flake8-isort] - diff --git a/{{cookiecutter.project_slug}}/.pylintrc b/{{cookiecutter.project_slug}}/.pylintrc index a0955f076..dff52e75b 100644 --- a/{{cookiecutter.project_slug}}/.pylintrc +++ b/{{cookiecutter.project_slug}}/.pylintrc @@ -1,5 +1,5 @@ [MASTER] -load-plugins=pylint_django{% if cookiecutter.use_celery == "y" %}, pylint_celery {% endif %} +load-plugins=pylint_django{% if cookiecutter.use_celery == "y" %}, pylint_celery{% endif %} [FORMAT] max-line-length=120 diff --git a/{{cookiecutter.project_slug}}/LICENSE b/{{cookiecutter.project_slug}}/LICENSE index c831e0309..812fa0fa6 100644 --- a/{{cookiecutter.project_slug}}/LICENSE +++ b/{{cookiecutter.project_slug}}/LICENSE @@ -7,7 +7,7 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -{% elif cookiecutter.open_source_license == 'BSD' %} +{%- elif cookiecutter.open_source_license == 'BSD' %} Copyright (c) {% now 'utc', '%Y' %}, {{ cookiecutter.author_name }} All rights reserved. @@ -35,7 +35,7 @@ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -{% elif cookiecutter.open_source_license == 'GPLv3' %} +{%- elif cookiecutter.open_source_license == 'GPLv3' %} Copyright (c) {% now 'utc', '%Y' %}, {{ cookiecutter.author_name }} This program is free software: you can redistribute it and/or modify @@ -50,7 +50,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . -{% elif cookiecutter.open_source_license == 'Apache Software License 2.0' %} +{%- elif cookiecutter.open_source_license == 'Apache Software License 2.0' %} Apache License Version 2.0, January 2004 @@ -242,4 +242,4 @@ along with this program. If not, see . WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -{% endif %} +{%- endif %} diff --git a/{{cookiecutter.project_slug}}/Procfile b/{{cookiecutter.project_slug}}/Procfile index 0becb2cbe..8679a0669 100644 --- a/{{cookiecutter.project_slug}}/Procfile +++ b/{{cookiecutter.project_slug}}/Procfile @@ -1,10 +1,10 @@ release: python manage.py migrate -{% if cookiecutter.use_async == "y" -%} +{%- if cookiecutter.use_async == "y" -%} web: gunicorn config.asgi:application -k uvicorn.workers.UvicornWorker {%- else %} web: gunicorn config.wsgi:application {%- endif %} -{% if cookiecutter.use_celery == "y" -%} +{%- if cookiecutter.use_celery == "y" -%} worker: celery worker --app=config.celery_app --loglevel=info beat: celery beat --app=config.celery_app --loglevel=info {%- endif %} diff --git a/{{cookiecutter.project_slug}}/README.rst b/{{cookiecutter.project_slug}}/README.rst index 2aae422ce..b120f16a6 100644 --- a/{{cookiecutter.project_slug}}/README.rst +++ b/{{cookiecutter.project_slug}}/README.rst @@ -9,10 +9,10 @@ .. image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/ambv/black :alt: Black code style -{% if cookiecutter.open_source_license != "Not open source" %} +{%- if cookiecutter.open_source_license != "Not open source" %} :License: {{cookiecutter.open_source_license}} -{% endif %} +{%- endif %} Settings -------- @@ -67,7 +67,7 @@ Moved to `Live reloading and SASS compilation`_. .. _`Live reloading and SASS compilation`: http://cookiecutter-django.readthedocs.io/en/latest/live-reloading-and-sass-compilation.html -{% if cookiecutter.use_celery == "y" %} +{%- if cookiecutter.use_celery == "y" %} Celery ^^^^^^ @@ -83,19 +83,21 @@ To run a celery worker: Please note: For Celery's import magic to work, it is important *where* the celery commands are run. If you are in the same folder with *manage.py*, you should be right. -{% endif %} -{% if cookiecutter.use_mailhog == "y" %} +{%- endif %} +{%- if cookiecutter.use_mailhog == "y" %} Email Server ^^^^^^^^^^^^ -{% if cookiecutter.use_docker == 'y' %} +{%- if cookiecutter.use_docker == 'y' %} + In development, it is often nice to be able to see emails that are being sent from your application. For that reason local SMTP server `MailHog`_ with a web interface is available as docker container. Container mailhog will start automatically when you will run all docker containers. Please check `cookiecutter-django Docker documentation`_ for more details how to start all containers. With MailHog running, to view messages that are sent by your application, open your browser and go to ``http://127.0.0.1:8025`` -{% else %} +{%- else %} + In development, it is often nice to be able to see emails that are being sent from your application. If you choose to use `MailHog`_ when generating the project a local SMTP server with a web interface will be available. #. `Download the latest MailHog release`_ for your OS. @@ -117,10 +119,10 @@ In development, it is often nice to be able to see emails that are being sent fr Now you have your own mail server running locally, ready to receive whatever you send it. .. _`Download the latest MailHog release`: https://github.com/mailhog/MailHog/releases -{% endif %} +{%- endif %} .. _mailhog: https://github.com/mailhog/MailHog -{% endif %} -{% if cookiecutter.use_sentry == "y" %} +{%- endif %} +{%- if cookiecutter.use_sentry == "y" %} Sentry ^^^^^^ @@ -129,13 +131,13 @@ Sentry is an error logging aggregator service. You can sign up for a free accoun The system is setup with reasonable defaults, including 404 logging and integration with the WSGI application. You must set the DSN url in production. -{% endif %} +{%- endif %} Deployment ---------- The following details how to deploy this application. -{% if cookiecutter.use_heroku.lower() == "y" %} +{%- if cookiecutter.use_heroku.lower() == "y" %} Heroku ^^^^^^ @@ -143,8 +145,8 @@ Heroku See detailed `cookiecutter-django Heroku documentation`_. .. _`cookiecutter-django Heroku documentation`: http://cookiecutter-django.readthedocs.io/en/latest/deployment-on-heroku.html -{% endif %} -{% if cookiecutter.use_docker.lower() == "y" %} +{%- endif %} +{%- if cookiecutter.use_docker.lower() == "y" %} Docker ^^^^^^ @@ -152,9 +154,8 @@ Docker See detailed `cookiecutter-django Docker documentation`_. .. _`cookiecutter-django Docker documentation`: http://cookiecutter-django.readthedocs.io/en/latest/deployment-with-docker.html -{% endif %} - -{% if cookiecutter.custom_bootstrap_compilation == "y" %} +{%- endif %} +{%- if cookiecutter.custom_bootstrap_compilation == "y" %} Custom Bootstrap Compilation ^^^^^^ @@ -163,11 +164,11 @@ Bootstrap v4 is installed using npm and customised by tweaking your variables in You can find a list of available variables `in the bootstrap source`_, or get explanations on them in the `Bootstrap docs`_. -{% if cookiecutter.js_task_runner == 'Gulp' %} +{%- if cookiecutter.js_task_runner == 'Gulp' %} Bootstrap's javascript as well as its dependencies is concatenated into a single file: ``static/js/vendors.js``. -{% endif %} +{%- endif %} .. _in the bootstrap source: https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss .. _Bootstrap docs: https://getbootstrap.com/docs/4.1/getting-started/theming/ -{% endif %} +{%- endif %} diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml index 7b56063f3..cc183cd6c 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml @@ -35,7 +35,7 @@ http: web-secure-router: {%- if cookiecutter.domain_name.count('.') == 1 %} rule: "Host(`{{ cookiecutter.domain_name }}`) || Host(`www.{{ cookiecutter.domain_name }}`)" - {% else %} + {%- else %} rule: "Host(`{{ cookiecutter.domain_name }}`)" {%- endif %} entryPoints: diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index f69908c2d..640d8b62c 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -44,7 +44,7 @@ LOCALE_PATHS = [str(ROOT_DIR / "locale")] DATABASES = {"default": env.db("DATABASE_URL")} {%- else %} DATABASES = { - "default": env.db("DATABASE_URL", default="postgres://{% if cookiecutter.windows == 'y' %}localhost{% endif %}/{{cookiecutter.project_slug}}") + "default": env.db("DATABASE_URL", default="postgres://{% if cookiecutter.windows == 'y' %}localhost{% endif %}/{{cookiecutter.project_slug}}"), } {%- endif %} DATABASES["default"]["ATOMIC_REQUESTS"] = True @@ -230,7 +230,8 @@ X_FRAME_OPTIONS = "DENY" # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#email-backend EMAIL_BACKEND = env( - "DJANGO_EMAIL_BACKEND", default="django.core.mail.backends.smtp.EmailBackend" + "DJANGO_EMAIL_BACKEND", + default="django.core.mail.backends.smtp.EmailBackend", ) # https://docs.djangoproject.com/en/dev/ref/settings/#email-timeout EMAIL_TIMEOUT = 5 diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index bd0acfbd4..59928f829 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -146,7 +146,8 @@ DEFAULT_FROM_EMAIL = env( SERVER_EMAIL = env("DJANGO_SERVER_EMAIL", default=DEFAULT_FROM_EMAIL) # https://docs.djangoproject.com/en/dev/ref/settings/#email-subject-prefix EMAIL_SUBJECT_PREFIX = env( - "DJANGO_EMAIL_SUBJECT_PREFIX", default="[{{cookiecutter.project_name}}]" + "DJANGO_EMAIL_SUBJECT_PREFIX", + default="[{{cookiecutter.project_name}}]", ) # ADMIN diff --git a/{{cookiecutter.project_slug}}/local.yml b/{{cookiecutter.project_slug}}/local.yml index e285f3498..6241ceede 100644 --- a/{{cookiecutter.project_slug}}/local.yml +++ b/{{cookiecutter.project_slug}}/local.yml @@ -52,7 +52,6 @@ services: ports: - "7000:7000" command: /start-docs - {%- if cookiecutter.use_mailhog == 'y' %} mailhog: @@ -75,7 +74,7 @@ services: depends_on: - redis - postgres - {% if cookiecutter.use_mailhog == 'y' -%} + {%- if cookiecutter.use_mailhog == 'y' %} - mailhog {%- endif %} ports: [] @@ -88,7 +87,7 @@ services: depends_on: - redis - postgres - {% if cookiecutter.use_mailhog == 'y' -%} + {%- if cookiecutter.use_mailhog == 'y' %} - mailhog {%- endif %} ports: [] diff --git a/{{cookiecutter.project_slug}}/production.yml b/{{cookiecutter.project_slug}}/production.yml index 93b61b134..3cccdb653 100644 --- a/{{cookiecutter.project_slug}}/production.yml +++ b/{{cookiecutter.project_slug}}/production.yml @@ -64,10 +64,9 @@ services: <<: *django image: {{ cookiecutter.project_slug }}_production_flower command: /start-flower - {%- endif %} + {%- if cookiecutter.cloud_provider == 'AWS' %} - {% if cookiecutter.cloud_provider == 'AWS' %} awscli: build: context: . diff --git a/{{cookiecutter.project_slug}}/utility/install_python_dependencies.sh b/{{cookiecutter.project_slug}}/utility/install_python_dependencies.sh index 517934841..e09ebf6f8 100755 --- a/{{cookiecutter.project_slug}}/utility/install_python_dependencies.sh +++ b/{{cookiecutter.project_slug}}/utility/install_python_dependencies.sh @@ -33,9 +33,8 @@ if [ -z "$VIRTUAL_ENV" ]; then echo >&2 -e "\n" exit 1; else - pip install -r $PROJECT_DIR/requirements/local.txt - {% if cookiecutter.use_heroku == "y" -%} + {%- if cookiecutter.use_heroku == "y" -%} pip install -r $PROJECT_DIR/requirements.txt {%- endif %} fi diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/403.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/403.html index 31da98826..4c4745f7d 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/403.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/403.html @@ -6,4 +6,5 @@

Forbidden (403)

{% if exception %}{{ exception }}{% else %}You're not allowed to access this page.{% endif %}

-{% endblock content %}{% endraw %} +{% endblock content %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/404.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/404.html index 187c1fc9d..d98241858 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/404.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/404.html @@ -6,4 +6,5 @@

Page not found

{% if exception %}{{ exception }}{% else %}This is not the page you were looking for.{% endif %}

-{% endblock content %}{% endraw %} +{% endblock content %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/500.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/500.html index 122e0813e..481bb2d0b 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/500.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/500.html @@ -9,5 +9,4 @@

We track these errors automatically, but if the problem persists feel free to contact us. In the meantime, try refreshing.

{% endblock content %} - -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/account_inactive.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/account_inactive.html index fe9b68078..0713ff110 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/account_inactive.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/account_inactive.html @@ -9,4 +9,4 @@

{% trans "This account is inactive." %}

{% endblock %} -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/base.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/base.html index cd07bbabf..03c86724b 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/base.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/base.html @@ -8,4 +8,4 @@ {% endblock %} -{% endraw %} \ No newline at end of file +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html index 2b7e12789..055904ae9 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html @@ -77,4 +77,4 @@ window.addEventListener('DOMContentLoaded',function() { $('.form-group').removeClass('row'); {% endblock %} -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email_confirm.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email_confirm.html index eb45cf600..2a0722a1d 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email_confirm.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email_confirm.html @@ -29,4 +29,4 @@ {% endif %} {% endblock %} -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/login.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/login.html index a71932225..247ca690a 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/login.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/login.html @@ -45,4 +45,4 @@ for a {{ site_name }} account and sign in below:{% endblocktrans %}

{% endblock %} -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/logout.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/logout.html index baa8183c9..6659724e0 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/logout.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/logout.html @@ -16,7 +16,5 @@ {% endif %} - - {% endblock %} -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_change.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_change.html index 62bbbc138..7f2fbed07 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_change.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_change.html @@ -14,4 +14,4 @@ {% endblock %} -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset.html index b9869fb23..474b0f4a9 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset.html @@ -23,4 +23,4 @@

{% blocktrans %}Please contact us if you have any trouble resetting your password.{% endblocktrans %}

{% endblock %} -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset_done.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset_done.html index cf2129b1e..94ea2dfbe 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset_done.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset_done.html @@ -7,11 +7,11 @@ {% block inner %}

{% trans "Password Reset" %}

- + {% if user.is_authenticated %} {% include "account/snippets/already_logged_in.html" %} {% endif %} - +

{% blocktrans %}We have sent you an e-mail. Please contact us if you do not receive it within a few minutes.{% endblocktrans %}

{% endblock %} -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset_from_key.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset_from_key.html index 671eb12c9..66ea9ba60 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset_from_key.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset_from_key.html @@ -22,4 +22,4 @@ {% endif %} {% endif %} {% endblock %} -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset_from_key_done.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset_from_key_done.html index 925b7aa23..7defcc86c 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset_from_key_done.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_reset_from_key_done.html @@ -7,4 +7,4 @@

{% trans "Change Password" %}

{% trans 'Your password is now changed.' %}

{% endblock %} -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_set.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_set.html index 563a0b185..435ed073e 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_set.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/password_set.html @@ -14,4 +14,4 @@ {% endblock %} -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/signup.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/signup.html index 80490a2e1..7a1e29a4d 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/signup.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/signup.html @@ -20,4 +20,4 @@ {% endblock %} -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/signup_closed.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/signup_closed.html index eca9b1568..08b937726 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/signup_closed.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/signup_closed.html @@ -9,4 +9,4 @@

{% trans "We are sorry, but the sign up is currently closed." %}

{% endblock %} -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/verification_sent.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/verification_sent.html index ccc8d9a1f..4394e9c67 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/verification_sent.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/verification_sent.html @@ -10,4 +10,4 @@

{% blocktrans %}We have sent an e-mail to you for verification. Follow the link provided to finalize the signup process. Please contact us if you do not receive it within a few minutes.{% endblocktrans %}

{% endblock %} -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/verified_email_required.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/verified_email_required.html index f3078b68e..8eafcbedb 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/verified_email_required.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/verified_email_required.html @@ -18,7 +18,5 @@ verification. Please click on the link inside this e-mail. Please contact us if you do not receive it within a few minutes.{% endblocktrans %}

{% blocktrans %}Note: you can still change your e-mail address.{% endblocktrans %}

- - {% endblock %} -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html index 127068878..951b17dbe 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html @@ -16,26 +16,26 @@ {% block css %} - {% endraw %}{% if cookiecutter.custom_bootstrap_compilation == "n" %}{% raw %} + {%- endraw %}{% if cookiecutter.custom_bootstrap_compilation == "n" %}{% raw %} - {% endraw %}{% endif %}{% raw %} + {%- endraw %}{% endif %}{% raw %} - {% endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% compress css %}{% endraw %}{% endif %}{% raw %} + {%- endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% compress css %}{% endraw %}{% endif %}{% raw %} - {% endraw %}{% if cookiecutter.js_task_runner == "Gulp" and cookiecutter.use_compressor == "n" %}{% raw %} + {%- endraw %}{% if cookiecutter.js_task_runner == "Gulp" and cookiecutter.use_compressor == "n" %}{% raw %} - {% endraw %}{% else %}{% raw %} + {%- endraw %}{% else %}{% raw %} - {% endraw %}{% endif %}{% raw %} - {% endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% endcompress %}{% endraw %}{% endif %}{% raw %} + {%- endraw %}{% endif %}{% raw %} + {%- endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% endcompress %}{% endraw %}{% endif %}{% raw %} {% endblock %} {# Placed at the top of the document so pages load faster with defer #} {% block javascript %} - {% endraw %}{% if cookiecutter.custom_bootstrap_compilation == "y" and cookiecutter.js_task_runner == "Gulp" %}{% raw %} + {%- endraw %}{% if cookiecutter.custom_bootstrap_compilation == "y" and cookiecutter.js_task_runner == "Gulp" %}{% raw %} {% endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% compress js %}{% endraw %}{% endif %}{% raw %} @@ -47,12 +47,12 @@ - {% endraw %}{% endif %}{% raw %} + {%- endraw %}{% endif %}{% raw %} - {% endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% compress js %}{% endraw %}{% endif %}{% raw %} + {%- endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% compress js %}{% endraw %}{% endif %}{% raw %} - {% endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% endcompress %}{% endraw %}{% endif %}{% raw %} + {%- endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% endcompress %}{% endraw %}{% endif %}{% raw %} {% endblock javascript %} @@ -121,4 +121,4 @@ {% endblock inline_javascript %} - {% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/pages/about.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/pages/about.html index 94beff9c8..8968a3d4f 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/pages/about.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/pages/about.html @@ -1 +1 @@ -{% raw %}{% extends "base.html" %}{% endraw %} \ No newline at end of file +{% raw %}{% extends "base.html" %}{% endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/pages/home.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/pages/home.html index 94beff9c8..8968a3d4f 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/pages/home.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/pages/home.html @@ -1 +1 @@ -{% raw %}{% extends "base.html" %}{% endraw %} \ No newline at end of file +{% raw %}{% extends "base.html" %}{% endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_detail.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_detail.html index 47b611220..eed39ca3a 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_detail.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_detail.html @@ -30,7 +30,6 @@ {% endif %} - {% endblock content %} -{% endraw %} +{%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_form.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_form.html index e9da0d48f..53e14a530 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_form.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_form.html @@ -14,4 +14,5 @@ -{% endblock %}{% endraw %} +{% endblock %} +{%- endraw %} From c7bb4834e03ef022f7f80ccbf871e8ebc0704720 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 3 Mar 2021 19:50:13 +0000 Subject: [PATCH 1425/2840] Fix pre-commit hook issues with Docker & Celery --- {{cookiecutter.project_slug}}/.envs/.local/.django | 2 +- {{cookiecutter.project_slug}}/compose/local/django/start | 2 +- .../compose/production/aws/maintenance/download | 1 - .../compose/production/aws/maintenance/upload | 1 - 4 files changed, 2 insertions(+), 4 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.envs/.local/.django b/{{cookiecutter.project_slug}}/.envs/.local/.django index 919f31185..ef581a1c0 100644 --- a/{{cookiecutter.project_slug}}/.envs/.local/.django +++ b/{{cookiecutter.project_slug}}/.envs/.local/.django @@ -14,4 +14,4 @@ REDIS_URL=redis://redis:6379/0 # Flower CELERY_FLOWER_USER=!!!SET CELERY_FLOWER_USER!!! CELERY_FLOWER_PASSWORD=!!!SET CELERY_FLOWER_PASSWORD!!! -{% endif %} +{%- endif %} diff --git a/{{cookiecutter.project_slug}}/compose/local/django/start b/{{cookiecutter.project_slug}}/compose/local/django/start index 660eda34c..9cbb6c897 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/start +++ b/{{cookiecutter.project_slug}}/compose/local/django/start @@ -10,4 +10,4 @@ python manage.py migrate uvicorn config.asgi:application --host 0.0.0.0 --reload {%- else %} python manage.py runserver_plus 0.0.0.0:8000 -{% endif %} +{%- endif %} diff --git a/{{cookiecutter.project_slug}}/compose/production/aws/maintenance/download b/{{cookiecutter.project_slug}}/compose/production/aws/maintenance/download index 8d5ea091f..0c515935f 100644 --- a/{{cookiecutter.project_slug}}/compose/production/aws/maintenance/download +++ b/{{cookiecutter.project_slug}}/compose/production/aws/maintenance/download @@ -21,4 +21,3 @@ export AWS_STORAGE_BUCKET_NAME="${DJANGO_AWS_STORAGE_BUCKET_NAME}" aws s3 cp s3://${AWS_STORAGE_BUCKET_NAME}${BACKUP_DIR_PATH}/${1} ${BACKUP_DIR_PATH}/${1} message_success "Finished downloading ${1}." - diff --git a/{{cookiecutter.project_slug}}/compose/production/aws/maintenance/upload b/{{cookiecutter.project_slug}}/compose/production/aws/maintenance/upload index 4a89dcb5a..9446b9304 100644 --- a/{{cookiecutter.project_slug}}/compose/production/aws/maintenance/upload +++ b/{{cookiecutter.project_slug}}/compose/production/aws/maintenance/upload @@ -27,4 +27,3 @@ message_info "Cleaning the directory ${BACKUP_DIR_PATH}" rm -rf ${BACKUP_DIR_PATH}/* message_success "Finished uploading and cleaning." - From e08b17a234c6a7dbafcb72bd7d95a6036184e380 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 3 Mar 2021 19:53:56 +0000 Subject: [PATCH 1426/2840] Run pre-commit for linting in Docker --- requirements.txt | 1 + tests/test_bare.sh | 1 + tests/test_docker.sh | 10 +++++++--- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index 3b16db8d8..b4ae9467a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,6 +8,7 @@ black==20.8b1 isort==5.8.0 flake8==3.9.0 flake8-isort==4.0.0 +pre-commit==2.10.1 # Testing # ------------------------------------------------------------------------------ diff --git a/tests/test_bare.sh b/tests/test_bare.sh index c7938ecf6..1f52d91b6 100755 --- a/tests/test_bare.sh +++ b/tests/test_bare.sh @@ -28,6 +28,7 @@ sudo utility/install_os_dependencies.sh install pip install -r requirements/local.txt # Lint by running pre-commit on all files +# Needs a git repo to find the project root git init git add . pre-commit run --show-diff-on-failure -a diff --git a/tests/test_docker.sh b/tests/test_docker.sh index f6df6b8ab..001ef06d0 100755 --- a/tests/test_docker.sh +++ b/tests/test_docker.sh @@ -17,12 +17,16 @@ cd .cache/docker cookiecutter ../../ --no-input --overwrite-if-exists use_docker=y $@ cd my_awesome_project +# Lint by running pre-commit on all files +# Needs a git repo to find the project root +# We don't have git inside Docker, so run it outside +git init +git add . +pre-commit run --show-diff-on-failure -a + # run the project's type checks docker-compose -f local.yml run django mypy my_awesome_project -# Run black with --check option -docker-compose -f local.yml run django black --check --diff --exclude 'migrations' ./ - # run the project's tests docker-compose -f local.yml run django pytest From 382dce2803a9a74b4ec1490abd421c9635ccf550 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 3 Mar 2021 20:00:18 +0000 Subject: [PATCH 1427/2840] Fix linting issues in Gulpfile --- {{cookiecutter.project_slug}}/gulpfile.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/{{cookiecutter.project_slug}}/gulpfile.js b/{{cookiecutter.project_slug}}/gulpfile.js index 206f8a019..56a08e8fc 100644 --- a/{{cookiecutter.project_slug}}/gulpfile.js +++ b/{{cookiecutter.project_slug}}/gulpfile.js @@ -29,14 +29,14 @@ function pathsConfig(appName) { const vendorsRoot = 'node_modules' return { - {% if cookiecutter.custom_bootstrap_compilation == 'y' %} + {%- if cookiecutter.custom_bootstrap_compilation == 'y' %} bootstrapSass: `${vendorsRoot}/bootstrap/scss`, vendorsJs: [ `${vendorsRoot}/jquery/dist/jquery.slim.js`, `${vendorsRoot}/popper.js/dist/umd/popper.js`, `${vendorsRoot}/bootstrap/dist/js/bootstrap.js`, ], - {% endif %} + {%- endif %} app: this.app, templates: `${this.app}/templates`, css: `${this.app}/static/css`, @@ -67,9 +67,9 @@ function styles() { return src(`${paths.sass}/project.scss`) .pipe(sass({ includePaths: [ - {% if cookiecutter.custom_bootstrap_compilation == 'y' %} + {%- if cookiecutter.custom_bootstrap_compilation == 'y' %} paths.bootstrapSass, - {% endif %} + {%- endif %} paths.sass ] }).on('error', sass.logError)) @@ -90,7 +90,7 @@ function scripts() { .pipe(dest(paths.js)) } -{% if cookiecutter.custom_bootstrap_compilation == 'y' %} +{%- if cookiecutter.custom_bootstrap_compilation == 'y' %} // Vendor Javascript minification function vendorScripts() { return src(paths.vendorsJs) @@ -101,7 +101,7 @@ function vendorScripts() { .pipe(rename({ suffix: '.min' })) .pipe(dest(paths.js)) } -{% endif %} +{%- endif %} // Image compression function imgCompression() { @@ -110,7 +110,7 @@ function imgCompression() { .pipe(dest(paths.images)) } -{% if cookiecutter.use_async == 'y' -%} +{%- if cookiecutter.use_async == 'y' -%} // Run django server function asyncRunServer() { var cmd = spawn('gunicorn', [ @@ -143,7 +143,7 @@ function initBrowserSync() { // https://www.browsersync.io/docs/options/#option-proxy {%- if cookiecutter.use_docker == 'n' %} proxy: 'localhost:8000' - {% else %} + {%- else %} proxy: { target: 'django:8000', proxyReq: [ @@ -172,7 +172,7 @@ function watchPaths() { const generateAssets = parallel( styles, scripts, - {% if cookiecutter.custom_bootstrap_compilation == 'y' %}vendorScripts,{% endif %} + {%- if cookiecutter.custom_bootstrap_compilation == 'y' %}vendorScripts,{% endif %} imgCompression ) From 675cef0a95b5ee48ca0ab2cb84258878364d9065 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 3 Mar 2021 20:02:32 +0000 Subject: [PATCH 1428/2840] Fix linting issues in template --- .../{{cookiecutter.project_slug}}/templates/base.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html index 951b17dbe..c36794048 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html @@ -37,10 +37,10 @@ {% block javascript %} {%- endraw %}{% if cookiecutter.custom_bootstrap_compilation == "y" and cookiecutter.js_task_runner == "Gulp" %}{% raw %} - {% endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% compress js %}{% endraw %}{% endif %}{% raw %} + {%- endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% compress js %}{% endraw %}{% endif %}{% raw %} - {% endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% endcompress %}{% endraw %}{% endif %}{% raw %} - {% endraw %}{% else %}{% raw %} + {%- endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% endcompress %}{% endraw %}{% endif %}{% raw %} + {%- endraw %}{% else %}{% raw %} From 9c4f047886ce8c25d3df7d7023cb3a8692b581c7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 7 Apr 2021 13:01:52 -0700 Subject: [PATCH 1429/2840] Update pre-commit from 2.10.1 to 2.12.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index b4ae9467a..1e75dbced 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ black==20.8b1 isort==5.8.0 flake8==3.9.0 flake8-isort==4.0.0 -pre-commit==2.10.1 +pre-commit==2.12.0 # Testing # ------------------------------------------------------------------------------ From e6604f9a7d0211216c18f792a91a2366c3fac411 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 7 Apr 2021 21:12:36 +0100 Subject: [PATCH 1430/2840] Fix style --- {{cookiecutter.project_slug}}/compose/local/django/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index bdcd87ba7..f174bcefd 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -78,4 +78,4 @@ RUN chmod +x /start-flower # copy application code to WORKDIR COPY . ${APP_HOME} -ENTRYPOINT ["/entrypoint"] \ No newline at end of file +ENTRYPOINT ["/entrypoint"] From c08f6115b0b1721f726e2474aff8f754008659f8 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 8 Apr 2021 02:26:56 +0000 Subject: [PATCH 1431/2840] Update Changelog --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1479a28e..d9559b9f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,20 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-04-07] +### Changed +- Update django to 3.1.8 ([#3117](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3117)) +### Fixed +- Fix linting via pre-commit on Github CI ([#3077](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3077)) +- Fix gitlab-ci using duplicate key name for image ([#3112](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3112)) +### Updated +- Update sentry-sdk to 1.0.0 ([#3080](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3080)) +- Update gunicorn to 20.1.0 ([#3108](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3108)) +- Update pre-commit to 2.12.0 ([#3118](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3118)) +- Update django-extensions to 3.1.2 ([#3116](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3116)) +- Update pillow to 8.2.0 ([#3113](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3113)) +- Update pytest to 6.2.3 ([#3115](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3115)) + ## [2021-03-26] ### Updated - Update djangorestframework to 3.12.4 ([#3107](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3107)) From 47f5b40ace3f845ea4e5498100cc610dd25c97d2 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 8 Apr 2021 18:53:14 +0100 Subject: [PATCH 1432/2840] Update Heroku to latest 3.9.x --- {{cookiecutter.project_slug}}/runtime.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/runtime.txt b/{{cookiecutter.project_slug}}/runtime.txt index 1a1817944..87665291b 100644 --- a/{{cookiecutter.project_slug}}/runtime.txt +++ b/{{cookiecutter.project_slug}}/runtime.txt @@ -1 +1 @@ -python-3.9.1 +python-3.9.4 From 49b739fc9eeae87b0ea2579e699c4a79bd088c92 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 8 Apr 2021 19:41:58 +0100 Subject: [PATCH 1433/2840] Switch .dockerignore to explicit list Use explicit list of files to ignore instead of exceptions. Fix #713 --- {{cookiecutter.project_slug}}/.dockerignore | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.dockerignore b/{{cookiecutter.project_slug}}/.dockerignore index e63c0c184..d01db04a6 100644 --- a/{{cookiecutter.project_slug}}/.dockerignore +++ b/{{cookiecutter.project_slug}}/.dockerignore @@ -1,4 +1,9 @@ -.* -!.coveragerc -!.env -!.pylintrc +.editorconfig +.gitattributes +.github +.gitignore +.gitlab-ci.yml +.idea +.pre-commit-config.yaml +.readthedocs.yml +.travis.yml From 2320206467cfe9e3a3ca7c32bde62b1e7cb939ae Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 9 Apr 2021 02:23:38 +0000 Subject: [PATCH 1434/2840] Update Changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d9559b9f6..1a82e45bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-04-08] +### Changed +- Switch .dockerignore to explicit list ([#3121](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3121)) +- Change Docker image to multi-stage build for Django ([#2815](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2815)) +- Fix deprecated warning in middleware tests ([#3038](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3038)) +### Updated +- Update pre-commit to 2.12.0 ([#3120](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3120)) + ## [2021-04-07] ### Changed - Update django to 3.1.8 ([#3117](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3117)) From c7ef61db2b49bb330960a3044cb425fb13a3b871 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 9 Apr 2021 00:21:28 -0700 Subject: [PATCH 1435/2840] Update pylint-django from 2.4.2 to 2.4.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 801c2d2d5..4553a65e9 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -29,7 +29,7 @@ flake8==3.9.0 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.5 # https://github.com/nedbat/coveragepy black==20.8b1 # https://github.com/ambv/black -pylint-django==2.4.2 # https://github.com/PyCQA/pylint-django +pylint-django==2.4.3 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} From 27872cc81bb201e28ed623cb49454723b26b7c59 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 10 Apr 2021 02:22:20 +0000 Subject: [PATCH 1436/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a82e45bb..a0e3bdebe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-04-09] +### Changed +- Update from Python 3.8 to Python 3.9 ([#3023](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3023)) + ## [2021-04-08] ### Changed - Switch .dockerignore to explicit list ([#3121](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3121)) From 1b9e7608a058bbac6681b2e7da39e1bc2c9084c5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 10 Apr 2021 15:53:23 -0700 Subject: [PATCH 1437/2840] Update pytest-django from 4.1.0 to 4.2.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 801c2d2d5..460d858a6 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -42,4 +42,4 @@ factory-boy==3.2.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==3.2 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.1.2 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin -pytest-django==4.1.0 # https://github.com/pytest-dev/pytest-django +pytest-django==4.2.0 # https://github.com/pytest-dev/pytest-django From ac17eeb8f5b7865374ed15708da477f9e62f4423 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 12 Apr 2021 02:25:04 +0000 Subject: [PATCH 1438/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a0e3bdebe..59bd10ea8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-04-11] +### Updated +- Update pytest-django to 4.2.0 ([#3125](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3125)) +- Update pylint-django to 2.4.3 ([#3122](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3122)) + ## [2021-04-09] ### Changed - Update from Python 3.8 to Python 3.9 ([#3023](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3023)) From 9ffcec913e92fbadba00cb08398c0393f4dc5c4e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 11 Apr 2021 19:25:09 -0700 Subject: [PATCH 1439/2840] Update sphinx from 3.5.3 to 3.5.4 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 822305ee8..d3a761e87 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation # ------------------------------------------------------------------------------ -sphinx==3.5.3 # https://github.com/sphinx-doc/sphinx +sphinx==3.5.4 # https://github.com/sphinx-doc/sphinx sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild # Code quality From 3017ccfd2c147b66fd978a14817ee4d852e96d09 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 12 Apr 2021 03:58:44 -0700 Subject: [PATCH 1440/2840] Update django-stubs from 1.7.0 to 1.8.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 822305ee8..e290b2fb2 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -14,7 +14,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # Testing # ------------------------------------------------------------------------------ mypy==0.812 # https://github.com/python/mypy -django-stubs==1.7.0 # https://github.com/typeddjango/django-stubs +django-stubs==1.8.0 # https://github.com/typeddjango/django-stubs pytest==6.2.3 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar From 43e3eff6273fef79552cf7e4ccdc03cf917bd376 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Apr 2021 05:53:38 +0000 Subject: [PATCH 1441/2840] Bump stefanzweifel/git-auto-commit-action from v4.9.2 to v4.10.0 Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from v4.9.2 to v4.10.0. - [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases) - [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.9.2...48d37c1ffbe4639e16d47fef924857386bc4a44a) Signed-off-by: dependabot[bot] --- .github/workflows/update-changelog.yml | 2 +- .github/workflows/update-contributors.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index d4672c47e..62079f3d8 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -28,7 +28,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.9.2 + uses: stefanzweifel/git-auto-commit-action@v4.10.0 with: commit_message: Update Changelog file_pattern: CHANGELOG.md diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index 0c1c00509..e416e9614 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -24,7 +24,7 @@ jobs: run: python scripts/update_contributors.py - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.9.2 + uses: stefanzweifel/git-auto-commit-action@v4.10.0 with: commit_message: Update Contributors file_pattern: CONTRIBUTORS.md .github/contributors.json From 6b719997d2b845349ceb1c8639947b467a1ce9c2 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 15 Apr 2021 02:20:23 +0000 Subject: [PATCH 1442/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 59bd10ea8..49005ee9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-04-14] +### Updated +- Bump stefanzweifel/git-auto-commit-action from v4.9.2 to v4.10.0 ([#3128](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3128)) + ## [2021-04-11] ### Updated - Update pytest-django to 4.2.0 ([#3125](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3125)) From df0cd7fa9c59ff09d57976c35bd2e3bcb1f45326 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 15 Apr 2021 09:04:39 -0700 Subject: [PATCH 1443/2840] Update django-debug-toolbar from 3.2 to 3.2.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 822305ee8..e6d35c70a 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -39,7 +39,7 @@ pre-commit==2.12.0 # https://github.com/pre-commit/pre-commit # ------------------------------------------------------------------------------ factory-boy==3.2.0 # https://github.com/FactoryBoy/factory_boy -django-debug-toolbar==3.2 # https://github.com/jazzband/django-debug-toolbar +django-debug-toolbar==3.2.1 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.1.2 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==4.2.0 # https://github.com/pytest-dev/pytest-django From 713220f305cb61df67711d6d1010f4b660a56fca Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 16 Apr 2021 02:23:57 +0000 Subject: [PATCH 1444/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49005ee9d..852dd56e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-04-15] +### Updated +- Update django-debug-toolbar to 3.2.1 ([#3129](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3129)) + ## [2021-04-14] ### Updated - Bump stefanzweifel/git-auto-commit-action from v4.9.2 to v4.10.0 ([#3128](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3128)) From 5ff17c0ce035e632dd5c52d01c6d059ec35d8cb2 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 16 Apr 2021 11:52:53 -0700 Subject: [PATCH 1445/2840] Update flake8 from 3.9.0 to 3.9.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 1e75dbced..8c7e431ce 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ binaryornot==0.4.4 # ------------------------------------------------------------------------------ black==20.8b1 isort==5.8.0 -flake8==3.9.0 +flake8==3.9.1 flake8-isort==4.0.0 pre-commit==2.12.0 From a34f6e9781890c17f40d10f55c3f6df486f75a2b Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 16 Apr 2021 11:52:53 -0700 Subject: [PATCH 1446/2840] Update flake8 from 3.9.0 to 3.9.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index e6d35c70a..77c196a2e 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -25,7 +25,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild # Code quality # ------------------------------------------------------------------------------ -flake8==3.9.0 # https://github.com/PyCQA/flake8 +flake8==3.9.1 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.5 # https://github.com/nedbat/coveragepy black==20.8b1 # https://github.com/ambv/black From 204acbd65d0123ee6bd133920853b10d969a3e42 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 17 Apr 2021 00:10:17 +0000 Subject: [PATCH 1447/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index df71ea618..bad267fe3 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -21,7 +21,7 @@ repos: - id: isort - repo: https://gitlab.com/pycqa/flake8 - rev: 3.9.0 + rev: 3.9.1 hooks: - id: flake8 args: ['--config=setup.cfg'] From 55e89730d57c57ca72fe23962ab3a15141f16629 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 17 Apr 2021 03:41:47 -0700 Subject: [PATCH 1448/2840] Update pre-commit from 2.12.0 to 2.12.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 1e75dbced..40aa46fff 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ black==20.8b1 isort==5.8.0 flake8==3.9.0 flake8-isort==4.0.0 -pre-commit==2.12.0 +pre-commit==2.12.1 # Testing # ------------------------------------------------------------------------------ From 4b2e95a46fd1cf679cdaec1d729491076175a590 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 17 Apr 2021 03:41:47 -0700 Subject: [PATCH 1449/2840] Update pre-commit from 2.12.0 to 2.12.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index e6d35c70a..4fc34838b 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -33,7 +33,7 @@ pylint-django==2.4.3 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.12.0 # https://github.com/pre-commit/pre-commit +pre-commit==2.12.1 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From 6eaddddf8783e70bad0b71811cdd9ab6f7ec90cc Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 18 Apr 2021 06:00:37 -0700 Subject: [PATCH 1450/2840] Update django-compressor from 2.4 to 2.4.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index a4ab01b00..2bc2edcab 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -35,7 +35,7 @@ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth django-crispy-forms==1.11.2 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} -django-compressor==2.4 # https://github.com/django-compressor/django-compressor +django-compressor==2.4.1 # https://github.com/django-compressor/django-compressor {%- endif %} django-redis==4.12.1 # https://github.com/jazzband/django-redis {%- if cookiecutter.use_drf == "y" %} From bfe8c7bd2bc5660524cd55654645b6cd69fbb19d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 20 Apr 2021 10:56:51 -0700 Subject: [PATCH 1451/2840] Update django-extensions from 3.1.2 to 3.1.3 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index e6d35c70a..267167a65 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -40,6 +40,6 @@ pre-commit==2.12.0 # https://github.com/pre-commit/pre-commit factory-boy==3.2.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==3.2.1 # https://github.com/jazzband/django-debug-toolbar -django-extensions==3.1.2 # https://github.com/django-extensions/django-extensions +django-extensions==3.1.3 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==4.2.0 # https://github.com/pytest-dev/pytest-django From bc50b9b7f86487553b6e35fe2b8d84dfcf197988 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 22 Apr 2021 02:23:58 +0000 Subject: [PATCH 1452/2840] Update Changelog --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 852dd56e8..9afda9981 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,16 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-04-21] +### Updated +- Auto-update pre-commit hooks ([#3133](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3133)) +- Update django-extensions to 3.1.3 ([#3136](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3136)) +- Update django-compressor to 2.4.1 ([#3135](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3135)) +- Update pre-commit to 2.12.1 ([#3134](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3134)) +- Update flake8 to 3.9.1 ([#3131](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3131)) +- Update django-stubs to 1.8.0 ([#3127](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3127)) +- Update sphinx to 3.5.4 ([#3126](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3126)) + ## [2021-04-15] ### Updated - Update django-debug-toolbar to 3.2.1 ([#3129](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3129)) From 7ad5dffe8512c857220e38b4d000024f5f4b7b21 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 26 Apr 2021 00:11:48 +0000 Subject: [PATCH 1453/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index bad267fe3..348f7fb12 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: - id: check-yaml - repo: https://github.com/psf/black - rev: 20.8b1 + rev: 21.4b0 hooks: - id: black From e7e15e45d9000d31e334c2aa074df872fcda4173 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 25 Apr 2021 17:11:54 -0700 Subject: [PATCH 1454/2840] Update black from 20.8b1 to 21.4b0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index e1079a68e..781916b82 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ -black==20.8b1 +black==21.4b0 isort==5.8.0 flake8==3.9.1 flake8-isort==4.0.0 From ec061d2fc11618864e766a6feef64ac2c568c1f4 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 25 Apr 2021 17:11:54 -0700 Subject: [PATCH 1455/2840] Update black from 20.8b1 to 21.4b0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 6d4e0ca72..d4f07600e 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -28,7 +28,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild flake8==3.9.1 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.5 # https://github.com/nedbat/coveragepy -black==20.8b1 # https://github.com/ambv/black +black==21.4b0 # https://github.com/ambv/black pylint-django==2.4.3 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery From 7b4a0bafb670fb51c061c4f0297a21d05b5fe5db Mon Sep 17 00:00:00 2001 From: Floyd Hightower Date: Mon, 26 Apr 2021 06:43:52 -0400 Subject: [PATCH 1456/2840] Removing pycharm docs if app does not use pycharm --- {{cookiecutter.project_slug}}/docs/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/docs/index.rst b/{{cookiecutter.project_slug}}/docs/index.rst index 5fafc6966..cb4cbaeda 100644 --- a/{{cookiecutter.project_slug}}/docs/index.rst +++ b/{{cookiecutter.project_slug}}/docs/index.rst @@ -10,8 +10,8 @@ Welcome to {{ cookiecutter.project_name }}'s documentation! :maxdepth: 2 :caption: Contents: - howto - pycharm/configuration + howto{% if cookiecutter.use_pycharm == 'y' %} + pycharm/configuration{% endif %} users From 6b5ad4e8336d30b2b69b3053403b590c638a573d Mon Sep 17 00:00:00 2001 From: Floyd Hightower Date: Mon, 26 Apr 2021 06:17:02 -0500 Subject: [PATCH 1457/2840] Adding test to validate pycharm docs are removed appropriately --- tests/test_cookiecutter_generation.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 7e585ea40..cbe3324ac 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -282,3 +282,20 @@ def test_error_if_incompatible(cookies, context, invalid_context): assert result.exit_code != 0 assert isinstance(result.exception, FailedHookException) + + +@pytest.mark.parametrize( + ["use_pycharm", "pycharm_docs_exist"], + [ + ("n", False), + ("y", True), + ], +) +def test_pycharm_docs_removed(cookies, context, use_pycharm, pycharm_docs_exist): + """.""" + context.update({"use_pycharm": use_pycharm}) + result = cookies.bake(extra_context=context) + + with open(f"{result.project}/docs/index.rst", "r") as f: + has_pycharm_docs = 'pycharm/configuration' in f.read() + assert has_pycharm_docs == pycharm_docs_exist From 75585cd6beb142c7436600d1fcd0652ceb839a6d Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 27 Apr 2021 02:24:40 +0000 Subject: [PATCH 1458/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9afda9981..051898f7b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-04-26] +### Updated +- Update black to 21.4b0 ([#3138](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3138)) +- Auto-update pre-commit hooks ([#3137](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3137)) + ## [2021-04-21] ### Updated - Auto-update pre-commit hooks ([#3133](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3133)) From ab75cf3a3f2330b5cda13c47765bb087c0528354 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 27 Apr 2021 03:31:00 -0700 Subject: [PATCH 1459/2840] Update pygithub from 1.54.1 to 1.55 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 781916b82..e6d94d188 100644 --- a/requirements.txt +++ b/requirements.txt @@ -20,5 +20,5 @@ pyyaml==5.4.1 # Scripting # ------------------------------------------------------------------------------ -PyGithub==1.54.1 +PyGithub==1.55 jinja2==2.11.3 From 6f66b330e659c252cf49ed772fee9c1bf334d3dd Mon Sep 17 00:00:00 2001 From: Floyd Hightower Date: Tue, 27 Apr 2021 05:41:00 -0500 Subject: [PATCH 1460/2840] Running black on updated file --- tests/test_cookiecutter_generation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index cbe3324ac..f62d4bc9a 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -297,5 +297,5 @@ def test_pycharm_docs_removed(cookies, context, use_pycharm, pycharm_docs_exist) result = cookies.bake(extra_context=context) with open(f"{result.project}/docs/index.rst", "r") as f: - has_pycharm_docs = 'pycharm/configuration' in f.read() + has_pycharm_docs = "pycharm/configuration" in f.read() assert has_pycharm_docs == pycharm_docs_exist From 10c24974121f92b42fa7d94c3c37b53cf3d2dc5a Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 27 Apr 2021 10:45:40 -0700 Subject: [PATCH 1461/2840] Update black from 21.4b0 to 21.4b1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 781916b82..e908020c1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ -black==21.4b0 +black==21.4b1 isort==5.8.0 flake8==3.9.1 flake8-isort==4.0.0 From f518d920413edbfb1428e8233e5df88d45201eb1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 27 Apr 2021 10:45:40 -0700 Subject: [PATCH 1462/2840] Update black from 21.4b0 to 21.4b1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index d4f07600e..02a6b0170 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -28,7 +28,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild flake8==3.9.1 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.5 # https://github.com/nedbat/coveragepy -black==21.4b0 # https://github.com/ambv/black +black==21.4b1 # https://github.com/ambv/black pylint-django==2.4.3 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery From 9e1c99fad2c376900faf5b17551ea91a8d6bedd4 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Tue, 27 Apr 2021 15:32:18 -0400 Subject: [PATCH 1463/2840] Fix README link --- {{cookiecutter.project_slug}}/README.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/README.rst b/{{cookiecutter.project_slug}}/README.rst index b120f16a6..aa4e48d3d 100644 --- a/{{cookiecutter.project_slug}}/README.rst +++ b/{{cookiecutter.project_slug}}/README.rst @@ -120,6 +120,7 @@ Now you have your own mail server running locally, ready to receive whatever you .. _`Download the latest MailHog release`: https://github.com/mailhog/MailHog/releases {%- endif %} + .. _mailhog: https://github.com/mailhog/MailHog {%- endif %} {%- if cookiecutter.use_sentry == "y" %} From 90a02f2c046f0aec03b0088a6332f63c3afc35c6 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 28 Apr 2021 00:10:26 +0000 Subject: [PATCH 1464/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 348f7fb12..9ec9c5aba 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: - id: check-yaml - repo: https://github.com/psf/black - rev: 21.4b0 + rev: 21.4b1 hooks: - id: black From c1735dc54c0f9835eea86bb00fa8edd8e927ec36 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 28 Apr 2021 02:25:50 +0000 Subject: [PATCH 1465/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 051898f7b..cdf4c88c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-04-27] +### Updated +- Update pygithub to 1.55 ([#3141](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3141)) +- Update black to 21.4b1 ([#3143](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3143)) + ## [2021-04-26] ### Updated - Update black to 21.4b0 ([#3138](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3138)) From fc37f09c6db3ef3dde938da8046f9d86586b36a3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 29 Apr 2021 00:10:47 +0000 Subject: [PATCH 1466/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 9ec9c5aba..ffad28934 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: - id: check-yaml - repo: https://github.com/psf/black - rev: 21.4b1 + rev: 21.4b2 hooks: - id: black From 907268555bca08d2dc9206a9397aa049ea6d7693 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 29 Apr 2021 02:23:38 +0000 Subject: [PATCH 1467/2840] Update Changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cdf4c88c5..93afba90d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-04-28] +### Changed +- Fix README link ([#3144](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3144)) +### Updated +- Auto-update pre-commit hooks ([#3145](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3145)) + ## [2021-04-27] ### Updated - Update pygithub to 1.55 ([#3141](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3141)) From 1b6b1e3fb51c79aeefea4f65a846a80786a9e3f7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 29 Apr 2021 10:54:36 -0700 Subject: [PATCH 1468/2840] Update black from 21.4b1 to 21.4b2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 60504bff7..9b2477c7a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ -black==21.4b1 +black==21.4b2 isort==5.8.0 flake8==3.9.1 flake8-isort==4.0.0 From 1243b82d4f6c2f168a53c1ca5ef7db6f1120ccfc Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 29 Apr 2021 10:54:37 -0700 Subject: [PATCH 1469/2840] Update black from 21.4b1 to 21.4b2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 02a6b0170..528ab0bde 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -28,7 +28,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild flake8==3.9.1 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.5 # https://github.com/nedbat/coveragepy -black==21.4b1 # https://github.com/ambv/black +black==21.4b2 # https://github.com/ambv/black pylint-django==2.4.3 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery From 30362312aa104ea97ed2a958a736d64871049b96 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 30 Apr 2021 02:23:51 +0000 Subject: [PATCH 1470/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 93afba90d..2e5f97d67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-04-29] +### Updated +- Update black to 21.4b2 ([#3147](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3147)) +- Auto-update pre-commit hooks ([#3146](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3146)) + ## [2021-04-28] ### Changed - Fix README link ([#3144](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3144)) From 8b35c835006124925edf37aec8ee3d8f70572a46 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Fri, 30 Apr 2021 12:50:35 -0400 Subject: [PATCH 1471/2840] Lint production.py --- .../config/settings/production.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/production.py b/{{cookiecutter.project_slug}}/config/settings/production.py index 59928f829..a9e38b07a 100644 --- a/{{cookiecutter.project_slug}}/config/settings/production.py +++ b/{{cookiecutter.project_slug}}/config/settings/production.py @@ -353,7 +353,12 @@ sentry_logging = LoggingIntegration( ) {%- if cookiecutter.use_celery == 'y' %} -integrations = [sentry_logging, DjangoIntegration(), CeleryIntegration(), RedisIntegration()] +integrations = [ + sentry_logging, + DjangoIntegration(), + CeleryIntegration(), + RedisIntegration(), +] {% else %} integrations = [sentry_logging, DjangoIntegration(), RedisIntegration()] {% endif -%} From 801b3b10cb51d36595cb09b946516a6d001a2a6a Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 1 May 2021 02:25:48 +0000 Subject: [PATCH 1472/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e5f97d67..405b6e4e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-04-30] +### Fixed +- Fix linting error in production.py ([#3148](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3148)) + ## [2021-04-29] ### Updated - Update black to 21.4b2 ([#3147](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3147)) From 405e2623225b479427234591d8ae118363c69036 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Tue, 4 May 2021 11:34:25 -0400 Subject: [PATCH 1473/2840] Update PG versions. Drop PG 9 Signed-off-by: Andrew-Chen-Wang --- README.rst | 9 ++++----- cookiecutter.json | 9 ++++----- tests/test_cookiecutter_generation.py | 9 ++++----- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/README.rst b/README.rst index ae8699503..3a9d931a4 100644 --- a/README.rst +++ b/README.rst @@ -177,11 +177,10 @@ Answer the prompts with your own desired options_. For example:: use_heroku [n]: y use_compressor [n]: y Select postgresql_version: - 1 - 12.3 - 2 - 11.8 - 3 - 10.8 - 4 - 9.6 - 5 - 9.5 + 1 - 13.2 + 2 - 12.6 + 3 - 11.11 + 4 - 10.16 Choose from 1, 2, 3, 4, 5 [1]: 1 Select js_task_runner: 1 - None diff --git a/cookiecutter.json b/cookiecutter.json index 4a580036d..0f9a2c769 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -18,11 +18,10 @@ "use_pycharm": "n", "use_docker": "n", "postgresql_version": [ - "12.3", - "11.8", - "10.8", - "9.6", - "9.5" + "13.2", + "12.6", + "11.11", + "10.16" ], "js_task_runner": [ "None", diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index c8514493f..ed9932060 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -37,11 +37,10 @@ SUPPORTED_COMBINATIONS = [ {"use_pycharm": "n"}, {"use_docker": "y"}, {"use_docker": "n"}, - {"postgresql_version": "12.3"}, - {"postgresql_version": "11.8"}, - {"postgresql_version": "10.8"}, - {"postgresql_version": "9.6"}, - {"postgresql_version": "9.5"}, + {"postgresql_version": "13.2"}, + {"postgresql_version": "12.6"}, + {"postgresql_version": "11.11"}, + {"postgresql_version": "10.16"}, {"cloud_provider": "AWS", "use_whitenoise": "y"}, {"cloud_provider": "AWS", "use_whitenoise": "n"}, {"cloud_provider": "GCP", "use_whitenoise": "y"}, From 460e4aa3041f45ac0ceecbb35339d7b0aa9cb7e1 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Tue, 4 May 2021 11:39:03 -0400 Subject: [PATCH 1474/2840] Update README with PG version constraint --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 3a9d931a4..cf6778e0a 100644 --- a/README.rst +++ b/README.rst @@ -96,7 +96,7 @@ Constraints ----------- * Only maintained 3rd party libraries are used. -* Uses PostgreSQL everywhere (9.4 - 12.3) +* Uses PostgreSQL everywhere (10.16 - 13.2) * Environment variables for configuration (This won't work with Apache/mod_wsgi). Support this Project! From 8f09ef7a51fe89293f44f7d2c72c47cdc6847efd Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 4 May 2021 14:13:36 -0700 Subject: [PATCH 1475/2840] Update django from 3.1.8 to 3.1.9 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 2bc2edcab..4c66854a9 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -29,7 +29,7 @@ uvicorn[standard]==0.13.4 # https://github.com/encode/uvicorn # Django # ------------------------------------------------------------------------------ -django==3.1.8 # pyup: < 3.2 # https://www.djangoproject.com/ +django==3.1.9 # pyup: < 3.2 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth From d0470348328f77676ea805174fadc50861ea71a7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 4 May 2021 14:13:38 -0700 Subject: [PATCH 1476/2840] Update pytest from 6.2.3 to 6.2.4 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 528ab0bde..43d1d9662 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -15,7 +15,7 @@ watchgod==0.6 # https://github.com/samuelcolvin/watchgod # ------------------------------------------------------------------------------ mypy==0.812 # https://github.com/python/mypy django-stubs==1.8.0 # https://github.com/typeddjango/django-stubs -pytest==6.2.3 # https://github.com/pytest-dev/pytest +pytest==6.2.4 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation From c650acc19bd7aadeaca9ba4fa2a17a13a8ab0e68 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 5 May 2021 02:20:07 +0000 Subject: [PATCH 1477/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 405b6e4e9..b21800751 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-05-04] +### Updated +- Update django to 3.1.9 ([#3155](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3155)) + ## [2021-04-30] ### Fixed - Fix linting error in production.py ([#3148](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3148)) From 1c901f1ba516b123f28f5b64600fd794d0b0c181 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 5 May 2021 11:18:47 -0700 Subject: [PATCH 1478/2840] Update tox from 3.23.0 to 3.23.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 9b2477c7a..a39a96eec 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ pre-commit==2.12.1 # Testing # ------------------------------------------------------------------------------ -tox==3.23.0 +tox==3.23.1 pytest==5.4.3 # pyup: <6 # https://github.com/hackebrot/pytest-cookies/issues/51 pytest-cookies==0.5.1 pytest-instafail==0.4.2 From 5368d63dc0f38f441a8f3b7d94dcf441769aa111 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 5 May 2021 18:17:39 -0700 Subject: [PATCH 1479/2840] Update python-slugify from 4.0.1 to 5.0.2 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 4c66854a9..0347ef087 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,5 +1,5 @@ pytz==2021.1 # https://github.com/stub42/pytz -python-slugify==4.0.1 # https://github.com/un33k/python-slugify +python-slugify==5.0.2 # https://github.com/un33k/python-slugify Pillow==8.2.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} {%- if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} From b2c49acc9b65d450b46341b59e0784aa5ac1948e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 6 May 2021 14:20:20 -0700 Subject: [PATCH 1480/2840] Update django from 3.1.9 to 3.1.10 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 4c66854a9..250a903e6 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -29,7 +29,7 @@ uvicorn[standard]==0.13.4 # https://github.com/encode/uvicorn # Django # ------------------------------------------------------------------------------ -django==3.1.9 # pyup: < 3.2 # https://www.djangoproject.com/ +django==3.1.10 # pyup: < 3.2 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth From 22d9f99500bd4ed87ecd6d9667a0d502a27ecbaa Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 7 May 2021 02:23:39 +0000 Subject: [PATCH 1481/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b21800751..fb0c76444 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-05-06] +### Updated +- Update django to 3.1.10 ([#3162](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3162)) + ## [2021-05-04] ### Updated - Update django to 3.1.9 ([#3155](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3155)) From 2aa0c3e5757cd3196abc753515222fadd1424b82 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 7 May 2021 07:38:30 -0700 Subject: [PATCH 1482/2840] Update sentry-sdk from 1.0.0 to 1.1.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 6e566eccf..3df7c5668 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==1.0.0 # https://github.com/getsentry/sentry-python +sentry-sdk==1.1.0 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From 46be2df79ea4652b345604da216be2ef3f1603b5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 8 May 2021 17:03:14 -0700 Subject: [PATCH 1483/2840] Update flake8 from 3.9.1 to 3.9.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 9b2477c7a..4baa75676 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ binaryornot==0.4.4 # ------------------------------------------------------------------------------ black==21.4b2 isort==5.8.0 -flake8==3.9.1 +flake8==3.9.2 flake8-isort==4.0.0 pre-commit==2.12.1 From fffe0d74e54b60a3a96cceda595b67e8c7970a3d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 8 May 2021 17:03:14 -0700 Subject: [PATCH 1484/2840] Update flake8 from 3.9.1 to 3.9.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 528ab0bde..99e3c8787 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -25,7 +25,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild # Code quality # ------------------------------------------------------------------------------ -flake8==3.9.1 # https://github.com/PyCQA/flake8 +flake8==3.9.2 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.5 # https://github.com/nedbat/coveragepy black==21.4b2 # https://github.com/ambv/black From 20ea166732e87d258b7e15e6b7edaabceb80e1c5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 10 May 2021 11:42:15 -0700 Subject: [PATCH 1485/2840] Update black from 21.4b2 to 21.5b1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 9b2477c7a..06ce4255e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ -black==21.4b2 +black==21.5b1 isort==5.8.0 flake8==3.9.1 flake8-isort==4.0.0 From f37e472c35811bcd5559741f9c77264affae8903 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 10 May 2021 11:42:15 -0700 Subject: [PATCH 1486/2840] Update black from 21.4b2 to 21.5b1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 528ab0bde..366f97803 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -28,7 +28,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild flake8==3.9.1 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.5 # https://github.com/nedbat/coveragepy -black==21.4b2 # https://github.com/ambv/black +black==21.5b1 # https://github.com/ambv/black pylint-django==2.4.3 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery From 5d665bbc7142f5844f578f1df171832e3e616b27 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 11 May 2021 00:04:21 +0000 Subject: [PATCH 1487/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index ffad28934..e21ebc1f6 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: - id: check-yaml - repo: https://github.com/psf/black - rev: 21.4b2 + rev: 21.5b1 hooks: - id: black @@ -21,7 +21,7 @@ repos: - id: isort - repo: https://gitlab.com/pycqa/flake8 - rev: 3.9.1 + rev: 3.9.2 hooks: - id: flake8 args: ['--config=setup.cfg'] From f42dc4bdbcc22b1405ab4a26cc04a4af73235bf7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 11 May 2021 11:31:39 -0700 Subject: [PATCH 1488/2840] Update sphinx from 3.5.4 to 4.0.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 528ab0bde..0be52c4a1 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation # ------------------------------------------------------------------------------ -sphinx==3.5.4 # https://github.com/sphinx-doc/sphinx +sphinx==4.0.1 # https://github.com/sphinx-doc/sphinx sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild # Code quality From f75de19e26d74291d0847289b9067fe06e3daeb1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 May 2021 05:11:28 +0000 Subject: [PATCH 1489/2840] Bump stefanzweifel/git-auto-commit-action from 4.10.0 to 4.11.0 Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from 4.10.0 to 4.11.0. - [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases) - [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.10.0...v4.11.0) Signed-off-by: dependabot[bot] --- .github/workflows/update-changelog.yml | 2 +- .github/workflows/update-contributors.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index 62079f3d8..5a9c6bd07 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -28,7 +28,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.10.0 + uses: stefanzweifel/git-auto-commit-action@v4.11.0 with: commit_message: Update Changelog file_pattern: CHANGELOG.md diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index e416e9614..4a110959e 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -24,7 +24,7 @@ jobs: run: python scripts/update_contributors.py - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.10.0 + uses: stefanzweifel/git-auto-commit-action@v4.11.0 with: commit_message: Update Contributors file_pattern: CONTRIBUTORS.md .github/contributors.json From 05ac73b7b91a5da0e09f86b92bdaaf7cdbf7763e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 May 2021 05:12:25 +0000 Subject: [PATCH 1490/2840] Bump actions/setup-python from 2 to 2.2.2 Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 2.2.2. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v2.2.2) Signed-off-by: dependabot[bot] --- .github/workflows/ci.yml | 6 +++--- .github/workflows/pre-commit-autoupdate.yml | 2 +- .github/workflows/update-changelog.yml | 2 +- .github/workflows/update-contributors.yml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cd1389c0d..a1b635959 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v2.2.2 with: python-version: 3.9 - name: Install dependencies @@ -44,7 +44,7 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v2.2.2 with: python-version: 3.9 - name: Docker ${{ matrix.script.name }} @@ -78,7 +78,7 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v2.2.2 with: python-version: 3.9 - name: Bare Metal ${{ matrix.script.name }} diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index d433e00d6..8e3b21e08 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v2.2.2 with: python-version: 3.9 diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index 62079f3d8..159b19985 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v2.2.2 with: python-version: 3.9 - name: Install dependencies diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index e416e9614..d4d211a58 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -13,7 +13,7 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v2.2.2 with: python-version: 3.9 - name: Install dependencies From a80c91de44e66ae062f3112a4c73bab8e9c61608 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Thu, 13 May 2021 02:01:24 -0400 Subject: [PATCH 1491/2840] Update watchgod to 0.7 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 528ab0bde..a9b65606f 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -8,7 +8,7 @@ psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 psycopg2-binary==2.8.6 # https://github.com/psycopg/psycopg2 {%- endif %} {%- if cookiecutter.use_async == 'y' or cookiecutter.use_celery == 'y' %} -watchgod==0.6 # https://github.com/samuelcolvin/watchgod +watchgod==0.7 # https://github.com/samuelcolvin/watchgod {%- endif %} # Testing From 95fd002127fbbf476c246b1755f119c25aa8abbb Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 13 May 2021 14:49:41 -0700 Subject: [PATCH 1492/2840] Update django from 3.1.10 to 3.1.11 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 250a903e6..42b4e6d42 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -29,7 +29,7 @@ uvicorn[standard]==0.13.4 # https://github.com/encode/uvicorn # Django # ------------------------------------------------------------------------------ -django==3.1.10 # pyup: < 3.2 # https://www.djangoproject.com/ +django==3.1.11 # pyup: < 3.2 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth From 577603c55ca6f367cffcc26ca149b515411b0774 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 May 2021 05:31:45 +0000 Subject: [PATCH 1493/2840] Bump peter-evans/create-pull-request from 3.8.2 to 3.9.2 Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3.8.2 to 3.9.2. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.8.2...v3.9.2) Signed-off-by: dependabot[bot] --- .github/workflows/pre-commit-autoupdate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index d433e00d6..fa4fe2c31 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -26,7 +26,7 @@ jobs: run: pre-commit autoupdate - name: Create Pull Request - uses: peter-evans/create-pull-request@v3.8.2 + uses: peter-evans/create-pull-request@v3.9.2 with: token: ${{ secrets.GITHUB_TOKEN }} branch: update/pre-commit-autoupdate From ca2ed2086ad9b2f95716bb5cb4ff8fbdd50d3a40 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 14 May 2021 04:30:40 -0700 Subject: [PATCH 1494/2840] Update cookiecutter from 1.7.2 to 1.7.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 9b2477c7a..1ca339900 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -cookiecutter==1.7.2 +cookiecutter==1.7.3 sh==1.14.1 binaryornot==0.4.4 From 0c27117dbd9dd89d18fe9d94149da5e3a3773ca1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 15 May 2021 11:48:27 -0700 Subject: [PATCH 1495/2840] Update pytest-django from 4.2.0 to 4.3.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 838a57da7..6958c3573 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -42,4 +42,4 @@ factory-boy==3.2.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==3.2.1 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.1.3 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin -pytest-django==4.2.0 # https://github.com/pytest-dev/pytest-django +pytest-django==4.3.0 # https://github.com/pytest-dev/pytest-django From 9c24e8a879443d01aa9f3d6c3add7044cc92a09b Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 14 May 2021 22:01:04 -0700 Subject: [PATCH 1496/2840] Update sh from 1.14.1 to 1.14.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index b826d75ba..bedaab9ba 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ cookiecutter==1.7.3 -sh==1.14.1 +sh==1.14.2 binaryornot==0.4.4 # Code quality From aac58a094b5ddb57aecdaada1aa97068516450cc Mon Sep 17 00:00:00 2001 From: luzfcb Date: Sat, 15 May 2021 22:27:42 +0000 Subject: [PATCH 1497/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index e21ebc1f6..e96f64f20 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -4,7 +4,7 @@ fail_fast: true repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v3.4.0 + rev: v4.0.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer From d76fe09163df260a66560e91e035086e247d3afd Mon Sep 17 00:00:00 2001 From: "Fabio C. Barrionuevo da Luz" Date: Sat, 15 May 2021 21:37:03 -0300 Subject: [PATCH 1498/2840] Replaced ugettext_lazy by gettext_lazy --- .../{{cookiecutter.project_slug}}/users/tests/test_forms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py index 66118f493..35db91b4d 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py @@ -2,7 +2,7 @@ Module for all Form Tests. """ import pytest -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from {{ cookiecutter.project_slug }}.users.forms import UserCreationForm from {{ cookiecutter.project_slug }}.users.models import User From 34db12e5d6cef69e9184a6692c3d14cee4ed1401 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 16 May 2021 02:31:10 +0000 Subject: [PATCH 1499/2840] Update Changelog --- CHANGELOG.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb0c76444..49056ad81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,26 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-05-15] +### Changed +- Update watchgod to 0.7 ([#3177](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3177)) +### Updated +- Auto-update pre-commit hooks ([#3184](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3184)) +- Update black to 21.5b1 ([#3167](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3167)) +- Update flake8 to 3.9.2 ([#3164](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3164)) +- Update pytest-django to 4.3.0 ([#3182](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3182)) +- Auto-update pre-commit hooks ([#3157](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3157)) +- Update python-slugify to 5.0.2 ([#3161](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3161)) +- Bump stefanzweifel/git-auto-commit-action from 4.10.0 to 4.11.0 ([#3171](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3171)) +- Update sentry-sdk to 1.1.0 ([#3163](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3163)) +- Bump actions/setup-python from 2 to 2.2.2 ([#3173](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3173)) +- Update tox to 3.23.1 ([#3160](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3160)) +- Update pytest to 6.2.4 ([#3156](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3156)) +- Bump peter-evans/create-pull-request from 3.8.2 to 3.9.2 ([#3179](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3179)) +- Update sphinx to 4.0.1 ([#3169](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3169)) +- Update cookiecutter to 1.7.3 ([#3180](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3180)) +- Update django to 3.1.11 ([#3178](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3178)) + ## [2021-05-06] ### Updated - Update django to 3.1.10 ([#3162](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3162)) From 0c773f4ada9efd3a2466590bbef950926553bd21 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 17 May 2021 00:06:30 +0000 Subject: [PATCH 1500/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index e96f64f20..d054489d4 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -4,7 +4,7 @@ fail_fast: true repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.0.0 + rev: v4.0.1 hooks: - id: trailing-whitespace - id: end-of-file-fixer From fd7e575fa85393b220b97e05453787958329d285 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 May 2021 06:20:08 +0000 Subject: [PATCH 1501/2840] Bump tiangolo/issue-manager from 0.3.0 to 0.4.0 Bumps [tiangolo/issue-manager](https://github.com/tiangolo/issue-manager) from 0.3.0 to 0.4.0. - [Release notes](https://github.com/tiangolo/issue-manager/releases) - [Commits](https://github.com/tiangolo/issue-manager/compare/0.3.0...0.4.0) Signed-off-by: dependabot[bot] --- .github/workflows/issue-manager.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/issue-manager.yml b/.github/workflows/issue-manager.yml index f6b465276..6e272f75f 100644 --- a/.github/workflows/issue-manager.yml +++ b/.github/workflows/issue-manager.yml @@ -23,7 +23,7 @@ jobs: issue-manager: runs-on: ubuntu-latest steps: - - uses: tiangolo/issue-manager@0.3.0 + - uses: tiangolo/issue-manager@0.4.0 with: token: ${{ secrets.GITHUB_TOKEN }} From abba9de2bd747a92c6a4d41580f6fcfdc6fa38d8 Mon Sep 17 00:00:00 2001 From: "Fabio C. Barrionuevo da Luz" Date: Mon, 17 May 2021 22:04:38 -0300 Subject: [PATCH 1502/2840] Move ARG PYTHON_VERSION=3.9-slim-buster to the global scope of production Dockerfile to fix #3187 which occurs when Gulp is selected as `js_task_runner` on project generation. --- .../compose/production/django/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index c1b3e97bb..5f1bc78b3 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -1,3 +1,5 @@ +ARG PYTHON_VERSION=3.9-slim-buster + {% if cookiecutter.js_task_runner == 'Gulp' -%} FROM node:10-stretch-slim as client-builder @@ -11,8 +13,6 @@ RUN npm run build {%- endif %} -ARG PYTHON_VERSION=3.9-slim-buster - # define an alias for the specfic python version used in this file. FROM python:${PYTHON_VERSION} as python From f16224ddfd9c7d8ac79955badca4165350b24b15 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 18 May 2021 02:29:43 +0000 Subject: [PATCH 1503/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49056ad81..0b12369ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-05-17] +### Updated +- Bump tiangolo/issue-manager from 0.3.0 to 0.4.0 ([#3186](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3186)) +- Auto-update pre-commit hooks ([#3185](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3185)) + ## [2021-05-15] ### Changed - Update watchgod to 0.7 ([#3177](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3177)) From 052e715e83d1dac8a3e22f72bf391ee885d25989 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 18 May 2021 14:16:57 -0700 Subject: [PATCH 1504/2840] Update jinja2 from 2.11.3 to 3.0.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index bedaab9ba..c2ff7f808 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,4 +21,4 @@ pyyaml==5.4.1 # Scripting # ------------------------------------------------------------------------------ PyGithub==1.55 -jinja2==2.11.3 +jinja2==3.0.1 From 381793e3962197711df335846a1944e81bcc8c23 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 19 May 2021 02:27:25 +0000 Subject: [PATCH 1505/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b12369ff..126a5c005 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-05-18] +### Changed +- Move ARG PYTHON_VERSION=3.9-slim-buster to the global scope ([#3188](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3188)) + ## [2021-05-17] ### Updated - Bump tiangolo/issue-manager from 0.3.0 to 0.4.0 ([#3186](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3186)) From 5db1e0f719611c7e7db9f27d4cea4f781f21e065 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 21 May 2021 13:56:16 -0700 Subject: [PATCH 1506/2840] Update sphinx from 4.0.1 to 4.0.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index b49891aaf..82f6a7cec 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation # ------------------------------------------------------------------------------ -sphinx==4.0.1 # https://github.com/sphinx-doc/sphinx +sphinx==4.0.2 # https://github.com/sphinx-doc/sphinx sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild # Code quality From be5e175ba775f7eb799dd0c419898e7bd9e470a2 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 22 May 2021 10:09:39 -0700 Subject: [PATCH 1507/2840] Update pre-commit from 2.12.1 to 2.13.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index bedaab9ba..82d4b35b5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ black==21.5b1 isort==5.8.0 flake8==3.9.2 flake8-isort==4.0.0 -pre-commit==2.12.1 +pre-commit==2.13.0 # Testing # ------------------------------------------------------------------------------ From 8640220d334583d2585b5ffe6021b29b78f16ba3 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 22 May 2021 10:09:39 -0700 Subject: [PATCH 1508/2840] Update pre-commit from 2.12.1 to 2.13.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index b49891aaf..6fc0159ab 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -33,7 +33,7 @@ pylint-django==2.4.3 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} -pre-commit==2.12.1 # https://github.com/pre-commit/pre-commit +pre-commit==2.13.0 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ From 4685483fc80d5f4e2a24959e4216af3bb67cbe92 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 24 May 2021 07:58:58 -0700 Subject: [PATCH 1509/2840] Update pytest-cookies from 0.5.1 to 0.6.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index bedaab9ba..28cc5ae33 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,7 +14,7 @@ pre-commit==2.12.1 # ------------------------------------------------------------------------------ tox==3.23.1 pytest==5.4.3 # pyup: <6 # https://github.com/hackebrot/pytest-cookies/issues/51 -pytest-cookies==0.5.1 +pytest-cookies==0.6.1 pytest-instafail==0.4.2 pyyaml==5.4.1 From bd0bba6e6c4ba75a32da5d44e18888f958612aa3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 May 2021 05:29:46 +0000 Subject: [PATCH 1510/2840] Bump peter-evans/create-pull-request from 3.9.2 to 3.10.0 Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3.9.2 to 3.10.0. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.9.2...v3.10.0) Signed-off-by: dependabot[bot] --- .github/workflows/pre-commit-autoupdate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index cc8d46801..25a6f7a0a 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -26,7 +26,7 @@ jobs: run: pre-commit autoupdate - name: Create Pull Request - uses: peter-evans/create-pull-request@v3.9.2 + uses: peter-evans/create-pull-request@v3.10.0 with: token: ${{ secrets.GITHUB_TOKEN }} branch: update/pre-commit-autoupdate From 02592a3d37639511a9d8905b4470fda838a1707a Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 31 May 2021 10:50:39 -0700 Subject: [PATCH 1511/2840] Update black from 21.5b1 to 21.5b2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index bedaab9ba..f1170e3be 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ -black==21.5b1 +black==21.5b2 isort==5.8.0 flake8==3.9.2 flake8-isort==4.0.0 From d0667d9b3c39d4c7c2b131d228b06af48232b7a3 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 31 May 2021 10:50:39 -0700 Subject: [PATCH 1512/2840] Update black from 21.5b1 to 21.5b2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index b49891aaf..d5c5bd886 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -28,7 +28,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild flake8==3.9.2 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.5 # https://github.com/nedbat/coveragepy -black==21.5b1 # https://github.com/ambv/black +black==21.5b2 # https://github.com/ambv/black pylint-django==2.4.3 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery From 5fb7dded0c6e9b36b3f516f4a404097e6f4ffb23 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 31 May 2021 12:33:44 -0700 Subject: [PATCH 1513/2840] Update django-redis from 4.12.1 to 5.0.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index e57007fd6..f94b7abd2 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -37,7 +37,7 @@ django-crispy-forms==1.11.2 # https://github.com/django-crispy-forms/django-cri {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.4.1 # https://github.com/django-compressor/django-compressor {%- endif %} -django-redis==4.12.1 # https://github.com/jazzband/django-redis +django-redis==5.0.0 # https://github.com/jazzband/django-redis {%- if cookiecutter.use_drf == "y" %} # Django REST Framework djangorestframework==3.12.4 # https://github.com/encode/django-rest-framework From 1cd8dffbc369991165e51db92eb2da41545d0d2b Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 1 Jun 2021 07:25:15 -0700 Subject: [PATCH 1514/2840] Update uvicorn from 0.13.4 to 0.14.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index e57007fd6..e8fb74c34 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -24,7 +24,7 @@ flower==0.9.7 # https://github.com/mher/flower {%- endif %} {%- endif %} {%- if cookiecutter.use_async == 'y' %} -uvicorn[standard]==0.13.4 # https://github.com/encode/uvicorn +uvicorn[standard]==0.14.0 # https://github.com/encode/uvicorn {%- endif %} # Django From f1e66ff8428441ad9a3e81255cf9590ea6045f52 Mon Sep 17 00:00:00 2001 From: Arnav Choudhury Date: Wed, 2 Jun 2021 13:17:37 +0530 Subject: [PATCH 1515/2840] Updated .pre-commit-config.yaml to self-update its dependencies Pre-commit will now automatically also run on any raised PRs. This will ensure committed code will always stay consistent. --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index d054489d4..321d834d1 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -26,3 +26,10 @@ repos: - id: flake8 args: ['--config=setup.cfg'] additional_dependencies: [flake8-isort] + + +# sets up .pre-commit-ci.yaml to ensure pre-commit dependencies stay up to date +ci: + autoupdate_schedule: weekly + skip: [] + submodules: false From a1e649629432956f12bf966331cfe10cbf1cdf56 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 2 Jun 2021 07:20:42 -0700 Subject: [PATCH 1516/2840] Update django from 3.1.11 to 3.1.12 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index e57007fd6..fd455434a 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -29,7 +29,7 @@ uvicorn[standard]==0.13.4 # https://github.com/encode/uvicorn # Django # ------------------------------------------------------------------------------ -django==3.1.11 # pyup: < 3.2 # https://www.djangoproject.com/ +django==3.1.12 # pyup: < 3.2 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth From 9e57d844c0ca00cfa439854660cf5565582cbde3 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 2 Jun 2021 07:20:44 -0700 Subject: [PATCH 1517/2840] Update ipdb from 0.13.7 to 0.13.9 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index b49891aaf..33bdeb960 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,7 +1,7 @@ -r base.txt Werkzeug==1.0.1 # https://github.com/pallets/werkzeug -ipdb==0.13.7 # https://github.com/gotcha/ipdb +ipdb==0.13.9 # https://github.com/gotcha/ipdb {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 {%- else %} From f1b9e070a004c3afb59053ccc2de67e58ebf10b1 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 3 Jun 2021 03:01:34 +0000 Subject: [PATCH 1518/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 126a5c005..eb865916d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-06-02] +### Updated +- Update django to 3.1.12 ([#3209](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3209)) + ## [2021-05-18] ### Changed - Move ARG PYTHON_VERSION=3.9-slim-buster to the global scope ([#3188](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3188)) From e3c646f726a4be8992a4bac3b163b4f83d1f256d Mon Sep 17 00:00:00 2001 From: Ray Besiga Date: Sat, 5 Jun 2021 22:02:57 +0300 Subject: [PATCH 1519/2840] Shorthand for the official supported buildpack Replacing the Github link with the Heroku shorthand defined for the officially supported buildpack. --- docs/deployment-on-heroku.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/deployment-on-heroku.rst b/docs/deployment-on-heroku.rst index 53e980379..0681a50ca 100644 --- a/docs/deployment-on-heroku.rst +++ b/docs/deployment-on-heroku.rst @@ -10,7 +10,7 @@ Run these commands to deploy the project to Heroku: .. code-block:: bash - heroku create --buildpack https://github.com/heroku/heroku-buildpack-python + heroku create --buildpack heroku/python heroku addons:create heroku-postgresql:hobby-dev # On Windows use double quotes for the time zone, e.g. From 7302fe8bbf6bb34d77f6078040125c96bf8feb32 Mon Sep 17 00:00:00 2001 From: luzfcb Date: Sat, 5 Jun 2021 20:00:52 +0000 Subject: [PATCH 1520/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 846375687..ac59fbf9c 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1082,5 +1082,10 @@ "name": "Tames McTigue", "github_login": "Tamerz", "twitter_username": "" + }, + { + "name": "Ray Besiga", + "github_login": "raybesiga", + "twitter_username": "raybesiga" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index ea8701879..5790997a9 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1251,6 +1251,13 @@ Listed in alphabetical order. + + Ray Besiga + + raybesiga + + raybesiga + Reggie Riser From 350064f630b07c9c10ee35062428041de695a1c0 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 6 Jun 2021 02:43:13 +0000 Subject: [PATCH 1521/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb865916d..9a478b101 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-06-05] +### Changed +- Shorthand for the officially supported buildpack ([#3211](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3211)) + ## [2021-06-02] ### Updated - Update django to 3.1.12 ([#3209](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3209)) From e101fb286f7e76fd219308fcbc15e453b3652aca Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 6 Jun 2021 11:53:50 -0700 Subject: [PATCH 1522/2840] Update pytest-django from 4.3.0 to 4.4.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index b49891aaf..43b1fe704 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -42,4 +42,4 @@ factory-boy==3.2.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==3.2.1 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.1.3 # https://github.com/django-extensions/django-extensions django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin -pytest-django==4.3.0 # https://github.com/pytest-dev/pytest-django +pytest-django==4.4.0 # https://github.com/pytest-dev/pytest-django From 972b8274a5d7589e7ce88855152f1f9c8c537fa3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 7 Jun 2021 02:48:54 +0000 Subject: [PATCH 1523/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a478b101..2d51794c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-06-06] +### Changed +- Updated .pre-commit-config.yaml to self-update its dependencies ([#3208](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3208)) + ## [2021-06-05] ### Changed - Shorthand for the officially supported buildpack ([#3211](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3211)) From 75d07e35bc35cde011302932e3db76bc39721b42 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 8 Jun 2021 00:15:41 +0000 Subject: [PATCH 1524/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 321d834d1..c8ea7f578 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: - id: check-yaml - repo: https://github.com/psf/black - rev: 21.5b1 + rev: 21.5b2 hooks: - id: black From 05249e9954922b710e3303a296cfae48844b8196 Mon Sep 17 00:00:00 2001 From: Grant McLean Date: Wed, 9 Jun 2021 10:33:13 +1200 Subject: [PATCH 1525/2840] Fix link format in developing-locally.rst Link was markdown format - changed to RST. --- docs/developing-locally.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst index 661c9f266..3a6206535 100644 --- a/docs/developing-locally.rst +++ b/docs/developing-locally.rst @@ -37,7 +37,7 @@ First things first. .. note:: the `pre-commit` exists in the generated project as default. - for the details of `pre-commit`, follow the [site of pre-commit](https://pre-commit.com/). + for the details of `pre-commit`, follow the `site of pre-commit `_. #. Create a new PostgreSQL database using createdb_: :: From 93882486ffc852419410c1d6253c905940c7f027 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 8 Jun 2021 16:16:52 -0700 Subject: [PATCH 1526/2840] Update mypy from 0.812 to 0.901 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index b49891aaf..d3e1990ee 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -13,7 +13,7 @@ watchgod==0.7 # https://github.com/samuelcolvin/watchgod # Testing # ------------------------------------------------------------------------------ -mypy==0.812 # https://github.com/python/mypy +mypy==0.901 # https://github.com/python/mypy django-stubs==1.8.0 # https://github.com/typeddjango/django-stubs pytest==6.2.4 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar From 9c3b0bcca02cb94c2bb90f0c05839f99fb4c3710 Mon Sep 17 00:00:00 2001 From: Grant McLean Date: Wed, 9 Jun 2021 15:38:12 +1200 Subject: [PATCH 1527/2840] revise previous patch to conform to project style for RST links --- docs/developing-locally.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst index 3a6206535..f33588668 100644 --- a/docs/developing-locally.rst +++ b/docs/developing-locally.rst @@ -36,8 +36,8 @@ First things first. .. note:: - the `pre-commit` exists in the generated project as default. - for the details of `pre-commit`, follow the `site of pre-commit `_. + the `pre-commit` hook exists in the generated project as default. + For the details of `pre-commit`, follow the `pre-commit`_ site. #. Create a new PostgreSQL database using createdb_: :: @@ -88,6 +88,7 @@ or if you're running asynchronously: :: .. _createdb: https://www.postgresql.org/docs/current/static/app-createdb.html .. _initial PostgreSQL set up: http://suite.opengeo.org/docs/latest/dataadmin/pgGettingStarted/firstconnect.html .. _postgres documentation: https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html +.. _pre-commit: https://pre-commit.com/ .. _direnv: https://direnv.net/ From 2f38023d070adc7b5648ad92b4605539744977eb Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 9 Jun 2021 08:53:43 +0000 Subject: [PATCH 1528/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index ac59fbf9c..a165effe4 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1087,5 +1087,10 @@ "name": "Ray Besiga", "github_login": "raybesiga", "twitter_username": "raybesiga" + }, + { + "name": "Grant McLean", + "github_login": "grantm", + "twitter_username": "grantmnz" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 5790997a9..c97c620a8 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -712,6 +712,13 @@ Listed in alphabetical order. + + Grant McLean + + grantm + + grantmnz + Guilherme Guy From f2b0ddb78afb3dd535154ecdd3804ad10b4ceda5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 9 Jun 2021 06:19:42 -0700 Subject: [PATCH 1529/2840] Update django-coverage-plugin from 1.8.0 to 2.0.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 77d168e84..cfaeaacfd 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -41,5 +41,5 @@ factory-boy==3.2.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==3.2.1 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.1.3 # https://github.com/django-extensions/django-extensions -django-coverage-plugin==1.8.0 # https://github.com/nedbat/django_coverage_plugin +django-coverage-plugin==2.0.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==4.4.0 # https://github.com/pytest-dev/pytest-django From d90a091cd69fb75535365661a366e6d80a730623 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 10 Jun 2021 02:28:30 +0000 Subject: [PATCH 1530/2840] Update Changelog --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d51794c8..7b2bb89dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,16 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-06-09] +### Changed +- Fix link format in developing-locally.rst ([#3214](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3214)) +### Updated +- Update pre-commit to 2.13.0 ([#3195](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3195)) +- Update pytest-django to 4.4.0 ([#3212](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3212)) +- Update mypy to 0.901 ([#3215](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3215)) +- Auto-update pre-commit hooks ([#3206](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3206)) +- Update black to 21.5b2 ([#3204](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3204)) + ## [2021-06-06] ### Changed - Updated .pre-commit-config.yaml to self-update its dependencies ([#3208](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3208)) From d4ca82457360cbd6b6eef3295efd712e507ee5fd Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 10 Jun 2021 16:19:55 -0700 Subject: [PATCH 1531/2840] Update mypy from 0.901 to 0.902 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 77d168e84..d16f71138 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -13,7 +13,7 @@ watchgod==0.7 # https://github.com/samuelcolvin/watchgod # Testing # ------------------------------------------------------------------------------ -mypy==0.901 # https://github.com/python/mypy +mypy==0.902 # https://github.com/python/mypy django-stubs==1.8.0 # https://github.com/typeddjango/django-stubs pytest==6.2.4 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar From 5bf09040ebeca1c8fc110c360fc9de15b82f7c3a Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 12 Jun 2021 06:55:08 -0700 Subject: [PATCH 1532/2840] Update django-crispy-forms from 1.11.2 to 1.12.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index fd455434a..bcbbb3ceb 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -33,7 +33,7 @@ django==3.1.12 # pyup: < 3.2 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth -django-crispy-forms==1.11.2 # https://github.com/django-crispy-forms/django-crispy-forms +django-crispy-forms==1.12.0 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.4.1 # https://github.com/django-compressor/django-compressor {%- endif %} From abb736478aef49eabfe5ad8c650979248bfea94a Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Sat, 12 Jun 2021 20:51:48 -0400 Subject: [PATCH 1533/2840] Update black GitHub link in requirements --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 77d168e84..6b6200428 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -28,7 +28,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild flake8==3.9.2 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.5 # https://github.com/nedbat/coveragepy -black==21.5b2 # https://github.com/ambv/black +black==21.5b2 # https://github.com/psf/black pylint-django==2.4.3 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery From fe187ddb6a7d30b5b9d0bc09277f5b6dddcb382e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 15 Jun 2021 02:23:36 +0000 Subject: [PATCH 1534/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b2bb89dc..113da3f28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-06-14] +### Changed +- Update black GitHub link in requirements ([#3222](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3222)) + ## [2021-06-09] ### Changed - Fix link format in developing-locally.rst ([#3214](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3214)) From 19af4c063a5b76b0508b70596eacb204958e047b Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 16 Jun 2021 06:22:20 -0700 Subject: [PATCH 1535/2840] Update django-anymail from 8.2 to 8.4 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 3df7c5668..47f8b1ed7 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -22,7 +22,7 @@ django-storages[boto3]==1.11.1 # https://github.com/jschneier/django-storages django-storages[google]==1.11.1 # https://github.com/jschneier/django-storages {%- endif %} {%- if cookiecutter.mail_service == 'Mailgun' %} -django-anymail[mailgun]==8.2 # https://github.com/anymail/django-anymail +django-anymail[mailgun]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Amazon SES' %} django-anymail[amazon_ses]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} From e57f283d80897cadd022d2632c815d1590c0781a Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 16 Jun 2021 06:22:20 -0700 Subject: [PATCH 1536/2840] Update django-anymail from 8.2 to 8.4 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 47f8b1ed7..f2befbc79 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -24,7 +24,7 @@ django-storages[google]==1.11.1 # https://github.com/jschneier/django-storages {%- if cookiecutter.mail_service == 'Mailgun' %} django-anymail[mailgun]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Amazon SES' %} -django-anymail[amazon_ses]==8.2 # https://github.com/anymail/django-anymail +django-anymail[amazon_ses]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} django-anymail[mailjet]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} From 5cea74a7eb60b322861a7c85f5f812025aceb0e4 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 16 Jun 2021 06:22:20 -0700 Subject: [PATCH 1537/2840] Update django-anymail from 8.2 to 8.4 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index f2befbc79..fcfe79787 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -26,7 +26,7 @@ django-anymail[mailgun]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Amazon SES' %} django-anymail[amazon_ses]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} -django-anymail[mailjet]==8.2 # https://github.com/anymail/django-anymail +django-anymail[mailjet]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} django-anymail[mandrill]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} From b02d986abd9e987c40f4be967d3f6905861097ae Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 16 Jun 2021 06:22:21 -0700 Subject: [PATCH 1538/2840] Update django-anymail from 8.2 to 8.4 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index fcfe79787..69c22da01 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -28,7 +28,7 @@ django-anymail[amazon_ses]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mailjet' %} django-anymail[mailjet]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} -django-anymail[mandrill]==8.2 # https://github.com/anymail/django-anymail +django-anymail[mandrill]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} django-anymail[postmark]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} From d10fe10e9cb360ecb5904400b22ee0055885c80e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 16 Jun 2021 06:22:21 -0700 Subject: [PATCH 1539/2840] Update django-anymail from 8.2 to 8.4 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 69c22da01..87711f5a1 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -30,7 +30,7 @@ django-anymail[mailjet]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Mandrill' %} django-anymail[mandrill]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} -django-anymail[postmark]==8.2 # https://github.com/anymail/django-anymail +django-anymail[postmark]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} django-anymail[sendgrid]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} From f4f7fd0094ee86b59437bfadcc28d40d20ac95dc Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 16 Jun 2021 06:22:21 -0700 Subject: [PATCH 1540/2840] Update django-anymail from 8.2 to 8.4 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 87711f5a1..436c9db3d 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -32,7 +32,7 @@ django-anymail[mandrill]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Postmark' %} django-anymail[postmark]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} -django-anymail[sendgrid]==8.2 # https://github.com/anymail/django-anymail +django-anymail[sendgrid]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} django-anymail[sendinblue]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} From aed5d2e701c283480dbad977e3c77d73fd69cf00 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 16 Jun 2021 06:22:22 -0700 Subject: [PATCH 1541/2840] Update django-anymail from 8.2 to 8.4 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 436c9db3d..6ad586d66 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -34,7 +34,7 @@ django-anymail[postmark]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Sendgrid' %} django-anymail[sendgrid]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} -django-anymail[sendinblue]==8.2 # https://github.com/anymail/django-anymail +django-anymail[sendinblue]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} django-anymail[sparkpost]==8.2 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Other SMTP' %} From 2532937fbd8821e736b63e28d85a0093f456468a Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 16 Jun 2021 06:22:22 -0700 Subject: [PATCH 1542/2840] Update django-anymail from 8.2 to 8.4 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 6ad586d66..9f0603682 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -36,7 +36,7 @@ django-anymail[sendgrid]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SendinBlue' %} django-anymail[sendinblue]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} -django-anymail[sparkpost]==8.2 # https://github.com/anymail/django-anymail +django-anymail[sparkpost]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Other SMTP' %} django-anymail==8.2 # https://github.com/anymail/django-anymail {%- endif %} From 350ab6c93b03fbd129ad3e19b83927ed7e39dbf0 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 16 Jun 2021 06:22:23 -0700 Subject: [PATCH 1543/2840] Update django-anymail from 8.2 to 8.4 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 9f0603682..0bb6bfd84 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -38,5 +38,5 @@ django-anymail[sendinblue]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'SparkPost' %} django-anymail[sparkpost]==8.4 # https://github.com/anymail/django-anymail {%- elif cookiecutter.mail_service == 'Other SMTP' %} -django-anymail==8.2 # https://github.com/anymail/django-anymail +django-anymail==8.4 # https://github.com/anymail/django-anymail {%- endif %} From f8bbcf0788232ec49bbd60012eafa156fdf653cc Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 17 Jun 2021 09:36:11 -0700 Subject: [PATCH 1544/2840] Update psycopg2 from 2.8.6 to 2.9.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 3df7c5668..e8ad6018d 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -3,7 +3,7 @@ -r base.txt gunicorn==20.1.0 # https://github.com/benoitc/gunicorn -psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 +psycopg2==2.9.1 # https://github.com/psycopg/psycopg2 {%- if cookiecutter.use_whitenoise == 'n' %} Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} From 6cd27194370333fb7daf1ba21e4596402b3f8fc5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 17 Jun 2021 09:36:12 -0700 Subject: [PATCH 1545/2840] Update psycopg2 from 2.8.6 to 2.9.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 6b6200428..96c41929a 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -3,7 +3,7 @@ Werkzeug==1.0.1 # https://github.com/pallets/werkzeug ipdb==0.13.7 # https://github.com/gotcha/ipdb {%- if cookiecutter.use_docker == 'y' %} -psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 +psycopg2==2.9.1 # https://github.com/psycopg/psycopg2 {%- else %} psycopg2-binary==2.8.6 # https://github.com/psycopg/psycopg2 {%- endif %} From facd5c40fcac7b02f0af2d236e23c7dc0796ab42 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 17 Jun 2021 17:47:07 -0700 Subject: [PATCH 1546/2840] Update psycopg2-binary from 2.8.6 to 2.9.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 6b6200428..a27db92ae 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -5,7 +5,7 @@ ipdb==0.13.7 # https://github.com/gotcha/ipdb {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.8.6 # https://github.com/psycopg/psycopg2 {%- else %} -psycopg2-binary==2.8.6 # https://github.com/psycopg/psycopg2 +psycopg2-binary==2.9.1 # https://github.com/psycopg/psycopg2 {%- endif %} {%- if cookiecutter.use_async == 'y' or cookiecutter.use_celery == 'y' %} watchgod==0.7 # https://github.com/samuelcolvin/watchgod From 18a94046b1b7b53651ce1bb23a63fd3a8e2b9b50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20C=2E=20Barrionuevo=20da=20Luz?= Date: Sat, 19 Jun 2021 01:18:31 -0300 Subject: [PATCH 1547/2840] Add venv to .dockerignore --- {{cookiecutter.project_slug}}/.dockerignore | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/.dockerignore b/{{cookiecutter.project_slug}}/.dockerignore index d01db04a6..5518e60af 100644 --- a/{{cookiecutter.project_slug}}/.dockerignore +++ b/{{cookiecutter.project_slug}}/.dockerignore @@ -7,3 +7,4 @@ .pre-commit-config.yaml .readthedocs.yml .travis.yml +venv From efcab1b4d6b0c91e1ac51e46684752f08af90397 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 20 Jun 2021 02:23:30 +0000 Subject: [PATCH 1548/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 113da3f28..ef143bc83 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-06-19] +### Updated +- Update psycopg2 to 2.9.1 ([#3227](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3227)) +- Update psycopg2-binary to 2.9.1 ([#3228](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3228)) + ## [2021-06-14] ### Changed - Update black GitHub link in requirements ([#3222](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3222)) From 4214b1b8efcb86b264d64d3bf8592c382a70acd6 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Sun, 20 Jun 2021 12:47:07 -0400 Subject: [PATCH 1549/2840] Update docs/howto.rst --- {{cookiecutter.project_slug}}/docs/howto.rst | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/{{cookiecutter.project_slug}}/docs/howto.rst b/{{cookiecutter.project_slug}}/docs/howto.rst index 25f442c37..0ef90d023 100644 --- a/{{cookiecutter.project_slug}}/docs/howto.rst +++ b/{{cookiecutter.project_slug}}/docs/howto.rst @@ -4,20 +4,19 @@ How To - Project Documentation Get Started ---------------------------------------------------------------------- -Documentation can be written as rst files in the `{{cookiecutter.project_slug}}/docs/_source`. +Documentation can be written as rst files in `{{cookiecutter.project_slug}}/docs`. {% if cookiecutter.use_docker == 'n' %} -To build and serve docs, use the command: - :: +To build and serve docs, use the command:: - make livehtml + make livehtml from inside the `{{cookiecutter.project_slug}}/docs` directory. {% else %} -To build and serve docs, use the commands: - :: +To build and serve docs, use the commands:: - docker-compose -f local.yml up docs + docker-compose -f local.yml up docs + {% endif %} Changes to files in `docs/_source` will be picked up and reloaded automatically. From 9cbb840ec92c261798d1b5d5f7e6c99f39226524 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 21 Jun 2021 00:06:34 +0000 Subject: [PATCH 1550/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index c8ea7f578..57207a748 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: - id: check-yaml - repo: https://github.com/psf/black - rev: 21.5b2 + rev: 21.6b0 hooks: - id: black From 2aeb6a13703762f02bf39a02d956c59d495e524a Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 21 Jun 2021 12:17:56 +0100 Subject: [PATCH 1551/2840] Remove version restriction on pytest --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3b7c3b8e7..c616a8b13 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,7 +13,7 @@ pre-commit==2.13.0 # Testing # ------------------------------------------------------------------------------ tox==3.23.1 -pytest==5.4.3 # pyup: <6 # https://github.com/hackebrot/pytest-cookies/issues/51 +pytest==5.4.3 pytest-cookies==0.6.1 pytest-instafail==0.4.2 pyyaml==5.4.1 From 3b419295ff84644e57d3e13142fcf3fe8de67ecd Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 21 Jun 2021 04:18:10 -0700 Subject: [PATCH 1552/2840] Update pytest from 5.4.3 to 6.2.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index c616a8b13..0bfb16bb4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,7 +13,7 @@ pre-commit==2.13.0 # Testing # ------------------------------------------------------------------------------ tox==3.23.1 -pytest==5.4.3 +pytest==6.2.4 pytest-cookies==0.6.1 pytest-instafail==0.4.2 pyyaml==5.4.1 From 608cbef44041375222e8f8eac4c4e1c5b4cbe000 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 21 Jun 2021 04:23:35 -0700 Subject: [PATCH 1553/2840] Update black from 21.5b2 to 21.6b0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index c616a8b13..34d783dfa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ -black==21.5b2 +black==21.6b0 isort==5.8.0 flake8==3.9.2 flake8-isort==4.0.0 From 810e8b46724ef1613383edacae0763b1cedcb1eb Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 21 Jun 2021 04:23:36 -0700 Subject: [PATCH 1554/2840] Update black from 21.5b2 to 21.6b0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 9263f0850..34517e3a1 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -28,7 +28,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild flake8==3.9.2 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.5 # https://github.com/nedbat/coveragepy -black==21.5b2 # https://github.com/psf/black +black==21.6b0 # https://github.com/psf/black pylint-django==2.4.3 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery From eaa70138648a10cd52951c89a6b728e2235f2056 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 21 Jun 2021 04:46:11 -0700 Subject: [PATCH 1555/2840] Update pylint-django from 2.4.3 to 2.4.4 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 6f41cecfc..e77e15b99 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -29,7 +29,7 @@ flake8==3.9.2 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.5 # https://github.com/nedbat/coveragepy black==21.6b0 # https://github.com/psf/black -pylint-django==2.4.3 # https://github.com/PyCQA/pylint-django +pylint-django==2.4.4 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery {%- endif %} From 8bbba913eaae766b397f78455633bf172b3e4794 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 21 Jun 2021 08:42:31 -0700 Subject: [PATCH 1556/2840] Update isort from 5.8.0 to 5.9.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 1c652fd6f..89b1f7a64 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==21.6b0 -isort==5.8.0 +isort==5.9.0 flake8==3.9.2 flake8-isort==4.0.0 pre-commit==2.13.0 From 84729606489cc30e2d84815c94f1eb1cd959e5f3 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 22 Jun 2021 00:04:46 +0000 Subject: [PATCH 1557/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 57207a748..ac71019ab 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.8.0 + rev: 5.9.1 hooks: - id: isort From 10e1e264d27ce1eec9387c236f48bafe5513c0c7 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 22 Jun 2021 02:17:41 +0000 Subject: [PATCH 1558/2840] Update Changelog --- CHANGELOG.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ef143bc83..b1a9a0ee2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,25 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-06-21] +### Updated +- Update isort to 5.9.0 ([#3234](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3234)) +- Update django-anymail to 8.4 ([#3225](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3225)) +- Update django-redis to 5.0.0 ([#3205](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3205)) +- Update pylint-django to 2.4.4 ([#3233](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3233)) +- Auto-update pre-commit hooks ([#3220](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3220)) +- Bump peter-evans/create-pull-request from 3.9.2 to 3.10.0 ([#3197](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3197)) +- Update black to 21.6b0 ([#3232](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3232)) +- Update pytest to 6.2.4 ([#3231](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3231)) +- Update django-crispy-forms to 1.12.0 ([#3221](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3221)) +- Update mypy to 0.902 ([#3219](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3219)) +- Update django-coverage-plugin to 2.0.0 ([#3217](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3217)) +- Update ipdb to 0.13.9 ([#3210](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3210)) +- Update uvicorn to 0.14.0 ([#3207](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3207)) +- Update pytest-cookies to 0.6.1 ([#3196](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3196)) +- Update sphinx to 4.0.2 ([#3193](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3193)) +- Update jinja2 to 3.0.1 ([#3189](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3189)) + ## [2021-06-19] ### Updated - Update psycopg2 to 2.9.1 ([#3227](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3227)) From 03df4970aeda6c884962a29eacdbc0553003840f Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 22 Jun 2021 08:42:35 -0700 Subject: [PATCH 1559/2840] Update isort from 5.9.0 to 5.9.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 89b1f7a64..b48a5ab91 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==21.6b0 -isort==5.9.0 +isort==5.9.1 flake8==3.9.2 flake8-isort==4.0.0 pre-commit==2.13.0 From 93ce22615f327e03013ff7449513f13d7b6a12e5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 22 Jun 2021 14:11:04 -0700 Subject: [PATCH 1560/2840] Update mypy from 0.902 to 0.910 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index e77e15b99..4e10401bb 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -13,7 +13,7 @@ watchgod==0.7 # https://github.com/samuelcolvin/watchgod # Testing # ------------------------------------------------------------------------------ -mypy==0.902 # https://github.com/python/mypy +mypy==0.910 # https://github.com/python/mypy django-stubs==1.8.0 # https://github.com/typeddjango/django-stubs pytest==6.2.4 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar From 391e31c4dd8e8efdf0d3694c5bf6d1e2ca472a13 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 23 Jun 2021 02:13:45 +0000 Subject: [PATCH 1561/2840] Update Changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b1a9a0ee2..620d7eb0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-06-22] +### Changed +- Update docs/howto.rst ([#3230](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3230)) +- Add support for PG 13. Drop PG 9. Update all minor versions ([#3154](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3154)) +### Updated +- Update isort to 5.9.1 ([#3236](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3236)) +- Auto-update pre-commit hooks ([#3235](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3235)) + ## [2021-06-21] ### Updated - Update isort to 5.9.0 ([#3234](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3234)) From 9cc54eea33db925d0ce96d6ca25e2e0d10bc6a92 Mon Sep 17 00:00:00 2001 From: LECbg Date: Thu, 24 Jun 2021 11:57:23 +0200 Subject: [PATCH 1562/2840] Update gitignore for VSCode Update VSCode section as of https://github.com/github/gitignore/blob/991e760c1c6d50fdda246e0178b9c58b06770b90/Global/VisualStudioCode.gitignore --- {{cookiecutter.project_slug}}/.gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/{{cookiecutter.project_slug}}/.gitignore b/{{cookiecutter.project_slug}}/.gitignore index 311b43a57..613e8beab 100644 --- a/{{cookiecutter.project_slug}}/.gitignore +++ b/{{cookiecutter.project_slug}}/.gitignore @@ -159,6 +159,10 @@ typings/ !.vscode/tasks.json !.vscode/launch.json !.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ {% if cookiecutter.use_pycharm == 'y' -%} From 28544cb247e4a43e8ba3914fe85db348ae6ed096 Mon Sep 17 00:00:00 2001 From: Kuo Chao Cheng Date: Fri, 25 Jun 2021 12:05:12 +0800 Subject: [PATCH 1563/2840] Wrap jQuery event after DOMContentLoaded --- .../templates/account/email.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html index 055904ae9..5c9406f3f 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html @@ -74,7 +74,9 @@ window.addEventListener('DOMContentLoaded',function() { } }); -$('.form-group').removeClass('row'); +document.addEventListener('DOMContentLoaded', function() { + $('.form-group').removeClass('row'); +}) {% endblock %} {%- endraw %} From 6f971b7ac4b2f2b2a06d4eabc5a6a1b96393498c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 25 Jun 2021 07:45:22 +0000 Subject: [PATCH 1564/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index a165effe4..64987bd11 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1092,5 +1092,10 @@ "name": "Grant McLean", "github_login": "grantm", "twitter_username": "grantmnz" + }, + { + "name": "Kuo Chao Cheng", + "github_login": "wwwtony5488", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index c97c620a8..580bd912f 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -985,6 +985,13 @@ Listed in alphabetical order. + + Kuo Chao Cheng + + wwwtony5488 + + + lcd1232 From fa83d9cf6efa75909905e4e8dccce20f0c68fbec Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 25 Jun 2021 07:46:59 +0000 Subject: [PATCH 1565/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 64987bd11..c11c531f1 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1097,5 +1097,10 @@ "name": "Kuo Chao Cheng", "github_login": "wwwtony5488", "twitter_username": "" + }, + { + "name": "LECbg", + "github_login": "LECbg", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 580bd912f..1903bcc19 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -999,6 +999,13 @@ Listed in alphabetical order. + + LECbg + + LECbg + + + Leo won From f576f280ee1ac03abfb679f594097f445610f91f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 25 Jun 2021 09:55:56 +0200 Subject: [PATCH 1566/2840] Update version in setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 73ccb863b..ddc9524d4 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ except ImportError: # Our version ALWAYS matches the version of Django we support # If Django has a new release, we branch, tag, then update this setting after the tag. -version = "3.1.8" +version = "3.1.12" if sys.argv[-1] == "tag": os.system(f'git tag -a {version} -m "version {version}"') From f250178a7596b0b41e6afae10ef5093b77a50c2f Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 26 Jun 2021 02:13:05 +0000 Subject: [PATCH 1567/2840] Update Changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 620d7eb0b..ccef7c8de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-06-25] +### Changed +- Update `.gitignore` file for VSCode ([#3238](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3238)) +### Fixed +- Wrap jQuery call in `DOMContentLoaded` event listener on account email page ([#3239](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3239)) + ## [2021-06-22] ### Changed - Update docs/howto.rst ([#3230](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3230)) From d8b39f32aef37491b8f10210bcfe6ce0ab516ea4 Mon Sep 17 00:00:00 2001 From: Haseeb ur Rehman Date: Mon, 28 Jun 2021 15:30:30 +0500 Subject: [PATCH 1568/2840] Fix Celery ports error on local Docker (#3241) --- {{cookiecutter.project_slug}}/local.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/local.yml b/{{cookiecutter.project_slug}}/local.yml index 6241ceede..eee70c542 100644 --- a/{{cookiecutter.project_slug}}/local.yml +++ b/{{cookiecutter.project_slug}}/local.yml @@ -77,7 +77,6 @@ services: {%- if cookiecutter.use_mailhog == 'y' %} - mailhog {%- endif %} - ports: [] command: /start-celeryworker celerybeat: @@ -90,7 +89,6 @@ services: {%- if cookiecutter.use_mailhog == 'y' %} - mailhog {%- endif %} - ports: [] command: /start-celerybeat flower: From 7ea4194b6b4369a453b57c3ae33cbcf3109eee01 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 28 Jun 2021 10:31:08 +0000 Subject: [PATCH 1569/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index c11c531f1..f7c0a05b7 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1102,5 +1102,10 @@ "name": "LECbg", "github_login": "LECbg", "twitter_username": "" + }, + { + "name": "Haseeb ur Rehman", + "github_login": "professorhaseeb", + "twitter_username": "professorhaseeb" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 1903bcc19..0493530b6 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -761,6 +761,13 @@ Listed in alphabetical order. + + Haseeb ur Rehman + + professorhaseeb + + professorhaseeb + Hendrik Schneider From c6d53d753a300a2a296544054a8250b0b09a0dee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20C=2E=20Barrionuevo=20da=20Luz?= Date: Mon, 28 Jun 2021 09:02:16 -0300 Subject: [PATCH 1570/2840] Revert "Fix Celery ports error on local Docker (#3241)" This reverts commit d8b39f32aef37491b8f10210bcfe6ce0ab516ea4. --- {{cookiecutter.project_slug}}/local.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/{{cookiecutter.project_slug}}/local.yml b/{{cookiecutter.project_slug}}/local.yml index eee70c542..6241ceede 100644 --- a/{{cookiecutter.project_slug}}/local.yml +++ b/{{cookiecutter.project_slug}}/local.yml @@ -77,6 +77,7 @@ services: {%- if cookiecutter.use_mailhog == 'y' %} - mailhog {%- endif %} + ports: [] command: /start-celeryworker celerybeat: @@ -89,6 +90,7 @@ services: {%- if cookiecutter.use_mailhog == 'y' %} - mailhog {%- endif %} + ports: [] command: /start-celerybeat flower: From 9316846691eb53940f6e54e7248c874830a38f18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20C=2E=20Barrionuevo=20da=20Luz?= Date: Mon, 28 Jun 2021 10:20:08 -0300 Subject: [PATCH 1571/2840] Improve github bug report template --- .github/ISSUE_TEMPLATE/bug.md | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md index 757b5990f..d1bf4da68 100644 --- a/.github/ISSUE_TEMPLATE/bug.md +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -14,12 +14,38 @@ labels: bug * Host system configuration: * Version of cookiecutter CLI (get it with `cookiecutter --version`): - * OS: - * Python version: - * Docker versions (if using Docker): + * OS name and version: + + On Linux, run + ```bash + lsb_release -a 2> /dev/null || cat /etc/redhat-release 2> /dev/null || cat /etc/*-release 2> /dev/null || cat /etc/issue 2> /dev/null + ``` + + On MacOs, run + ```bash + sw_vers + ``` + + On Windows, via CMD, run + ``` + systeminfo | findstr /B /C:"OS Name" /C:"OS Version" + ``` + + + ```bash + # Insert here the OS name and version + + ``` + + * Python version, run `python3 -V`: + * Docker version (if using Docker), run `docker --version`: + * docker-compose version (if using Docker), run `docker-compose --version`: * ... * Options selected and/or [replay file](https://cookiecutter.readthedocs.io/en/latest/advanced/replay.html): - ``` + On Linux and MacOS: `cat ${HOME}/.cookiecutter_replay/cookiecutter-django.json` + (Please, take care to remove sensitive information) + ```json + # Insert here the replay file content ``` Logs: From 10b9f22a3f660a3db7fe5d1199361c3cfc325659 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 29 Jun 2021 02:14:38 +0000 Subject: [PATCH 1572/2840] Update Changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ccef7c8de..9fb8d310a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-06-28] +### Changed +- Revert "Fix Celery ports error on local Docker" ([#3242](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3242)) +### Fixed +- Fix Celery ports error on local Docker ([#3241](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3241)) + ## [2021-06-25] ### Changed - Update `.gitignore` file for VSCode ([#3238](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3238)) From 91f93fe371cd5a413e6622cd0d4321594e2f30a1 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 30 Jun 2021 02:17:24 +0000 Subject: [PATCH 1573/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9fb8d310a..1a6537cf7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-06-29] +### Changed +- Improve github bug report template ([#3243](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3243)) + ## [2021-06-28] ### Changed - Revert "Fix Celery ports error on local Docker" ([#3242](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3242)) From abe3588bedf4d7be0bd62045e82af8febb2dac19 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 1 Jul 2021 08:19:11 -0700 Subject: [PATCH 1574/2840] Update django from 3.1.12 to 3.1.13 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 36f02a3c4..a39de1bc3 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -29,7 +29,7 @@ uvicorn[standard]==0.14.0 # https://github.com/encode/uvicorn # Django # ------------------------------------------------------------------------------ -django==3.1.12 # pyup: < 3.2 # https://www.djangoproject.com/ +django==3.1.13 # pyup: < 3.2 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth From 391874b426fa5bb20a95ea59a8b58e1b2bb6daee Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Mon, 5 Jul 2021 16:37:35 -0400 Subject: [PATCH 1575/2840] Add Redis 6 support --- {{cookiecutter.project_slug}}/.github/workflows/ci.yml | 2 +- {{cookiecutter.project_slug}}/local.yml | 2 +- {{cookiecutter.project_slug}}/production.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml index 70023b53d..d2d7f703c 100644 --- a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml +++ b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml @@ -42,7 +42,7 @@ jobs: services: {%- if cookiecutter.use_celery == 'y' %} redis: - image: redis:5.0 + image: redis:6.2.4 ports: - 6379:6379 {%- endif %} diff --git a/{{cookiecutter.project_slug}}/local.yml b/{{cookiecutter.project_slug}}/local.yml index 6241ceede..a9f80307f 100644 --- a/{{cookiecutter.project_slug}}/local.yml +++ b/{{cookiecutter.project_slug}}/local.yml @@ -64,7 +64,7 @@ services: {%- if cookiecutter.use_celery == 'y' %} redis: - image: redis:5.0 + image: redis:6.2.4 container_name: redis celeryworker: diff --git a/{{cookiecutter.project_slug}}/production.yml b/{{cookiecutter.project_slug}}/production.yml index 3cccdb653..551d05a0d 100644 --- a/{{cookiecutter.project_slug}}/production.yml +++ b/{{cookiecutter.project_slug}}/production.yml @@ -47,7 +47,7 @@ services: {%- endif %} redis: - image: redis:5.0 + image: redis:6.2.4 {%- if cookiecutter.use_celery == 'y' %} celeryworker: From 9c62cfe2eb3f3df3101ff8d3d6b035a79d0a53f5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 6 Jul 2021 20:39:32 -0700 Subject: [PATCH 1576/2840] Update pillow from 8.2.0 to 8.3.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 36f02a3c4..5ce153911 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,6 +1,6 @@ pytz==2021.1 # https://github.com/stub42/pytz python-slugify==5.0.2 # https://github.com/un33k/python-slugify -Pillow==8.2.0 # https://github.com/python-pillow/Pillow +Pillow==8.3.1 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} {%- if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} rcssmin==1.0.6 --install-option="--without-c-extensions" # https://github.com/ndparker/rcssmin From 3e02640e29fe897ed7facfe57930edf4ed381da3 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 8 Jul 2021 07:55:45 -0700 Subject: [PATCH 1577/2840] Update sentry-sdk from 1.1.0 to 1.3.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 06d33ae05..a560d0f12 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.9.1 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==1.1.0 # https://github.com/getsentry/sentry-python +sentry-sdk==1.3.0 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==1.1.0 # https://github.com/redis/hiredis-py From 0aca0a8782f6b44e1903067c73a85a67fe29b29f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20C=2E=20Barrionuevo=20da=20Luz?= Date: Thu, 8 Jul 2021 19:29:25 -0300 Subject: [PATCH 1578/2840] Define REMAP_SIGTERM=SIGQUIT on Profile of Celery on Heroku --- {{cookiecutter.project_slug}}/Procfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/Procfile b/{{cookiecutter.project_slug}}/Procfile index 8679a0669..e23ca13cb 100644 --- a/{{cookiecutter.project_slug}}/Procfile +++ b/{{cookiecutter.project_slug}}/Procfile @@ -5,6 +5,6 @@ web: gunicorn config.asgi:application -k uvicorn.workers.UvicornWorker web: gunicorn config.wsgi:application {%- endif %} {%- if cookiecutter.use_celery == "y" -%} -worker: celery worker --app=config.celery_app --loglevel=info -beat: celery beat --app=config.celery_app --loglevel=info +worker: REMAP_SIGTERM=SIGQUIT celery worker --app=config.celery_app --loglevel=info +beat: REMAP_SIGTERM=SIGQUIT celery beat --app=config.celery_app --loglevel=info {%- endif %} From f58f134deca5f3d504fe100200f67ac82789c5d9 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 9 Jul 2021 02:14:27 +0000 Subject: [PATCH 1579/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a6537cf7..b07de8c16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-07-08] +### Updated +- Update django to 3.1.13 ([#3247](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3247)) + ## [2021-06-29] ### Changed - Improve github bug report template ([#3243](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3243)) From 83a7ac6e4d2eb1206faf00b7cefb744f98e80596 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 12 Jul 2021 08:45:29 -0700 Subject: [PATCH 1580/2840] Update django-allauth from 0.44.0 to 0.45.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index a39de1bc3..17583afe2 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -32,7 +32,7 @@ uvicorn[standard]==0.14.0 # https://github.com/encode/uvicorn django==3.1.13 # pyup: < 3.2 # https://www.djangoproject.com/ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils -django-allauth==0.44.0 # https://github.com/pennersr/django-allauth +django-allauth==0.45.0 # https://github.com/pennersr/django-allauth django-crispy-forms==1.12.0 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.4.1 # https://github.com/django-compressor/django-compressor From 76f1a2875f14bf0cb7478eb12c3cd3e2630ee0d5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 13 Jul 2021 02:14:22 +0000 Subject: [PATCH 1581/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b07de8c16..588c58ab7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-07-12] +### Changed +- Define REMAP_SIGTERM=SIGQUIT on Profile of Celery on Heroku ([#3263](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3263)) + ## [2021-07-08] ### Updated - Update django to 3.1.13 ([#3247](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3247)) From e295ddb778fbd76ee4ba96643b05392ab632255b Mon Sep 17 00:00:00 2001 From: Mike97M Date: Wed, 14 Jul 2021 16:06:38 +0300 Subject: [PATCH 1582/2840] Backup - get container ID automatically from docker-compose Backup documentation to show how to use "docker-compose -f local.yml ps -q postgres" to get the container ID instead of hard coding it. --- docs/docker-postgres-backups.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/docker-postgres-backups.rst b/docs/docker-postgres-backups.rst index 6ccb7cf1e..875d737eb 100644 --- a/docs/docker-postgres-backups.rst +++ b/docs/docker-postgres-backups.rst @@ -55,8 +55,11 @@ With a single backup file copied to ``.`` that would be :: $ docker cp 9c5c3f055843:/backups/backup_2018_03_13T09_05_07.sql.gz . -.. _`command`: https://docs.docker.com/engine/reference/commandline/cp/ +You can also get the container ID using ``docker-compose -f local.yml ps -q postgres`` so if you want to automate your backups, you don't have to check the container ID manually every time. Here is the full command :: + $ docker cp $(docker-compose -f local.yml ps -q postgres):/backups ./backups + +.. _`command`: https://docs.docker.com/engine/reference/commandline/cp/ Restoring from the Existing Backup ---------------------------------- From f702f43fd154aa267d435c146a54e86cec13a48e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 14 Jul 2021 21:03:52 -0700 Subject: [PATCH 1583/2840] Update tox from 3.23.1 to 3.24.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index b48a5ab91..5a12d6dc4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ pre-commit==2.13.0 # Testing # ------------------------------------------------------------------------------ -tox==3.23.1 +tox==3.24.0 pytest==6.2.4 pytest-cookies==0.6.1 pytest-instafail==0.4.2 From f1edf59ce467e0e40553226d91a2aa02f533e3d7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 16 Jul 2021 10:53:41 -0700 Subject: [PATCH 1584/2840] Update black from 21.6b0 to 21.7b0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index b48a5ab91..edef7ef6a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ -black==21.6b0 +black==21.7b0 isort==5.9.1 flake8==3.9.2 flake8-isort==4.0.0 From aaca5aa2a192343f3181b87a3b3176de618cf041 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 16 Jul 2021 10:53:41 -0700 Subject: [PATCH 1585/2840] Update black from 21.6b0 to 21.7b0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index e77e15b99..792023f0c 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -28,7 +28,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild flake8==3.9.2 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.5 # https://github.com/nedbat/coveragepy -black==21.6b0 # https://github.com/psf/black +black==21.7b0 # https://github.com/psf/black pylint-django==2.4.4 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery From d1ce715e832134e5e3245723287cb5695f6e5e63 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 17 Jul 2021 00:04:19 +0000 Subject: [PATCH 1586/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index ac71019ab..81c3011b9 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -11,12 +11,12 @@ repos: - id: check-yaml - repo: https://github.com/psf/black - rev: 21.6b0 + rev: 21.7b0 hooks: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.9.1 + rev: 5.9.2 hooks: - id: isort From 91172cc6e2a1aa3483297cf0cf576f7e6df52e20 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 17 Jul 2021 10:28:59 -0700 Subject: [PATCH 1587/2840] Update whitenoise from 5.2.0 to 5.3.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index a39de1bc3..6b00cbe2e 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -10,7 +10,7 @@ rcssmin==1.0.6 # https://github.com/ndparker/rcssmin {%- endif %} argon2-cffi==20.1.0 # https://github.com/hynek/argon2_cffi {%- if cookiecutter.use_whitenoise == 'y' %} -whitenoise==5.2.0 # https://github.com/evansd/whitenoise +whitenoise==5.3.0 # https://github.com/evansd/whitenoise {%- endif %} redis==3.5.3 # https://github.com/andymccurdy/redis-py {%- if cookiecutter.use_docker == "y" or cookiecutter.windows == "n" %} From ba2f423600a4a0386838c2141d2b509aa49357ca Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Tue, 27 Jul 2021 01:10:18 -0400 Subject: [PATCH 1588/2840] Add bootstrap5 support + drop IE support Signed-off-by: Andrew-Chen-Wang --- .../config/settings/base.py | 4 +++- .../requirements/base.txt | 1 + .../templates/account/email.html | 5 ++--- .../templates/base.html | 22 +++++++++---------- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 640d8b62c..bbe45a395 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -71,6 +71,7 @@ DJANGO_APPS = [ ] THIRD_PARTY_APPS = [ "crispy_forms", + "crispy_bootstrap5", "allauth", "allauth.account", "allauth.socialaccount", @@ -208,7 +209,8 @@ TEMPLATES = [ FORM_RENDERER = "django.forms.renderers.TemplatesSetting" # http://django-crispy-forms.readthedocs.io/en/latest/install.html#template-packs -CRISPY_TEMPLATE_PACK = "bootstrap4" +CRISPY_TEMPLATE_PACK = "bootstrap5" +CRISPY_ALLOWED_TEMPLATE_PACKS = "bootstrap5" # FIXTURES # ------------------------------------------------------------------------------ diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 250a903e6..b4aecc741 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -34,6 +34,7 @@ django-environ==0.4.5 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.44.0 # https://github.com/pennersr/django-allauth django-crispy-forms==1.11.2 # https://github.com/django-crispy-forms/django-crispy-forms +crispy-bootstrap5==0.4 # https://github.com/django-crispy-forms/crispy-bootstrap5 {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.4.1 # https://github.com/django-compressor/django-compressor {%- endif %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html index 055904ae9..0bb32c229 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html @@ -66,15 +66,14 @@ window.addEventListener('DOMContentLoaded',function() { const message = "{% trans 'Do you really want to remove the selected e-mail address?' %}"; const actions = document.getElementsByName('action_remove'); if (actions.length) { - actions[0].addEventListener("click", function(e) { + actions[0].addEventListener("click",function(e) { if (!confirm(message)) { e.preventDefault(); } }); } + Array.from(document.getElementsByClassName('form-group')).forEach(x => x.classList.remove('row')); }); - -$('.form-group').removeClass('row'); {% endblock %} {%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html index c36794048..25b99b0a1 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html @@ -8,17 +8,12 @@ - - - {% block css %} {%- endraw %}{% if cookiecutter.custom_bootstrap_compilation == "n" %}{% raw %} - + {%- endraw %}{% endif %}{% raw %} @@ -41,11 +36,8 @@ {%- endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% endcompress %}{% endraw %}{% endif %}{% raw %} {%- endraw %}{% else %}{% raw %} - - - - - + + {%- endraw %}{% endif %}{% raw %} @@ -117,7 +109,13 @@ {% block modal %}{% endblock modal %} {% block inline_javascript %} - {# Script tags with only code, no src (defer by default) #} + {% comment %} + Script tags with only code, no src (defer by default). To run + with a "defer" so that you run run inline code: + + {% endcomment %} {% endblock inline_javascript %} From 7a87b1bd1f906d32b49b490231388ec2c333b996 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Tue, 27 Jul 2021 01:15:22 -0400 Subject: [PATCH 1589/2840] Fix gulp package installation (dropped jQuery) * Add defer Signed-off-by: Andrew-Chen-Wang --- {{cookiecutter.project_slug}}/gulpfile.js | 1 - {{cookiecutter.project_slug}}/package.json | 5 ++--- .../{{cookiecutter.project_slug}}/templates/base.html | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/{{cookiecutter.project_slug}}/gulpfile.js b/{{cookiecutter.project_slug}}/gulpfile.js index 56a08e8fc..31aa420ee 100644 --- a/{{cookiecutter.project_slug}}/gulpfile.js +++ b/{{cookiecutter.project_slug}}/gulpfile.js @@ -32,7 +32,6 @@ function pathsConfig(appName) { {%- if cookiecutter.custom_bootstrap_compilation == 'y' %} bootstrapSass: `${vendorsRoot}/bootstrap/scss`, vendorsJs: [ - `${vendorsRoot}/jquery/dist/jquery.slim.js`, `${vendorsRoot}/popper.js/dist/umd/popper.js`, `${vendorsRoot}/bootstrap/dist/js/bootstrap.js`, ], diff --git a/{{cookiecutter.project_slug}}/package.json b/{{cookiecutter.project_slug}}/package.json index 6edf2e114..9748f90cc 100644 --- a/{{cookiecutter.project_slug}}/package.json +++ b/{{cookiecutter.project_slug}}/package.json @@ -5,10 +5,9 @@ "devDependencies": { {% if cookiecutter.js_task_runner == 'Gulp' -%} {% if cookiecutter.custom_bootstrap_compilation == 'y' -%} - "bootstrap": "4.3.1", + "bootstrap": "5.0.2", "gulp-concat": "^2.6.1", - "jquery": "3.3.1", - "popper.js": "1.14.3", + "popper.js": "2.9.2", {% endif -%} "autoprefixer": "^9.4.7", "browser-sync": "^2.14.0", diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html index 25b99b0a1..6f77754fc 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html @@ -37,7 +37,7 @@ {%- endraw %}{% if cookiecutter.use_compressor == "y" %}{% raw %}{% endcompress %}{% endraw %}{% endif %}{% raw %} {%- endraw %}{% else %}{% raw %} - + {%- endraw %}{% endif %}{% raw %} From 88c487dfbd1613a84c65fa878353eef029ee6ed2 Mon Sep 17 00:00:00 2001 From: Andrew-Chen-Wang Date: Tue, 27 Jul 2021 01:20:30 -0400 Subject: [PATCH 1590/2840] Convert trans to translate in templates Signed-off-by: Andrew-Chen-Wang --- .../templates/account/account_inactive.html | 6 ++--- .../templates/account/email.html | 26 +++++++++---------- .../templates/account/email_confirm.html | 10 +++---- .../templates/account/login.html | 18 ++++++------- .../templates/account/logout.html | 8 +++--- .../templates/account/password_change.html | 6 ++--- .../templates/account/password_reset.html | 10 +++---- .../account/password_reset_done.html | 6 ++--- .../account/password_reset_from_key.html | 10 +++---- .../account/password_reset_from_key_done.html | 6 ++--- .../templates/account/password_set.html | 6 ++--- .../templates/account/signup.html | 8 +++--- .../templates/account/signup_closed.html | 6 ++--- .../templates/account/verification_sent.html | 6 ++--- .../account/verified_email_required.html | 14 +++++----- .../templates/base.html | 8 +++--- 16 files changed, 77 insertions(+), 77 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/account_inactive.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/account_inactive.html index 0713ff110..ab910820e 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/account_inactive.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/account_inactive.html @@ -2,11 +2,11 @@ {% load i18n %} -{% block head_title %}{% trans "Account Inactive" %}{% endblock %} +{% block head_title %}{% translate "Account Inactive" %}{% endblock %} {% block inner %} -

{% trans "Account Inactive" %}

+

{% translate "Account Inactive" %}

-

{% trans "This account is inactive." %}

+

{% translate "This account is inactive." %}

{% endblock %} {%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html index 5c9406f3f..07b5789e6 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/account/email.html @@ -4,13 +4,13 @@ {% load i18n %} {% load crispy_forms_tags %} -{% block head_title %}{% trans "Account" %}{% endblock %} +{% block head_title %}{% translate "Account" %}{% endblock %} {% block inner %} -

{% trans "E-mail Addresses" %}

+

{% translate "E-mail Addresses" %}

{% if user.emailaddress_set.all %} -

{% trans 'The following e-mail addresses are associated with your account:' %}

+

{% translate 'The following e-mail addresses are associated with your account:' %}

{% else %} -

{% trans 'Warning:'%} {% trans "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." %}

+

{% translate 'Warning:'%} {% translate "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." %}

{% endif %} -

{% trans "Add E-mail Address" %}

+

{% translate "Add E-mail Address" %}

{% csrf_token %} {{ form|crispy }} - +
{% endblock %} @@ -63,7 +63,7 @@ {{ block.super }} + {%- endraw %}{% endif %}{% raw %} From 658cf84d310a3a074568487054428d57062f8ced Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sun, 12 Sep 2021 02:15:58 +0000 Subject: [PATCH 1656/2840] Update Changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d3c1b958..ebf651ab2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-09-11] +### Changed +- Removing pycharm docs if app does not use pycharm ([#3139](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3139)) +### Updated +- Update django-environ to 0.7.0 ([#3317](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3317)) + ## [2021-09-06] ### Changed - Update Celery to v5 ([#3280](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3280)) From f7cdb1cc4b7b32f01fdbb5e3da5180aff078ec24 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 12 Sep 2021 15:17:56 -0700 Subject: [PATCH 1657/2840] Update sphinx from 4.1.2 to 4.2.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 9d5b7daf8..cd08220aa 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -20,7 +20,7 @@ pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar # Documentation # ------------------------------------------------------------------------------ -sphinx==4.1.2 # https://github.com/sphinx-doc/sphinx +sphinx==4.2.0 # https://github.com/sphinx-doc/sphinx sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild # Code quality From 78bf26c503badbbc7b1a00903822cf1d5ee74c14 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Sep 2021 05:03:48 +0000 Subject: [PATCH 1658/2840] Bump stefanzweifel/git-auto-commit-action from 4.11.0 to 4.12.0 Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from 4.11.0 to 4.12.0. - [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases) - [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.11.0...v4.12.0) --- updated-dependencies: - dependency-name: stefanzweifel/git-auto-commit-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/update-changelog.yml | 2 +- .github/workflows/update-contributors.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index 6270fe61b..d7a4f4b8b 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -28,7 +28,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.11.0 + uses: stefanzweifel/git-auto-commit-action@v4.12.0 with: commit_message: Update Changelog file_pattern: CHANGELOG.md diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index ebf1c239e..37d95904e 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -24,7 +24,7 @@ jobs: run: python scripts/update_contributors.py - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4.11.0 + uses: stefanzweifel/git-auto-commit-action@v4.12.0 with: commit_message: Update Contributors file_pattern: CONTRIBUTORS.md .github/contributors.json From 212ccc5cadfa32ca5a1e74761cf870d5d0e75078 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 14 Sep 2021 02:13:36 +0000 Subject: [PATCH 1659/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ebf651ab2..900acf0ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-09-13] +### Updated +- Bump stefanzweifel/git-auto-commit-action from 4.11.0 to 4.12.0 ([#3320](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3320)) +- Update sphinx to 4.2.0 ([#3319](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3319)) + ## [2021-09-11] ### Changed - Removing pycharm docs if app does not use pycharm ([#3139](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3139)) From 3f58b12636bdfc837f6f525ce4f0ee8e4feb85d7 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 13 Sep 2021 22:58:21 -0700 Subject: [PATCH 1660/2840] Update black from 21.8b0 to 21.9b0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index cde85f8ff..20c7d2a35 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ -black==21.8b0 +black==21.9b0 isort==5.9.3 flake8==3.9.2 flake8-isort==4.0.0 From d6b96e649081e2d8b4eb2e398fb8476ea154789e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 13 Sep 2021 22:58:22 -0700 Subject: [PATCH 1661/2840] Update black from 21.8b0 to 21.9b0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index cd08220aa..5632f5b21 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -28,7 +28,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild flake8==3.9.2 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort coverage==5.5 # https://github.com/nedbat/coveragepy -black==21.8b0 # https://github.com/psf/black +black==21.9b0 # https://github.com/psf/black pylint-django==2.4.4 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery From 4fd9bd7ed60563a61ef1abc9d94f4a1767b7563b Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 15 Sep 2021 00:05:13 +0000 Subject: [PATCH 1662/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index e397722b3..6f1bdcbc6 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: - id: check-yaml - repo: https://github.com/psf/black - rev: 21.8b0 + rev: 21.9b0 hooks: - id: black From b3c7053da8e135c1ad469e047df3d27fcb959288 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 15 Sep 2021 02:13:18 +0000 Subject: [PATCH 1663/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 900acf0ec..6109e4365 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-09-14] +### Updated +- Update black to 21.9b0 ([#3321](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3321)) + ## [2021-09-13] ### Updated - Bump stefanzweifel/git-auto-commit-action from 4.11.0 to 4.12.0 ([#3320](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3320)) From 925d3aeccdde0244bbf05a96605164599b80a02a Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 16 Sep 2021 02:17:09 +0000 Subject: [PATCH 1664/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6109e4365..79288ee64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-09-15] +### Updated +- Auto-update pre-commit hooks ([#3322](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3322)) + ## [2021-09-14] ### Updated - Update black to 21.9b0 ([#3321](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3321)) From f0802b75d0e205b9729e0bcccf698b442886f8d3 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 16 Sep 2021 14:56:10 -0700 Subject: [PATCH 1665/2840] Update tox from 3.24.3 to 3.24.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 20c7d2a35..d29aab090 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ pre-commit==2.15.0 # Testing # ------------------------------------------------------------------------------ -tox==3.24.3 +tox==3.24.4 pytest==6.2.5 pytest-cookies==0.6.1 pytest-instafail==0.4.2 From 36330ce07146eb4d6a77c84b89f9de57878c131e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 17 Sep 2021 02:17:23 +0000 Subject: [PATCH 1666/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79288ee64..59fcf54e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-09-16] +### Updated +- Update tox to 3.24.4 ([#3323](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3323)) + ## [2021-09-15] ### Updated - Auto-update pre-commit hooks ([#3322](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3322)) From cb6c0edba64e772b82401872a665eace5153a775 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 22 Sep 2021 07:55:35 -0700 Subject: [PATCH 1667/2840] Update sentry-sdk from 1.3.1 to 1.4.0 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 61ca0b970..9ebe1f54f 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.9.1 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==1.3.1 # https://github.com/getsentry/sentry-python +sentry-sdk==1.4.0 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==2.0.0 # https://github.com/redis/hiredis-py From 3a2ecd63b66691f3abc72a37f884f19690980875 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 23 Sep 2021 02:17:22 +0000 Subject: [PATCH 1668/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 59fcf54e8..72e9377b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-09-22] +### Updated +- Update sentry-sdk to 1.4.0 ([#3324](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3324)) + ## [2021-09-16] ### Updated - Update tox to 3.24.4 ([#3323](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3323)) From c93bfaf71aef3ca5d5a5fbaad97e02d2acc1b429 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 23 Sep 2021 07:55:07 -0700 Subject: [PATCH 1669/2840] Update sentry-sdk from 1.4.0 to 1.4.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 9ebe1f54f..1fb2e329a 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.9.1 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==1.4.0 # https://github.com/getsentry/sentry-python +sentry-sdk==1.4.1 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==2.0.0 # https://github.com/redis/hiredis-py From 76aa3b9ab47e6fc9c53eca4d827c04e4c0a9045c Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 24 Sep 2021 02:14:15 +0000 Subject: [PATCH 1670/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 72e9377b4..192dc2c6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-09-23] +### Updated +- Update sentry-sdk to 1.4.1 ([#3325](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3325)) + ## [2021-09-22] ### Updated - Update sentry-sdk to 1.4.0 ([#3324](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3324)) From b4039c837bbcdf6f101c25025b1c329227466d62 Mon Sep 17 00:00:00 2001 From: Manjit Pardeshi Date: Fri, 24 Sep 2021 13:19:08 +0530 Subject: [PATCH 1671/2840] Add django-settings-module to .pylintrc --- {{cookiecutter.project_slug}}/.pylintrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pylintrc b/{{cookiecutter.project_slug}}/.pylintrc index dff52e75b..6f195c6ef 100644 --- a/{{cookiecutter.project_slug}}/.pylintrc +++ b/{{cookiecutter.project_slug}}/.pylintrc @@ -1,6 +1,6 @@ [MASTER] load-plugins=pylint_django{% if cookiecutter.use_celery == "y" %}, pylint_celery{% endif %} - +django-settings-module=config.settings.base [FORMAT] max-line-length=120 From fdb6acbf1eb818de1b2a0e14e707979e518c09f9 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 24 Sep 2021 08:29:35 +0000 Subject: [PATCH 1672/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index de5807e0c..4d3510c79 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1137,5 +1137,10 @@ "name": "Floyd Hightower", "github_login": "fhightower", "twitter_username": "" + }, + { + "name": "Manjit Pardeshi", + "github_login": "Manjit2003", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index b655f8fb9..8b7dd378d 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1104,6 +1104,13 @@ Listed in alphabetical order. flyudvik + + Manjit Pardeshi + + Manjit2003 + + + Martin Blech From dd1c54bde6fac5b6350a4f062f34a2a43b27a5a8 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 25 Sep 2021 02:15:26 +0000 Subject: [PATCH 1673/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 192dc2c6d..3e4fd2f35 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-09-24] +### Changed +- Add django-settings-module to .pylintrc ([#3326](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3326)) + ## [2021-09-23] ### Updated - Update sentry-sdk to 1.4.1 ([#3325](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3325)) From 7c6274186644941d96431429c2e86e5ab93f01b8 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 25 Sep 2021 15:08:23 -0700 Subject: [PATCH 1674/2840] Update django-crispy-forms from 1.12.0 to 1.13.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 726e2d214..fa2152da4 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -33,7 +33,7 @@ django==3.1.13 # pyup: < 3.2 # https://www.djangoproject.com/ django-environ==0.7.0 # https://github.com/joke2k/django-environ django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils django-allauth==0.45.0 # https://github.com/pennersr/django-allauth -django-crispy-forms==1.12.0 # https://github.com/django-crispy-forms/django-crispy-forms +django-crispy-forms==1.13.0 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} django-compressor==2.4.1 # https://github.com/django-compressor/django-compressor {%- endif %} From 1484b8699934b1fcc38f9919bb034c11150aa5b7 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 27 Sep 2021 02:15:09 +0000 Subject: [PATCH 1675/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e4fd2f35..89b7885b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-09-26] +### Updated +- Update django-crispy-forms to 1.13.0 ([#3327](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3327)) + ## [2021-09-24] ### Changed - Add django-settings-module to .pylintrc ([#3326](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3326)) From fa39b8df982af52615c42840bf131a195305f14a Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 27 Sep 2021 14:02:18 -0700 Subject: [PATCH 1676/2840] Update sentry-sdk from 1.4.1 to 1.4.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 1fb2e329a..83ead26c0 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.9.1 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==1.4.1 # https://github.com/getsentry/sentry-python +sentry-sdk==1.4.2 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==2.0.0 # https://github.com/redis/hiredis-py From 287799f4c9b496bbf3da30380d38230f341ef9bf Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 28 Sep 2021 02:15:12 +0000 Subject: [PATCH 1677/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 89b7885b3..d12850e66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-09-27] +### Updated +- Update sentry-sdk to 1.4.2 ([#3329](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3329)) + ## [2021-09-26] ### Updated - Update django-crispy-forms to 1.13.0 ([#3327](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3327)) From 1ac297f8f4e5aba206812120166f9cfd4a28d4c6 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 29 Sep 2021 07:15:05 -0700 Subject: [PATCH 1678/2840] Update django-cors-headers from 3.8.0 to 3.9.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index fa2152da4..ace0938c0 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -41,5 +41,5 @@ django-redis==5.0.0 # https://github.com/jazzband/django-redis {%- if cookiecutter.use_drf == "y" %} # Django REST Framework djangorestframework==3.12.4 # https://github.com/encode/django-rest-framework -django-cors-headers==3.8.0 # https://github.com/adamchainz/django-cors-headers +django-cors-headers==3.9.0 # https://github.com/adamchainz/django-cors-headers {%- endif %} From 3438b5f3d1916fbf2ef25f6a8f7585d284c3d469 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 29 Sep 2021 15:05:49 -0700 Subject: [PATCH 1679/2840] Update sentry-sdk from 1.4.2 to 1.4.3 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 83ead26c0..c6214316e 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.9.1 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==1.4.2 # https://github.com/getsentry/sentry-python +sentry-sdk==1.4.3 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==2.0.0 # https://github.com/redis/hiredis-py From 9a615f4f337e113b437f3a9930acb8d34e76f0e9 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 30 Sep 2021 02:18:36 +0000 Subject: [PATCH 1680/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d12850e66..6948183a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-09-29] +### Updated +- Update django-cors-headers to 3.9.0 ([#3332](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3332)) + ## [2021-09-27] ### Updated - Update sentry-sdk to 1.4.2 ([#3329](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3329)) From 16208c2b1591bf632d71df31f90079dae260c9b0 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 1 Oct 2021 02:19:38 +0000 Subject: [PATCH 1681/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6948183a0..79286a8fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-09-30] +### Updated +- Update sentry-sdk to 1.4.3 ([#3334](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3334)) + ## [2021-09-29] ### Updated - Update django-cors-headers to 3.9.0 ([#3332](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3332)) From 112c29d77bef638d8701f7b35ec1e31760a35e26 Mon Sep 17 00:00:00 2001 From: Meraj <59417175+ichbinmeraj@users.noreply.github.com> Date: Fri, 1 Oct 2021 17:02:07 +0330 Subject: [PATCH 1682/2840] Updated developing-locally-docker.rst changed wrong hyperlink in Prerequisites section --- docs/developing-locally-docker.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/developing-locally-docker.rst b/docs/developing-locally-docker.rst index bdfff2545..72999be31 100644 --- a/docs/developing-locally-docker.rst +++ b/docs/developing-locally-docker.rst @@ -18,7 +18,7 @@ Prerequisites * Docker; if you don't have it yet, follow the `installation instructions`_; * Docker Compose; refer to the official documentation for the `installation guide`_. -* Pre-commit; refer to the official documentation for the `installation guide`_. +* Pre-commit; refer to the official documentation for the [pre-commit](https://pre-commit.com/#install). .. _`installation instructions`: https://docs.docker.com/install/#supported-platforms .. _`installation guide`: https://docs.docker.com/compose/install/ From 847e68994a65fe7e47f7191ec15c218f6b54d69d Mon Sep 17 00:00:00 2001 From: luzfcb Date: Fri, 1 Oct 2021 14:14:33 +0000 Subject: [PATCH 1683/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 4d3510c79..2c68d8441 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1142,5 +1142,10 @@ "name": "Manjit Pardeshi", "github_login": "Manjit2003", "twitter_username": "" + }, + { + "name": "Meraj ", + "github_login": "ichbinmeraj", + "twitter_username": "merajsafari" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 8b7dd378d..43e9d15b7 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1195,6 +1195,13 @@ Listed in alphabetical order. + + Meraj + + ichbinmeraj + + merajsafari + Mesut Yılmaz From 4c167436c6f17c8c4e750935cfa8a71f1c0ccf95 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 2 Oct 2021 02:15:54 +0000 Subject: [PATCH 1684/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79286a8fc..ffe84ebf5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-10-01] +### Changed +- Fix the wrong pre-commit hyperlink in Prerequisites section ([#3338](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3338)) + ## [2021-09-30] ### Updated - Update sentry-sdk to 1.4.3 ([#3334](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3334)) From 674dbb642f57c775b2accb8a70701c30ba16bc32 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 2 Oct 2021 07:12:40 -0700 Subject: [PATCH 1685/2840] Update pytz from 2021.1 to 2021.3 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index ace0938c0..175aea74e 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,4 +1,4 @@ -pytz==2021.1 # https://github.com/stub42/pytz +pytz==2021.3 # https://github.com/stub42/pytz python-slugify==5.0.2 # https://github.com/un33k/python-slugify Pillow==8.3.2 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} From c1484361a75d19da6c0ff2a71cb3d91bf0dbf0b5 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 4 Oct 2021 02:18:22 +0000 Subject: [PATCH 1686/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ffe84ebf5..a922abb3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-10-03] +### Updated +- Update pytz to 2021.3 ([#3340](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3340)) + ## [2021-10-01] ### Changed - Fix the wrong pre-commit hyperlink in Prerequisites section ([#3338](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3338)) From 5ec4ca597a6bc7f9af38386392f24dea69c94b9a Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 5 Oct 2021 00:47:21 -0700 Subject: [PATCH 1687/2840] Update jinja2 from 3.0.1 to 3.0.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index d29aab090..7ba8f8e41 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,4 +21,4 @@ pyyaml==5.4.1 # Scripting # ------------------------------------------------------------------------------ PyGithub==1.55 -jinja2==3.0.1 +jinja2==3.0.2 From d0748bd2ef2e51a57957b25f4c462e371a64f7c8 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 5 Oct 2021 21:07:31 -0700 Subject: [PATCH 1688/2840] Update werkzeug from 1.0.1 to 2.0.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5632f5b21..2871bfa6c 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -1,6 +1,6 @@ -r base.txt -Werkzeug==1.0.1 # https://github.com/pallets/werkzeug +Werkzeug==2.0.2 # https://github.com/pallets/werkzeug ipdb==0.13.9 # https://github.com/gotcha/ipdb {%- if cookiecutter.use_docker == 'y' %} psycopg2==2.9.1 # https://github.com/psycopg/psycopg2 From 8eea74551f882c2f823b6e5c59f3206eeed890c1 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 5 Oct 2021 23:53:27 -0700 Subject: [PATCH 1689/2840] Update django-cors-headers from 3.9.0 to 3.10.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 175aea74e..54b88cf58 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -41,5 +41,5 @@ django-redis==5.0.0 # https://github.com/jazzband/django-redis {%- if cookiecutter.use_drf == "y" %} # Django REST Framework djangorestframework==3.12.4 # https://github.com/encode/django-rest-framework -django-cors-headers==3.9.0 # https://github.com/adamchainz/django-cors-headers +django-cors-headers==3.10.0 # https://github.com/adamchainz/django-cors-headers {%- endif %} From f5b742b6d92519c555472046b77f6344d6749d2b Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 6 Oct 2021 22:32:37 -0700 Subject: [PATCH 1690/2840] Update coverage from 5.5 to 6.0.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5632f5b21..9a3efe128 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -27,7 +27,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild # ------------------------------------------------------------------------------ flake8==3.9.2 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort -coverage==5.5 # https://github.com/nedbat/coveragepy +coverage==6.0.1 # https://github.com/nedbat/coveragepy black==21.9b0 # https://github.com/psf/black pylint-django==2.4.4 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} From 2c1a3edd205248e20966f4668777a8c5a4894635 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 6 Oct 2021 22:32:41 -0700 Subject: [PATCH 1691/2840] Update django-coverage-plugin from 2.0.0 to 2.0.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5632f5b21..1fd305c57 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -41,5 +41,5 @@ factory-boy==3.2.0 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==3.2.2 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.1.3 # https://github.com/django-extensions/django-extensions -django-coverage-plugin==2.0.0 # https://github.com/nedbat/django_coverage_plugin +django-coverage-plugin==2.0.1 # https://github.com/nedbat/django_coverage_plugin pytest-django==4.4.0 # https://github.com/pytest-dev/pytest-django From 3617b8bf2777818e83b2669dc2e9fd6079eeab16 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 11 Oct 2021 14:32:04 -0700 Subject: [PATCH 1692/2840] Update django-storages from 1.11.1 to 1.12.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index c6214316e..c9407383b 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -17,7 +17,7 @@ hiredis==2.0.0 # https://github.com/redis/hiredis-py # Django # ------------------------------------------------------------------------------ {%- if cookiecutter.cloud_provider == 'AWS' %} -django-storages[boto3]==1.11.1 # https://github.com/jschneier/django-storages +django-storages[boto3]==1.12.1 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} django-storages[google]==1.11.1 # https://github.com/jschneier/django-storages {%- endif %} From 4cb6ff08709cc7dcb3b3bb6674e67c1bba1fb291 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 11 Oct 2021 14:32:05 -0700 Subject: [PATCH 1693/2840] Update django-storages from 1.11.1 to 1.12.1 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index c9407383b..3d70a8a4c 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -19,7 +19,7 @@ hiredis==2.0.0 # https://github.com/redis/hiredis-py {%- if cookiecutter.cloud_provider == 'AWS' %} django-storages[boto3]==1.12.1 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} -django-storages[google]==1.11.1 # https://github.com/jschneier/django-storages +django-storages[google]==1.12.1 # https://github.com/jschneier/django-storages {%- endif %} {%- if cookiecutter.mail_service == 'Mailgun' %} django-anymail[mailgun]==8.4 # https://github.com/anymail/django-anymail From e37f2c993d1a6de0a9f00f9553a32f761cde943d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 11 Oct 2021 15:49:24 -0700 Subject: [PATCH 1694/2840] Update coverage from 6.0.1 to 6.0.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index a303ac63b..079ccc965 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -27,7 +27,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild # ------------------------------------------------------------------------------ flake8==3.9.2 # https://github.com/PyCQA/flake8 flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort -coverage==6.0.1 # https://github.com/nedbat/coveragepy +coverage==6.0.2 # https://github.com/nedbat/coveragepy black==21.9b0 # https://github.com/psf/black pylint-django==2.4.4 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} From 00ff825b8c29099294deecdd7539b0a1276690d3 Mon Sep 17 00:00:00 2001 From: Dalton Rardin <8892319+dalrrard@users.noreply.github.com> Date: Sat, 9 Oct 2021 01:09:46 -0500 Subject: [PATCH 1695/2840] Add djangorestframework-stubs Add djangorestframework-stubs to local.txt requirements Modify setup.cfg to add stubs to mypy settings Fix new type error in DRF `./users/api/views.py:19: error: Incompatible type for lookup 'id': (got "Union[AutoField[Union[Combinable, int, str], int], Any]", expected "Union[str, int]")` by asserting that `self.request.user.id` is an int --- {{cookiecutter.project_slug}}/requirements/local.txt | 3 +++ {{cookiecutter.project_slug}}/setup.cfg | 2 +- .../{{cookiecutter.project_slug}}/users/api/views.py | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 5632f5b21..f0c8424cf 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -17,6 +17,9 @@ mypy==0.910 # https://github.com/python/mypy django-stubs==1.8.0 # https://github.com/typeddjango/django-stubs pytest==6.2.5 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar +{%- if cookiecutter.use_drf == "y" %} +djangorestframework-stubs==1.4.0 # https://github.com/typeddjango/djangorestframework-stubs +{%- endif %} # Documentation # ------------------------------------------------------------------------------ diff --git a/{{cookiecutter.project_slug}}/setup.cfg b/{{cookiecutter.project_slug}}/setup.cfg index d0ba6387c..dad64e1fa 100644 --- a/{{cookiecutter.project_slug}}/setup.cfg +++ b/{{cookiecutter.project_slug}}/setup.cfg @@ -24,7 +24,7 @@ ignore_missing_imports = True warn_unused_ignores = True warn_redundant_casts = True warn_unused_configs = True -plugins = mypy_django_plugin.main +plugins = mypy_django_plugin.main{% if cookiecutter.use_drf == "y" %}, mypy_drf_plugin.main{% endif %} [mypy.plugins.django-stubs] django_settings_module = config.settings.test diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py index 288ea7ab2..3d56cf562 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py @@ -16,6 +16,7 @@ class UserViewSet(RetrieveModelMixin, ListModelMixin, UpdateModelMixin, GenericV lookup_field = "username" def get_queryset(self, *args, **kwargs): + assert isinstance(self.request.user.id, int) return self.queryset.filter(id=self.request.user.id) @action(detail=False, methods=["GET"]) From 7e3d6296165cb2468860b86370ed35a0d587ab3d Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 12 Oct 2021 02:17:01 +0000 Subject: [PATCH 1696/2840] Update Changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a922abb3b..1b2cdab48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,15 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-10-11] +### Updated +- Update werkzeug to 2.0.2 ([#3344](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3344)) +- Update coverage to 6.0.1 ([#3348](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3348)) +- Update django-coverage-plugin to 2.0.1 ([#3349](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3349)) +- Update django-cors-headers to 3.10.0 ([#3345](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3345)) +- Update jinja2 to 3.0.2 ([#3343](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3343)) +- Update django-storages to 1.12.1 ([#3355](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3355)) + ## [2021-10-03] ### Updated - Update pytz to 2021.3 ([#3340](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3340)) From f64cb5b0e33e035f6616951480e1725f72e0f423 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 13 Oct 2021 02:18:21 +0000 Subject: [PATCH 1697/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b2cdab48..3000c6270 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-10-12] +### Updated +- Update coverage to 6.0.2 ([#3356](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3356)) + ## [2021-10-11] ### Updated - Update werkzeug to 2.0.2 ([#3344](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3344)) From c4707d190d1c4ea27e144d52b297d9eee8b86605 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 13 Oct 2021 07:29:20 +0000 Subject: [PATCH 1698/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 2c68d8441..36737f343 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1147,5 +1147,10 @@ "name": "Meraj ", "github_login": "ichbinmeraj", "twitter_username": "merajsafari" + }, + { + "name": "dalrrard", + "github_login": "dalrrard", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 43e9d15b7..76c3cb02e 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -502,6 +502,13 @@ Listed in alphabetical order. + + dalrrard + + dalrrard + + + Dan Shultz From 741b8c790eb38b1514ff452e47a1ee86bd0e4093 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 13 Oct 2021 09:10:56 +0100 Subject: [PATCH 1699/2840] Fix pull request URLs in changelog --- .github/changelog-template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/changelog-template.md b/.github/changelog-template.md index 49550ba12..2c0c512f7 100644 --- a/.github/changelog-template.md +++ b/.github/changelog-template.md @@ -3,7 +3,7 @@ {%- if pulls %} ### {{ change_type }} {%- for pull_request in pulls %} -- {{ pull_request.title }} ([#{{ pull_request.number }}]({{ pull_request.url }})) +- {{ pull_request.title }} ([#{{ pull_request.number }}]({{ pull_request.html_url }})) {%- endfor -%} {% endif -%} {% endfor -%} From e8794864a59ebe2346d2c476f7b14c8267e0d5ad Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 13 Oct 2021 09:19:45 +0100 Subject: [PATCH 1700/2840] Fix links in changelog file --- CHANGELOG.md | 738 +++++++++++++++++++++++++-------------------------- 1 file changed, 369 insertions(+), 369 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3000c6270..fdca4664a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,804 +5,804 @@ All enhancements and patches to Cookiecutter Django will be documented in this f ## [2021-10-12] ### Updated -- Update coverage to 6.0.2 ([#3356](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3356)) +- Update coverage to 6.0.2 ([#3356](https://github.com/pydanny/cookiecutter-django/pull/3356)) ## [2021-10-11] ### Updated -- Update werkzeug to 2.0.2 ([#3344](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3344)) -- Update coverage to 6.0.1 ([#3348](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3348)) -- Update django-coverage-plugin to 2.0.1 ([#3349](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3349)) -- Update django-cors-headers to 3.10.0 ([#3345](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3345)) -- Update jinja2 to 3.0.2 ([#3343](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3343)) -- Update django-storages to 1.12.1 ([#3355](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3355)) +- Update werkzeug to 2.0.2 ([#3344](https://github.com/pydanny/cookiecutter-django/pull/3344)) +- Update coverage to 6.0.1 ([#3348](https://github.com/pydanny/cookiecutter-django/pull/3348)) +- Update django-coverage-plugin to 2.0.1 ([#3349](https://github.com/pydanny/cookiecutter-django/pull/3349)) +- Update django-cors-headers to 3.10.0 ([#3345](https://github.com/pydanny/cookiecutter-django/pull/3345)) +- Update jinja2 to 3.0.2 ([#3343](https://github.com/pydanny/cookiecutter-django/pull/3343)) +- Update django-storages to 1.12.1 ([#3355](https://github.com/pydanny/cookiecutter-django/pull/3355)) ## [2021-10-03] ### Updated -- Update pytz to 2021.3 ([#3340](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3340)) +- Update pytz to 2021.3 ([#3340](https://github.com/pydanny/cookiecutter-django/pull/3340)) ## [2021-10-01] ### Changed -- Fix the wrong pre-commit hyperlink in Prerequisites section ([#3338](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3338)) +- Fix the wrong pre-commit hyperlink in Prerequisites section ([#3338](https://github.com/pydanny/cookiecutter-django/pull/3338)) ## [2021-09-30] ### Updated -- Update sentry-sdk to 1.4.3 ([#3334](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3334)) +- Update sentry-sdk to 1.4.3 ([#3334](https://github.com/pydanny/cookiecutter-django/pull/3334)) ## [2021-09-29] ### Updated -- Update django-cors-headers to 3.9.0 ([#3332](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3332)) +- Update django-cors-headers to 3.9.0 ([#3332](https://github.com/pydanny/cookiecutter-django/pull/3332)) ## [2021-09-27] ### Updated -- Update sentry-sdk to 1.4.2 ([#3329](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3329)) +- Update sentry-sdk to 1.4.2 ([#3329](https://github.com/pydanny/cookiecutter-django/pull/3329)) ## [2021-09-26] ### Updated -- Update django-crispy-forms to 1.13.0 ([#3327](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3327)) +- Update django-crispy-forms to 1.13.0 ([#3327](https://github.com/pydanny/cookiecutter-django/pull/3327)) ## [2021-09-24] ### Changed -- Add django-settings-module to .pylintrc ([#3326](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3326)) +- Add django-settings-module to .pylintrc ([#3326](https://github.com/pydanny/cookiecutter-django/pull/3326)) ## [2021-09-23] ### Updated -- Update sentry-sdk to 1.4.1 ([#3325](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3325)) +- Update sentry-sdk to 1.4.1 ([#3325](https://github.com/pydanny/cookiecutter-django/pull/3325)) ## [2021-09-22] ### Updated -- Update sentry-sdk to 1.4.0 ([#3324](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3324)) +- Update sentry-sdk to 1.4.0 ([#3324](https://github.com/pydanny/cookiecutter-django/pull/3324)) ## [2021-09-16] ### Updated -- Update tox to 3.24.4 ([#3323](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3323)) +- Update tox to 3.24.4 ([#3323](https://github.com/pydanny/cookiecutter-django/pull/3323)) ## [2021-09-15] ### Updated -- Auto-update pre-commit hooks ([#3322](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3322)) +- Auto-update pre-commit hooks ([#3322](https://github.com/pydanny/cookiecutter-django/pull/3322)) ## [2021-09-14] ### Updated -- Update black to 21.9b0 ([#3321](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3321)) +- Update black to 21.9b0 ([#3321](https://github.com/pydanny/cookiecutter-django/pull/3321)) ## [2021-09-13] ### Updated -- Bump stefanzweifel/git-auto-commit-action from 4.11.0 to 4.12.0 ([#3320](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3320)) -- Update sphinx to 4.2.0 ([#3319](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3319)) +- Bump stefanzweifel/git-auto-commit-action from 4.11.0 to 4.12.0 ([#3320](https://github.com/pydanny/cookiecutter-django/pull/3320)) +- Update sphinx to 4.2.0 ([#3319](https://github.com/pydanny/cookiecutter-django/pull/3319)) ## [2021-09-11] ### Changed -- Removing pycharm docs if app does not use pycharm ([#3139](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3139)) +- Removing pycharm docs if app does not use pycharm ([#3139](https://github.com/pydanny/cookiecutter-django/pull/3139)) ### Updated -- Update django-environ to 0.7.0 ([#3317](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3317)) +- Update django-environ to 0.7.0 ([#3317](https://github.com/pydanny/cookiecutter-django/pull/3317)) ## [2021-09-06] ### Changed -- Update Celery to v5 ([#3280](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3280)) +- Update Celery to v5 ([#3280](https://github.com/pydanny/cookiecutter-django/pull/3280)) ## [2021-09-05] ### Updated -- Update django-environ to 0.6.0 ([#3314](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3314)) +- Update django-environ to 0.6.0 ([#3314](https://github.com/pydanny/cookiecutter-django/pull/3314)) ## [2021-09-03] ### Changed -- Update available postgres versions ([#3297](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3297)) +- Update available postgres versions ([#3297](https://github.com/pydanny/cookiecutter-django/pull/3297)) ### Updated -- Update pre-commit to 2.15.0 ([#3313](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3313)) -- Auto-update pre-commit hooks ([#3307](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3307)) -- Update pillow to 8.3.2 ([#3312](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3312)) -- Update django-environ to 0.5.0 ([#3311](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3311)) -- Update pytest to 6.2.5 ([#3310](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3310)) -- Update black to 21.8b0 ([#3308](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3308)) -- Update argon2-cffi to 21.1.0 ([#3306](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3306)) -- Bump peter-evans/create-pull-request from 3.10.0 to 3.10.1 ([#3303](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3303)) -- Update django-debug-toolbar to 3.2.2 ([#3296](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3296)) -- Update django-cors-headers to 3.8.0 ([#3295](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3295)) -- Update uvicorn to 0.15.0 ([#3294](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3294)) +- Update pre-commit to 2.15.0 ([#3313](https://github.com/pydanny/cookiecutter-django/pull/3313)) +- Auto-update pre-commit hooks ([#3307](https://github.com/pydanny/cookiecutter-django/pull/3307)) +- Update pillow to 8.3.2 ([#3312](https://github.com/pydanny/cookiecutter-django/pull/3312)) +- Update django-environ to 0.5.0 ([#3311](https://github.com/pydanny/cookiecutter-django/pull/3311)) +- Update pytest to 6.2.5 ([#3310](https://github.com/pydanny/cookiecutter-django/pull/3310)) +- Update black to 21.8b0 ([#3308](https://github.com/pydanny/cookiecutter-django/pull/3308)) +- Update argon2-cffi to 21.1.0 ([#3306](https://github.com/pydanny/cookiecutter-django/pull/3306)) +- Bump peter-evans/create-pull-request from 3.10.0 to 3.10.1 ([#3303](https://github.com/pydanny/cookiecutter-django/pull/3303)) +- Update django-debug-toolbar to 3.2.2 ([#3296](https://github.com/pydanny/cookiecutter-django/pull/3296)) +- Update django-cors-headers to 3.8.0 ([#3295](https://github.com/pydanny/cookiecutter-django/pull/3295)) +- Update uvicorn to 0.15.0 ([#3294](https://github.com/pydanny/cookiecutter-django/pull/3294)) ## [2021-08-27] ### Updated -- Update tox to 3.24.3 ([#3302](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3302)) +- Update tox to 3.24.3 ([#3302](https://github.com/pydanny/cookiecutter-django/pull/3302)) ## [2021-08-20] ### Changed -- Fix Jinja2 break line control on Procfile ([#3300](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3300)) +- Fix Jinja2 break line control on Procfile ([#3300](https://github.com/pydanny/cookiecutter-django/pull/3300)) ## [2021-08-19] ### Changed -- Fix several minor typos ([#3301](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3301)) +- Fix several minor typos ([#3301](https://github.com/pydanny/cookiecutter-django/pull/3301)) ## [2021-08-13] ### Changed -- Upgrade to Redis 6 ([#3255](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3255)) +- Upgrade to Redis 6 ([#3255](https://github.com/pydanny/cookiecutter-django/pull/3255)) ### Fixed -- Fix RTD build image to support Python 3.9 ([#3293](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3293)) +- Fix RTD build image to support Python 3.9 ([#3293](https://github.com/pydanny/cookiecutter-django/pull/3293)) ## [2021-08-12] ### Changed -- Add documentation for automating backups ([#3268](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3268)) -- Add missing step to getting started locally in docs ([#3291](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3291)) -- Moved isort config from `.editorconfig` to `setup.cfg` ([#3290](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3290)) -- How to pre-commit in Docker Development ([#3287](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3287)) +- Add documentation for automating backups ([#3268](https://github.com/pydanny/cookiecutter-django/pull/3268)) +- Add missing step to getting started locally in docs ([#3291](https://github.com/pydanny/cookiecutter-django/pull/3291)) +- Moved isort config from `.editorconfig` to `setup.cfg` ([#3290](https://github.com/pydanny/cookiecutter-django/pull/3290)) +- How to pre-commit in Docker Development ([#3287](https://github.com/pydanny/cookiecutter-django/pull/3287)) ### Updated -- Update sentry-sdk to 1.3.1 ([#3281](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3281)) -- Update tox to 3.24.1 ([#3285](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3285)) -- Update pre-commit to 2.14.0 ([#3289](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3289)) +- Update sentry-sdk to 1.3.1 ([#3281](https://github.com/pydanny/cookiecutter-django/pull/3281)) +- Update tox to 3.24.1 ([#3285](https://github.com/pydanny/cookiecutter-django/pull/3285)) +- Update pre-commit to 2.14.0 ([#3289](https://github.com/pydanny/cookiecutter-django/pull/3289)) ## [2021-07-30] ### Updated -- Auto-update pre-commit hooks ([#3283](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3283)) -- Update isort to 5.9.3 ([#3282](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3282)) +- Auto-update pre-commit hooks ([#3283](https://github.com/pydanny/cookiecutter-django/pull/3283)) +- Update isort to 5.9.3 ([#3282](https://github.com/pydanny/cookiecutter-django/pull/3282)) ## [2021-07-27] ### Changed -- Convert trans to translate in templates ([#3277](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3277)) +- Convert trans to translate in templates ([#3277](https://github.com/pydanny/cookiecutter-django/pull/3277)) ### Updated -- Update hiredis to 2.0.0 ([#3110](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3110)) -- Update mypy to 0.910 ([#3237](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3237)) -- Update whitenoise to 5.3.0 ([#3273](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3273)) -- Update tox to 3.24.0 ([#3269](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3269)) -- Update django-allauth to 0.45.0 ([#3267](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3267)) -- Update sentry-sdk to 1.3.0 ([#3262](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3262)) -- Update sphinx to 4.1.2 ([#3278](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3278)) -- Auto-update pre-commit hooks ([#3264](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3264)) -- Update isort to 5.9.2 ([#3279](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3279)) -- Update pillow to 8.3.1 ([#3259](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3259)) -- Update black to 21.7b0 ([#3272](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3272)) +- Update hiredis to 2.0.0 ([#3110](https://github.com/pydanny/cookiecutter-django/pull/3110)) +- Update mypy to 0.910 ([#3237](https://github.com/pydanny/cookiecutter-django/pull/3237)) +- Update whitenoise to 5.3.0 ([#3273](https://github.com/pydanny/cookiecutter-django/pull/3273)) +- Update tox to 3.24.0 ([#3269](https://github.com/pydanny/cookiecutter-django/pull/3269)) +- Update django-allauth to 0.45.0 ([#3267](https://github.com/pydanny/cookiecutter-django/pull/3267)) +- Update sentry-sdk to 1.3.0 ([#3262](https://github.com/pydanny/cookiecutter-django/pull/3262)) +- Update sphinx to 4.1.2 ([#3278](https://github.com/pydanny/cookiecutter-django/pull/3278)) +- Auto-update pre-commit hooks ([#3264](https://github.com/pydanny/cookiecutter-django/pull/3264)) +- Update isort to 5.9.2 ([#3279](https://github.com/pydanny/cookiecutter-django/pull/3279)) +- Update pillow to 8.3.1 ([#3259](https://github.com/pydanny/cookiecutter-django/pull/3259)) +- Update black to 21.7b0 ([#3272](https://github.com/pydanny/cookiecutter-django/pull/3272)) ## [2021-07-12] ### Changed -- Define REMAP_SIGTERM=SIGQUIT on Profile of Celery on Heroku ([#3263](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3263)) +- Define REMAP_SIGTERM=SIGQUIT on Profile of Celery on Heroku ([#3263](https://github.com/pydanny/cookiecutter-django/pull/3263)) ## [2021-07-08] ### Updated -- Update django to 3.1.13 ([#3247](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3247)) +- Update django to 3.1.13 ([#3247](https://github.com/pydanny/cookiecutter-django/pull/3247)) ## [2021-06-29] ### Changed -- Improve github bug report template ([#3243](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3243)) +- Improve github bug report template ([#3243](https://github.com/pydanny/cookiecutter-django/pull/3243)) ## [2021-06-28] ### Changed -- Revert "Fix Celery ports error on local Docker" ([#3242](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3242)) +- Revert "Fix Celery ports error on local Docker" ([#3242](https://github.com/pydanny/cookiecutter-django/pull/3242)) ### Fixed -- Fix Celery ports error on local Docker ([#3241](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3241)) +- Fix Celery ports error on local Docker ([#3241](https://github.com/pydanny/cookiecutter-django/pull/3241)) ## [2021-06-25] ### Changed -- Update `.gitignore` file for VSCode ([#3238](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3238)) +- Update `.gitignore` file for VSCode ([#3238](https://github.com/pydanny/cookiecutter-django/pull/3238)) ### Fixed -- Wrap jQuery call in `DOMContentLoaded` event listener on account email page ([#3239](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3239)) +- Wrap jQuery call in `DOMContentLoaded` event listener on account email page ([#3239](https://github.com/pydanny/cookiecutter-django/pull/3239)) ## [2021-06-22] ### Changed -- Update docs/howto.rst ([#3230](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3230)) -- Add support for PG 13. Drop PG 9. Update all minor versions ([#3154](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3154)) +- Update docs/howto.rst ([#3230](https://github.com/pydanny/cookiecutter-django/pull/3230)) +- Add support for PG 13. Drop PG 9. Update all minor versions ([#3154](https://github.com/pydanny/cookiecutter-django/pull/3154)) ### Updated -- Update isort to 5.9.1 ([#3236](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3236)) -- Auto-update pre-commit hooks ([#3235](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3235)) +- Update isort to 5.9.1 ([#3236](https://github.com/pydanny/cookiecutter-django/pull/3236)) +- Auto-update pre-commit hooks ([#3235](https://github.com/pydanny/cookiecutter-django/pull/3235)) ## [2021-06-21] ### Updated -- Update isort to 5.9.0 ([#3234](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3234)) -- Update django-anymail to 8.4 ([#3225](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3225)) -- Update django-redis to 5.0.0 ([#3205](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3205)) -- Update pylint-django to 2.4.4 ([#3233](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3233)) -- Auto-update pre-commit hooks ([#3220](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3220)) -- Bump peter-evans/create-pull-request from 3.9.2 to 3.10.0 ([#3197](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3197)) -- Update black to 21.6b0 ([#3232](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3232)) -- Update pytest to 6.2.4 ([#3231](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3231)) -- Update django-crispy-forms to 1.12.0 ([#3221](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3221)) -- Update mypy to 0.902 ([#3219](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3219)) -- Update django-coverage-plugin to 2.0.0 ([#3217](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3217)) -- Update ipdb to 0.13.9 ([#3210](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3210)) -- Update uvicorn to 0.14.0 ([#3207](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3207)) -- Update pytest-cookies to 0.6.1 ([#3196](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3196)) -- Update sphinx to 4.0.2 ([#3193](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3193)) -- Update jinja2 to 3.0.1 ([#3189](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3189)) +- Update isort to 5.9.0 ([#3234](https://github.com/pydanny/cookiecutter-django/pull/3234)) +- Update django-anymail to 8.4 ([#3225](https://github.com/pydanny/cookiecutter-django/pull/3225)) +- Update django-redis to 5.0.0 ([#3205](https://github.com/pydanny/cookiecutter-django/pull/3205)) +- Update pylint-django to 2.4.4 ([#3233](https://github.com/pydanny/cookiecutter-django/pull/3233)) +- Auto-update pre-commit hooks ([#3220](https://github.com/pydanny/cookiecutter-django/pull/3220)) +- Bump peter-evans/create-pull-request from 3.9.2 to 3.10.0 ([#3197](https://github.com/pydanny/cookiecutter-django/pull/3197)) +- Update black to 21.6b0 ([#3232](https://github.com/pydanny/cookiecutter-django/pull/3232)) +- Update pytest to 6.2.4 ([#3231](https://github.com/pydanny/cookiecutter-django/pull/3231)) +- Update django-crispy-forms to 1.12.0 ([#3221](https://github.com/pydanny/cookiecutter-django/pull/3221)) +- Update mypy to 0.902 ([#3219](https://github.com/pydanny/cookiecutter-django/pull/3219)) +- Update django-coverage-plugin to 2.0.0 ([#3217](https://github.com/pydanny/cookiecutter-django/pull/3217)) +- Update ipdb to 0.13.9 ([#3210](https://github.com/pydanny/cookiecutter-django/pull/3210)) +- Update uvicorn to 0.14.0 ([#3207](https://github.com/pydanny/cookiecutter-django/pull/3207)) +- Update pytest-cookies to 0.6.1 ([#3196](https://github.com/pydanny/cookiecutter-django/pull/3196)) +- Update sphinx to 4.0.2 ([#3193](https://github.com/pydanny/cookiecutter-django/pull/3193)) +- Update jinja2 to 3.0.1 ([#3189](https://github.com/pydanny/cookiecutter-django/pull/3189)) ## [2021-06-19] ### Updated -- Update psycopg2 to 2.9.1 ([#3227](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3227)) -- Update psycopg2-binary to 2.9.1 ([#3228](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3228)) +- Update psycopg2 to 2.9.1 ([#3227](https://github.com/pydanny/cookiecutter-django/pull/3227)) +- Update psycopg2-binary to 2.9.1 ([#3228](https://github.com/pydanny/cookiecutter-django/pull/3228)) ## [2021-06-14] ### Changed -- Update black GitHub link in requirements ([#3222](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3222)) +- Update black GitHub link in requirements ([#3222](https://github.com/pydanny/cookiecutter-django/pull/3222)) ## [2021-06-09] ### Changed -- Fix link format in developing-locally.rst ([#3214](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3214)) +- Fix link format in developing-locally.rst ([#3214](https://github.com/pydanny/cookiecutter-django/pull/3214)) ### Updated -- Update pre-commit to 2.13.0 ([#3195](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3195)) -- Update pytest-django to 4.4.0 ([#3212](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3212)) -- Update mypy to 0.901 ([#3215](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3215)) -- Auto-update pre-commit hooks ([#3206](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3206)) -- Update black to 21.5b2 ([#3204](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3204)) +- Update pre-commit to 2.13.0 ([#3195](https://github.com/pydanny/cookiecutter-django/pull/3195)) +- Update pytest-django to 4.4.0 ([#3212](https://github.com/pydanny/cookiecutter-django/pull/3212)) +- Update mypy to 0.901 ([#3215](https://github.com/pydanny/cookiecutter-django/pull/3215)) +- Auto-update pre-commit hooks ([#3206](https://github.com/pydanny/cookiecutter-django/pull/3206)) +- Update black to 21.5b2 ([#3204](https://github.com/pydanny/cookiecutter-django/pull/3204)) ## [2021-06-06] ### Changed -- Updated .pre-commit-config.yaml to self-update its dependencies ([#3208](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3208)) +- Updated .pre-commit-config.yaml to self-update its dependencies ([#3208](https://github.com/pydanny/cookiecutter-django/pull/3208)) ## [2021-06-05] ### Changed -- Shorthand for the officially supported buildpack ([#3211](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3211)) +- Shorthand for the officially supported buildpack ([#3211](https://github.com/pydanny/cookiecutter-django/pull/3211)) ## [2021-06-02] ### Updated -- Update django to 3.1.12 ([#3209](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3209)) +- Update django to 3.1.12 ([#3209](https://github.com/pydanny/cookiecutter-django/pull/3209)) ## [2021-05-18] ### Changed -- Move ARG PYTHON_VERSION=3.9-slim-buster to the global scope ([#3188](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3188)) +- Move ARG PYTHON_VERSION=3.9-slim-buster to the global scope ([#3188](https://github.com/pydanny/cookiecutter-django/pull/3188)) ## [2021-05-17] ### Updated -- Bump tiangolo/issue-manager from 0.3.0 to 0.4.0 ([#3186](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3186)) -- Auto-update pre-commit hooks ([#3185](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3185)) +- Bump tiangolo/issue-manager from 0.3.0 to 0.4.0 ([#3186](https://github.com/pydanny/cookiecutter-django/pull/3186)) +- Auto-update pre-commit hooks ([#3185](https://github.com/pydanny/cookiecutter-django/pull/3185)) ## [2021-05-15] ### Changed -- Update watchgod to 0.7 ([#3177](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3177)) +- Update watchgod to 0.7 ([#3177](https://github.com/pydanny/cookiecutter-django/pull/3177)) ### Updated -- Auto-update pre-commit hooks ([#3184](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3184)) -- Update black to 21.5b1 ([#3167](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3167)) -- Update flake8 to 3.9.2 ([#3164](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3164)) -- Update pytest-django to 4.3.0 ([#3182](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3182)) -- Auto-update pre-commit hooks ([#3157](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3157)) -- Update python-slugify to 5.0.2 ([#3161](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3161)) -- Bump stefanzweifel/git-auto-commit-action from 4.10.0 to 4.11.0 ([#3171](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3171)) -- Update sentry-sdk to 1.1.0 ([#3163](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3163)) -- Bump actions/setup-python from 2 to 2.2.2 ([#3173](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3173)) -- Update tox to 3.23.1 ([#3160](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3160)) -- Update pytest to 6.2.4 ([#3156](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3156)) -- Bump peter-evans/create-pull-request from 3.8.2 to 3.9.2 ([#3179](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3179)) -- Update sphinx to 4.0.1 ([#3169](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3169)) -- Update cookiecutter to 1.7.3 ([#3180](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3180)) -- Update django to 3.1.11 ([#3178](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3178)) +- Auto-update pre-commit hooks ([#3184](https://github.com/pydanny/cookiecutter-django/pull/3184)) +- Update black to 21.5b1 ([#3167](https://github.com/pydanny/cookiecutter-django/pull/3167)) +- Update flake8 to 3.9.2 ([#3164](https://github.com/pydanny/cookiecutter-django/pull/3164)) +- Update pytest-django to 4.3.0 ([#3182](https://github.com/pydanny/cookiecutter-django/pull/3182)) +- Auto-update pre-commit hooks ([#3157](https://github.com/pydanny/cookiecutter-django/pull/3157)) +- Update python-slugify to 5.0.2 ([#3161](https://github.com/pydanny/cookiecutter-django/pull/3161)) +- Bump stefanzweifel/git-auto-commit-action from 4.10.0 to 4.11.0 ([#3171](https://github.com/pydanny/cookiecutter-django/pull/3171)) +- Update sentry-sdk to 1.1.0 ([#3163](https://github.com/pydanny/cookiecutter-django/pull/3163)) +- Bump actions/setup-python from 2 to 2.2.2 ([#3173](https://github.com/pydanny/cookiecutter-django/pull/3173)) +- Update tox to 3.23.1 ([#3160](https://github.com/pydanny/cookiecutter-django/pull/3160)) +- Update pytest to 6.2.4 ([#3156](https://github.com/pydanny/cookiecutter-django/pull/3156)) +- Bump peter-evans/create-pull-request from 3.8.2 to 3.9.2 ([#3179](https://github.com/pydanny/cookiecutter-django/pull/3179)) +- Update sphinx to 4.0.1 ([#3169](https://github.com/pydanny/cookiecutter-django/pull/3169)) +- Update cookiecutter to 1.7.3 ([#3180](https://github.com/pydanny/cookiecutter-django/pull/3180)) +- Update django to 3.1.11 ([#3178](https://github.com/pydanny/cookiecutter-django/pull/3178)) ## [2021-05-06] ### Updated -- Update django to 3.1.10 ([#3162](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3162)) +- Update django to 3.1.10 ([#3162](https://github.com/pydanny/cookiecutter-django/pull/3162)) ## [2021-05-04] ### Updated -- Update django to 3.1.9 ([#3155](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3155)) +- Update django to 3.1.9 ([#3155](https://github.com/pydanny/cookiecutter-django/pull/3155)) ## [2021-04-30] ### Fixed -- Fix linting error in production.py ([#3148](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3148)) +- Fix linting error in production.py ([#3148](https://github.com/pydanny/cookiecutter-django/pull/3148)) ## [2021-04-29] ### Updated -- Update black to 21.4b2 ([#3147](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3147)) -- Auto-update pre-commit hooks ([#3146](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3146)) +- Update black to 21.4b2 ([#3147](https://github.com/pydanny/cookiecutter-django/pull/3147)) +- Auto-update pre-commit hooks ([#3146](https://github.com/pydanny/cookiecutter-django/pull/3146)) ## [2021-04-28] ### Changed -- Fix README link ([#3144](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3144)) +- Fix README link ([#3144](https://github.com/pydanny/cookiecutter-django/pull/3144)) ### Updated -- Auto-update pre-commit hooks ([#3145](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3145)) +- Auto-update pre-commit hooks ([#3145](https://github.com/pydanny/cookiecutter-django/pull/3145)) ## [2021-04-27] ### Updated -- Update pygithub to 1.55 ([#3141](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3141)) -- Update black to 21.4b1 ([#3143](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3143)) +- Update pygithub to 1.55 ([#3141](https://github.com/pydanny/cookiecutter-django/pull/3141)) +- Update black to 21.4b1 ([#3143](https://github.com/pydanny/cookiecutter-django/pull/3143)) ## [2021-04-26] ### Updated -- Update black to 21.4b0 ([#3138](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3138)) -- Auto-update pre-commit hooks ([#3137](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3137)) +- Update black to 21.4b0 ([#3138](https://github.com/pydanny/cookiecutter-django/pull/3138)) +- Auto-update pre-commit hooks ([#3137](https://github.com/pydanny/cookiecutter-django/pull/3137)) ## [2021-04-21] ### Updated -- Auto-update pre-commit hooks ([#3133](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3133)) -- Update django-extensions to 3.1.3 ([#3136](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3136)) -- Update django-compressor to 2.4.1 ([#3135](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3135)) -- Update pre-commit to 2.12.1 ([#3134](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3134)) -- Update flake8 to 3.9.1 ([#3131](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3131)) -- Update django-stubs to 1.8.0 ([#3127](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3127)) -- Update sphinx to 3.5.4 ([#3126](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3126)) +- Auto-update pre-commit hooks ([#3133](https://github.com/pydanny/cookiecutter-django/pull/3133)) +- Update django-extensions to 3.1.3 ([#3136](https://github.com/pydanny/cookiecutter-django/pull/3136)) +- Update django-compressor to 2.4.1 ([#3135](https://github.com/pydanny/cookiecutter-django/pull/3135)) +- Update pre-commit to 2.12.1 ([#3134](https://github.com/pydanny/cookiecutter-django/pull/3134)) +- Update flake8 to 3.9.1 ([#3131](https://github.com/pydanny/cookiecutter-django/pull/3131)) +- Update django-stubs to 1.8.0 ([#3127](https://github.com/pydanny/cookiecutter-django/pull/3127)) +- Update sphinx to 3.5.4 ([#3126](https://github.com/pydanny/cookiecutter-django/pull/3126)) ## [2021-04-15] ### Updated -- Update django-debug-toolbar to 3.2.1 ([#3129](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3129)) +- Update django-debug-toolbar to 3.2.1 ([#3129](https://github.com/pydanny/cookiecutter-django/pull/3129)) ## [2021-04-14] ### Updated -- Bump stefanzweifel/git-auto-commit-action from v4.9.2 to v4.10.0 ([#3128](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3128)) +- Bump stefanzweifel/git-auto-commit-action from v4.9.2 to v4.10.0 ([#3128](https://github.com/pydanny/cookiecutter-django/pull/3128)) ## [2021-04-11] ### Updated -- Update pytest-django to 4.2.0 ([#3125](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3125)) -- Update pylint-django to 2.4.3 ([#3122](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3122)) +- Update pytest-django to 4.2.0 ([#3125](https://github.com/pydanny/cookiecutter-django/pull/3125)) +- Update pylint-django to 2.4.3 ([#3122](https://github.com/pydanny/cookiecutter-django/pull/3122)) ## [2021-04-09] ### Changed -- Update from Python 3.8 to Python 3.9 ([#3023](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3023)) +- Update from Python 3.8 to Python 3.9 ([#3023](https://github.com/pydanny/cookiecutter-django/pull/3023)) ## [2021-04-08] ### Changed -- Switch .dockerignore to explicit list ([#3121](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3121)) -- Change Docker image to multi-stage build for Django ([#2815](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2815)) -- Fix deprecated warning in middleware tests ([#3038](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3038)) +- Switch .dockerignore to explicit list ([#3121](https://github.com/pydanny/cookiecutter-django/pull/3121)) +- Change Docker image to multi-stage build for Django ([#2815](https://github.com/pydanny/cookiecutter-django/pull/2815)) +- Fix deprecated warning in middleware tests ([#3038](https://github.com/pydanny/cookiecutter-django/pull/3038)) ### Updated -- Update pre-commit to 2.12.0 ([#3120](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3120)) +- Update pre-commit to 2.12.0 ([#3120](https://github.com/pydanny/cookiecutter-django/pull/3120)) ## [2021-04-07] ### Changed -- Update django to 3.1.8 ([#3117](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3117)) +- Update django to 3.1.8 ([#3117](https://github.com/pydanny/cookiecutter-django/pull/3117)) ### Fixed -- Fix linting via pre-commit on Github CI ([#3077](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3077)) -- Fix gitlab-ci using duplicate key name for image ([#3112](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3112)) +- Fix linting via pre-commit on Github CI ([#3077](https://github.com/pydanny/cookiecutter-django/pull/3077)) +- Fix gitlab-ci using duplicate key name for image ([#3112](https://github.com/pydanny/cookiecutter-django/pull/3112)) ### Updated -- Update sentry-sdk to 1.0.0 ([#3080](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3080)) -- Update gunicorn to 20.1.0 ([#3108](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3108)) -- Update pre-commit to 2.12.0 ([#3118](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3118)) -- Update django-extensions to 3.1.2 ([#3116](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3116)) -- Update pillow to 8.2.0 ([#3113](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3113)) -- Update pytest to 6.2.3 ([#3115](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3115)) +- Update sentry-sdk to 1.0.0 ([#3080](https://github.com/pydanny/cookiecutter-django/pull/3080)) +- Update gunicorn to 20.1.0 ([#3108](https://github.com/pydanny/cookiecutter-django/pull/3108)) +- Update pre-commit to 2.12.0 ([#3118](https://github.com/pydanny/cookiecutter-django/pull/3118)) +- Update django-extensions to 3.1.2 ([#3116](https://github.com/pydanny/cookiecutter-django/pull/3116)) +- Update pillow to 8.2.0 ([#3113](https://github.com/pydanny/cookiecutter-django/pull/3113)) +- Update pytest to 6.2.3 ([#3115](https://github.com/pydanny/cookiecutter-django/pull/3115)) ## [2021-03-26] ### Updated -- Update djangorestframework to 3.12.4 ([#3107](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3107)) +- Update djangorestframework to 3.12.4 ([#3107](https://github.com/pydanny/cookiecutter-django/pull/3107)) ## [2021-03-25] ### Updated -- Update djangorestframework to 3.12.3 ([#3105](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3105)) +- Update djangorestframework to 3.12.3 ([#3105](https://github.com/pydanny/cookiecutter-django/pull/3105)) ## [2021-03-22] ### Updated -- Update django-crispy-forms to 1.11.2 ([#3104](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3104)) -- Update sphinx to 3.5.3 ([#3103](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3103)) -- Update ipdb to 0.13.7 ([#3102](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3102)) -- Update sphinx-autobuild to 2021.3.14 ([#3101](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3101)) -- Update isort to 5.8.0 ([#3100](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3100)) -- Update pre-commit to 2.11.1 ([#3089](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3089)) -- Update flake8 to 3.9.0 ([#3096](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3096)) -- Update pillow to 8.1.2 ([#3084](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3084)) -- Auto-update pre-commit hooks ([#3095](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3095)) +- Update django-crispy-forms to 1.11.2 ([#3104](https://github.com/pydanny/cookiecutter-django/pull/3104)) +- Update sphinx to 3.5.3 ([#3103](https://github.com/pydanny/cookiecutter-django/pull/3103)) +- Update ipdb to 0.13.7 ([#3102](https://github.com/pydanny/cookiecutter-django/pull/3102)) +- Update sphinx-autobuild to 2021.3.14 ([#3101](https://github.com/pydanny/cookiecutter-django/pull/3101)) +- Update isort to 5.8.0 ([#3100](https://github.com/pydanny/cookiecutter-django/pull/3100)) +- Update pre-commit to 2.11.1 ([#3089](https://github.com/pydanny/cookiecutter-django/pull/3089)) +- Update flake8 to 3.9.0 ([#3096](https://github.com/pydanny/cookiecutter-django/pull/3096)) +- Update pillow to 8.1.2 ([#3084](https://github.com/pydanny/cookiecutter-django/pull/3084)) +- Auto-update pre-commit hooks ([#3095](https://github.com/pydanny/cookiecutter-django/pull/3095)) ## [2021-03-05] ### Changed -- Updated test_urls.py and views.py to re-use User.get_absolute_url() ([#3070](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3070)) +- Updated test_urls.py and views.py to re-use User.get_absolute_url() ([#3070](https://github.com/pydanny/cookiecutter-django/pull/3070)) ### Updated -- Bump stefanzweifel/git-auto-commit-action from v4.9.1 to v4.9.2 ([#3082](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3082)) +- Bump stefanzweifel/git-auto-commit-action from v4.9.1 to v4.9.2 ([#3082](https://github.com/pydanny/cookiecutter-django/pull/3082)) ## [2021-03-03] ### Updated -- Update tox to 3.23.0 ([#3079](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3079)) -- Update ipdb to 0.13.5 ([#3078](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3078)) +- Update tox to 3.23.0 ([#3079](https://github.com/pydanny/cookiecutter-django/pull/3079)) +- Update ipdb to 0.13.5 ([#3078](https://github.com/pydanny/cookiecutter-django/pull/3078)) ## [2021-03-02] ### Fixed -- Fixes for pytest job in Github CI workflow ([#3076](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3076)) +- Fixes for pytest job in Github CI workflow ([#3076](https://github.com/pydanny/cookiecutter-django/pull/3076)) ### Updated -- Update pillow to 8.1.1 ([#3075](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3075)) -- Update coverage to 5.5 ([#3074](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3074)) +- Update pillow to 8.1.1 ([#3075](https://github.com/pydanny/cookiecutter-django/pull/3075)) +- Update coverage to 5.5 ([#3074](https://github.com/pydanny/cookiecutter-django/pull/3074)) ## [2021-02-24] ### Updated -- Bump stefanzweifel/git-auto-commit-action from v4.9.0 to v4.9.1 ([#3069](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3069)) +- Bump stefanzweifel/git-auto-commit-action from v4.9.0 to v4.9.1 ([#3069](https://github.com/pydanny/cookiecutter-django/pull/3069)) ## [2021-02-23] ### Changed -- Update to Django 3.1 ([#3043](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3043)) -- Lint with pre-commit on CI with Github actions ([#3066](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3066)) -- Use exception var in status code pages if available ([#2992](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2992)) +- Update to Django 3.1 ([#3043](https://github.com/pydanny/cookiecutter-django/pull/3043)) +- Lint with pre-commit on CI with Github actions ([#3066](https://github.com/pydanny/cookiecutter-django/pull/3066)) +- Use exception var in status code pages if available ([#2992](https://github.com/pydanny/cookiecutter-django/pull/2992)) ## [2021-02-22] ### Changed -- refactor: remove default cache settings in test.py ([#3064](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3064)) -- Update django to 3.0.13 ([#3060](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3060)) +- refactor: remove default cache settings in test.py ([#3064](https://github.com/pydanny/cookiecutter-django/pull/3064)) +- Update django to 3.0.13 ([#3060](https://github.com/pydanny/cookiecutter-django/pull/3060)) ### Fixed -- Fix missing Django Debug toolbar with node container ([#2865](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2865)) -- Remove Email from User API ([#3055](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3055)) +- Fix missing Django Debug toolbar with node container ([#2865](https://github.com/pydanny/cookiecutter-django/pull/2865)) +- Remove Email from User API ([#3055](https://github.com/pydanny/cookiecutter-django/pull/3055)) ### Updated -- Bump stefanzweifel/git-auto-commit-action from v4.8.0 to v4.9.0 ([#3065](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3065)) -- Update django-crispy-forms to 1.11.1 ([#3063](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3063)) -- Update uvicorn to 0.13.4 ([#3062](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3062)) -- Update mypy to 0.812 ([#3061](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3061)) -- Update sentry-sdk to 0.20.3 ([#3059](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3059)) -- Update tox to 3.22.0 ([#3057](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3057)) -- Update sphinx to 3.5.1 ([#3056](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3056)) +- Bump stefanzweifel/git-auto-commit-action from v4.8.0 to v4.9.0 ([#3065](https://github.com/pydanny/cookiecutter-django/pull/3065)) +- Update django-crispy-forms to 1.11.1 ([#3063](https://github.com/pydanny/cookiecutter-django/pull/3063)) +- Update uvicorn to 0.13.4 ([#3062](https://github.com/pydanny/cookiecutter-django/pull/3062)) +- Update mypy to 0.812 ([#3061](https://github.com/pydanny/cookiecutter-django/pull/3061)) +- Update sentry-sdk to 0.20.3 ([#3059](https://github.com/pydanny/cookiecutter-django/pull/3059)) +- Update tox to 3.22.0 ([#3057](https://github.com/pydanny/cookiecutter-django/pull/3057)) +- Update sphinx to 3.5.1 ([#3056](https://github.com/pydanny/cookiecutter-django/pull/3056)) ## [2021-02-16] ### Updated -- Update sentry-sdk to 0.20.2 ([#3054](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3054)) -- Update sphinx to 3.5.0 ([#3053](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3053)) +- Update sentry-sdk to 0.20.2 ([#3054](https://github.com/pydanny/cookiecutter-django/pull/3054)) +- Update sphinx to 3.5.0 ([#3053](https://github.com/pydanny/cookiecutter-django/pull/3053)) ## [2021-02-13] ### Updated -- Update sentry-sdk to 0.20.1 ([#3052](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3052)) +- Update sentry-sdk to 0.20.1 ([#3052](https://github.com/pydanny/cookiecutter-django/pull/3052)) ## [2021-02-12] ### Updated -- Update pre-commit to 2.10.1 ([#3045](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3045)) -- Update sentry-sdk to 0.20.0 ([#3051](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3051)) +- Update pre-commit to 2.10.1 ([#3045](https://github.com/pydanny/cookiecutter-django/pull/3045)) +- Update sentry-sdk to 0.20.0 ([#3051](https://github.com/pydanny/cookiecutter-django/pull/3051)) ## [2021-02-10] ### Updated -- Bump peter-evans/create-pull-request from v3.8.1 to v3.8.2 ([#3049](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3049)) +- Bump peter-evans/create-pull-request from v3.8.1 to v3.8.2 ([#3049](https://github.com/pydanny/cookiecutter-django/pull/3049)) ## [2021-02-08] ### Updated -- Update django-extensions to 3.1.1 ([#3047](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3047)) -- Bump peter-evans/create-pull-request from v3.8.0 to v3.8.1 ([#3046](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3046)) +- Update django-extensions to 3.1.1 ([#3047](https://github.com/pydanny/cookiecutter-django/pull/3047)) +- Bump peter-evans/create-pull-request from v3.8.0 to v3.8.1 ([#3046](https://github.com/pydanny/cookiecutter-django/pull/3046)) ## [2021-02-06] ### Changed -- Removed Redundant test_case_sensitivity() and made test_not_authenticated() get the LOGIN_URL dynamically. ([#3041](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3041)) -- Refactored users.forms to make the code more readeable ([#3029](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3029)) -- Update django to 3.0.12 ([#3037](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3037)) +- Removed Redundant test_case_sensitivity() and made test_not_authenticated() get the LOGIN_URL dynamically. ([#3041](https://github.com/pydanny/cookiecutter-django/pull/3041)) +- Refactored users.forms to make the code more readeable ([#3029](https://github.com/pydanny/cookiecutter-django/pull/3029)) +- Update django to 3.0.12 ([#3037](https://github.com/pydanny/cookiecutter-django/pull/3037)) ### Updated -- Update tox to 3.21.4 ([#3044](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3044)) +- Update tox to 3.21.4 ([#3044](https://github.com/pydanny/cookiecutter-django/pull/3044)) ## [2021-02-01] ### Updated -- Update pytz to 2021.1 ([#3035](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3035)) -- Update jinja2 to 2.11.3 ([#3033](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3033)) -- Bump peter-evans/create-pull-request from v3.7.0 to v3.8.0 ([#3034](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3034)) +- Update pytz to 2021.1 ([#3035](https://github.com/pydanny/cookiecutter-django/pull/3035)) +- Update jinja2 to 2.11.3 ([#3033](https://github.com/pydanny/cookiecutter-django/pull/3033)) +- Bump peter-evans/create-pull-request from v3.7.0 to v3.8.0 ([#3034](https://github.com/pydanny/cookiecutter-django/pull/3034)) ## [2021-01-31] ### Changed -- Adding local celery instructions to developing-locally ([#3031](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3031)) +- Adding local celery instructions to developing-locally ([#3031](https://github.com/pydanny/cookiecutter-django/pull/3031)) ### Updated -- Update django-crispy-forms to 1.11.0 ([#3032](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3032)) +- Update django-crispy-forms to 1.11.0 ([#3032](https://github.com/pydanny/cookiecutter-django/pull/3032)) ## [2021-01-28] ### Updated -- Update pre-commit to 2.10.0 ([#3028](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3028)) -- Update django-anymail to 8.2 ([#3027](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3027)) -- Update tox to 3.21.3 ([#3026](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3026)) +- Update pre-commit to 2.10.0 ([#3028](https://github.com/pydanny/cookiecutter-django/pull/3028)) +- Update django-anymail to 8.2 ([#3027](https://github.com/pydanny/cookiecutter-django/pull/3027)) +- Update tox to 3.21.3 ([#3026](https://github.com/pydanny/cookiecutter-django/pull/3026)) ## [2021-01-26] ### Changed -- Bump peter-evans/create-pull-request from v3.6.0 to v3.7.0 ([#3022](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3022)) -- Using SuccessMessageMixin to send success message to django template ([#3021](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3021)) +- Bump peter-evans/create-pull-request from v3.6.0 to v3.7.0 ([#3022](https://github.com/pydanny/cookiecutter-django/pull/3022)) +- Using SuccessMessageMixin to send success message to django template ([#3021](https://github.com/pydanny/cookiecutter-django/pull/3021)) ### Fixed -- Update admin to ignore *_name User attributes ([#3018](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3018)) +- Update admin to ignore *_name User attributes ([#3018](https://github.com/pydanny/cookiecutter-django/pull/3018)) ### Updated -- Update coverage to 5.4 ([#3024](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3024)) -- Update pytest to 6.2.2 ([#3020](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3020)) -- Update django-cors-headers to 3.7.0 ([#3019](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3019)) +- Update coverage to 5.4 ([#3024](https://github.com/pydanny/cookiecutter-django/pull/3024)) +- Update pytest to 6.2.2 ([#3020](https://github.com/pydanny/cookiecutter-django/pull/3020)) +- Update django-cors-headers to 3.7.0 ([#3019](https://github.com/pydanny/cookiecutter-django/pull/3019)) ## [2021-01-24] ### Changed -- Use defer for script tags (Fix #2922) ([#2927](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2927)) -- Made Traefik conf much easier to understand and improved redirect res… ([#2838](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2838)) -- Sentry Redis integration enabled by default in production. ([#2989](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2989)) -- Add test for UserUpdateView.form_valid() ([#2949](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2949)) +- Use defer for script tags (Fix #2922) ([#2927](https://github.com/pydanny/cookiecutter-django/pull/2927)) +- Made Traefik conf much easier to understand and improved redirect res… ([#2838](https://github.com/pydanny/cookiecutter-django/pull/2838)) +- Sentry Redis integration enabled by default in production. ([#2989](https://github.com/pydanny/cookiecutter-django/pull/2989)) +- Add test for UserUpdateView.form_valid() ([#2949](https://github.com/pydanny/cookiecutter-django/pull/2949)) ### Fixed -- Omit first_name and last_name in User model ([#2998](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2998)) +- Omit first_name and last_name in User model ([#2998](https://github.com/pydanny/cookiecutter-django/pull/2998)) ### Updated -- Update django-celery-beat to 2.2.0 ([#3009](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3009)) -- Update pyyaml to 5.4.1 ([#3011](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3011)) -- Update mypy to 0.800 ([#3013](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3013)) -- Update factory-boy to 3.2.0 ([#2986](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2986)) -- Update tox to 3.21.2 ([#3010](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3010)) +- Update django-celery-beat to 2.2.0 ([#3009](https://github.com/pydanny/cookiecutter-django/pull/3009)) +- Update pyyaml to 5.4.1 ([#3011](https://github.com/pydanny/cookiecutter-django/pull/3011)) +- Update mypy to 0.800 ([#3013](https://github.com/pydanny/cookiecutter-django/pull/3013)) +- Update factory-boy to 3.2.0 ([#2986](https://github.com/pydanny/cookiecutter-django/pull/2986)) +- Update tox to 3.21.2 ([#3010](https://github.com/pydanny/cookiecutter-django/pull/3010)) ## [2021-01-22] ### Changed -- Use self.request.user instead of second query ([#3012](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3012)) +- Use self.request.user instead of second query ([#3012](https://github.com/pydanny/cookiecutter-django/pull/3012)) ## [2021-01-14] ### Updated -- Update tox to 3.21.1 ([#3006](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3006)) +- Update tox to 3.21.1 ([#3006](https://github.com/pydanny/cookiecutter-django/pull/3006)) ## [2021-01-10] ### Updated -- Update pylint-django to 2.4.2 ([#3003](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3003)) -- Update tox to 3.21.0 ([#3002](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3002)) +- Update pylint-django to 2.4.2 ([#3003](https://github.com/pydanny/cookiecutter-django/pull/3003)) +- Update tox to 3.21.0 ([#3002](https://github.com/pydanny/cookiecutter-django/pull/3002)) ## [2021-01-08] ### Changed -- Upgrade Travis to Focal ([#2999](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2999)) +- Upgrade Travis to Focal ([#2999](https://github.com/pydanny/cookiecutter-django/pull/2999)) ### Updated -- Update pylint-django to 2.4.1 ([#3001](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3001)) -- Update sphinx to 3.4.3 ([#3000](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/3000)) -- Update pylint-django to 2.4.0 ([#2996](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2996)) +- Update pylint-django to 2.4.1 ([#3001](https://github.com/pydanny/cookiecutter-django/pull/3001)) +- Update sphinx to 3.4.3 ([#3000](https://github.com/pydanny/cookiecutter-django/pull/3000)) +- Update pylint-django to 2.4.0 ([#2996](https://github.com/pydanny/cookiecutter-django/pull/2996)) ## [2021-01-04] ### Updated -- Update isort to 5.7.0 ([#2988](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2988)) -- Update uvicorn to 0.13.3 ([#2987](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2987)) -- Auto-update pre-commit hooks ([#2990](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2990)) -- Update sphinx to 3.4.2 ([#2995](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2995)) -- Update pillow to 8.1.0 ([#2993](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2993)) +- Update isort to 5.7.0 ([#2988](https://github.com/pydanny/cookiecutter-django/pull/2988)) +- Update uvicorn to 0.13.3 ([#2987](https://github.com/pydanny/cookiecutter-django/pull/2987)) +- Auto-update pre-commit hooks ([#2990](https://github.com/pydanny/cookiecutter-django/pull/2990)) +- Update sphinx to 3.4.2 ([#2995](https://github.com/pydanny/cookiecutter-django/pull/2995)) +- Update pillow to 8.1.0 ([#2993](https://github.com/pydanny/cookiecutter-django/pull/2993)) ## [2020-12-29] ### Updated -- Update pygithub to 1.54.1 ([#2982](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2982)) -- Update django-storages to 1.11.1 ([#2981](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2981)) +- Update pygithub to 1.54.1 ([#2982](https://github.com/pydanny/cookiecutter-django/pull/2982)) +- Update django-storages to 1.11.1 ([#2981](https://github.com/pydanny/cookiecutter-django/pull/2981)) ## [2020-12-26] ### Updated -- Update sphinx to 3.4.1 ([#2985](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2985)) -- Update pytz to 2020.5 ([#2984](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2984)) +- Update sphinx to 3.4.1 ([#2985](https://github.com/pydanny/cookiecutter-django/pull/2985)) +- Update pytz to 2020.5 ([#2984](https://github.com/pydanny/cookiecutter-django/pull/2984)) ## [2020-12-23] ### Changed -- Bump peter-evans/create-pull-request from v3.5.2 to v3.6.0 ([#2980](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2980)) +- Bump peter-evans/create-pull-request from v3.5.2 to v3.6.0 ([#2980](https://github.com/pydanny/cookiecutter-django/pull/2980)) ### Updated -- Update flower to 0.9.7 ([#2979](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2979)) -- Update sphinx to 3.4.0 ([#2978](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2978)) -- Update coverage to 5.3.1 ([#2977](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2977)) -- Update uvicorn to 0.13.2 ([#2976](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2976)) +- Update flower to 0.9.7 ([#2979](https://github.com/pydanny/cookiecutter-django/pull/2979)) +- Update sphinx to 3.4.0 ([#2978](https://github.com/pydanny/cookiecutter-django/pull/2978)) +- Update coverage to 5.3.1 ([#2977](https://github.com/pydanny/cookiecutter-django/pull/2977)) +- Update uvicorn to 0.13.2 ([#2976](https://github.com/pydanny/cookiecutter-django/pull/2976)) ## [2020-12-18] ### Changed -- Bump stefanzweifel/git-auto-commit-action from v4.7.2 to v4.8.0 ([#2972](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2972)) +- Bump stefanzweifel/git-auto-commit-action from v4.7.2 to v4.8.0 ([#2972](https://github.com/pydanny/cookiecutter-django/pull/2972)) ### Updated -- Update django-storages to 1.11 ([#2973](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2973)) -- Update pytest to 6.2.1 ([#2971](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2971)) -- Auto-update pre-commit hooks ([#2970](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2970)) +- Update django-storages to 1.11 ([#2973](https://github.com/pydanny/cookiecutter-django/pull/2973)) +- Update pytest to 6.2.1 ([#2971](https://github.com/pydanny/cookiecutter-django/pull/2971)) +- Auto-update pre-commit hooks ([#2970](https://github.com/pydanny/cookiecutter-django/pull/2970)) ## [2020-12-14] ### Updated -- Update pytest to 6.2.0 ([#2968](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2968)) -- Update django-cors-headers to 3.6.0 ([#2967](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2967)) -- Update uvicorn to 0.13.1 ([#2966](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2966)) +- Update pytest to 6.2.0 ([#2968](https://github.com/pydanny/cookiecutter-django/pull/2968)) +- Update django-cors-headers to 3.6.0 ([#2967](https://github.com/pydanny/cookiecutter-django/pull/2967)) +- Update uvicorn to 0.13.1 ([#2966](https://github.com/pydanny/cookiecutter-django/pull/2966)) ## [2020-12-10] ### Changed -- Hot-reload support to celery ([#2554](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2554)) +- Hot-reload support to celery ([#2554](https://github.com/pydanny/cookiecutter-django/pull/2554)) ### Updated -- Update uvicorn to 0.13.0 ([#2962](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2962)) -- Update sentry-sdk to 0.19.5 ([#2965](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2965)) +- Update uvicorn to 0.13.0 ([#2962](https://github.com/pydanny/cookiecutter-django/pull/2962)) +- Update sentry-sdk to 0.19.5 ([#2965](https://github.com/pydanny/cookiecutter-django/pull/2965)) ## [2020-12-09] ### Changed -- Bump peter-evans/create-pull-request from v3.5.1 to v3.5.2 ([#2964](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2964)) +- Bump peter-evans/create-pull-request from v3.5.1 to v3.5.2 ([#2964](https://github.com/pydanny/cookiecutter-django/pull/2964)) ## [2020-12-08] ### Updated -- Update pre-commit to 2.9.3 ([#2961](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2961)) +- Update pre-commit to 2.9.3 ([#2961](https://github.com/pydanny/cookiecutter-django/pull/2961)) ## [2020-12-04] ### Updated -- Update django-debug-toolbar to 3.2 ([#2959](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2959)) +- Update django-debug-toolbar to 3.2 ([#2959](https://github.com/pydanny/cookiecutter-django/pull/2959)) ## [2020-12-02] ### Updated -- Update django-model-utils to 4.1.1 ([#2957](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2957)) -- Update pygithub to 1.54 ([#2958](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2958)) +- Update django-model-utils to 4.1.1 ([#2957](https://github.com/pydanny/cookiecutter-django/pull/2957)) +- Update pygithub to 1.54 ([#2958](https://github.com/pydanny/cookiecutter-django/pull/2958)) ## [2020-11-26] ### Updated -- Update django-extensions to 3.1.0 ([#2947](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2947)) -- Update pre-commit to 2.9.2 ([#2948](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2948)) -- Update django-allauth to 0.44.0 ([#2945](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2945)) +- Update django-extensions to 3.1.0 ([#2947](https://github.com/pydanny/cookiecutter-django/pull/2947)) +- Update pre-commit to 2.9.2 ([#2948](https://github.com/pydanny/cookiecutter-django/pull/2948)) +- Update django-allauth to 0.44.0 ([#2945](https://github.com/pydanny/cookiecutter-django/pull/2945)) ## [2020-11-25] ### Changed -- Bump peter-evans/create-pull-request from v3.5.0 to v3.5.1 ([#2944](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2944)) +- Bump peter-evans/create-pull-request from v3.5.0 to v3.5.1 ([#2944](https://github.com/pydanny/cookiecutter-django/pull/2944)) ## [2020-11-23] ### Updated -- Update uvicorn to 0.12.3 ([#2943](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2943)) -- Update pre-commit to 2.9.0 ([#2942](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2942)) +- Update uvicorn to 0.12.3 ([#2943](https://github.com/pydanny/cookiecutter-django/pull/2943)) +- Update pre-commit to 2.9.0 ([#2942](https://github.com/pydanny/cookiecutter-django/pull/2942)) ## [2020-11-21] ### Changed -- Fix after uvicorn 0.12.0 - Ship extra dependencies ([#2939](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2939)) +- Fix after uvicorn 0.12.0 - Ship extra dependencies ([#2939](https://github.com/pydanny/cookiecutter-django/pull/2939)) ## [2020-11-20] ### Updated -- Update sentry-sdk to 0.19.4 ([#2938](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2938)) +- Update sentry-sdk to 0.19.4 ([#2938](https://github.com/pydanny/cookiecutter-django/pull/2938)) ## [2020-11-19] ### Updated -- Update django-crispy-forms to 1.10.0 ([#2937](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2937)) +- Update django-crispy-forms to 1.10.0 ([#2937](https://github.com/pydanny/cookiecutter-django/pull/2937)) ## [2020-11-17] ### Changed -- Bump peter-evans/create-pull-request from v2 to v3.5.0 ([#2936](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2936)) +- Bump peter-evans/create-pull-request from v2 to v3.5.0 ([#2936](https://github.com/pydanny/cookiecutter-django/pull/2936)) ## [2020-11-15] ### Changed -- Fix formatting in docs ([#2935](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2935)) +- Fix formatting in docs ([#2935](https://github.com/pydanny/cookiecutter-django/pull/2935)) ## [2020-11-13] ### Changed -- Upgrade factory-boy to 3.1.0 ([#2932](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2932)) +- Upgrade factory-boy to 3.1.0 ([#2932](https://github.com/pydanny/cookiecutter-django/pull/2932)) ### Updated -- Update sentry-sdk to 0.19.3 ([#2933](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2933)) -- Update sphinx to 3.3.1 ([#2934](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2934)) +- Update sentry-sdk to 0.19.3 ([#2933](https://github.com/pydanny/cookiecutter-django/pull/2933)) +- Update sphinx to 3.3.1 ([#2934](https://github.com/pydanny/cookiecutter-django/pull/2934)) ## [2020-11-12] ### Changed -- Migrate CI to Github Actions ([#2931](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2931)) +- Migrate CI to Github Actions ([#2931](https://github.com/pydanny/cookiecutter-django/pull/2931)) ## [2020-11-06] ### Updated -- Update djangorestframework to 3.12.2 ([#2930](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2930)) +- Update djangorestframework to 3.12.2 ([#2930](https://github.com/pydanny/cookiecutter-django/pull/2930)) ## [2020-11-04] ### Changed -- Fix docs service and add RTD support ([#2920](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2920)) -- Bump stefanzweifel/git-auto-commit-action from v4.6.0 to v4.7.2 ([#2914](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2914)) +- Fix docs service and add RTD support ([#2920](https://github.com/pydanny/cookiecutter-django/pull/2920)) +- Bump stefanzweifel/git-auto-commit-action from v4.6.0 to v4.7.2 ([#2914](https://github.com/pydanny/cookiecutter-django/pull/2914)) ### Updated -- Auto-update pre-commit hooks ([#2908](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2908)) -- Update mypy to 0.790 ([#2886](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2886)) -- Update django-stubs to 1.7.0 ([#2916](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2916)) +- Auto-update pre-commit hooks ([#2908](https://github.com/pydanny/cookiecutter-django/pull/2908)) +- Update mypy to 0.790 ([#2886](https://github.com/pydanny/cookiecutter-django/pull/2886)) +- Update django-stubs to 1.7.0 ([#2916](https://github.com/pydanny/cookiecutter-django/pull/2916)) ## [2020-11-03] ### Updated -- Update sentry-sdk to 0.19.2 ([#2926](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2926)) -- Update sphinx to 3.3.0 ([#2925](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2925)) -- Update django to 3.0.11 ([#2924](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2924)) -- Update pytz to 2020.4 ([#2923](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2923)) -- Update pre-commit to 2.8.2 ([#2919](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2919)) -- Update pytest to 6.1.2 ([#2917](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2917)) -- Update sh to 1.14.1 ([#2912](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2912)) -- Update pytest-django to 4.1.0 ([#2911](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2911)) -- Update pillow to 8.0.1 ([#2910](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2910)) -- Update django-celery-beat to 2.1.0 ([#2907](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2907)) -- Update uvicorn to 0.12.2 ([#2906](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2906)) +- Update sentry-sdk to 0.19.2 ([#2926](https://github.com/pydanny/cookiecutter-django/pull/2926)) +- Update sphinx to 3.3.0 ([#2925](https://github.com/pydanny/cookiecutter-django/pull/2925)) +- Update django to 3.0.11 ([#2924](https://github.com/pydanny/cookiecutter-django/pull/2924)) +- Update pytz to 2020.4 ([#2923](https://github.com/pydanny/cookiecutter-django/pull/2923)) +- Update pre-commit to 2.8.2 ([#2919](https://github.com/pydanny/cookiecutter-django/pull/2919)) +- Update pytest to 6.1.2 ([#2917](https://github.com/pydanny/cookiecutter-django/pull/2917)) +- Update sh to 1.14.1 ([#2912](https://github.com/pydanny/cookiecutter-django/pull/2912)) +- Update pytest-django to 4.1.0 ([#2911](https://github.com/pydanny/cookiecutter-django/pull/2911)) +- Update pillow to 8.0.1 ([#2910](https://github.com/pydanny/cookiecutter-django/pull/2910)) +- Update django-celery-beat to 2.1.0 ([#2907](https://github.com/pydanny/cookiecutter-django/pull/2907)) +- Update uvicorn to 0.12.2 ([#2906](https://github.com/pydanny/cookiecutter-django/pull/2906)) ## [2020-10-19] ### Updated -- Update sentry-sdk to 0.19.1 ([#2905](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2905)) +- Update sentry-sdk to 0.19.1 ([#2905](https://github.com/pydanny/cookiecutter-django/pull/2905)) ## [2020-10-17] ### Updated -- Update django-allauth to 0.43.0 ([#2901](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2901)) -- Update pytest-django to 4.0.0 ([#2903](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2903)) +- Update django-allauth to 0.43.0 ([#2901](https://github.com/pydanny/cookiecutter-django/pull/2901)) +- Update pytest-django to 4.0.0 ([#2903](https://github.com/pydanny/cookiecutter-django/pull/2903)) ## [2020-10-15] ### Updated -- Update pillow to 8.0.0 ([#2898](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2898)) +- Update pillow to 8.0.0 ([#2898](https://github.com/pydanny/cookiecutter-django/pull/2898)) ## [2020-10-14] ### Updated -- Auto-update pre-commit hooks ([#2897](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2897)) -- Update sentry-sdk to 0.19.0 ([#2896](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2896)) +- Auto-update pre-commit hooks ([#2897](https://github.com/pydanny/cookiecutter-django/pull/2897)) +- Update sentry-sdk to 0.19.0 ([#2896](https://github.com/pydanny/cookiecutter-django/pull/2896)) ## [2020-10-13] ### Updated -- Update isort to 5.6.4 ([#2895](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2895)) +- Update isort to 5.6.4 ([#2895](https://github.com/pydanny/cookiecutter-django/pull/2895)) ## [2020-10-12] ### Changed -- Bump stefanzweifel/git-auto-commit-action from v4.5.1 to v4.6.0 ([#2893](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2893)) +- Bump stefanzweifel/git-auto-commit-action from v4.5.1 to v4.6.0 ([#2893](https://github.com/pydanny/cookiecutter-django/pull/2893)) ### Updated -- Auto-update pre-commit hooks ([#2892](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2892)) +- Auto-update pre-commit hooks ([#2892](https://github.com/pydanny/cookiecutter-django/pull/2892)) ## [2020-10-11] ### Updated -- Auto-update pre-commit hooks ([#2890](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2890)) -- Update isort to 5.6.3 ([#2891](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2891)) -- Update django-anymail to 8.1 ([#2887](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2887)) -- Update tox to 3.20.1 ([#2885](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2885)) +- Auto-update pre-commit hooks ([#2890](https://github.com/pydanny/cookiecutter-django/pull/2890)) +- Update isort to 5.6.3 ([#2891](https://github.com/pydanny/cookiecutter-django/pull/2891)) +- Update django-anymail to 8.1 ([#2887](https://github.com/pydanny/cookiecutter-django/pull/2887)) +- Update tox to 3.20.1 ([#2885](https://github.com/pydanny/cookiecutter-django/pull/2885)) ## [2020-10-09] ### Updated -- Auto-update pre-commit hooks ([#2884](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2884)) -- Update isort to 5.6.1 ([#2883](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2883)) +- Auto-update pre-commit hooks ([#2884](https://github.com/pydanny/cookiecutter-django/pull/2884)) +- Update isort to 5.6.1 ([#2883](https://github.com/pydanny/cookiecutter-django/pull/2883)) ## [2020-10-08] ### Changed -- Add dedicated websockets package ([#2881](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2881)) +- Add dedicated websockets package ([#2881](https://github.com/pydanny/cookiecutter-django/pull/2881)) ### Updated -- Update isort to 5.6.0 ([#2882](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2882)) +- Update isort to 5.6.0 ([#2882](https://github.com/pydanny/cookiecutter-django/pull/2882)) ## [2020-10-04] ### Updated -- Update pytest to 6.1.1 ([#2880](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2880)) -- Update mypy and django-stubs ([#2874](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2874)) -- Auto-update pre-commit hooks ([#2876](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2876)) -- Update flake8 to 3.8.4 ([#2877](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2877)) +- Update pytest to 6.1.1 ([#2880](https://github.com/pydanny/cookiecutter-django/pull/2880)) +- Update mypy and django-stubs ([#2874](https://github.com/pydanny/cookiecutter-django/pull/2874)) +- Auto-update pre-commit hooks ([#2876](https://github.com/pydanny/cookiecutter-django/pull/2876)) +- Update flake8 to 3.8.4 ([#2877](https://github.com/pydanny/cookiecutter-django/pull/2877)) ## [2020-10-01] ### Changed -- Bump actions/setup-python from v2.1.2 to v2.1.3 ([#2869](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2869)) +- Bump actions/setup-python from v2.1.2 to v2.1.3 ([#2869](https://github.com/pydanny/cookiecutter-django/pull/2869)) ### Updated -- Update ipdb to 0.13.4 ([#2873](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2873)) -- Auto-update pre-commit hooks ([#2867](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2867)) -- Update uvicorn to 0.12.1 ([#2866](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2866)) -- Update isort to 5.5.4 ([#2864](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2864)) -- Update sentry-sdk to 0.18.0 ([#2863](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2863)) -- Update djangorestframework to 3.12.1 ([#2862](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2862)) -- Update pytest to 6.1.0 ([#2859](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2859)) -- Update django-debug-toolbar to 3.1.1 ([#2855](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2855)) +- Update ipdb to 0.13.4 ([#2873](https://github.com/pydanny/cookiecutter-django/pull/2873)) +- Auto-update pre-commit hooks ([#2867](https://github.com/pydanny/cookiecutter-django/pull/2867)) +- Update uvicorn to 0.12.1 ([#2866](https://github.com/pydanny/cookiecutter-django/pull/2866)) +- Update isort to 5.5.4 ([#2864](https://github.com/pydanny/cookiecutter-django/pull/2864)) +- Update sentry-sdk to 0.18.0 ([#2863](https://github.com/pydanny/cookiecutter-django/pull/2863)) +- Update djangorestframework to 3.12.1 ([#2862](https://github.com/pydanny/cookiecutter-django/pull/2862)) +- Update pytest to 6.1.0 ([#2859](https://github.com/pydanny/cookiecutter-django/pull/2859)) +- Update django-debug-toolbar to 3.1.1 ([#2855](https://github.com/pydanny/cookiecutter-django/pull/2855)) ## [2020-09-23] ### Updated -- Update sentry-sdk to 0.17.7 ([#2847](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2847)) -- Update django-debug-toolbar to 3.1 ([#2846](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2846)) +- Update sentry-sdk to 0.17.7 ([#2847](https://github.com/pydanny/cookiecutter-django/pull/2847)) +- Update django-debug-toolbar to 3.1 ([#2846](https://github.com/pydanny/cookiecutter-django/pull/2846)) ## [2020-09-21] ### Changed -- Adding GitHub-Action CI Option ([#2837](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2837)) +- Adding GitHub-Action CI Option ([#2837](https://github.com/pydanny/cookiecutter-django/pull/2837)) ### Updated -- Update django-debug-toolbar to 3.0 ([#2842](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2842)) -- Auto-update pre-commit hooks ([#2843](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2843)) -- Update isort to 5.5.3 ([#2844](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2844)) +- Update django-debug-toolbar to 3.0 ([#2842](https://github.com/pydanny/cookiecutter-django/pull/2842)) +- Auto-update pre-commit hooks ([#2843](https://github.com/pydanny/cookiecutter-django/pull/2843)) +- Update isort to 5.5.3 ([#2844](https://github.com/pydanny/cookiecutter-django/pull/2844)) ## [2020-09-18] ### Updated -- Update django-extensions to 3.0.9 ([#2839](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2839)) +- Update django-extensions to 3.0.9 ([#2839](https://github.com/pydanny/cookiecutter-django/pull/2839)) ## [2020-09-16] ### Updated -- Update sentry-sdk to 0.17.6 ([#2833](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2833)) -- Update pytest-django to 3.10.0 ([#2832](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2832)) +- Update sentry-sdk to 0.17.6 ([#2833](https://github.com/pydanny/cookiecutter-django/pull/2833)) +- Update pytest-django to 3.10.0 ([#2832](https://github.com/pydanny/cookiecutter-django/pull/2832)) ## [2020-09-14] ### Fixed -- Downgrade Celery to 4.4.6 ([#2829](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2829)) +- Downgrade Celery to 4.4.6 ([#2829](https://github.com/pydanny/cookiecutter-django/pull/2829)) ### Updated -- Update sentry-sdk to 0.17.5 ([#2828](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2828)) -- Update coverage to 5.3 ([#2826](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2826)) -- Update django-storages to 1.10.1 ([#2825](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2825)) +- Update sentry-sdk to 0.17.5 ([#2828](https://github.com/pydanny/cookiecutter-django/pull/2828)) +- Update coverage to 5.3 ([#2826](https://github.com/pydanny/cookiecutter-django/pull/2826)) +- Update django-storages to 1.10.1 ([#2825](https://github.com/pydanny/cookiecutter-django/pull/2825)) ## [2020-09-12] ### Updated -- Updating Traefik version from 2.0 to 2.2.11 ([#2814](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2814)) -- Update pytest to 6.0.2 ([#2819](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2819)) -- Update django-anymail to 8.0 ([#2818](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2818)) +- Updating Traefik version from 2.0 to 2.2.11 ([#2814](https://github.com/pydanny/cookiecutter-django/pull/2814)) +- Update pytest to 6.0.2 ([#2819](https://github.com/pydanny/cookiecutter-django/pull/2819)) +- Update django-anymail to 8.0 ([#2818](https://github.com/pydanny/cookiecutter-django/pull/2818)) ## [2020-09-11] ### Updated -- Auto-update pre-commit hooks ([#2809](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2809)) +- Auto-update pre-commit hooks ([#2809](https://github.com/pydanny/cookiecutter-django/pull/2809)) ## [2020-09-10] ### Updated -- Update isort to 5.5.2 ([#2807](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2807)) -- Update sentry-sdk to 0.17.4 ([#2805](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2805)) +- Update isort to 5.5.2 ([#2807](https://github.com/pydanny/cookiecutter-django/pull/2807)) +- Update sentry-sdk to 0.17.4 ([#2805](https://github.com/pydanny/cookiecutter-django/pull/2805)) ## [2020-09-09] ### Changed -- Update actions/setup-python requirement to v2.1.2 ([#2804](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2804)) -- Clean up nested venv files from `.gitignore` ([#2800](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2800)) +- Update actions/setup-python requirement to v2.1.2 ([#2804](https://github.com/pydanny/cookiecutter-django/pull/2804)) +- Clean up nested venv files from `.gitignore` ([#2800](https://github.com/pydanny/cookiecutter-django/pull/2800)) ## [2020-09-08] ### Changed -- Traeffik and Django dockerfile changes ([#2801](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2801)) +- Traeffik and Django dockerfile changes ([#2801](https://github.com/pydanny/cookiecutter-django/pull/2801)) ## [2020-09-07] ### Changed -- Add :z/:Z to mounted volumes in {local,production}.yml ([#2663](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2663)) -- Remove --no-binary option for psycopg2 ([#2798](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2798)) -- Updated Gitlab CI to use Python 3.8 instead of Python 3.7 ([#2794](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2794)) +- Add :z/:Z to mounted volumes in {local,production}.yml ([#2663](https://github.com/pydanny/cookiecutter-django/pull/2663)) +- Remove --no-binary option for psycopg2 ([#2798](https://github.com/pydanny/cookiecutter-django/pull/2798)) +- Updated Gitlab CI to use Python 3.8 instead of Python 3.7 ([#2794](https://github.com/pydanny/cookiecutter-django/pull/2794)) ### Fixed -- Fix options for sphinx-autobuild in docs Makefile ([#2799](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2799)) +- Fix options for sphinx-autobuild in docs Makefile ([#2799](https://github.com/pydanny/cookiecutter-django/pull/2799)) ### Updated -- Update psycopg2-binary to 2.8.6 ([#2797](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2797)) +- Update psycopg2-binary to 2.8.6 ([#2797](https://github.com/pydanny/cookiecutter-django/pull/2797)) ## [2020-09-05] ### Updated -- Auto-update pre-commit hooks ([#2793](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2793)) +- Auto-update pre-commit hooks ([#2793](https://github.com/pydanny/cookiecutter-django/pull/2793)) ## [2020-09-04] ### Updated -- Update django-extensions to 3.0.8 ([#2792](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2792)) -- Update isort to 5.5.1 ([#2791](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2791)) -- Auto-update pre-commit hooks ([#2790](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2790)) -- Update isort to 5.5.0 ([#2789](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2789)) +- Update django-extensions to 3.0.8 ([#2792](https://github.com/pydanny/cookiecutter-django/pull/2792)) +- Update isort to 5.5.1 ([#2791](https://github.com/pydanny/cookiecutter-django/pull/2791)) +- Auto-update pre-commit hooks ([#2790](https://github.com/pydanny/cookiecutter-django/pull/2790)) +- Update isort to 5.5.0 ([#2789](https://github.com/pydanny/cookiecutter-django/pull/2789)) ## [2020-09-02] ### Changed -- Add environment and traces_sample_rate keyword to sentry_sdk.init ([#2777](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2777)) +- Add environment and traces_sample_rate keyword to sentry_sdk.init ([#2777](https://github.com/pydanny/cookiecutter-django/pull/2777)) ### Updated -- Update sentry-sdk to 0.17.3 ([#2788](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2788)) -- Update django-extensions to 3.0.7 ([#2787](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2787)) +- Update sentry-sdk to 0.17.3 ([#2788](https://github.com/pydanny/cookiecutter-django/pull/2788)) +- Update django-extensions to 3.0.7 ([#2787](https://github.com/pydanny/cookiecutter-django/pull/2787)) ## [2020-09-01] ### Changed -- Exclude venv directory and update document link ([#2780](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2780)) +- Exclude venv directory and update document link ([#2780](https://github.com/pydanny/cookiecutter-django/pull/2780)) ### Updated -- Update tox to 3.20.0 ([#2786](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2786)) -- Update django-storages to 1.10 ([#2781](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2781)) -- Update sentry-sdk to 0.17.2 ([#2784](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2784)) -- Update django to 3.0.10 ([#2785](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2785)) -- Update sphinx-autobuild to 2020.9.1 ([#2782](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2782)) -- Update django-extensions to 3.0.6 ([#2783](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2783)) +- Update tox to 3.20.0 ([#2786](https://github.com/pydanny/cookiecutter-django/pull/2786)) +- Update django-storages to 1.10 ([#2781](https://github.com/pydanny/cookiecutter-django/pull/2781)) +- Update sentry-sdk to 0.17.2 ([#2784](https://github.com/pydanny/cookiecutter-django/pull/2784)) +- Update django to 3.0.10 ([#2785](https://github.com/pydanny/cookiecutter-django/pull/2785)) +- Update sphinx-autobuild to 2020.9.1 ([#2782](https://github.com/pydanny/cookiecutter-django/pull/2782)) +- Update django-extensions to 3.0.6 ([#2783](https://github.com/pydanny/cookiecutter-django/pull/2783)) ## [2020-08-31] ### Updated -- Update sh to 1.14.0 ([#2779](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2779)) -- Update sentry-sdk to 0.17.1 ([#2778](https://api.github.com/repos/pydanny/cookiecutter-django/pulls/2778)) +- Update sh to 1.14.0 ([#2779](https://github.com/pydanny/cookiecutter-django/pull/2779)) +- Update sentry-sdk to 0.17.1 ([#2778](https://github.com/pydanny/cookiecutter-django/pull/2778)) ## [2020-04-13] ### Changed From 177c1ab0a1e5b6508d20840ff3a87195a03cb3df Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 13 Oct 2021 09:20:22 +0100 Subject: [PATCH 1701/2840] Fix a few typos --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fdca4664a..5f51f4bd8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -807,7 +807,7 @@ All enhancements and patches to Cookiecutter Django will be documented in this f ## [2020-04-13] ### Changed - Updated to Python 3.8 (@codnee) -- Moved converage config in setup.cfg (@danihodovic) +- Moved coverage config in setup.cfg (@danihodovic) ## [2020-04-08] ### Fixed @@ -815,7 +815,7 @@ All enhancements and patches to Cookiecutter Django will be documented in this f ## [2020-04-04] ### Fixed -- Added compress command command with Django compressor (@gwiskur) +- Added compress command with Django compressor (@gwiskur) ## [2020-03-23] ### Changed From 7601ad09c7ce12980e2a6447290f1b8234a0b127 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 13 Oct 2021 13:19:14 -0700 Subject: [PATCH 1702/2840] Update django-model-utils from 4.1.1 to 4.2.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 54b88cf58..78b715d6e 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -31,7 +31,7 @@ uvicorn[standard]==0.15.0 # https://github.com/encode/uvicorn # ------------------------------------------------------------------------------ django==3.1.13 # pyup: < 3.2 # https://www.djangoproject.com/ django-environ==0.7.0 # https://github.com/joke2k/django-environ -django-model-utils==4.1.1 # https://github.com/jazzband/django-model-utils +django-model-utils==4.2.0 # https://github.com/jazzband/django-model-utils django-allauth==0.45.0 # https://github.com/pennersr/django-allauth django-crispy-forms==1.13.0 # https://github.com/django-crispy-forms/django-crispy-forms {%- if cookiecutter.use_compressor == "y" %} From a091ee766e66e79e7c7dc6f4c7c41fdb2ee27a97 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 14 Oct 2021 02:15:49 +0000 Subject: [PATCH 1703/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f51f4bd8..eb9dec349 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-10-13] +### Changed +- Add drf stubs ([#3353](https://github.com/pydanny/cookiecutter-django/pull/3353)) + ## [2021-10-12] ### Updated - Update coverage to 6.0.2 ([#3356](https://github.com/pydanny/cookiecutter-django/pull/3356)) From b8ce0ed7ee52dbda16b4c897ca9caea9fc5178f4 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 14 Oct 2021 05:31:55 -0700 Subject: [PATCH 1704/2840] Update flake8-isort from 4.0.0 to 4.1.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7ba8f8e41..8b84730f1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,7 +7,7 @@ binaryornot==0.4.4 black==21.9b0 isort==5.9.3 flake8==3.9.2 -flake8-isort==4.0.0 +flake8-isort==4.1.1 pre-commit==2.15.0 # Testing From b103ce72c2679ed6f5a11d09a3ff2f88cd699883 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 14 Oct 2021 05:31:55 -0700 Subject: [PATCH 1705/2840] Update flake8-isort from 4.0.0 to 4.1.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 7bb4d00be..0451ec9e5 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -29,7 +29,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild # Code quality # ------------------------------------------------------------------------------ flake8==3.9.2 # https://github.com/PyCQA/flake8 -flake8-isort==4.0.0 # https://github.com/gforcada/flake8-isort +flake8-isort==4.1.1 # https://github.com/gforcada/flake8-isort coverage==6.0.2 # https://github.com/nedbat/coveragepy black==21.9b0 # https://github.com/psf/black pylint-django==2.4.4 # https://github.com/PyCQA/pylint-django From e5a6a0cfa69c1292b05294e5028944a9caec086b Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 14 Oct 2021 08:06:47 -0700 Subject: [PATCH 1706/2840] Update flake8 from 3.9.2 to 4.0.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 8b84730f1..6ad675ef4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ binaryornot==0.4.4 # ------------------------------------------------------------------------------ black==21.9b0 isort==5.9.3 -flake8==3.9.2 +flake8==4.0.1 flake8-isort==4.1.1 pre-commit==2.15.0 From c2e82f8289a737610b41c793d5ee1f3e1170f02a Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 14 Oct 2021 08:06:47 -0700 Subject: [PATCH 1707/2840] Update flake8 from 3.9.2 to 4.0.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 0451ec9e5..10bcbe190 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -28,7 +28,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild # Code quality # ------------------------------------------------------------------------------ -flake8==3.9.2 # https://github.com/PyCQA/flake8 +flake8==4.0.1 # https://github.com/PyCQA/flake8 flake8-isort==4.1.1 # https://github.com/gforcada/flake8-isort coverage==6.0.2 # https://github.com/nedbat/coveragepy black==21.9b0 # https://github.com/psf/black From 557b1ecc35a1a2204891fe2693037af519bbd503 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 14 Oct 2021 09:28:01 -0700 Subject: [PATCH 1708/2840] Update pyyaml from 5.4.1 to 6.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6ad675ef4..6755289d8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,7 +16,7 @@ tox==3.24.4 pytest==6.2.5 pytest-cookies==0.6.1 pytest-instafail==0.4.2 -pyyaml==5.4.1 +pyyaml==6.0 # Scripting # ------------------------------------------------------------------------------ From ba82a35cd7ecb4ccf4177ebf7c6cc2cd2f213dea Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 15 Oct 2021 02:16:40 +0000 Subject: [PATCH 1709/2840] Update Changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb9dec349..c29bcb588 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-10-14] +### Updated +- Update flake8 to 4.0.1 ([#3361](https://github.com/pydanny/cookiecutter-django/pull/3361)) +- Update flake8-isort to 4.1.1 ([#3360](https://github.com/pydanny/cookiecutter-django/pull/3360)) +- Update django-model-utils to 4.2.0 ([#3359](https://github.com/pydanny/cookiecutter-django/pull/3359)) + ## [2021-10-13] ### Changed - Add drf stubs ([#3353](https://github.com/pydanny/cookiecutter-django/pull/3353)) From ea56c11028460c67a1f390ab7c188e35151699ea Mon Sep 17 00:00:00 2001 From: Noah Hall Date: Thu, 14 Oct 2021 22:34:59 -0400 Subject: [PATCH 1710/2840] use Wayback Machine to fix dead link for postgres user setup --- docs/developing-locally.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst index 83bc1342c..b7a1e557a 100644 --- a/docs/developing-locally.rst +++ b/docs/developing-locally.rst @@ -87,7 +87,7 @@ or if you're running asynchronously: :: .. _Redis: https://redis.io/download .. _CookieCutter: https://github.com/cookiecutter/cookiecutter .. _createdb: https://www.postgresql.org/docs/current/static/app-createdb.html -.. _initial PostgreSQL set up: http://suite.opengeo.org/docs/latest/dataadmin/pgGettingStarted/firstconnect.html +.. _initial PostgreSQL set up: http://web.archive.org/web/20190303010033/http://suite.opengeo.org/docs/latest/dataadmin/pgGettingStarted/firstconnect.html .. _postgres documentation: https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html .. _pre-commit: https://pre-commit.com/ .. _direnv: https://direnv.net/ From 8ffe2aaa38772872b1ac83e20189fc773ef6e4ec Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 15 Oct 2021 03:01:10 -0700 Subject: [PATCH 1711/2840] Update pillow from 8.3.2 to 8.4.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 78b715d6e..3796d8dcd 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -1,6 +1,6 @@ pytz==2021.3 # https://github.com/stub42/pytz python-slugify==5.0.2 # https://github.com/un33k/python-slugify -Pillow==8.3.2 # https://github.com/python-pillow/Pillow +Pillow==8.4.0 # https://github.com/python-pillow/Pillow {%- if cookiecutter.use_compressor == "y" %} {%- if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %} rcssmin==1.0.6 --install-option="--without-c-extensions" # https://github.com/ndparker/rcssmin From 4771639df7d679baf055ae9e2c61032ee0da9453 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 16 Oct 2021 20:32:04 -0700 Subject: [PATCH 1712/2840] Update django-storages from 1.12.1 to 1.12.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 3d70a8a4c..977d87392 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -17,7 +17,7 @@ hiredis==2.0.0 # https://github.com/redis/hiredis-py # Django # ------------------------------------------------------------------------------ {%- if cookiecutter.cloud_provider == 'AWS' %} -django-storages[boto3]==1.12.1 # https://github.com/jschneier/django-storages +django-storages[boto3]==1.12.2 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} django-storages[google]==1.12.1 # https://github.com/jschneier/django-storages {%- endif %} From 666c989e9ddcc3f7e2c93e0742010099fd3fb379 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 16 Oct 2021 20:32:04 -0700 Subject: [PATCH 1713/2840] Update django-storages from 1.12.1 to 1.12.2 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 977d87392..fb9b0ea67 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -19,7 +19,7 @@ hiredis==2.0.0 # https://github.com/redis/hiredis-py {%- if cookiecutter.cloud_provider == 'AWS' %} django-storages[boto3]==1.12.2 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} -django-storages[google]==1.12.1 # https://github.com/jschneier/django-storages +django-storages[google]==1.12.2 # https://github.com/jschneier/django-storages {%- endif %} {%- if cookiecutter.mail_service == 'Mailgun' %} django-anymail[mailgun]==8.4 # https://github.com/anymail/django-anymail From 60f3b8e54a9de7bdb46dc020918b8d49d4620c80 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 18 Oct 2021 06:56:55 -0700 Subject: [PATCH 1714/2840] Update django-environ from 0.7.0 to 0.8.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 78b715d6e..464a46af8 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -30,7 +30,7 @@ uvicorn[standard]==0.15.0 # https://github.com/encode/uvicorn # Django # ------------------------------------------------------------------------------ django==3.1.13 # pyup: < 3.2 # https://www.djangoproject.com/ -django-environ==0.7.0 # https://github.com/joke2k/django-environ +django-environ==0.8.0 # https://github.com/joke2k/django-environ django-model-utils==4.2.0 # https://github.com/jazzband/django-model-utils django-allauth==0.45.0 # https://github.com/pennersr/django-allauth django-crispy-forms==1.13.0 # https://github.com/django-crispy-forms/django-crispy-forms From d30de53d106ead23810a70c2e7b26e55c9d8bbff Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 19 Oct 2021 02:16:41 +0000 Subject: [PATCH 1715/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c29bcb588..8bacb9ead 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-10-18] +### Updated +- Update django-environ to 0.8.0 ([#3367](https://github.com/pydanny/cookiecutter-django/pull/3367)) + ## [2021-10-14] ### Updated - Update flake8 to 4.0.1 ([#3361](https://github.com/pydanny/cookiecutter-django/pull/3361)) From e4997e76c844ec24a01996e0dd255db93305f891 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 20 Oct 2021 06:57:29 -0700 Subject: [PATCH 1716/2840] Update django-environ from 0.8.0 to 0.8.1 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index 464a46af8..3b8fa0f35 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -30,7 +30,7 @@ uvicorn[standard]==0.15.0 # https://github.com/encode/uvicorn # Django # ------------------------------------------------------------------------------ django==3.1.13 # pyup: < 3.2 # https://www.djangoproject.com/ -django-environ==0.8.0 # https://github.com/joke2k/django-environ +django-environ==0.8.1 # https://github.com/joke2k/django-environ django-model-utils==4.2.0 # https://github.com/jazzband/django-model-utils django-allauth==0.45.0 # https://github.com/pennersr/django-allauth django-crispy-forms==1.13.0 # https://github.com/django-crispy-forms/django-crispy-forms From b2d46296f0fa80b2804c6f9535cf93c8b6fbc53a Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Fri, 22 Oct 2021 21:40:53 +0100 Subject: [PATCH 1717/2840] Move repo under cookiecutter organisation (#3357) --- .github/ISSUE_TEMPLATE/bug.md | 2 +- .github/ISSUE_TEMPLATE/paid-support.md | 2 +- CHANGELOG.md | 752 +++++++++++------------ README.rst | 22 +- docs/developing-locally.rst | 6 +- docs/faq.rst | 2 +- docs/troubleshooting.rst | 4 +- scripts/update_changelog.py | 4 +- scripts/update_contributors.py | 2 +- setup.py | 2 +- {{cookiecutter.project_slug}}/README.rst | 2 +- 11 files changed, 401 insertions(+), 399 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md index d1bf4da68..304e9b34c 100644 --- a/.github/ISSUE_TEMPLATE/bug.md +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -51,7 +51,7 @@ labels: bug Logs:
-$ cookiecutter https://github.com/pydanny/cookiecutter-django
+$ cookiecutter https://github.com/cookiecutter/cookiecutter-django
 project_name [Project Name]: ...
 
diff --git a/.github/ISSUE_TEMPLATE/paid-support.md b/.github/ISSUE_TEMPLATE/paid-support.md index 7ebc06476..9f997a8c8 100644 --- a/.github/ISSUE_TEMPLATE/paid-support.md +++ b/.github/ISSUE_TEMPLATE/paid-support.md @@ -3,7 +3,7 @@ name: Paid Support Request about: Ask Core Team members to help you out --- -Provided your question goes beyond [regular support](https://github.com/pydanny/cookiecutter-django/issues/new?template=question.md), and/or the task at hand is of timely/high priority nature use the below information to reach out for contributors directly. +Provided your question goes beyond [regular support](https://github.com/cookiecutter/cookiecutter-django/issues/new?template=question.md), and/or the task at hand is of timely/high priority nature use the below information to reach out for contributors directly. * Daniel Roy Greenfeld, Project Lead ([GitHub](https://github.com/pydanny), [Patreon](https://www.patreon.com/danielroygreenfeld)): expertise in Django and AWS ELB. diff --git a/CHANGELOG.md b/CHANGELOG.md index 8bacb9ead..51c9e5859 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,814 +9,814 @@ All enhancements and patches to Cookiecutter Django will be documented in this f ## [2021-10-14] ### Updated -- Update flake8 to 4.0.1 ([#3361](https://github.com/pydanny/cookiecutter-django/pull/3361)) -- Update flake8-isort to 4.1.1 ([#3360](https://github.com/pydanny/cookiecutter-django/pull/3360)) -- Update django-model-utils to 4.2.0 ([#3359](https://github.com/pydanny/cookiecutter-django/pull/3359)) +- Update flake8 to 4.0.1 ([#3361](https://github.com/cookicutter/cookiecutter-django/pull/3361)) +- Update flake8-isort to 4.1.1 ([#3360](https://github.com/cookicutter/cookiecutter-django/pull/3360)) +- Update django-model-utils to 4.2.0 ([#3359](https://github.com/cookicutter/cookiecutter-django/pull/3359)) ## [2021-10-13] ### Changed -- Add drf stubs ([#3353](https://github.com/pydanny/cookiecutter-django/pull/3353)) +- Add drf stubs ([#3353](https://github.com/cookicutter/cookiecutter-django/pull/3353)) ## [2021-10-12] ### Updated -- Update coverage to 6.0.2 ([#3356](https://github.com/pydanny/cookiecutter-django/pull/3356)) +- Update coverage to 6.0.2 ([#3356](https://github.com/cookicutter/cookiecutter-django/pull/3356)) ## [2021-10-11] ### Updated -- Update werkzeug to 2.0.2 ([#3344](https://github.com/pydanny/cookiecutter-django/pull/3344)) -- Update coverage to 6.0.1 ([#3348](https://github.com/pydanny/cookiecutter-django/pull/3348)) -- Update django-coverage-plugin to 2.0.1 ([#3349](https://github.com/pydanny/cookiecutter-django/pull/3349)) -- Update django-cors-headers to 3.10.0 ([#3345](https://github.com/pydanny/cookiecutter-django/pull/3345)) -- Update jinja2 to 3.0.2 ([#3343](https://github.com/pydanny/cookiecutter-django/pull/3343)) -- Update django-storages to 1.12.1 ([#3355](https://github.com/pydanny/cookiecutter-django/pull/3355)) +- Update werkzeug to 2.0.2 ([#3344](https://github.com/cookicutter/cookiecutter-django/pull/3344)) +- Update coverage to 6.0.1 ([#3348](https://github.com/cookicutter/cookiecutter-django/pull/3348)) +- Update django-coverage-plugin to 2.0.1 ([#3349](https://github.com/cookicutter/cookiecutter-django/pull/3349)) +- Update django-cors-headers to 3.10.0 ([#3345](https://github.com/cookicutter/cookiecutter-django/pull/3345)) +- Update jinja2 to 3.0.2 ([#3343](https://github.com/cookicutter/cookiecutter-django/pull/3343)) +- Update django-storages to 1.12.1 ([#3355](https://github.com/cookicutter/cookiecutter-django/pull/3355)) ## [2021-10-03] ### Updated -- Update pytz to 2021.3 ([#3340](https://github.com/pydanny/cookiecutter-django/pull/3340)) +- Update pytz to 2021.3 ([#3340](https://github.com/cookicutter/cookiecutter-django/pull/3340)) ## [2021-10-01] ### Changed -- Fix the wrong pre-commit hyperlink in Prerequisites section ([#3338](https://github.com/pydanny/cookiecutter-django/pull/3338)) +- Fix the wrong pre-commit hyperlink in Prerequisites section ([#3338](https://github.com/cookicutter/cookiecutter-django/pull/3338)) ## [2021-09-30] ### Updated -- Update sentry-sdk to 1.4.3 ([#3334](https://github.com/pydanny/cookiecutter-django/pull/3334)) +- Update sentry-sdk to 1.4.3 ([#3334](https://github.com/cookicutter/cookiecutter-django/pull/3334)) ## [2021-09-29] ### Updated -- Update django-cors-headers to 3.9.0 ([#3332](https://github.com/pydanny/cookiecutter-django/pull/3332)) +- Update django-cors-headers to 3.9.0 ([#3332](https://github.com/cookicutter/cookiecutter-django/pull/3332)) ## [2021-09-27] ### Updated -- Update sentry-sdk to 1.4.2 ([#3329](https://github.com/pydanny/cookiecutter-django/pull/3329)) +- Update sentry-sdk to 1.4.2 ([#3329](https://github.com/cookicutter/cookiecutter-django/pull/3329)) ## [2021-09-26] ### Updated -- Update django-crispy-forms to 1.13.0 ([#3327](https://github.com/pydanny/cookiecutter-django/pull/3327)) +- Update django-crispy-forms to 1.13.0 ([#3327](https://github.com/cookicutter/cookiecutter-django/pull/3327)) ## [2021-09-24] ### Changed -- Add django-settings-module to .pylintrc ([#3326](https://github.com/pydanny/cookiecutter-django/pull/3326)) +- Add django-settings-module to .pylintrc ([#3326](https://github.com/cookicutter/cookiecutter-django/pull/3326)) ## [2021-09-23] ### Updated -- Update sentry-sdk to 1.4.1 ([#3325](https://github.com/pydanny/cookiecutter-django/pull/3325)) +- Update sentry-sdk to 1.4.1 ([#3325](https://github.com/cookicutter/cookiecutter-django/pull/3325)) ## [2021-09-22] ### Updated -- Update sentry-sdk to 1.4.0 ([#3324](https://github.com/pydanny/cookiecutter-django/pull/3324)) +- Update sentry-sdk to 1.4.0 ([#3324](https://github.com/cookicutter/cookiecutter-django/pull/3324)) ## [2021-09-16] ### Updated -- Update tox to 3.24.4 ([#3323](https://github.com/pydanny/cookiecutter-django/pull/3323)) +- Update tox to 3.24.4 ([#3323](https://github.com/cookicutter/cookiecutter-django/pull/3323)) ## [2021-09-15] ### Updated -- Auto-update pre-commit hooks ([#3322](https://github.com/pydanny/cookiecutter-django/pull/3322)) +- Auto-update pre-commit hooks ([#3322](https://github.com/cookicutter/cookiecutter-django/pull/3322)) ## [2021-09-14] ### Updated -- Update black to 21.9b0 ([#3321](https://github.com/pydanny/cookiecutter-django/pull/3321)) +- Update black to 21.9b0 ([#3321](https://github.com/cookicutter/cookiecutter-django/pull/3321)) ## [2021-09-13] ### Updated -- Bump stefanzweifel/git-auto-commit-action from 4.11.0 to 4.12.0 ([#3320](https://github.com/pydanny/cookiecutter-django/pull/3320)) -- Update sphinx to 4.2.0 ([#3319](https://github.com/pydanny/cookiecutter-django/pull/3319)) +- Bump stefanzweifel/git-auto-commit-action from 4.11.0 to 4.12.0 ([#3320](https://github.com/cookicutter/cookiecutter-django/pull/3320)) +- Update sphinx to 4.2.0 ([#3319](https://github.com/cookicutter/cookiecutter-django/pull/3319)) ## [2021-09-11] ### Changed -- Removing pycharm docs if app does not use pycharm ([#3139](https://github.com/pydanny/cookiecutter-django/pull/3139)) +- Removing pycharm docs if app does not use pycharm ([#3139](https://github.com/cookicutter/cookiecutter-django/pull/3139)) ### Updated -- Update django-environ to 0.7.0 ([#3317](https://github.com/pydanny/cookiecutter-django/pull/3317)) +- Update django-environ to 0.7.0 ([#3317](https://github.com/cookicutter/cookiecutter-django/pull/3317)) ## [2021-09-06] ### Changed -- Update Celery to v5 ([#3280](https://github.com/pydanny/cookiecutter-django/pull/3280)) +- Update Celery to v5 ([#3280](https://github.com/cookicutter/cookiecutter-django/pull/3280)) ## [2021-09-05] ### Updated -- Update django-environ to 0.6.0 ([#3314](https://github.com/pydanny/cookiecutter-django/pull/3314)) +- Update django-environ to 0.6.0 ([#3314](https://github.com/cookicutter/cookiecutter-django/pull/3314)) ## [2021-09-03] ### Changed -- Update available postgres versions ([#3297](https://github.com/pydanny/cookiecutter-django/pull/3297)) +- Update available postgres versions ([#3297](https://github.com/cookicutter/cookiecutter-django/pull/3297)) ### Updated -- Update pre-commit to 2.15.0 ([#3313](https://github.com/pydanny/cookiecutter-django/pull/3313)) -- Auto-update pre-commit hooks ([#3307](https://github.com/pydanny/cookiecutter-django/pull/3307)) -- Update pillow to 8.3.2 ([#3312](https://github.com/pydanny/cookiecutter-django/pull/3312)) -- Update django-environ to 0.5.0 ([#3311](https://github.com/pydanny/cookiecutter-django/pull/3311)) -- Update pytest to 6.2.5 ([#3310](https://github.com/pydanny/cookiecutter-django/pull/3310)) -- Update black to 21.8b0 ([#3308](https://github.com/pydanny/cookiecutter-django/pull/3308)) -- Update argon2-cffi to 21.1.0 ([#3306](https://github.com/pydanny/cookiecutter-django/pull/3306)) -- Bump peter-evans/create-pull-request from 3.10.0 to 3.10.1 ([#3303](https://github.com/pydanny/cookiecutter-django/pull/3303)) -- Update django-debug-toolbar to 3.2.2 ([#3296](https://github.com/pydanny/cookiecutter-django/pull/3296)) -- Update django-cors-headers to 3.8.0 ([#3295](https://github.com/pydanny/cookiecutter-django/pull/3295)) -- Update uvicorn to 0.15.0 ([#3294](https://github.com/pydanny/cookiecutter-django/pull/3294)) +- Update pre-commit to 2.15.0 ([#3313](https://github.com/cookicutter/cookiecutter-django/pull/3313)) +- Auto-update pre-commit hooks ([#3307](https://github.com/cookicutter/cookiecutter-django/pull/3307)) +- Update pillow to 8.3.2 ([#3312](https://github.com/cookicutter/cookiecutter-django/pull/3312)) +- Update django-environ to 0.5.0 ([#3311](https://github.com/cookicutter/cookiecutter-django/pull/3311)) +- Update pytest to 6.2.5 ([#3310](https://github.com/cookicutter/cookiecutter-django/pull/3310)) +- Update black to 21.8b0 ([#3308](https://github.com/cookicutter/cookiecutter-django/pull/3308)) +- Update argon2-cffi to 21.1.0 ([#3306](https://github.com/cookicutter/cookiecutter-django/pull/3306)) +- Bump peter-evans/create-pull-request from 3.10.0 to 3.10.1 ([#3303](https://github.com/cookicutter/cookiecutter-django/pull/3303)) +- Update django-debug-toolbar to 3.2.2 ([#3296](https://github.com/cookicutter/cookiecutter-django/pull/3296)) +- Update django-cors-headers to 3.8.0 ([#3295](https://github.com/cookicutter/cookiecutter-django/pull/3295)) +- Update uvicorn to 0.15.0 ([#3294](https://github.com/cookicutter/cookiecutter-django/pull/3294)) ## [2021-08-27] ### Updated -- Update tox to 3.24.3 ([#3302](https://github.com/pydanny/cookiecutter-django/pull/3302)) +- Update tox to 3.24.3 ([#3302](https://github.com/cookicutter/cookiecutter-django/pull/3302)) ## [2021-08-20] ### Changed -- Fix Jinja2 break line control on Procfile ([#3300](https://github.com/pydanny/cookiecutter-django/pull/3300)) +- Fix Jinja2 break line control on Procfile ([#3300](https://github.com/cookicutter/cookiecutter-django/pull/3300)) ## [2021-08-19] ### Changed -- Fix several minor typos ([#3301](https://github.com/pydanny/cookiecutter-django/pull/3301)) +- Fix several minor typos ([#3301](https://github.com/cookicutter/cookiecutter-django/pull/3301)) ## [2021-08-13] ### Changed -- Upgrade to Redis 6 ([#3255](https://github.com/pydanny/cookiecutter-django/pull/3255)) +- Upgrade to Redis 6 ([#3255](https://github.com/cookicutter/cookiecutter-django/pull/3255)) ### Fixed -- Fix RTD build image to support Python 3.9 ([#3293](https://github.com/pydanny/cookiecutter-django/pull/3293)) +- Fix RTD build image to support Python 3.9 ([#3293](https://github.com/cookicutter/cookiecutter-django/pull/3293)) ## [2021-08-12] ### Changed -- Add documentation for automating backups ([#3268](https://github.com/pydanny/cookiecutter-django/pull/3268)) -- Add missing step to getting started locally in docs ([#3291](https://github.com/pydanny/cookiecutter-django/pull/3291)) -- Moved isort config from `.editorconfig` to `setup.cfg` ([#3290](https://github.com/pydanny/cookiecutter-django/pull/3290)) -- How to pre-commit in Docker Development ([#3287](https://github.com/pydanny/cookiecutter-django/pull/3287)) +- Add documentation for automating backups ([#3268](https://github.com/cookicutter/cookiecutter-django/pull/3268)) +- Add missing step to getting started locally in docs ([#3291](https://github.com/cookicutter/cookiecutter-django/pull/3291)) +- Moved isort config from `.editorconfig` to `setup.cfg` ([#3290](https://github.com/cookicutter/cookiecutter-django/pull/3290)) +- How to pre-commit in Docker Development ([#3287](https://github.com/cookicutter/cookiecutter-django/pull/3287)) ### Updated -- Update sentry-sdk to 1.3.1 ([#3281](https://github.com/pydanny/cookiecutter-django/pull/3281)) -- Update tox to 3.24.1 ([#3285](https://github.com/pydanny/cookiecutter-django/pull/3285)) -- Update pre-commit to 2.14.0 ([#3289](https://github.com/pydanny/cookiecutter-django/pull/3289)) +- Update sentry-sdk to 1.3.1 ([#3281](https://github.com/cookicutter/cookiecutter-django/pull/3281)) +- Update tox to 3.24.1 ([#3285](https://github.com/cookicutter/cookiecutter-django/pull/3285)) +- Update pre-commit to 2.14.0 ([#3289](https://github.com/cookicutter/cookiecutter-django/pull/3289)) ## [2021-07-30] ### Updated -- Auto-update pre-commit hooks ([#3283](https://github.com/pydanny/cookiecutter-django/pull/3283)) -- Update isort to 5.9.3 ([#3282](https://github.com/pydanny/cookiecutter-django/pull/3282)) +- Auto-update pre-commit hooks ([#3283](https://github.com/cookicutter/cookiecutter-django/pull/3283)) +- Update isort to 5.9.3 ([#3282](https://github.com/cookicutter/cookiecutter-django/pull/3282)) ## [2021-07-27] ### Changed -- Convert trans to translate in templates ([#3277](https://github.com/pydanny/cookiecutter-django/pull/3277)) +- Convert trans to translate in templates ([#3277](https://github.com/cookicutter/cookiecutter-django/pull/3277)) ### Updated -- Update hiredis to 2.0.0 ([#3110](https://github.com/pydanny/cookiecutter-django/pull/3110)) -- Update mypy to 0.910 ([#3237](https://github.com/pydanny/cookiecutter-django/pull/3237)) -- Update whitenoise to 5.3.0 ([#3273](https://github.com/pydanny/cookiecutter-django/pull/3273)) -- Update tox to 3.24.0 ([#3269](https://github.com/pydanny/cookiecutter-django/pull/3269)) -- Update django-allauth to 0.45.0 ([#3267](https://github.com/pydanny/cookiecutter-django/pull/3267)) -- Update sentry-sdk to 1.3.0 ([#3262](https://github.com/pydanny/cookiecutter-django/pull/3262)) -- Update sphinx to 4.1.2 ([#3278](https://github.com/pydanny/cookiecutter-django/pull/3278)) -- Auto-update pre-commit hooks ([#3264](https://github.com/pydanny/cookiecutter-django/pull/3264)) -- Update isort to 5.9.2 ([#3279](https://github.com/pydanny/cookiecutter-django/pull/3279)) -- Update pillow to 8.3.1 ([#3259](https://github.com/pydanny/cookiecutter-django/pull/3259)) -- Update black to 21.7b0 ([#3272](https://github.com/pydanny/cookiecutter-django/pull/3272)) +- Update hiredis to 2.0.0 ([#3110](https://github.com/cookicutter/cookiecutter-django/pull/3110)) +- Update mypy to 0.910 ([#3237](https://github.com/cookicutter/cookiecutter-django/pull/3237)) +- Update whitenoise to 5.3.0 ([#3273](https://github.com/cookicutter/cookiecutter-django/pull/3273)) +- Update tox to 3.24.0 ([#3269](https://github.com/cookicutter/cookiecutter-django/pull/3269)) +- Update django-allauth to 0.45.0 ([#3267](https://github.com/cookicutter/cookiecutter-django/pull/3267)) +- Update sentry-sdk to 1.3.0 ([#3262](https://github.com/cookicutter/cookiecutter-django/pull/3262)) +- Update sphinx to 4.1.2 ([#3278](https://github.com/cookicutter/cookiecutter-django/pull/3278)) +- Auto-update pre-commit hooks ([#3264](https://github.com/cookicutter/cookiecutter-django/pull/3264)) +- Update isort to 5.9.2 ([#3279](https://github.com/cookicutter/cookiecutter-django/pull/3279)) +- Update pillow to 8.3.1 ([#3259](https://github.com/cookicutter/cookiecutter-django/pull/3259)) +- Update black to 21.7b0 ([#3272](https://github.com/cookicutter/cookiecutter-django/pull/3272)) ## [2021-07-12] ### Changed -- Define REMAP_SIGTERM=SIGQUIT on Profile of Celery on Heroku ([#3263](https://github.com/pydanny/cookiecutter-django/pull/3263)) +- Define REMAP_SIGTERM=SIGQUIT on Profile of Celery on Heroku ([#3263](https://github.com/cookicutter/cookiecutter-django/pull/3263)) ## [2021-07-08] ### Updated -- Update django to 3.1.13 ([#3247](https://github.com/pydanny/cookiecutter-django/pull/3247)) +- Update django to 3.1.13 ([#3247](https://github.com/cookicutter/cookiecutter-django/pull/3247)) ## [2021-06-29] ### Changed -- Improve github bug report template ([#3243](https://github.com/pydanny/cookiecutter-django/pull/3243)) +- Improve github bug report template ([#3243](https://github.com/cookicutter/cookiecutter-django/pull/3243)) ## [2021-06-28] ### Changed -- Revert "Fix Celery ports error on local Docker" ([#3242](https://github.com/pydanny/cookiecutter-django/pull/3242)) +- Revert "Fix Celery ports error on local Docker" ([#3242](https://github.com/cookicutter/cookiecutter-django/pull/3242)) ### Fixed -- Fix Celery ports error on local Docker ([#3241](https://github.com/pydanny/cookiecutter-django/pull/3241)) +- Fix Celery ports error on local Docker ([#3241](https://github.com/cookicutter/cookiecutter-django/pull/3241)) ## [2021-06-25] ### Changed -- Update `.gitignore` file for VSCode ([#3238](https://github.com/pydanny/cookiecutter-django/pull/3238)) +- Update `.gitignore` file for VSCode ([#3238](https://github.com/cookicutter/cookiecutter-django/pull/3238)) ### Fixed -- Wrap jQuery call in `DOMContentLoaded` event listener on account email page ([#3239](https://github.com/pydanny/cookiecutter-django/pull/3239)) +- Wrap jQuery call in `DOMContentLoaded` event listener on account email page ([#3239](https://github.com/cookicutter/cookiecutter-django/pull/3239)) ## [2021-06-22] ### Changed -- Update docs/howto.rst ([#3230](https://github.com/pydanny/cookiecutter-django/pull/3230)) -- Add support for PG 13. Drop PG 9. Update all minor versions ([#3154](https://github.com/pydanny/cookiecutter-django/pull/3154)) +- Update docs/howto.rst ([#3230](https://github.com/cookicutter/cookiecutter-django/pull/3230)) +- Add support for PG 13. Drop PG 9. Update all minor versions ([#3154](https://github.com/cookicutter/cookiecutter-django/pull/3154)) ### Updated -- Update isort to 5.9.1 ([#3236](https://github.com/pydanny/cookiecutter-django/pull/3236)) -- Auto-update pre-commit hooks ([#3235](https://github.com/pydanny/cookiecutter-django/pull/3235)) +- Update isort to 5.9.1 ([#3236](https://github.com/cookicutter/cookiecutter-django/pull/3236)) +- Auto-update pre-commit hooks ([#3235](https://github.com/cookicutter/cookiecutter-django/pull/3235)) ## [2021-06-21] ### Updated -- Update isort to 5.9.0 ([#3234](https://github.com/pydanny/cookiecutter-django/pull/3234)) -- Update django-anymail to 8.4 ([#3225](https://github.com/pydanny/cookiecutter-django/pull/3225)) -- Update django-redis to 5.0.0 ([#3205](https://github.com/pydanny/cookiecutter-django/pull/3205)) -- Update pylint-django to 2.4.4 ([#3233](https://github.com/pydanny/cookiecutter-django/pull/3233)) -- Auto-update pre-commit hooks ([#3220](https://github.com/pydanny/cookiecutter-django/pull/3220)) -- Bump peter-evans/create-pull-request from 3.9.2 to 3.10.0 ([#3197](https://github.com/pydanny/cookiecutter-django/pull/3197)) -- Update black to 21.6b0 ([#3232](https://github.com/pydanny/cookiecutter-django/pull/3232)) -- Update pytest to 6.2.4 ([#3231](https://github.com/pydanny/cookiecutter-django/pull/3231)) -- Update django-crispy-forms to 1.12.0 ([#3221](https://github.com/pydanny/cookiecutter-django/pull/3221)) -- Update mypy to 0.902 ([#3219](https://github.com/pydanny/cookiecutter-django/pull/3219)) -- Update django-coverage-plugin to 2.0.0 ([#3217](https://github.com/pydanny/cookiecutter-django/pull/3217)) -- Update ipdb to 0.13.9 ([#3210](https://github.com/pydanny/cookiecutter-django/pull/3210)) -- Update uvicorn to 0.14.0 ([#3207](https://github.com/pydanny/cookiecutter-django/pull/3207)) -- Update pytest-cookies to 0.6.1 ([#3196](https://github.com/pydanny/cookiecutter-django/pull/3196)) -- Update sphinx to 4.0.2 ([#3193](https://github.com/pydanny/cookiecutter-django/pull/3193)) -- Update jinja2 to 3.0.1 ([#3189](https://github.com/pydanny/cookiecutter-django/pull/3189)) +- Update isort to 5.9.0 ([#3234](https://github.com/cookicutter/cookiecutter-django/pull/3234)) +- Update django-anymail to 8.4 ([#3225](https://github.com/cookicutter/cookiecutter-django/pull/3225)) +- Update django-redis to 5.0.0 ([#3205](https://github.com/cookicutter/cookiecutter-django/pull/3205)) +- Update pylint-django to 2.4.4 ([#3233](https://github.com/cookicutter/cookiecutter-django/pull/3233)) +- Auto-update pre-commit hooks ([#3220](https://github.com/cookicutter/cookiecutter-django/pull/3220)) +- Bump peter-evans/create-pull-request from 3.9.2 to 3.10.0 ([#3197](https://github.com/cookicutter/cookiecutter-django/pull/3197)) +- Update black to 21.6b0 ([#3232](https://github.com/cookicutter/cookiecutter-django/pull/3232)) +- Update pytest to 6.2.4 ([#3231](https://github.com/cookicutter/cookiecutter-django/pull/3231)) +- Update django-crispy-forms to 1.12.0 ([#3221](https://github.com/cookicutter/cookiecutter-django/pull/3221)) +- Update mypy to 0.902 ([#3219](https://github.com/cookicutter/cookiecutter-django/pull/3219)) +- Update django-coverage-plugin to 2.0.0 ([#3217](https://github.com/cookicutter/cookiecutter-django/pull/3217)) +- Update ipdb to 0.13.9 ([#3210](https://github.com/cookicutter/cookiecutter-django/pull/3210)) +- Update uvicorn to 0.14.0 ([#3207](https://github.com/cookicutter/cookiecutter-django/pull/3207)) +- Update pytest-cookies to 0.6.1 ([#3196](https://github.com/cookicutter/cookiecutter-django/pull/3196)) +- Update sphinx to 4.0.2 ([#3193](https://github.com/cookicutter/cookiecutter-django/pull/3193)) +- Update jinja2 to 3.0.1 ([#3189](https://github.com/cookicutter/cookiecutter-django/pull/3189)) ## [2021-06-19] ### Updated -- Update psycopg2 to 2.9.1 ([#3227](https://github.com/pydanny/cookiecutter-django/pull/3227)) -- Update psycopg2-binary to 2.9.1 ([#3228](https://github.com/pydanny/cookiecutter-django/pull/3228)) +- Update psycopg2 to 2.9.1 ([#3227](https://github.com/cookicutter/cookiecutter-django/pull/3227)) +- Update psycopg2-binary to 2.9.1 ([#3228](https://github.com/cookicutter/cookiecutter-django/pull/3228)) ## [2021-06-14] ### Changed -- Update black GitHub link in requirements ([#3222](https://github.com/pydanny/cookiecutter-django/pull/3222)) +- Update black GitHub link in requirements ([#3222](https://github.com/cookicutter/cookiecutter-django/pull/3222)) ## [2021-06-09] ### Changed -- Fix link format in developing-locally.rst ([#3214](https://github.com/pydanny/cookiecutter-django/pull/3214)) +- Fix link format in developing-locally.rst ([#3214](https://github.com/cookicutter/cookiecutter-django/pull/3214)) ### Updated -- Update pre-commit to 2.13.0 ([#3195](https://github.com/pydanny/cookiecutter-django/pull/3195)) -- Update pytest-django to 4.4.0 ([#3212](https://github.com/pydanny/cookiecutter-django/pull/3212)) -- Update mypy to 0.901 ([#3215](https://github.com/pydanny/cookiecutter-django/pull/3215)) -- Auto-update pre-commit hooks ([#3206](https://github.com/pydanny/cookiecutter-django/pull/3206)) -- Update black to 21.5b2 ([#3204](https://github.com/pydanny/cookiecutter-django/pull/3204)) +- Update pre-commit to 2.13.0 ([#3195](https://github.com/cookicutter/cookiecutter-django/pull/3195)) +- Update pytest-django to 4.4.0 ([#3212](https://github.com/cookicutter/cookiecutter-django/pull/3212)) +- Update mypy to 0.901 ([#3215](https://github.com/cookicutter/cookiecutter-django/pull/3215)) +- Auto-update pre-commit hooks ([#3206](https://github.com/cookicutter/cookiecutter-django/pull/3206)) +- Update black to 21.5b2 ([#3204](https://github.com/cookicutter/cookiecutter-django/pull/3204)) ## [2021-06-06] ### Changed -- Updated .pre-commit-config.yaml to self-update its dependencies ([#3208](https://github.com/pydanny/cookiecutter-django/pull/3208)) +- Updated .pre-commit-config.yaml to self-update its dependencies ([#3208](https://github.com/cookicutter/cookiecutter-django/pull/3208)) ## [2021-06-05] ### Changed -- Shorthand for the officially supported buildpack ([#3211](https://github.com/pydanny/cookiecutter-django/pull/3211)) +- Shorthand for the officially supported buildpack ([#3211](https://github.com/cookicutter/cookiecutter-django/pull/3211)) ## [2021-06-02] ### Updated -- Update django to 3.1.12 ([#3209](https://github.com/pydanny/cookiecutter-django/pull/3209)) +- Update django to 3.1.12 ([#3209](https://github.com/cookicutter/cookiecutter-django/pull/3209)) ## [2021-05-18] ### Changed -- Move ARG PYTHON_VERSION=3.9-slim-buster to the global scope ([#3188](https://github.com/pydanny/cookiecutter-django/pull/3188)) +- Move ARG PYTHON_VERSION=3.9-slim-buster to the global scope ([#3188](https://github.com/cookicutter/cookiecutter-django/pull/3188)) ## [2021-05-17] ### Updated -- Bump tiangolo/issue-manager from 0.3.0 to 0.4.0 ([#3186](https://github.com/pydanny/cookiecutter-django/pull/3186)) -- Auto-update pre-commit hooks ([#3185](https://github.com/pydanny/cookiecutter-django/pull/3185)) +- Bump tiangolo/issue-manager from 0.3.0 to 0.4.0 ([#3186](https://github.com/cookicutter/cookiecutter-django/pull/3186)) +- Auto-update pre-commit hooks ([#3185](https://github.com/cookicutter/cookiecutter-django/pull/3185)) ## [2021-05-15] ### Changed -- Update watchgod to 0.7 ([#3177](https://github.com/pydanny/cookiecutter-django/pull/3177)) +- Update watchgod to 0.7 ([#3177](https://github.com/cookicutter/cookiecutter-django/pull/3177)) ### Updated -- Auto-update pre-commit hooks ([#3184](https://github.com/pydanny/cookiecutter-django/pull/3184)) -- Update black to 21.5b1 ([#3167](https://github.com/pydanny/cookiecutter-django/pull/3167)) -- Update flake8 to 3.9.2 ([#3164](https://github.com/pydanny/cookiecutter-django/pull/3164)) -- Update pytest-django to 4.3.0 ([#3182](https://github.com/pydanny/cookiecutter-django/pull/3182)) -- Auto-update pre-commit hooks ([#3157](https://github.com/pydanny/cookiecutter-django/pull/3157)) -- Update python-slugify to 5.0.2 ([#3161](https://github.com/pydanny/cookiecutter-django/pull/3161)) -- Bump stefanzweifel/git-auto-commit-action from 4.10.0 to 4.11.0 ([#3171](https://github.com/pydanny/cookiecutter-django/pull/3171)) -- Update sentry-sdk to 1.1.0 ([#3163](https://github.com/pydanny/cookiecutter-django/pull/3163)) -- Bump actions/setup-python from 2 to 2.2.2 ([#3173](https://github.com/pydanny/cookiecutter-django/pull/3173)) -- Update tox to 3.23.1 ([#3160](https://github.com/pydanny/cookiecutter-django/pull/3160)) -- Update pytest to 6.2.4 ([#3156](https://github.com/pydanny/cookiecutter-django/pull/3156)) -- Bump peter-evans/create-pull-request from 3.8.2 to 3.9.2 ([#3179](https://github.com/pydanny/cookiecutter-django/pull/3179)) -- Update sphinx to 4.0.1 ([#3169](https://github.com/pydanny/cookiecutter-django/pull/3169)) -- Update cookiecutter to 1.7.3 ([#3180](https://github.com/pydanny/cookiecutter-django/pull/3180)) -- Update django to 3.1.11 ([#3178](https://github.com/pydanny/cookiecutter-django/pull/3178)) +- Auto-update pre-commit hooks ([#3184](https://github.com/cookicutter/cookiecutter-django/pull/3184)) +- Update black to 21.5b1 ([#3167](https://github.com/cookicutter/cookiecutter-django/pull/3167)) +- Update flake8 to 3.9.2 ([#3164](https://github.com/cookicutter/cookiecutter-django/pull/3164)) +- Update pytest-django to 4.3.0 ([#3182](https://github.com/cookicutter/cookiecutter-django/pull/3182)) +- Auto-update pre-commit hooks ([#3157](https://github.com/cookicutter/cookiecutter-django/pull/3157)) +- Update python-slugify to 5.0.2 ([#3161](https://github.com/cookicutter/cookiecutter-django/pull/3161)) +- Bump stefanzweifel/git-auto-commit-action from 4.10.0 to 4.11.0 ([#3171](https://github.com/cookicutter/cookiecutter-django/pull/3171)) +- Update sentry-sdk to 1.1.0 ([#3163](https://github.com/cookicutter/cookiecutter-django/pull/3163)) +- Bump actions/setup-python from 2 to 2.2.2 ([#3173](https://github.com/cookicutter/cookiecutter-django/pull/3173)) +- Update tox to 3.23.1 ([#3160](https://github.com/cookicutter/cookiecutter-django/pull/3160)) +- Update pytest to 6.2.4 ([#3156](https://github.com/cookicutter/cookiecutter-django/pull/3156)) +- Bump peter-evans/create-pull-request from 3.8.2 to 3.9.2 ([#3179](https://github.com/cookicutter/cookiecutter-django/pull/3179)) +- Update sphinx to 4.0.1 ([#3169](https://github.com/cookicutter/cookiecutter-django/pull/3169)) +- Update cookiecutter to 1.7.3 ([#3180](https://github.com/cookicutter/cookiecutter-django/pull/3180)) +- Update django to 3.1.11 ([#3178](https://github.com/cookicutter/cookiecutter-django/pull/3178)) ## [2021-05-06] ### Updated -- Update django to 3.1.10 ([#3162](https://github.com/pydanny/cookiecutter-django/pull/3162)) +- Update django to 3.1.10 ([#3162](https://github.com/cookicutter/cookiecutter-django/pull/3162)) ## [2021-05-04] ### Updated -- Update django to 3.1.9 ([#3155](https://github.com/pydanny/cookiecutter-django/pull/3155)) +- Update django to 3.1.9 ([#3155](https://github.com/cookicutter/cookiecutter-django/pull/3155)) ## [2021-04-30] ### Fixed -- Fix linting error in production.py ([#3148](https://github.com/pydanny/cookiecutter-django/pull/3148)) +- Fix linting error in production.py ([#3148](https://github.com/cookicutter/cookiecutter-django/pull/3148)) ## [2021-04-29] ### Updated -- Update black to 21.4b2 ([#3147](https://github.com/pydanny/cookiecutter-django/pull/3147)) -- Auto-update pre-commit hooks ([#3146](https://github.com/pydanny/cookiecutter-django/pull/3146)) +- Update black to 21.4b2 ([#3147](https://github.com/cookicutter/cookiecutter-django/pull/3147)) +- Auto-update pre-commit hooks ([#3146](https://github.com/cookicutter/cookiecutter-django/pull/3146)) ## [2021-04-28] ### Changed -- Fix README link ([#3144](https://github.com/pydanny/cookiecutter-django/pull/3144)) +- Fix README link ([#3144](https://github.com/cookicutter/cookiecutter-django/pull/3144)) ### Updated -- Auto-update pre-commit hooks ([#3145](https://github.com/pydanny/cookiecutter-django/pull/3145)) +- Auto-update pre-commit hooks ([#3145](https://github.com/cookicutter/cookiecutter-django/pull/3145)) ## [2021-04-27] ### Updated -- Update pygithub to 1.55 ([#3141](https://github.com/pydanny/cookiecutter-django/pull/3141)) -- Update black to 21.4b1 ([#3143](https://github.com/pydanny/cookiecutter-django/pull/3143)) +- Update pygithub to 1.55 ([#3141](https://github.com/cookicutter/cookiecutter-django/pull/3141)) +- Update black to 21.4b1 ([#3143](https://github.com/cookicutter/cookiecutter-django/pull/3143)) ## [2021-04-26] ### Updated -- Update black to 21.4b0 ([#3138](https://github.com/pydanny/cookiecutter-django/pull/3138)) -- Auto-update pre-commit hooks ([#3137](https://github.com/pydanny/cookiecutter-django/pull/3137)) +- Update black to 21.4b0 ([#3138](https://github.com/cookicutter/cookiecutter-django/pull/3138)) +- Auto-update pre-commit hooks ([#3137](https://github.com/cookicutter/cookiecutter-django/pull/3137)) ## [2021-04-21] ### Updated -- Auto-update pre-commit hooks ([#3133](https://github.com/pydanny/cookiecutter-django/pull/3133)) -- Update django-extensions to 3.1.3 ([#3136](https://github.com/pydanny/cookiecutter-django/pull/3136)) -- Update django-compressor to 2.4.1 ([#3135](https://github.com/pydanny/cookiecutter-django/pull/3135)) -- Update pre-commit to 2.12.1 ([#3134](https://github.com/pydanny/cookiecutter-django/pull/3134)) -- Update flake8 to 3.9.1 ([#3131](https://github.com/pydanny/cookiecutter-django/pull/3131)) -- Update django-stubs to 1.8.0 ([#3127](https://github.com/pydanny/cookiecutter-django/pull/3127)) -- Update sphinx to 3.5.4 ([#3126](https://github.com/pydanny/cookiecutter-django/pull/3126)) +- Auto-update pre-commit hooks ([#3133](https://github.com/cookicutter/cookiecutter-django/pull/3133)) +- Update django-extensions to 3.1.3 ([#3136](https://github.com/cookicutter/cookiecutter-django/pull/3136)) +- Update django-compressor to 2.4.1 ([#3135](https://github.com/cookicutter/cookiecutter-django/pull/3135)) +- Update pre-commit to 2.12.1 ([#3134](https://github.com/cookicutter/cookiecutter-django/pull/3134)) +- Update flake8 to 3.9.1 ([#3131](https://github.com/cookicutter/cookiecutter-django/pull/3131)) +- Update django-stubs to 1.8.0 ([#3127](https://github.com/cookicutter/cookiecutter-django/pull/3127)) +- Update sphinx to 3.5.4 ([#3126](https://github.com/cookicutter/cookiecutter-django/pull/3126)) ## [2021-04-15] ### Updated -- Update django-debug-toolbar to 3.2.1 ([#3129](https://github.com/pydanny/cookiecutter-django/pull/3129)) +- Update django-debug-toolbar to 3.2.1 ([#3129](https://github.com/cookicutter/cookiecutter-django/pull/3129)) ## [2021-04-14] ### Updated -- Bump stefanzweifel/git-auto-commit-action from v4.9.2 to v4.10.0 ([#3128](https://github.com/pydanny/cookiecutter-django/pull/3128)) +- Bump stefanzweifel/git-auto-commit-action from v4.9.2 to v4.10.0 ([#3128](https://github.com/cookicutter/cookiecutter-django/pull/3128)) ## [2021-04-11] ### Updated -- Update pytest-django to 4.2.0 ([#3125](https://github.com/pydanny/cookiecutter-django/pull/3125)) -- Update pylint-django to 2.4.3 ([#3122](https://github.com/pydanny/cookiecutter-django/pull/3122)) +- Update pytest-django to 4.2.0 ([#3125](https://github.com/cookicutter/cookiecutter-django/pull/3125)) +- Update pylint-django to 2.4.3 ([#3122](https://github.com/cookicutter/cookiecutter-django/pull/3122)) ## [2021-04-09] ### Changed -- Update from Python 3.8 to Python 3.9 ([#3023](https://github.com/pydanny/cookiecutter-django/pull/3023)) +- Update from Python 3.8 to Python 3.9 ([#3023](https://github.com/cookicutter/cookiecutter-django/pull/3023)) ## [2021-04-08] ### Changed -- Switch .dockerignore to explicit list ([#3121](https://github.com/pydanny/cookiecutter-django/pull/3121)) -- Change Docker image to multi-stage build for Django ([#2815](https://github.com/pydanny/cookiecutter-django/pull/2815)) -- Fix deprecated warning in middleware tests ([#3038](https://github.com/pydanny/cookiecutter-django/pull/3038)) +- Switch .dockerignore to explicit list ([#3121](https://github.com/cookicutter/cookiecutter-django/pull/3121)) +- Change Docker image to multi-stage build for Django ([#2815](https://github.com/cookicutter/cookiecutter-django/pull/2815)) +- Fix deprecated warning in middleware tests ([#3038](https://github.com/cookicutter/cookiecutter-django/pull/3038)) ### Updated -- Update pre-commit to 2.12.0 ([#3120](https://github.com/pydanny/cookiecutter-django/pull/3120)) +- Update pre-commit to 2.12.0 ([#3120](https://github.com/cookicutter/cookiecutter-django/pull/3120)) ## [2021-04-07] ### Changed -- Update django to 3.1.8 ([#3117](https://github.com/pydanny/cookiecutter-django/pull/3117)) +- Update django to 3.1.8 ([#3117](https://github.com/cookicutter/cookiecutter-django/pull/3117)) ### Fixed -- Fix linting via pre-commit on Github CI ([#3077](https://github.com/pydanny/cookiecutter-django/pull/3077)) -- Fix gitlab-ci using duplicate key name for image ([#3112](https://github.com/pydanny/cookiecutter-django/pull/3112)) +- Fix linting via pre-commit on Github CI ([#3077](https://github.com/cookicutter/cookiecutter-django/pull/3077)) +- Fix gitlab-ci using duplicate key name for image ([#3112](https://github.com/cookicutter/cookiecutter-django/pull/3112)) ### Updated -- Update sentry-sdk to 1.0.0 ([#3080](https://github.com/pydanny/cookiecutter-django/pull/3080)) -- Update gunicorn to 20.1.0 ([#3108](https://github.com/pydanny/cookiecutter-django/pull/3108)) -- Update pre-commit to 2.12.0 ([#3118](https://github.com/pydanny/cookiecutter-django/pull/3118)) -- Update django-extensions to 3.1.2 ([#3116](https://github.com/pydanny/cookiecutter-django/pull/3116)) -- Update pillow to 8.2.0 ([#3113](https://github.com/pydanny/cookiecutter-django/pull/3113)) -- Update pytest to 6.2.3 ([#3115](https://github.com/pydanny/cookiecutter-django/pull/3115)) +- Update sentry-sdk to 1.0.0 ([#3080](https://github.com/cookicutter/cookiecutter-django/pull/3080)) +- Update gunicorn to 20.1.0 ([#3108](https://github.com/cookicutter/cookiecutter-django/pull/3108)) +- Update pre-commit to 2.12.0 ([#3118](https://github.com/cookicutter/cookiecutter-django/pull/3118)) +- Update django-extensions to 3.1.2 ([#3116](https://github.com/cookicutter/cookiecutter-django/pull/3116)) +- Update pillow to 8.2.0 ([#3113](https://github.com/cookicutter/cookiecutter-django/pull/3113)) +- Update pytest to 6.2.3 ([#3115](https://github.com/cookicutter/cookiecutter-django/pull/3115)) ## [2021-03-26] ### Updated -- Update djangorestframework to 3.12.4 ([#3107](https://github.com/pydanny/cookiecutter-django/pull/3107)) +- Update djangorestframework to 3.12.4 ([#3107](https://github.com/cookicutter/cookiecutter-django/pull/3107)) ## [2021-03-25] ### Updated -- Update djangorestframework to 3.12.3 ([#3105](https://github.com/pydanny/cookiecutter-django/pull/3105)) +- Update djangorestframework to 3.12.3 ([#3105](https://github.com/cookicutter/cookiecutter-django/pull/3105)) ## [2021-03-22] ### Updated -- Update django-crispy-forms to 1.11.2 ([#3104](https://github.com/pydanny/cookiecutter-django/pull/3104)) -- Update sphinx to 3.5.3 ([#3103](https://github.com/pydanny/cookiecutter-django/pull/3103)) -- Update ipdb to 0.13.7 ([#3102](https://github.com/pydanny/cookiecutter-django/pull/3102)) -- Update sphinx-autobuild to 2021.3.14 ([#3101](https://github.com/pydanny/cookiecutter-django/pull/3101)) -- Update isort to 5.8.0 ([#3100](https://github.com/pydanny/cookiecutter-django/pull/3100)) -- Update pre-commit to 2.11.1 ([#3089](https://github.com/pydanny/cookiecutter-django/pull/3089)) -- Update flake8 to 3.9.0 ([#3096](https://github.com/pydanny/cookiecutter-django/pull/3096)) -- Update pillow to 8.1.2 ([#3084](https://github.com/pydanny/cookiecutter-django/pull/3084)) -- Auto-update pre-commit hooks ([#3095](https://github.com/pydanny/cookiecutter-django/pull/3095)) +- Update django-crispy-forms to 1.11.2 ([#3104](https://github.com/cookicutter/cookiecutter-django/pull/3104)) +- Update sphinx to 3.5.3 ([#3103](https://github.com/cookicutter/cookiecutter-django/pull/3103)) +- Update ipdb to 0.13.7 ([#3102](https://github.com/cookicutter/cookiecutter-django/pull/3102)) +- Update sphinx-autobuild to 2021.3.14 ([#3101](https://github.com/cookicutter/cookiecutter-django/pull/3101)) +- Update isort to 5.8.0 ([#3100](https://github.com/cookicutter/cookiecutter-django/pull/3100)) +- Update pre-commit to 2.11.1 ([#3089](https://github.com/cookicutter/cookiecutter-django/pull/3089)) +- Update flake8 to 3.9.0 ([#3096](https://github.com/cookicutter/cookiecutter-django/pull/3096)) +- Update pillow to 8.1.2 ([#3084](https://github.com/cookicutter/cookiecutter-django/pull/3084)) +- Auto-update pre-commit hooks ([#3095](https://github.com/cookicutter/cookiecutter-django/pull/3095)) ## [2021-03-05] ### Changed -- Updated test_urls.py and views.py to re-use User.get_absolute_url() ([#3070](https://github.com/pydanny/cookiecutter-django/pull/3070)) +- Updated test_urls.py and views.py to re-use User.get_absolute_url() ([#3070](https://github.com/cookicutter/cookiecutter-django/pull/3070)) ### Updated -- Bump stefanzweifel/git-auto-commit-action from v4.9.1 to v4.9.2 ([#3082](https://github.com/pydanny/cookiecutter-django/pull/3082)) +- Bump stefanzweifel/git-auto-commit-action from v4.9.1 to v4.9.2 ([#3082](https://github.com/cookicutter/cookiecutter-django/pull/3082)) ## [2021-03-03] ### Updated -- Update tox to 3.23.0 ([#3079](https://github.com/pydanny/cookiecutter-django/pull/3079)) -- Update ipdb to 0.13.5 ([#3078](https://github.com/pydanny/cookiecutter-django/pull/3078)) +- Update tox to 3.23.0 ([#3079](https://github.com/cookicutter/cookiecutter-django/pull/3079)) +- Update ipdb to 0.13.5 ([#3078](https://github.com/cookicutter/cookiecutter-django/pull/3078)) ## [2021-03-02] ### Fixed -- Fixes for pytest job in Github CI workflow ([#3076](https://github.com/pydanny/cookiecutter-django/pull/3076)) +- Fixes for pytest job in Github CI workflow ([#3076](https://github.com/cookicutter/cookiecutter-django/pull/3076)) ### Updated -- Update pillow to 8.1.1 ([#3075](https://github.com/pydanny/cookiecutter-django/pull/3075)) -- Update coverage to 5.5 ([#3074](https://github.com/pydanny/cookiecutter-django/pull/3074)) +- Update pillow to 8.1.1 ([#3075](https://github.com/cookicutter/cookiecutter-django/pull/3075)) +- Update coverage to 5.5 ([#3074](https://github.com/cookicutter/cookiecutter-django/pull/3074)) ## [2021-02-24] ### Updated -- Bump stefanzweifel/git-auto-commit-action from v4.9.0 to v4.9.1 ([#3069](https://github.com/pydanny/cookiecutter-django/pull/3069)) +- Bump stefanzweifel/git-auto-commit-action from v4.9.0 to v4.9.1 ([#3069](https://github.com/cookicutter/cookiecutter-django/pull/3069)) ## [2021-02-23] ### Changed -- Update to Django 3.1 ([#3043](https://github.com/pydanny/cookiecutter-django/pull/3043)) -- Lint with pre-commit on CI with Github actions ([#3066](https://github.com/pydanny/cookiecutter-django/pull/3066)) -- Use exception var in status code pages if available ([#2992](https://github.com/pydanny/cookiecutter-django/pull/2992)) +- Update to Django 3.1 ([#3043](https://github.com/cookicutter/cookiecutter-django/pull/3043)) +- Lint with pre-commit on CI with Github actions ([#3066](https://github.com/cookicutter/cookiecutter-django/pull/3066)) +- Use exception var in status code pages if available ([#2992](https://github.com/cookicutter/cookiecutter-django/pull/2992)) ## [2021-02-22] ### Changed -- refactor: remove default cache settings in test.py ([#3064](https://github.com/pydanny/cookiecutter-django/pull/3064)) -- Update django to 3.0.13 ([#3060](https://github.com/pydanny/cookiecutter-django/pull/3060)) +- refactor: remove default cache settings in test.py ([#3064](https://github.com/cookicutter/cookiecutter-django/pull/3064)) +- Update django to 3.0.13 ([#3060](https://github.com/cookicutter/cookiecutter-django/pull/3060)) ### Fixed -- Fix missing Django Debug toolbar with node container ([#2865](https://github.com/pydanny/cookiecutter-django/pull/2865)) -- Remove Email from User API ([#3055](https://github.com/pydanny/cookiecutter-django/pull/3055)) +- Fix missing Django Debug toolbar with node container ([#2865](https://github.com/cookicutter/cookiecutter-django/pull/2865)) +- Remove Email from User API ([#3055](https://github.com/cookicutter/cookiecutter-django/pull/3055)) ### Updated -- Bump stefanzweifel/git-auto-commit-action from v4.8.0 to v4.9.0 ([#3065](https://github.com/pydanny/cookiecutter-django/pull/3065)) -- Update django-crispy-forms to 1.11.1 ([#3063](https://github.com/pydanny/cookiecutter-django/pull/3063)) -- Update uvicorn to 0.13.4 ([#3062](https://github.com/pydanny/cookiecutter-django/pull/3062)) -- Update mypy to 0.812 ([#3061](https://github.com/pydanny/cookiecutter-django/pull/3061)) -- Update sentry-sdk to 0.20.3 ([#3059](https://github.com/pydanny/cookiecutter-django/pull/3059)) -- Update tox to 3.22.0 ([#3057](https://github.com/pydanny/cookiecutter-django/pull/3057)) -- Update sphinx to 3.5.1 ([#3056](https://github.com/pydanny/cookiecutter-django/pull/3056)) +- Bump stefanzweifel/git-auto-commit-action from v4.8.0 to v4.9.0 ([#3065](https://github.com/cookicutter/cookiecutter-django/pull/3065)) +- Update django-crispy-forms to 1.11.1 ([#3063](https://github.com/cookicutter/cookiecutter-django/pull/3063)) +- Update uvicorn to 0.13.4 ([#3062](https://github.com/cookicutter/cookiecutter-django/pull/3062)) +- Update mypy to 0.812 ([#3061](https://github.com/cookicutter/cookiecutter-django/pull/3061)) +- Update sentry-sdk to 0.20.3 ([#3059](https://github.com/cookicutter/cookiecutter-django/pull/3059)) +- Update tox to 3.22.0 ([#3057](https://github.com/cookicutter/cookiecutter-django/pull/3057)) +- Update sphinx to 3.5.1 ([#3056](https://github.com/cookicutter/cookiecutter-django/pull/3056)) ## [2021-02-16] ### Updated -- Update sentry-sdk to 0.20.2 ([#3054](https://github.com/pydanny/cookiecutter-django/pull/3054)) -- Update sphinx to 3.5.0 ([#3053](https://github.com/pydanny/cookiecutter-django/pull/3053)) +- Update sentry-sdk to 0.20.2 ([#3054](https://github.com/cookicutter/cookiecutter-django/pull/3054)) +- Update sphinx to 3.5.0 ([#3053](https://github.com/cookicutter/cookiecutter-django/pull/3053)) ## [2021-02-13] ### Updated -- Update sentry-sdk to 0.20.1 ([#3052](https://github.com/pydanny/cookiecutter-django/pull/3052)) +- Update sentry-sdk to 0.20.1 ([#3052](https://github.com/cookicutter/cookiecutter-django/pull/3052)) ## [2021-02-12] ### Updated -- Update pre-commit to 2.10.1 ([#3045](https://github.com/pydanny/cookiecutter-django/pull/3045)) -- Update sentry-sdk to 0.20.0 ([#3051](https://github.com/pydanny/cookiecutter-django/pull/3051)) +- Update pre-commit to 2.10.1 ([#3045](https://github.com/cookicutter/cookiecutter-django/pull/3045)) +- Update sentry-sdk to 0.20.0 ([#3051](https://github.com/cookicutter/cookiecutter-django/pull/3051)) ## [2021-02-10] ### Updated -- Bump peter-evans/create-pull-request from v3.8.1 to v3.8.2 ([#3049](https://github.com/pydanny/cookiecutter-django/pull/3049)) +- Bump peter-evans/create-pull-request from v3.8.1 to v3.8.2 ([#3049](https://github.com/cookicutter/cookiecutter-django/pull/3049)) ## [2021-02-08] ### Updated -- Update django-extensions to 3.1.1 ([#3047](https://github.com/pydanny/cookiecutter-django/pull/3047)) -- Bump peter-evans/create-pull-request from v3.8.0 to v3.8.1 ([#3046](https://github.com/pydanny/cookiecutter-django/pull/3046)) +- Update django-extensions to 3.1.1 ([#3047](https://github.com/cookicutter/cookiecutter-django/pull/3047)) +- Bump peter-evans/create-pull-request from v3.8.0 to v3.8.1 ([#3046](https://github.com/cookicutter/cookiecutter-django/pull/3046)) ## [2021-02-06] ### Changed -- Removed Redundant test_case_sensitivity() and made test_not_authenticated() get the LOGIN_URL dynamically. ([#3041](https://github.com/pydanny/cookiecutter-django/pull/3041)) -- Refactored users.forms to make the code more readeable ([#3029](https://github.com/pydanny/cookiecutter-django/pull/3029)) -- Update django to 3.0.12 ([#3037](https://github.com/pydanny/cookiecutter-django/pull/3037)) +- Removed Redundant test_case_sensitivity() and made test_not_authenticated() get the LOGIN_URL dynamically. ([#3041](https://github.com/cookicutter/cookiecutter-django/pull/3041)) +- Refactored users.forms to make the code more readeable ([#3029](https://github.com/cookicutter/cookiecutter-django/pull/3029)) +- Update django to 3.0.12 ([#3037](https://github.com/cookicutter/cookiecutter-django/pull/3037)) ### Updated -- Update tox to 3.21.4 ([#3044](https://github.com/pydanny/cookiecutter-django/pull/3044)) +- Update tox to 3.21.4 ([#3044](https://github.com/cookicutter/cookiecutter-django/pull/3044)) ## [2021-02-01] ### Updated -- Update pytz to 2021.1 ([#3035](https://github.com/pydanny/cookiecutter-django/pull/3035)) -- Update jinja2 to 2.11.3 ([#3033](https://github.com/pydanny/cookiecutter-django/pull/3033)) -- Bump peter-evans/create-pull-request from v3.7.0 to v3.8.0 ([#3034](https://github.com/pydanny/cookiecutter-django/pull/3034)) +- Update pytz to 2021.1 ([#3035](https://github.com/cookicutter/cookiecutter-django/pull/3035)) +- Update jinja2 to 2.11.3 ([#3033](https://github.com/cookicutter/cookiecutter-django/pull/3033)) +- Bump peter-evans/create-pull-request from v3.7.0 to v3.8.0 ([#3034](https://github.com/cookicutter/cookiecutter-django/pull/3034)) ## [2021-01-31] ### Changed -- Adding local celery instructions to developing-locally ([#3031](https://github.com/pydanny/cookiecutter-django/pull/3031)) +- Adding local celery instructions to developing-locally ([#3031](https://github.com/cookicutter/cookiecutter-django/pull/3031)) ### Updated -- Update django-crispy-forms to 1.11.0 ([#3032](https://github.com/pydanny/cookiecutter-django/pull/3032)) +- Update django-crispy-forms to 1.11.0 ([#3032](https://github.com/cookicutter/cookiecutter-django/pull/3032)) ## [2021-01-28] ### Updated -- Update pre-commit to 2.10.0 ([#3028](https://github.com/pydanny/cookiecutter-django/pull/3028)) -- Update django-anymail to 8.2 ([#3027](https://github.com/pydanny/cookiecutter-django/pull/3027)) -- Update tox to 3.21.3 ([#3026](https://github.com/pydanny/cookiecutter-django/pull/3026)) +- Update pre-commit to 2.10.0 ([#3028](https://github.com/cookicutter/cookiecutter-django/pull/3028)) +- Update django-anymail to 8.2 ([#3027](https://github.com/cookicutter/cookiecutter-django/pull/3027)) +- Update tox to 3.21.3 ([#3026](https://github.com/cookicutter/cookiecutter-django/pull/3026)) ## [2021-01-26] ### Changed -- Bump peter-evans/create-pull-request from v3.6.0 to v3.7.0 ([#3022](https://github.com/pydanny/cookiecutter-django/pull/3022)) -- Using SuccessMessageMixin to send success message to django template ([#3021](https://github.com/pydanny/cookiecutter-django/pull/3021)) +- Bump peter-evans/create-pull-request from v3.6.0 to v3.7.0 ([#3022](https://github.com/cookicutter/cookiecutter-django/pull/3022)) +- Using SuccessMessageMixin to send success message to django template ([#3021](https://github.com/cookicutter/cookiecutter-django/pull/3021)) ### Fixed -- Update admin to ignore *_name User attributes ([#3018](https://github.com/pydanny/cookiecutter-django/pull/3018)) +- Update admin to ignore *_name User attributes ([#3018](https://github.com/cookicutter/cookiecutter-django/pull/3018)) ### Updated -- Update coverage to 5.4 ([#3024](https://github.com/pydanny/cookiecutter-django/pull/3024)) -- Update pytest to 6.2.2 ([#3020](https://github.com/pydanny/cookiecutter-django/pull/3020)) -- Update django-cors-headers to 3.7.0 ([#3019](https://github.com/pydanny/cookiecutter-django/pull/3019)) +- Update coverage to 5.4 ([#3024](https://github.com/cookicutter/cookiecutter-django/pull/3024)) +- Update pytest to 6.2.2 ([#3020](https://github.com/cookicutter/cookiecutter-django/pull/3020)) +- Update django-cors-headers to 3.7.0 ([#3019](https://github.com/cookicutter/cookiecutter-django/pull/3019)) ## [2021-01-24] ### Changed -- Use defer for script tags (Fix #2922) ([#2927](https://github.com/pydanny/cookiecutter-django/pull/2927)) -- Made Traefik conf much easier to understand and improved redirect res… ([#2838](https://github.com/pydanny/cookiecutter-django/pull/2838)) -- Sentry Redis integration enabled by default in production. ([#2989](https://github.com/pydanny/cookiecutter-django/pull/2989)) -- Add test for UserUpdateView.form_valid() ([#2949](https://github.com/pydanny/cookiecutter-django/pull/2949)) +- Use defer for script tags (Fix #2922) ([#2927](https://github.com/cookicutter/cookiecutter-django/pull/2927)) +- Made Traefik conf much easier to understand and improved redirect res… ([#2838](https://github.com/cookicutter/cookiecutter-django/pull/2838)) +- Sentry Redis integration enabled by default in production. ([#2989](https://github.com/cookicutter/cookiecutter-django/pull/2989)) +- Add test for UserUpdateView.form_valid() ([#2949](https://github.com/cookicutter/cookiecutter-django/pull/2949)) ### Fixed -- Omit first_name and last_name in User model ([#2998](https://github.com/pydanny/cookiecutter-django/pull/2998)) +- Omit first_name and last_name in User model ([#2998](https://github.com/cookicutter/cookiecutter-django/pull/2998)) ### Updated -- Update django-celery-beat to 2.2.0 ([#3009](https://github.com/pydanny/cookiecutter-django/pull/3009)) -- Update pyyaml to 5.4.1 ([#3011](https://github.com/pydanny/cookiecutter-django/pull/3011)) -- Update mypy to 0.800 ([#3013](https://github.com/pydanny/cookiecutter-django/pull/3013)) -- Update factory-boy to 3.2.0 ([#2986](https://github.com/pydanny/cookiecutter-django/pull/2986)) -- Update tox to 3.21.2 ([#3010](https://github.com/pydanny/cookiecutter-django/pull/3010)) +- Update django-celery-beat to 2.2.0 ([#3009](https://github.com/cookicutter/cookiecutter-django/pull/3009)) +- Update pyyaml to 5.4.1 ([#3011](https://github.com/cookicutter/cookiecutter-django/pull/3011)) +- Update mypy to 0.800 ([#3013](https://github.com/cookicutter/cookiecutter-django/pull/3013)) +- Update factory-boy to 3.2.0 ([#2986](https://github.com/cookicutter/cookiecutter-django/pull/2986)) +- Update tox to 3.21.2 ([#3010](https://github.com/cookicutter/cookiecutter-django/pull/3010)) ## [2021-01-22] ### Changed -- Use self.request.user instead of second query ([#3012](https://github.com/pydanny/cookiecutter-django/pull/3012)) +- Use self.request.user instead of second query ([#3012](https://github.com/cookicutter/cookiecutter-django/pull/3012)) ## [2021-01-14] ### Updated -- Update tox to 3.21.1 ([#3006](https://github.com/pydanny/cookiecutter-django/pull/3006)) +- Update tox to 3.21.1 ([#3006](https://github.com/cookicutter/cookiecutter-django/pull/3006)) ## [2021-01-10] ### Updated -- Update pylint-django to 2.4.2 ([#3003](https://github.com/pydanny/cookiecutter-django/pull/3003)) -- Update tox to 3.21.0 ([#3002](https://github.com/pydanny/cookiecutter-django/pull/3002)) +- Update pylint-django to 2.4.2 ([#3003](https://github.com/cookicutter/cookiecutter-django/pull/3003)) +- Update tox to 3.21.0 ([#3002](https://github.com/cookicutter/cookiecutter-django/pull/3002)) ## [2021-01-08] ### Changed -- Upgrade Travis to Focal ([#2999](https://github.com/pydanny/cookiecutter-django/pull/2999)) +- Upgrade Travis to Focal ([#2999](https://github.com/cookicutter/cookiecutter-django/pull/2999)) ### Updated -- Update pylint-django to 2.4.1 ([#3001](https://github.com/pydanny/cookiecutter-django/pull/3001)) -- Update sphinx to 3.4.3 ([#3000](https://github.com/pydanny/cookiecutter-django/pull/3000)) -- Update pylint-django to 2.4.0 ([#2996](https://github.com/pydanny/cookiecutter-django/pull/2996)) +- Update pylint-django to 2.4.1 ([#3001](https://github.com/cookicutter/cookiecutter-django/pull/3001)) +- Update sphinx to 3.4.3 ([#3000](https://github.com/cookicutter/cookiecutter-django/pull/3000)) +- Update pylint-django to 2.4.0 ([#2996](https://github.com/cookicutter/cookiecutter-django/pull/2996)) ## [2021-01-04] ### Updated -- Update isort to 5.7.0 ([#2988](https://github.com/pydanny/cookiecutter-django/pull/2988)) -- Update uvicorn to 0.13.3 ([#2987](https://github.com/pydanny/cookiecutter-django/pull/2987)) -- Auto-update pre-commit hooks ([#2990](https://github.com/pydanny/cookiecutter-django/pull/2990)) -- Update sphinx to 3.4.2 ([#2995](https://github.com/pydanny/cookiecutter-django/pull/2995)) -- Update pillow to 8.1.0 ([#2993](https://github.com/pydanny/cookiecutter-django/pull/2993)) +- Update isort to 5.7.0 ([#2988](https://github.com/cookicutter/cookiecutter-django/pull/2988)) +- Update uvicorn to 0.13.3 ([#2987](https://github.com/cookicutter/cookiecutter-django/pull/2987)) +- Auto-update pre-commit hooks ([#2990](https://github.com/cookicutter/cookiecutter-django/pull/2990)) +- Update sphinx to 3.4.2 ([#2995](https://github.com/cookicutter/cookiecutter-django/pull/2995)) +- Update pillow to 8.1.0 ([#2993](https://github.com/cookicutter/cookiecutter-django/pull/2993)) ## [2020-12-29] ### Updated -- Update pygithub to 1.54.1 ([#2982](https://github.com/pydanny/cookiecutter-django/pull/2982)) -- Update django-storages to 1.11.1 ([#2981](https://github.com/pydanny/cookiecutter-django/pull/2981)) +- Update pygithub to 1.54.1 ([#2982](https://github.com/cookicutter/cookiecutter-django/pull/2982)) +- Update django-storages to 1.11.1 ([#2981](https://github.com/cookicutter/cookiecutter-django/pull/2981)) ## [2020-12-26] ### Updated -- Update sphinx to 3.4.1 ([#2985](https://github.com/pydanny/cookiecutter-django/pull/2985)) -- Update pytz to 2020.5 ([#2984](https://github.com/pydanny/cookiecutter-django/pull/2984)) +- Update sphinx to 3.4.1 ([#2985](https://github.com/cookicutter/cookiecutter-django/pull/2985)) +- Update pytz to 2020.5 ([#2984](https://github.com/cookicutter/cookiecutter-django/pull/2984)) ## [2020-12-23] ### Changed -- Bump peter-evans/create-pull-request from v3.5.2 to v3.6.0 ([#2980](https://github.com/pydanny/cookiecutter-django/pull/2980)) +- Bump peter-evans/create-pull-request from v3.5.2 to v3.6.0 ([#2980](https://github.com/cookicutter/cookiecutter-django/pull/2980)) ### Updated -- Update flower to 0.9.7 ([#2979](https://github.com/pydanny/cookiecutter-django/pull/2979)) -- Update sphinx to 3.4.0 ([#2978](https://github.com/pydanny/cookiecutter-django/pull/2978)) -- Update coverage to 5.3.1 ([#2977](https://github.com/pydanny/cookiecutter-django/pull/2977)) -- Update uvicorn to 0.13.2 ([#2976](https://github.com/pydanny/cookiecutter-django/pull/2976)) +- Update flower to 0.9.7 ([#2979](https://github.com/cookicutter/cookiecutter-django/pull/2979)) +- Update sphinx to 3.4.0 ([#2978](https://github.com/cookicutter/cookiecutter-django/pull/2978)) +- Update coverage to 5.3.1 ([#2977](https://github.com/cookicutter/cookiecutter-django/pull/2977)) +- Update uvicorn to 0.13.2 ([#2976](https://github.com/cookicutter/cookiecutter-django/pull/2976)) ## [2020-12-18] ### Changed -- Bump stefanzweifel/git-auto-commit-action from v4.7.2 to v4.8.0 ([#2972](https://github.com/pydanny/cookiecutter-django/pull/2972)) +- Bump stefanzweifel/git-auto-commit-action from v4.7.2 to v4.8.0 ([#2972](https://github.com/cookicutter/cookiecutter-django/pull/2972)) ### Updated -- Update django-storages to 1.11 ([#2973](https://github.com/pydanny/cookiecutter-django/pull/2973)) -- Update pytest to 6.2.1 ([#2971](https://github.com/pydanny/cookiecutter-django/pull/2971)) -- Auto-update pre-commit hooks ([#2970](https://github.com/pydanny/cookiecutter-django/pull/2970)) +- Update django-storages to 1.11 ([#2973](https://github.com/cookicutter/cookiecutter-django/pull/2973)) +- Update pytest to 6.2.1 ([#2971](https://github.com/cookicutter/cookiecutter-django/pull/2971)) +- Auto-update pre-commit hooks ([#2970](https://github.com/cookicutter/cookiecutter-django/pull/2970)) ## [2020-12-14] ### Updated -- Update pytest to 6.2.0 ([#2968](https://github.com/pydanny/cookiecutter-django/pull/2968)) -- Update django-cors-headers to 3.6.0 ([#2967](https://github.com/pydanny/cookiecutter-django/pull/2967)) -- Update uvicorn to 0.13.1 ([#2966](https://github.com/pydanny/cookiecutter-django/pull/2966)) +- Update pytest to 6.2.0 ([#2968](https://github.com/cookicutter/cookiecutter-django/pull/2968)) +- Update django-cors-headers to 3.6.0 ([#2967](https://github.com/cookicutter/cookiecutter-django/pull/2967)) +- Update uvicorn to 0.13.1 ([#2966](https://github.com/cookicutter/cookiecutter-django/pull/2966)) ## [2020-12-10] ### Changed -- Hot-reload support to celery ([#2554](https://github.com/pydanny/cookiecutter-django/pull/2554)) +- Hot-reload support to celery ([#2554](https://github.com/cookicutter/cookiecutter-django/pull/2554)) ### Updated -- Update uvicorn to 0.13.0 ([#2962](https://github.com/pydanny/cookiecutter-django/pull/2962)) -- Update sentry-sdk to 0.19.5 ([#2965](https://github.com/pydanny/cookiecutter-django/pull/2965)) +- Update uvicorn to 0.13.0 ([#2962](https://github.com/cookicutter/cookiecutter-django/pull/2962)) +- Update sentry-sdk to 0.19.5 ([#2965](https://github.com/cookicutter/cookiecutter-django/pull/2965)) ## [2020-12-09] ### Changed -- Bump peter-evans/create-pull-request from v3.5.1 to v3.5.2 ([#2964](https://github.com/pydanny/cookiecutter-django/pull/2964)) +- Bump peter-evans/create-pull-request from v3.5.1 to v3.5.2 ([#2964](https://github.com/cookicutter/cookiecutter-django/pull/2964)) ## [2020-12-08] ### Updated -- Update pre-commit to 2.9.3 ([#2961](https://github.com/pydanny/cookiecutter-django/pull/2961)) +- Update pre-commit to 2.9.3 ([#2961](https://github.com/cookicutter/cookiecutter-django/pull/2961)) ## [2020-12-04] ### Updated -- Update django-debug-toolbar to 3.2 ([#2959](https://github.com/pydanny/cookiecutter-django/pull/2959)) +- Update django-debug-toolbar to 3.2 ([#2959](https://github.com/cookicutter/cookiecutter-django/pull/2959)) ## [2020-12-02] ### Updated -- Update django-model-utils to 4.1.1 ([#2957](https://github.com/pydanny/cookiecutter-django/pull/2957)) -- Update pygithub to 1.54 ([#2958](https://github.com/pydanny/cookiecutter-django/pull/2958)) +- Update django-model-utils to 4.1.1 ([#2957](https://github.com/cookicutter/cookiecutter-django/pull/2957)) +- Update pygithub to 1.54 ([#2958](https://github.com/cookicutter/cookiecutter-django/pull/2958)) ## [2020-11-26] ### Updated -- Update django-extensions to 3.1.0 ([#2947](https://github.com/pydanny/cookiecutter-django/pull/2947)) -- Update pre-commit to 2.9.2 ([#2948](https://github.com/pydanny/cookiecutter-django/pull/2948)) -- Update django-allauth to 0.44.0 ([#2945](https://github.com/pydanny/cookiecutter-django/pull/2945)) +- Update django-extensions to 3.1.0 ([#2947](https://github.com/cookicutter/cookiecutter-django/pull/2947)) +- Update pre-commit to 2.9.2 ([#2948](https://github.com/cookicutter/cookiecutter-django/pull/2948)) +- Update django-allauth to 0.44.0 ([#2945](https://github.com/cookicutter/cookiecutter-django/pull/2945)) ## [2020-11-25] ### Changed -- Bump peter-evans/create-pull-request from v3.5.0 to v3.5.1 ([#2944](https://github.com/pydanny/cookiecutter-django/pull/2944)) +- Bump peter-evans/create-pull-request from v3.5.0 to v3.5.1 ([#2944](https://github.com/cookicutter/cookiecutter-django/pull/2944)) ## [2020-11-23] ### Updated -- Update uvicorn to 0.12.3 ([#2943](https://github.com/pydanny/cookiecutter-django/pull/2943)) -- Update pre-commit to 2.9.0 ([#2942](https://github.com/pydanny/cookiecutter-django/pull/2942)) +- Update uvicorn to 0.12.3 ([#2943](https://github.com/cookicutter/cookiecutter-django/pull/2943)) +- Update pre-commit to 2.9.0 ([#2942](https://github.com/cookicutter/cookiecutter-django/pull/2942)) ## [2020-11-21] ### Changed -- Fix after uvicorn 0.12.0 - Ship extra dependencies ([#2939](https://github.com/pydanny/cookiecutter-django/pull/2939)) +- Fix after uvicorn 0.12.0 - Ship extra dependencies ([#2939](https://github.com/cookicutter/cookiecutter-django/pull/2939)) ## [2020-11-20] ### Updated -- Update sentry-sdk to 0.19.4 ([#2938](https://github.com/pydanny/cookiecutter-django/pull/2938)) +- Update sentry-sdk to 0.19.4 ([#2938](https://github.com/cookicutter/cookiecutter-django/pull/2938)) ## [2020-11-19] ### Updated -- Update django-crispy-forms to 1.10.0 ([#2937](https://github.com/pydanny/cookiecutter-django/pull/2937)) +- Update django-crispy-forms to 1.10.0 ([#2937](https://github.com/cookicutter/cookiecutter-django/pull/2937)) ## [2020-11-17] ### Changed -- Bump peter-evans/create-pull-request from v2 to v3.5.0 ([#2936](https://github.com/pydanny/cookiecutter-django/pull/2936)) +- Bump peter-evans/create-pull-request from v2 to v3.5.0 ([#2936](https://github.com/cookicutter/cookiecutter-django/pull/2936)) ## [2020-11-15] ### Changed -- Fix formatting in docs ([#2935](https://github.com/pydanny/cookiecutter-django/pull/2935)) +- Fix formatting in docs ([#2935](https://github.com/cookicutter/cookiecutter-django/pull/2935)) ## [2020-11-13] ### Changed -- Upgrade factory-boy to 3.1.0 ([#2932](https://github.com/pydanny/cookiecutter-django/pull/2932)) +- Upgrade factory-boy to 3.1.0 ([#2932](https://github.com/cookicutter/cookiecutter-django/pull/2932)) ### Updated -- Update sentry-sdk to 0.19.3 ([#2933](https://github.com/pydanny/cookiecutter-django/pull/2933)) -- Update sphinx to 3.3.1 ([#2934](https://github.com/pydanny/cookiecutter-django/pull/2934)) +- Update sentry-sdk to 0.19.3 ([#2933](https://github.com/cookicutter/cookiecutter-django/pull/2933)) +- Update sphinx to 3.3.1 ([#2934](https://github.com/cookicutter/cookiecutter-django/pull/2934)) ## [2020-11-12] ### Changed -- Migrate CI to Github Actions ([#2931](https://github.com/pydanny/cookiecutter-django/pull/2931)) +- Migrate CI to Github Actions ([#2931](https://github.com/cookicutter/cookiecutter-django/pull/2931)) ## [2020-11-06] ### Updated -- Update djangorestframework to 3.12.2 ([#2930](https://github.com/pydanny/cookiecutter-django/pull/2930)) +- Update djangorestframework to 3.12.2 ([#2930](https://github.com/cookicutter/cookiecutter-django/pull/2930)) ## [2020-11-04] ### Changed -- Fix docs service and add RTD support ([#2920](https://github.com/pydanny/cookiecutter-django/pull/2920)) -- Bump stefanzweifel/git-auto-commit-action from v4.6.0 to v4.7.2 ([#2914](https://github.com/pydanny/cookiecutter-django/pull/2914)) +- Fix docs service and add RTD support ([#2920](https://github.com/cookicutter/cookiecutter-django/pull/2920)) +- Bump stefanzweifel/git-auto-commit-action from v4.6.0 to v4.7.2 ([#2914](https://github.com/cookicutter/cookiecutter-django/pull/2914)) ### Updated -- Auto-update pre-commit hooks ([#2908](https://github.com/pydanny/cookiecutter-django/pull/2908)) -- Update mypy to 0.790 ([#2886](https://github.com/pydanny/cookiecutter-django/pull/2886)) -- Update django-stubs to 1.7.0 ([#2916](https://github.com/pydanny/cookiecutter-django/pull/2916)) +- Auto-update pre-commit hooks ([#2908](https://github.com/cookicutter/cookiecutter-django/pull/2908)) +- Update mypy to 0.790 ([#2886](https://github.com/cookicutter/cookiecutter-django/pull/2886)) +- Update django-stubs to 1.7.0 ([#2916](https://github.com/cookicutter/cookiecutter-django/pull/2916)) ## [2020-11-03] ### Updated -- Update sentry-sdk to 0.19.2 ([#2926](https://github.com/pydanny/cookiecutter-django/pull/2926)) -- Update sphinx to 3.3.0 ([#2925](https://github.com/pydanny/cookiecutter-django/pull/2925)) -- Update django to 3.0.11 ([#2924](https://github.com/pydanny/cookiecutter-django/pull/2924)) -- Update pytz to 2020.4 ([#2923](https://github.com/pydanny/cookiecutter-django/pull/2923)) -- Update pre-commit to 2.8.2 ([#2919](https://github.com/pydanny/cookiecutter-django/pull/2919)) -- Update pytest to 6.1.2 ([#2917](https://github.com/pydanny/cookiecutter-django/pull/2917)) -- Update sh to 1.14.1 ([#2912](https://github.com/pydanny/cookiecutter-django/pull/2912)) -- Update pytest-django to 4.1.0 ([#2911](https://github.com/pydanny/cookiecutter-django/pull/2911)) -- Update pillow to 8.0.1 ([#2910](https://github.com/pydanny/cookiecutter-django/pull/2910)) -- Update django-celery-beat to 2.1.0 ([#2907](https://github.com/pydanny/cookiecutter-django/pull/2907)) -- Update uvicorn to 0.12.2 ([#2906](https://github.com/pydanny/cookiecutter-django/pull/2906)) +- Update sentry-sdk to 0.19.2 ([#2926](https://github.com/cookicutter/cookiecutter-django/pull/2926)) +- Update sphinx to 3.3.0 ([#2925](https://github.com/cookicutter/cookiecutter-django/pull/2925)) +- Update django to 3.0.11 ([#2924](https://github.com/cookicutter/cookiecutter-django/pull/2924)) +- Update pytz to 2020.4 ([#2923](https://github.com/cookicutter/cookiecutter-django/pull/2923)) +- Update pre-commit to 2.8.2 ([#2919](https://github.com/cookicutter/cookiecutter-django/pull/2919)) +- Update pytest to 6.1.2 ([#2917](https://github.com/cookicutter/cookiecutter-django/pull/2917)) +- Update sh to 1.14.1 ([#2912](https://github.com/cookicutter/cookiecutter-django/pull/2912)) +- Update pytest-django to 4.1.0 ([#2911](https://github.com/cookicutter/cookiecutter-django/pull/2911)) +- Update pillow to 8.0.1 ([#2910](https://github.com/cookicutter/cookiecutter-django/pull/2910)) +- Update django-celery-beat to 2.1.0 ([#2907](https://github.com/cookicutter/cookiecutter-django/pull/2907)) +- Update uvicorn to 0.12.2 ([#2906](https://github.com/cookicutter/cookiecutter-django/pull/2906)) ## [2020-10-19] ### Updated -- Update sentry-sdk to 0.19.1 ([#2905](https://github.com/pydanny/cookiecutter-django/pull/2905)) +- Update sentry-sdk to 0.19.1 ([#2905](https://github.com/cookicutter/cookiecutter-django/pull/2905)) ## [2020-10-17] ### Updated -- Update django-allauth to 0.43.0 ([#2901](https://github.com/pydanny/cookiecutter-django/pull/2901)) -- Update pytest-django to 4.0.0 ([#2903](https://github.com/pydanny/cookiecutter-django/pull/2903)) +- Update django-allauth to 0.43.0 ([#2901](https://github.com/cookicutter/cookiecutter-django/pull/2901)) +- Update pytest-django to 4.0.0 ([#2903](https://github.com/cookicutter/cookiecutter-django/pull/2903)) ## [2020-10-15] ### Updated -- Update pillow to 8.0.0 ([#2898](https://github.com/pydanny/cookiecutter-django/pull/2898)) +- Update pillow to 8.0.0 ([#2898](https://github.com/cookicutter/cookiecutter-django/pull/2898)) ## [2020-10-14] ### Updated -- Auto-update pre-commit hooks ([#2897](https://github.com/pydanny/cookiecutter-django/pull/2897)) -- Update sentry-sdk to 0.19.0 ([#2896](https://github.com/pydanny/cookiecutter-django/pull/2896)) +- Auto-update pre-commit hooks ([#2897](https://github.com/cookicutter/cookiecutter-django/pull/2897)) +- Update sentry-sdk to 0.19.0 ([#2896](https://github.com/cookicutter/cookiecutter-django/pull/2896)) ## [2020-10-13] ### Updated -- Update isort to 5.6.4 ([#2895](https://github.com/pydanny/cookiecutter-django/pull/2895)) +- Update isort to 5.6.4 ([#2895](https://github.com/cookicutter/cookiecutter-django/pull/2895)) ## [2020-10-12] ### Changed -- Bump stefanzweifel/git-auto-commit-action from v4.5.1 to v4.6.0 ([#2893](https://github.com/pydanny/cookiecutter-django/pull/2893)) +- Bump stefanzweifel/git-auto-commit-action from v4.5.1 to v4.6.0 ([#2893](https://github.com/cookicutter/cookiecutter-django/pull/2893)) ### Updated -- Auto-update pre-commit hooks ([#2892](https://github.com/pydanny/cookiecutter-django/pull/2892)) +- Auto-update pre-commit hooks ([#2892](https://github.com/cookicutter/cookiecutter-django/pull/2892)) ## [2020-10-11] ### Updated -- Auto-update pre-commit hooks ([#2890](https://github.com/pydanny/cookiecutter-django/pull/2890)) -- Update isort to 5.6.3 ([#2891](https://github.com/pydanny/cookiecutter-django/pull/2891)) -- Update django-anymail to 8.1 ([#2887](https://github.com/pydanny/cookiecutter-django/pull/2887)) -- Update tox to 3.20.1 ([#2885](https://github.com/pydanny/cookiecutter-django/pull/2885)) +- Auto-update pre-commit hooks ([#2890](https://github.com/cookicutter/cookiecutter-django/pull/2890)) +- Update isort to 5.6.3 ([#2891](https://github.com/cookicutter/cookiecutter-django/pull/2891)) +- Update django-anymail to 8.1 ([#2887](https://github.com/cookicutter/cookiecutter-django/pull/2887)) +- Update tox to 3.20.1 ([#2885](https://github.com/cookicutter/cookiecutter-django/pull/2885)) ## [2020-10-09] ### Updated -- Auto-update pre-commit hooks ([#2884](https://github.com/pydanny/cookiecutter-django/pull/2884)) -- Update isort to 5.6.1 ([#2883](https://github.com/pydanny/cookiecutter-django/pull/2883)) +- Auto-update pre-commit hooks ([#2884](https://github.com/cookicutter/cookiecutter-django/pull/2884)) +- Update isort to 5.6.1 ([#2883](https://github.com/cookicutter/cookiecutter-django/pull/2883)) ## [2020-10-08] ### Changed -- Add dedicated websockets package ([#2881](https://github.com/pydanny/cookiecutter-django/pull/2881)) +- Add dedicated websockets package ([#2881](https://github.com/cookicutter/cookiecutter-django/pull/2881)) ### Updated -- Update isort to 5.6.0 ([#2882](https://github.com/pydanny/cookiecutter-django/pull/2882)) +- Update isort to 5.6.0 ([#2882](https://github.com/cookicutter/cookiecutter-django/pull/2882)) ## [2020-10-04] ### Updated -- Update pytest to 6.1.1 ([#2880](https://github.com/pydanny/cookiecutter-django/pull/2880)) -- Update mypy and django-stubs ([#2874](https://github.com/pydanny/cookiecutter-django/pull/2874)) -- Auto-update pre-commit hooks ([#2876](https://github.com/pydanny/cookiecutter-django/pull/2876)) -- Update flake8 to 3.8.4 ([#2877](https://github.com/pydanny/cookiecutter-django/pull/2877)) +- Update pytest to 6.1.1 ([#2880](https://github.com/cookicutter/cookiecutter-django/pull/2880)) +- Update mypy and django-stubs ([#2874](https://github.com/cookicutter/cookiecutter-django/pull/2874)) +- Auto-update pre-commit hooks ([#2876](https://github.com/cookicutter/cookiecutter-django/pull/2876)) +- Update flake8 to 3.8.4 ([#2877](https://github.com/cookicutter/cookiecutter-django/pull/2877)) ## [2020-10-01] ### Changed -- Bump actions/setup-python from v2.1.2 to v2.1.3 ([#2869](https://github.com/pydanny/cookiecutter-django/pull/2869)) +- Bump actions/setup-python from v2.1.2 to v2.1.3 ([#2869](https://github.com/cookicutter/cookiecutter-django/pull/2869)) ### Updated -- Update ipdb to 0.13.4 ([#2873](https://github.com/pydanny/cookiecutter-django/pull/2873)) -- Auto-update pre-commit hooks ([#2867](https://github.com/pydanny/cookiecutter-django/pull/2867)) -- Update uvicorn to 0.12.1 ([#2866](https://github.com/pydanny/cookiecutter-django/pull/2866)) -- Update isort to 5.5.4 ([#2864](https://github.com/pydanny/cookiecutter-django/pull/2864)) -- Update sentry-sdk to 0.18.0 ([#2863](https://github.com/pydanny/cookiecutter-django/pull/2863)) -- Update djangorestframework to 3.12.1 ([#2862](https://github.com/pydanny/cookiecutter-django/pull/2862)) -- Update pytest to 6.1.0 ([#2859](https://github.com/pydanny/cookiecutter-django/pull/2859)) -- Update django-debug-toolbar to 3.1.1 ([#2855](https://github.com/pydanny/cookiecutter-django/pull/2855)) +- Update ipdb to 0.13.4 ([#2873](https://github.com/cookicutter/cookiecutter-django/pull/2873)) +- Auto-update pre-commit hooks ([#2867](https://github.com/cookicutter/cookiecutter-django/pull/2867)) +- Update uvicorn to 0.12.1 ([#2866](https://github.com/cookicutter/cookiecutter-django/pull/2866)) +- Update isort to 5.5.4 ([#2864](https://github.com/cookicutter/cookiecutter-django/pull/2864)) +- Update sentry-sdk to 0.18.0 ([#2863](https://github.com/cookicutter/cookiecutter-django/pull/2863)) +- Update djangorestframework to 3.12.1 ([#2862](https://github.com/cookicutter/cookiecutter-django/pull/2862)) +- Update pytest to 6.1.0 ([#2859](https://github.com/cookicutter/cookiecutter-django/pull/2859)) +- Update django-debug-toolbar to 3.1.1 ([#2855](https://github.com/cookicutter/cookiecutter-django/pull/2855)) ## [2020-09-23] ### Updated -- Update sentry-sdk to 0.17.7 ([#2847](https://github.com/pydanny/cookiecutter-django/pull/2847)) -- Update django-debug-toolbar to 3.1 ([#2846](https://github.com/pydanny/cookiecutter-django/pull/2846)) +- Update sentry-sdk to 0.17.7 ([#2847](https://github.com/cookicutter/cookiecutter-django/pull/2847)) +- Update django-debug-toolbar to 3.1 ([#2846](https://github.com/cookicutter/cookiecutter-django/pull/2846)) ## [2020-09-21] ### Changed -- Adding GitHub-Action CI Option ([#2837](https://github.com/pydanny/cookiecutter-django/pull/2837)) +- Adding GitHub-Action CI Option ([#2837](https://github.com/cookicutter/cookiecutter-django/pull/2837)) ### Updated -- Update django-debug-toolbar to 3.0 ([#2842](https://github.com/pydanny/cookiecutter-django/pull/2842)) -- Auto-update pre-commit hooks ([#2843](https://github.com/pydanny/cookiecutter-django/pull/2843)) -- Update isort to 5.5.3 ([#2844](https://github.com/pydanny/cookiecutter-django/pull/2844)) +- Update django-debug-toolbar to 3.0 ([#2842](https://github.com/cookicutter/cookiecutter-django/pull/2842)) +- Auto-update pre-commit hooks ([#2843](https://github.com/cookicutter/cookiecutter-django/pull/2843)) +- Update isort to 5.5.3 ([#2844](https://github.com/cookicutter/cookiecutter-django/pull/2844)) ## [2020-09-18] ### Updated -- Update django-extensions to 3.0.9 ([#2839](https://github.com/pydanny/cookiecutter-django/pull/2839)) +- Update django-extensions to 3.0.9 ([#2839](https://github.com/cookicutter/cookiecutter-django/pull/2839)) ## [2020-09-16] ### Updated -- Update sentry-sdk to 0.17.6 ([#2833](https://github.com/pydanny/cookiecutter-django/pull/2833)) -- Update pytest-django to 3.10.0 ([#2832](https://github.com/pydanny/cookiecutter-django/pull/2832)) +- Update sentry-sdk to 0.17.6 ([#2833](https://github.com/cookicutter/cookiecutter-django/pull/2833)) +- Update pytest-django to 3.10.0 ([#2832](https://github.com/cookicutter/cookiecutter-django/pull/2832)) ## [2020-09-14] ### Fixed -- Downgrade Celery to 4.4.6 ([#2829](https://github.com/pydanny/cookiecutter-django/pull/2829)) +- Downgrade Celery to 4.4.6 ([#2829](https://github.com/cookicutter/cookiecutter-django/pull/2829)) ### Updated -- Update sentry-sdk to 0.17.5 ([#2828](https://github.com/pydanny/cookiecutter-django/pull/2828)) -- Update coverage to 5.3 ([#2826](https://github.com/pydanny/cookiecutter-django/pull/2826)) -- Update django-storages to 1.10.1 ([#2825](https://github.com/pydanny/cookiecutter-django/pull/2825)) +- Update sentry-sdk to 0.17.5 ([#2828](https://github.com/cookicutter/cookiecutter-django/pull/2828)) +- Update coverage to 5.3 ([#2826](https://github.com/cookicutter/cookiecutter-django/pull/2826)) +- Update django-storages to 1.10.1 ([#2825](https://github.com/cookicutter/cookiecutter-django/pull/2825)) ## [2020-09-12] ### Updated -- Updating Traefik version from 2.0 to 2.2.11 ([#2814](https://github.com/pydanny/cookiecutter-django/pull/2814)) -- Update pytest to 6.0.2 ([#2819](https://github.com/pydanny/cookiecutter-django/pull/2819)) -- Update django-anymail to 8.0 ([#2818](https://github.com/pydanny/cookiecutter-django/pull/2818)) +- Updating Traefik version from 2.0 to 2.2.11 ([#2814](https://github.com/cookicutter/cookiecutter-django/pull/2814)) +- Update pytest to 6.0.2 ([#2819](https://github.com/cookicutter/cookiecutter-django/pull/2819)) +- Update django-anymail to 8.0 ([#2818](https://github.com/cookicutter/cookiecutter-django/pull/2818)) ## [2020-09-11] ### Updated -- Auto-update pre-commit hooks ([#2809](https://github.com/pydanny/cookiecutter-django/pull/2809)) +- Auto-update pre-commit hooks ([#2809](https://github.com/cookicutter/cookiecutter-django/pull/2809)) ## [2020-09-10] ### Updated -- Update isort to 5.5.2 ([#2807](https://github.com/pydanny/cookiecutter-django/pull/2807)) -- Update sentry-sdk to 0.17.4 ([#2805](https://github.com/pydanny/cookiecutter-django/pull/2805)) +- Update isort to 5.5.2 ([#2807](https://github.com/cookicutter/cookiecutter-django/pull/2807)) +- Update sentry-sdk to 0.17.4 ([#2805](https://github.com/cookicutter/cookiecutter-django/pull/2805)) ## [2020-09-09] ### Changed -- Update actions/setup-python requirement to v2.1.2 ([#2804](https://github.com/pydanny/cookiecutter-django/pull/2804)) -- Clean up nested venv files from `.gitignore` ([#2800](https://github.com/pydanny/cookiecutter-django/pull/2800)) +- Update actions/setup-python requirement to v2.1.2 ([#2804](https://github.com/cookicutter/cookiecutter-django/pull/2804)) +- Clean up nested venv files from `.gitignore` ([#2800](https://github.com/cookicutter/cookiecutter-django/pull/2800)) ## [2020-09-08] ### Changed -- Traeffik and Django dockerfile changes ([#2801](https://github.com/pydanny/cookiecutter-django/pull/2801)) +- Traeffik and Django dockerfile changes ([#2801](https://github.com/cookicutter/cookiecutter-django/pull/2801)) ## [2020-09-07] ### Changed -- Add :z/:Z to mounted volumes in {local,production}.yml ([#2663](https://github.com/pydanny/cookiecutter-django/pull/2663)) -- Remove --no-binary option for psycopg2 ([#2798](https://github.com/pydanny/cookiecutter-django/pull/2798)) -- Updated Gitlab CI to use Python 3.8 instead of Python 3.7 ([#2794](https://github.com/pydanny/cookiecutter-django/pull/2794)) +- Add :z/:Z to mounted volumes in {local,production}.yml ([#2663](https://github.com/cookicutter/cookiecutter-django/pull/2663)) +- Remove --no-binary option for psycopg2 ([#2798](https://github.com/cookicutter/cookiecutter-django/pull/2798)) +- Updated Gitlab CI to use Python 3.8 instead of Python 3.7 ([#2794](https://github.com/cookicutter/cookiecutter-django/pull/2794)) ### Fixed -- Fix options for sphinx-autobuild in docs Makefile ([#2799](https://github.com/pydanny/cookiecutter-django/pull/2799)) +- Fix options for sphinx-autobuild in docs Makefile ([#2799](https://github.com/cookicutter/cookiecutter-django/pull/2799)) ### Updated -- Update psycopg2-binary to 2.8.6 ([#2797](https://github.com/pydanny/cookiecutter-django/pull/2797)) +- Update psycopg2-binary to 2.8.6 ([#2797](https://github.com/cookicutter/cookiecutter-django/pull/2797)) ## [2020-09-05] ### Updated -- Auto-update pre-commit hooks ([#2793](https://github.com/pydanny/cookiecutter-django/pull/2793)) +- Auto-update pre-commit hooks ([#2793](https://github.com/cookicutter/cookiecutter-django/pull/2793)) ## [2020-09-04] ### Updated -- Update django-extensions to 3.0.8 ([#2792](https://github.com/pydanny/cookiecutter-django/pull/2792)) -- Update isort to 5.5.1 ([#2791](https://github.com/pydanny/cookiecutter-django/pull/2791)) -- Auto-update pre-commit hooks ([#2790](https://github.com/pydanny/cookiecutter-django/pull/2790)) -- Update isort to 5.5.0 ([#2789](https://github.com/pydanny/cookiecutter-django/pull/2789)) +- Update django-extensions to 3.0.8 ([#2792](https://github.com/cookicutter/cookiecutter-django/pull/2792)) +- Update isort to 5.5.1 ([#2791](https://github.com/cookicutter/cookiecutter-django/pull/2791)) +- Auto-update pre-commit hooks ([#2790](https://github.com/cookicutter/cookiecutter-django/pull/2790)) +- Update isort to 5.5.0 ([#2789](https://github.com/cookicutter/cookiecutter-django/pull/2789)) ## [2020-09-02] ### Changed -- Add environment and traces_sample_rate keyword to sentry_sdk.init ([#2777](https://github.com/pydanny/cookiecutter-django/pull/2777)) +- Add environment and traces_sample_rate keyword to sentry_sdk.init ([#2777](https://github.com/cookicutter/cookiecutter-django/pull/2777)) ### Updated -- Update sentry-sdk to 0.17.3 ([#2788](https://github.com/pydanny/cookiecutter-django/pull/2788)) -- Update django-extensions to 3.0.7 ([#2787](https://github.com/pydanny/cookiecutter-django/pull/2787)) +- Update sentry-sdk to 0.17.3 ([#2788](https://github.com/cookicutter/cookiecutter-django/pull/2788)) +- Update django-extensions to 3.0.7 ([#2787](https://github.com/cookicutter/cookiecutter-django/pull/2787)) ## [2020-09-01] ### Changed -- Exclude venv directory and update document link ([#2780](https://github.com/pydanny/cookiecutter-django/pull/2780)) +- Exclude venv directory and update document link ([#2780](https://github.com/cookicutter/cookiecutter-django/pull/2780)) ### Updated -- Update tox to 3.20.0 ([#2786](https://github.com/pydanny/cookiecutter-django/pull/2786)) -- Update django-storages to 1.10 ([#2781](https://github.com/pydanny/cookiecutter-django/pull/2781)) -- Update sentry-sdk to 0.17.2 ([#2784](https://github.com/pydanny/cookiecutter-django/pull/2784)) -- Update django to 3.0.10 ([#2785](https://github.com/pydanny/cookiecutter-django/pull/2785)) -- Update sphinx-autobuild to 2020.9.1 ([#2782](https://github.com/pydanny/cookiecutter-django/pull/2782)) -- Update django-extensions to 3.0.6 ([#2783](https://github.com/pydanny/cookiecutter-django/pull/2783)) +- Update tox to 3.20.0 ([#2786](https://github.com/cookicutter/cookiecutter-django/pull/2786)) +- Update django-storages to 1.10 ([#2781](https://github.com/cookicutter/cookiecutter-django/pull/2781)) +- Update sentry-sdk to 0.17.2 ([#2784](https://github.com/cookicutter/cookiecutter-django/pull/2784)) +- Update django to 3.0.10 ([#2785](https://github.com/cookicutter/cookiecutter-django/pull/2785)) +- Update sphinx-autobuild to 2020.9.1 ([#2782](https://github.com/cookicutter/cookiecutter-django/pull/2782)) +- Update django-extensions to 3.0.6 ([#2783](https://github.com/cookicutter/cookiecutter-django/pull/2783)) ## [2020-08-31] ### Updated -- Update sh to 1.14.0 ([#2779](https://github.com/pydanny/cookiecutter-django/pull/2779)) -- Update sentry-sdk to 0.17.1 ([#2778](https://github.com/pydanny/cookiecutter-django/pull/2778)) +- Update sh to 1.14.0 ([#2779](https://github.com/cookicutter/cookiecutter-django/pull/2779)) +- Update sentry-sdk to 0.17.1 ([#2778](https://github.com/cookicutter/cookiecutter-django/pull/2778)) ## [2020-04-13] ### Changed @@ -1130,7 +1130,7 @@ All enhancements and patches to Cookiecutter Django will be documented in this f - Rename `MIDDLEWARE_CLASSES` to `MIDDLEWARE` to enable support to [new style middleware](https://github.com/django/deps/blob/master/final/0005-improved-middleware.rst) introduced in Django 1.10 (@luzfcb) - New setting `MAILGUN_SENDER_DOMAIN` to allow sending mail from any domain other than those registered with mailgun (@jangeador) - add `urlpatterns` configuration to django-debug-toolbar, because the automatic configuration of `urlpatterns` was removed from django-debug-toolbar (@luzfcb) -- Added Temporary workaround on `requirements/local.txt` to fix django-debug-toolbar issue: https://github.com/pydanny/cookiecutter-django/issues/827 (@luzfcb) +- Added Temporary workaround on `requirements/local.txt` to fix django-debug-toolbar issue: https://github.com/cookicutter/cookiecutter-django/issues/827 (@luzfcb) ### Changed - Upgrade to Django 1.10.1 (@luzfcb) @@ -1276,7 +1276,7 @@ d changed 'admin' url on `config/urls.py`, to stay the same as generated by djan ### [2016-05-01] ### Changed -- Restored the Pycharm project configuration files, that was accidentally removed in [15f350f](https://github.com/pydanny/cookiecutter-django/commit/15f350f05e2b49b4bdff0bdaa2b2ff260606e0f6) (@luzfcb @Newton715) +- Restored the Pycharm project configuration files, that was accidentally removed in [15f350f](https://github.com/cookicutter/cookiecutter-django/commit/15f350f05e2b49b4bdff0bdaa2b2ff260606e0f6) (@luzfcb @Newton715) ### [2016-04-30] ### Changed @@ -1400,7 +1400,7 @@ d changed 'admin' url on `config/urls.py`, to stay the same as generated by djan ## [2016-02-15] ### Changed - In `users` app adapter, fix `is_open_for_signup` missing parameter (@oryx2) -- Fixes and improvements in Hitch tests , see [#485](https://github.com/pydanny/cookiecutter-django/pull/485) (@crdoconnor) +- Fixes and improvements in Hitch tests , see [#485](https://github.com/cookicutter/cookiecutter-django/pull/485) (@crdoconnor) ## [2016-02-12] diff --git a/README.rst b/README.rst index 090497319..d7b74e16c 100644 --- a/README.rst +++ b/README.rst @@ -1,23 +1,23 @@ Cookiecutter Django =================== -.. image:: https://img.shields.io/github/workflow/status/pydanny/cookiecutter-django/CI/master - :target: https://github.com/pydanny/cookiecutter-django/actions?query=workflow%3ACI +.. image:: https://img.shields.io/github/workflow/status/cookiecutter/cookiecutter-django/CI/master + :target: https://github.com/cookiecutter/cookiecutter-django/actions?query=workflow%3ACI :alt: Build Status .. image:: https://readthedocs.org/projects/cookiecutter-django/badge/?version=latest :target: https://cookiecutter-django.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status -.. image:: https://pyup.io/repos/github/pydanny/cookiecutter-django/shield.svg - :target: https://pyup.io/repos/github/pydanny/cookiecutter-django/ +.. image:: https://pyup.io/repos/github/cookiecutter/cookiecutter-django/shield.svg + :target: https://pyup.io/repos/github/cookiecutter/cookiecutter-django/ :alt: Updates .. image:: https://img.shields.io/badge/cookiecutter-Join%20on%20Slack-green?style=flat&logo=slack :target: https://join.slack.com/t/cookie-cutter/shared_invite/enQtNzI0Mzg5NjE5Nzk5LTRlYWI2YTZhYmQ4YmU1Y2Q2NmE1ZjkwOGM0NDQyNTIwY2M4ZTgyNDVkNjMxMDdhZGI5ZGE5YmJjM2M3ODJlY2U -.. image:: https://www.codetriage.com/pydanny/cookiecutter-django/badges/users.svg - :target: https://www.codetriage.com/pydanny/cookiecutter-django +.. image:: https://www.codetriage.com/cookiecutter/cookiecutter-django/badges/users.svg + :target: https://www.codetriage.com/cookiecutter/cookiecutter-django :alt: Code Helpers Badge .. image:: https://img.shields.io/badge/code%20style-black-000000.svg @@ -34,8 +34,8 @@ production-ready Django projects quickly. .. _Troubleshooting: https://cookiecutter-django.readthedocs.io/en/latest/troubleshooting.html -.. _528: https://github.com/pydanny/cookiecutter-django/issues/528#issuecomment-212650373 -.. _issues: https://github.com/pydanny/cookiecutter-django/issues/new +.. _528: https://github.com/cookiecutter/cookiecutter-django/issues/528#issuecomment-212650373 +.. _issues: https://github.com/cookiecutter/cookiecutter-django/issues/new Features --------- @@ -145,7 +145,7 @@ First, get Cookiecutter. Trust me, it's awesome:: Now run it against this repo:: - $ cookiecutter https://github.com/pydanny/cookiecutter-django + $ cookiecutter https://github.com/cookiecutter/cookiecutter-django You'll be prompted for some values. Provide them, then a Django project will be created for you. @@ -234,7 +234,7 @@ Community * For anything else, you can chat with us on `Slack`_. .. _`Stack Overflow`: http://stackoverflow.com/questions/tagged/cookiecutter-django -.. _`issue`: https://github.com/pydanny/cookiecutter-django/issues +.. _`issue`: https://github.com/cookiecutter/cookiecutter-django/issues .. _`Slack`: https://join.slack.com/t/cookie-cutter/shared_invite/enQtNzI0Mzg5NjE5Nzk5LTRlYWI2YTZhYmQ4YmU1Y2Q2NmE1ZjkwOGM0NDQyNTIwY2M4ZTgyNDVkNjMxMDdhZGI5ZGE5YmJjM2M3ODJlY2U For Readers of Two Scoops of Django @@ -257,7 +257,7 @@ Scattered throughout the Python and HTML of this project are places marked with Releases -------- -Need a stable release? You can find them at https://github.com/pydanny/cookiecutter-django/releases +Need a stable release? You can find them at https://github.com/cookiecutter/cookiecutter-django/releases Not Exactly What You Want? diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst index 83bc1342c..e13a1f92b 100644 --- a/docs/developing-locally.rst +++ b/docs/developing-locally.rst @@ -26,7 +26,7 @@ First things first. #. Install cookiecutter-django: :: - $ cookiecutter gh:pydanny/cookiecutter-django + $ cookiecutter gh:cookiecutter/cookiecutter-django #. Install development requirements: :: @@ -145,9 +145,9 @@ when developing locally. If you have the appropriate setup on your local machine in ``config/settings/local.py``:: CELERY_TASK_ALWAYS_EAGER = False - + To run Celery locally, make sure redis-server is installed (instructions are available at https://redis.io/topics/quickstart), run the server in one terminal with `redis-server`, and then start celery in another terminal with the following command:: - + celery -A config.celery_app worker --loglevel=info diff --git a/docs/faq.rst b/docs/faq.rst index 59e82465f..820fb60fa 100644 --- a/docs/faq.rst +++ b/docs/faq.rst @@ -10,7 +10,7 @@ It is there to add a migration so you don't have to manually change the ``sites. See `0003_set_site_domain_and_name.py`_. -.. _`0003_set_site_domain_and_name.py`: https://github.com/pydanny/cookiecutter-django/blob/master/%7B%7Bcookiecutter.project_slug%7D%7D/%7B%7Bcookiecutter.project_slug%7D%7D/contrib/sites/migrations/0003_set_site_domain_and_name.py +.. _`0003_set_site_domain_and_name.py`: https://github.com/cookiecutter/cookiecutter-django/blob/master/%7B%7Bcookiecutter.project_slug%7D%7D/%7B%7Bcookiecutter.project_slug%7D%7D/contrib/sites/migrations/0003_set_site_domain_and_name.py Why aren't you using just one configuration file (12-Factor App) diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst index 8aa1b1f9b..ba8ab53e6 100644 --- a/docs/troubleshooting.rst +++ b/docs/troubleshooting.rst @@ -47,5 +47,5 @@ Others #. New apps not getting created in project root: This is the expected behavior, because cookiecutter-django does not change the way that django startapp works, you'll have to fix this manually (see `#1725`_) -.. _#528: https://github.com/pydanny/cookiecutter-django/issues/528#issuecomment-212650373 -.. _#1725: https://github.com/pydanny/cookiecutter-django/issues/1725#issuecomment-407493176 +.. _#528: https://github.com/cookiecutter/cookiecutter-django/issues/528#issuecomment-212650373 +.. _#1725: https://github.com/cookiecutter/cookiecutter-django/issues/1725#issuecomment-407493176 diff --git a/scripts/update_changelog.py b/scripts/update_changelog.py index 08ff5b095..85e19d169 100644 --- a/scripts/update_changelog.py +++ b/scripts/update_changelog.py @@ -39,7 +39,9 @@ def main() -> None: def iter_pulls(): """Fetch merged pull requests at the date we're interested in.""" - repo = Github(login_or_token=GITHUB_TOKEN).get_repo("pydanny/cookiecutter-django") + repo = Github(login_or_token=GITHUB_TOKEN).get_repo( + "cookiecutter/cookiecutter-django" + ) recent_pulls = repo.get_pulls( state="closed", sort="updated", direction="desc" ).get_page(0) diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index 0236daae3..b125ef151 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -39,7 +39,7 @@ def iter_recent_authors(): Use Github API to fetch recent authors rather than git CLI to work with Github usernames. """ - repo = Github(per_page=5).get_repo("pydanny/cookiecutter-django") + repo = Github(per_page=5).get_repo("cookiecutter/cookiecutter-django") recent_pulls = repo.get_pulls( state="closed", sort="updated", direction="desc" ).get_page(0) diff --git a/setup.py b/setup.py index 64e923aef..e0f334b8e 100644 --- a/setup.py +++ b/setup.py @@ -27,7 +27,7 @@ setup( long_description=long_description, author="Daniel Roy Greenfeld", author_email="pydanny@gmail.com", - url="https://github.com/pydanny/cookiecutter-django", + url="https://github.com/cookiecutter/cookiecutter-django", packages=[], license="BSD", zip_safe=False, diff --git a/{{cookiecutter.project_slug}}/README.rst b/{{cookiecutter.project_slug}}/README.rst index aa4e48d3d..3cad6f892 100644 --- a/{{cookiecutter.project_slug}}/README.rst +++ b/{{cookiecutter.project_slug}}/README.rst @@ -4,7 +4,7 @@ {{cookiecutter.description}} .. image:: https://img.shields.io/badge/built%20with-Cookiecutter%20Django-ff69b4.svg?logo=cookiecutter - :target: https://github.com/pydanny/cookiecutter-django/ + :target: https://github.com/cookiecutter/cookiecutter-django/ :alt: Built with Cookiecutter Django .. image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/ambv/black From d7c8efb3807a6e2dd602cfe6a514aa77861c0608 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Sat, 23 Oct 2021 02:17:48 +0000 Subject: [PATCH 1718/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51c9e5859..963603d82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-10-22] +### Changed +- Move repo under cookiecutter organisation ([#3357](https://github.com/cookiecutter/cookiecutter-django/pull/3357)) + ## [2021-10-18] ### Updated - Update django-environ to 0.8.0 ([#3367](https://github.com/pydanny/cookiecutter-django/pull/3367)) From 2a9f8c295ec06cff427e7f64399fa6e6033a3b02 Mon Sep 17 00:00:00 2001 From: Liam Brenner Date: Tue, 26 Oct 2021 10:08:18 +1100 Subject: [PATCH 1719/2840] Fix pull request links to correct repo URL --- CHANGELOG.md | 754 +++++++++++++++++++++++++-------------------------- 1 file changed, 377 insertions(+), 377 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 963603d82..f2eb26835 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,818 +9,818 @@ All enhancements and patches to Cookiecutter Django will be documented in this f ## [2021-10-18] ### Updated -- Update django-environ to 0.8.0 ([#3367](https://github.com/pydanny/cookiecutter-django/pull/3367)) +- Update django-environ to 0.8.0 ([#3367](https://github.com/cookiecutter/cookiecutter-django/pull/3367)) ## [2021-10-14] ### Updated -- Update flake8 to 4.0.1 ([#3361](https://github.com/cookicutter/cookiecutter-django/pull/3361)) -- Update flake8-isort to 4.1.1 ([#3360](https://github.com/cookicutter/cookiecutter-django/pull/3360)) -- Update django-model-utils to 4.2.0 ([#3359](https://github.com/cookicutter/cookiecutter-django/pull/3359)) +- Update flake8 to 4.0.1 ([#3361](https://github.com/cookiecutter/cookiecutter-django/pull/3361)) +- Update flake8-isort to 4.1.1 ([#3360](https://github.com/cookiecutter/cookiecutter-django/pull/3360)) +- Update django-model-utils to 4.2.0 ([#3359](https://github.com/cookiecutter/cookiecutter-django/pull/3359)) ## [2021-10-13] ### Changed -- Add drf stubs ([#3353](https://github.com/cookicutter/cookiecutter-django/pull/3353)) +- Add drf stubs ([#3353](https://github.com/cookiecutter/cookiecutter-django/pull/3353)) ## [2021-10-12] ### Updated -- Update coverage to 6.0.2 ([#3356](https://github.com/cookicutter/cookiecutter-django/pull/3356)) +- Update coverage to 6.0.2 ([#3356](https://github.com/cookiecutter/cookiecutter-django/pull/3356)) ## [2021-10-11] ### Updated -- Update werkzeug to 2.0.2 ([#3344](https://github.com/cookicutter/cookiecutter-django/pull/3344)) -- Update coverage to 6.0.1 ([#3348](https://github.com/cookicutter/cookiecutter-django/pull/3348)) -- Update django-coverage-plugin to 2.0.1 ([#3349](https://github.com/cookicutter/cookiecutter-django/pull/3349)) -- Update django-cors-headers to 3.10.0 ([#3345](https://github.com/cookicutter/cookiecutter-django/pull/3345)) -- Update jinja2 to 3.0.2 ([#3343](https://github.com/cookicutter/cookiecutter-django/pull/3343)) -- Update django-storages to 1.12.1 ([#3355](https://github.com/cookicutter/cookiecutter-django/pull/3355)) +- Update werkzeug to 2.0.2 ([#3344](https://github.com/cookiecutter/cookiecutter-django/pull/3344)) +- Update coverage to 6.0.1 ([#3348](https://github.com/cookiecutter/cookiecutter-django/pull/3348)) +- Update django-coverage-plugin to 2.0.1 ([#3349](https://github.com/cookiecutter/cookiecutter-django/pull/3349)) +- Update django-cors-headers to 3.10.0 ([#3345](https://github.com/cookiecutter/cookiecutter-django/pull/3345)) +- Update jinja2 to 3.0.2 ([#3343](https://github.com/cookiecutter/cookiecutter-django/pull/3343)) +- Update django-storages to 1.12.1 ([#3355](https://github.com/cookiecutter/cookiecutter-django/pull/3355)) ## [2021-10-03] ### Updated -- Update pytz to 2021.3 ([#3340](https://github.com/cookicutter/cookiecutter-django/pull/3340)) +- Update pytz to 2021.3 ([#3340](https://github.com/cookiecutter/cookiecutter-django/pull/3340)) ## [2021-10-01] ### Changed -- Fix the wrong pre-commit hyperlink in Prerequisites section ([#3338](https://github.com/cookicutter/cookiecutter-django/pull/3338)) +- Fix the wrong pre-commit hyperlink in Prerequisites section ([#3338](https://github.com/cookiecutter/cookiecutter-django/pull/3338)) ## [2021-09-30] ### Updated -- Update sentry-sdk to 1.4.3 ([#3334](https://github.com/cookicutter/cookiecutter-django/pull/3334)) +- Update sentry-sdk to 1.4.3 ([#3334](https://github.com/cookiecutter/cookiecutter-django/pull/3334)) ## [2021-09-29] ### Updated -- Update django-cors-headers to 3.9.0 ([#3332](https://github.com/cookicutter/cookiecutter-django/pull/3332)) +- Update django-cors-headers to 3.9.0 ([#3332](https://github.com/cookiecutter/cookiecutter-django/pull/3332)) ## [2021-09-27] ### Updated -- Update sentry-sdk to 1.4.2 ([#3329](https://github.com/cookicutter/cookiecutter-django/pull/3329)) +- Update sentry-sdk to 1.4.2 ([#3329](https://github.com/cookiecutter/cookiecutter-django/pull/3329)) ## [2021-09-26] ### Updated -- Update django-crispy-forms to 1.13.0 ([#3327](https://github.com/cookicutter/cookiecutter-django/pull/3327)) +- Update django-crispy-forms to 1.13.0 ([#3327](https://github.com/cookiecutter/cookiecutter-django/pull/3327)) ## [2021-09-24] ### Changed -- Add django-settings-module to .pylintrc ([#3326](https://github.com/cookicutter/cookiecutter-django/pull/3326)) +- Add django-settings-module to .pylintrc ([#3326](https://github.com/cookiecutter/cookiecutter-django/pull/3326)) ## [2021-09-23] ### Updated -- Update sentry-sdk to 1.4.1 ([#3325](https://github.com/cookicutter/cookiecutter-django/pull/3325)) +- Update sentry-sdk to 1.4.1 ([#3325](https://github.com/cookiecutter/cookiecutter-django/pull/3325)) ## [2021-09-22] ### Updated -- Update sentry-sdk to 1.4.0 ([#3324](https://github.com/cookicutter/cookiecutter-django/pull/3324)) +- Update sentry-sdk to 1.4.0 ([#3324](https://github.com/cookiecutter/cookiecutter-django/pull/3324)) ## [2021-09-16] ### Updated -- Update tox to 3.24.4 ([#3323](https://github.com/cookicutter/cookiecutter-django/pull/3323)) +- Update tox to 3.24.4 ([#3323](https://github.com/cookiecutter/cookiecutter-django/pull/3323)) ## [2021-09-15] ### Updated -- Auto-update pre-commit hooks ([#3322](https://github.com/cookicutter/cookiecutter-django/pull/3322)) +- Auto-update pre-commit hooks ([#3322](https://github.com/cookiecutter/cookiecutter-django/pull/3322)) ## [2021-09-14] ### Updated -- Update black to 21.9b0 ([#3321](https://github.com/cookicutter/cookiecutter-django/pull/3321)) +- Update black to 21.9b0 ([#3321](https://github.com/cookiecutter/cookiecutter-django/pull/3321)) ## [2021-09-13] ### Updated -- Bump stefanzweifel/git-auto-commit-action from 4.11.0 to 4.12.0 ([#3320](https://github.com/cookicutter/cookiecutter-django/pull/3320)) -- Update sphinx to 4.2.0 ([#3319](https://github.com/cookicutter/cookiecutter-django/pull/3319)) +- Bump stefanzweifel/git-auto-commit-action from 4.11.0 to 4.12.0 ([#3320](https://github.com/cookiecutter/cookiecutter-django/pull/3320)) +- Update sphinx to 4.2.0 ([#3319](https://github.com/cookiecutter/cookiecutter-django/pull/3319)) ## [2021-09-11] ### Changed -- Removing pycharm docs if app does not use pycharm ([#3139](https://github.com/cookicutter/cookiecutter-django/pull/3139)) +- Removing pycharm docs if app does not use pycharm ([#3139](https://github.com/cookiecutter/cookiecutter-django/pull/3139)) ### Updated -- Update django-environ to 0.7.0 ([#3317](https://github.com/cookicutter/cookiecutter-django/pull/3317)) +- Update django-environ to 0.7.0 ([#3317](https://github.com/cookiecutter/cookiecutter-django/pull/3317)) ## [2021-09-06] ### Changed -- Update Celery to v5 ([#3280](https://github.com/cookicutter/cookiecutter-django/pull/3280)) +- Update Celery to v5 ([#3280](https://github.com/cookiecutter/cookiecutter-django/pull/3280)) ## [2021-09-05] ### Updated -- Update django-environ to 0.6.0 ([#3314](https://github.com/cookicutter/cookiecutter-django/pull/3314)) +- Update django-environ to 0.6.0 ([#3314](https://github.com/cookiecutter/cookiecutter-django/pull/3314)) ## [2021-09-03] ### Changed -- Update available postgres versions ([#3297](https://github.com/cookicutter/cookiecutter-django/pull/3297)) +- Update available postgres versions ([#3297](https://github.com/cookiecutter/cookiecutter-django/pull/3297)) ### Updated -- Update pre-commit to 2.15.0 ([#3313](https://github.com/cookicutter/cookiecutter-django/pull/3313)) -- Auto-update pre-commit hooks ([#3307](https://github.com/cookicutter/cookiecutter-django/pull/3307)) -- Update pillow to 8.3.2 ([#3312](https://github.com/cookicutter/cookiecutter-django/pull/3312)) -- Update django-environ to 0.5.0 ([#3311](https://github.com/cookicutter/cookiecutter-django/pull/3311)) -- Update pytest to 6.2.5 ([#3310](https://github.com/cookicutter/cookiecutter-django/pull/3310)) -- Update black to 21.8b0 ([#3308](https://github.com/cookicutter/cookiecutter-django/pull/3308)) -- Update argon2-cffi to 21.1.0 ([#3306](https://github.com/cookicutter/cookiecutter-django/pull/3306)) -- Bump peter-evans/create-pull-request from 3.10.0 to 3.10.1 ([#3303](https://github.com/cookicutter/cookiecutter-django/pull/3303)) -- Update django-debug-toolbar to 3.2.2 ([#3296](https://github.com/cookicutter/cookiecutter-django/pull/3296)) -- Update django-cors-headers to 3.8.0 ([#3295](https://github.com/cookicutter/cookiecutter-django/pull/3295)) -- Update uvicorn to 0.15.0 ([#3294](https://github.com/cookicutter/cookiecutter-django/pull/3294)) +- Update pre-commit to 2.15.0 ([#3313](https://github.com/cookiecutter/cookiecutter-django/pull/3313)) +- Auto-update pre-commit hooks ([#3307](https://github.com/cookiecutter/cookiecutter-django/pull/3307)) +- Update pillow to 8.3.2 ([#3312](https://github.com/cookiecutter/cookiecutter-django/pull/3312)) +- Update django-environ to 0.5.0 ([#3311](https://github.com/cookiecutter/cookiecutter-django/pull/3311)) +- Update pytest to 6.2.5 ([#3310](https://github.com/cookiecutter/cookiecutter-django/pull/3310)) +- Update black to 21.8b0 ([#3308](https://github.com/cookiecutter/cookiecutter-django/pull/3308)) +- Update argon2-cffi to 21.1.0 ([#3306](https://github.com/cookiecutter/cookiecutter-django/pull/3306)) +- Bump peter-evans/create-pull-request from 3.10.0 to 3.10.1 ([#3303](https://github.com/cookiecutter/cookiecutter-django/pull/3303)) +- Update django-debug-toolbar to 3.2.2 ([#3296](https://github.com/cookiecutter/cookiecutter-django/pull/3296)) +- Update django-cors-headers to 3.8.0 ([#3295](https://github.com/cookiecutter/cookiecutter-django/pull/3295)) +- Update uvicorn to 0.15.0 ([#3294](https://github.com/cookiecutter/cookiecutter-django/pull/3294)) ## [2021-08-27] ### Updated -- Update tox to 3.24.3 ([#3302](https://github.com/cookicutter/cookiecutter-django/pull/3302)) +- Update tox to 3.24.3 ([#3302](https://github.com/cookiecutter/cookiecutter-django/pull/3302)) ## [2021-08-20] ### Changed -- Fix Jinja2 break line control on Procfile ([#3300](https://github.com/cookicutter/cookiecutter-django/pull/3300)) +- Fix Jinja2 break line control on Procfile ([#3300](https://github.com/cookiecutter/cookiecutter-django/pull/3300)) ## [2021-08-19] ### Changed -- Fix several minor typos ([#3301](https://github.com/cookicutter/cookiecutter-django/pull/3301)) +- Fix several minor typos ([#3301](https://github.com/cookiecutter/cookiecutter-django/pull/3301)) ## [2021-08-13] ### Changed -- Upgrade to Redis 6 ([#3255](https://github.com/cookicutter/cookiecutter-django/pull/3255)) +- Upgrade to Redis 6 ([#3255](https://github.com/cookiecutter/cookiecutter-django/pull/3255)) ### Fixed -- Fix RTD build image to support Python 3.9 ([#3293](https://github.com/cookicutter/cookiecutter-django/pull/3293)) +- Fix RTD build image to support Python 3.9 ([#3293](https://github.com/cookiecutter/cookiecutter-django/pull/3293)) ## [2021-08-12] ### Changed -- Add documentation for automating backups ([#3268](https://github.com/cookicutter/cookiecutter-django/pull/3268)) -- Add missing step to getting started locally in docs ([#3291](https://github.com/cookicutter/cookiecutter-django/pull/3291)) -- Moved isort config from `.editorconfig` to `setup.cfg` ([#3290](https://github.com/cookicutter/cookiecutter-django/pull/3290)) -- How to pre-commit in Docker Development ([#3287](https://github.com/cookicutter/cookiecutter-django/pull/3287)) +- Add documentation for automating backups ([#3268](https://github.com/cookiecutter/cookiecutter-django/pull/3268)) +- Add missing step to getting started locally in docs ([#3291](https://github.com/cookiecutter/cookiecutter-django/pull/3291)) +- Moved isort config from `.editorconfig` to `setup.cfg` ([#3290](https://github.com/cookiecutter/cookiecutter-django/pull/3290)) +- How to pre-commit in Docker Development ([#3287](https://github.com/cookiecutter/cookiecutter-django/pull/3287)) ### Updated -- Update sentry-sdk to 1.3.1 ([#3281](https://github.com/cookicutter/cookiecutter-django/pull/3281)) -- Update tox to 3.24.1 ([#3285](https://github.com/cookicutter/cookiecutter-django/pull/3285)) -- Update pre-commit to 2.14.0 ([#3289](https://github.com/cookicutter/cookiecutter-django/pull/3289)) +- Update sentry-sdk to 1.3.1 ([#3281](https://github.com/cookiecutter/cookiecutter-django/pull/3281)) +- Update tox to 3.24.1 ([#3285](https://github.com/cookiecutter/cookiecutter-django/pull/3285)) +- Update pre-commit to 2.14.0 ([#3289](https://github.com/cookiecutter/cookiecutter-django/pull/3289)) ## [2021-07-30] ### Updated -- Auto-update pre-commit hooks ([#3283](https://github.com/cookicutter/cookiecutter-django/pull/3283)) -- Update isort to 5.9.3 ([#3282](https://github.com/cookicutter/cookiecutter-django/pull/3282)) +- Auto-update pre-commit hooks ([#3283](https://github.com/cookiecutter/cookiecutter-django/pull/3283)) +- Update isort to 5.9.3 ([#3282](https://github.com/cookiecutter/cookiecutter-django/pull/3282)) ## [2021-07-27] ### Changed -- Convert trans to translate in templates ([#3277](https://github.com/cookicutter/cookiecutter-django/pull/3277)) +- Convert trans to translate in templates ([#3277](https://github.com/cookiecutter/cookiecutter-django/pull/3277)) ### Updated -- Update hiredis to 2.0.0 ([#3110](https://github.com/cookicutter/cookiecutter-django/pull/3110)) -- Update mypy to 0.910 ([#3237](https://github.com/cookicutter/cookiecutter-django/pull/3237)) -- Update whitenoise to 5.3.0 ([#3273](https://github.com/cookicutter/cookiecutter-django/pull/3273)) -- Update tox to 3.24.0 ([#3269](https://github.com/cookicutter/cookiecutter-django/pull/3269)) -- Update django-allauth to 0.45.0 ([#3267](https://github.com/cookicutter/cookiecutter-django/pull/3267)) -- Update sentry-sdk to 1.3.0 ([#3262](https://github.com/cookicutter/cookiecutter-django/pull/3262)) -- Update sphinx to 4.1.2 ([#3278](https://github.com/cookicutter/cookiecutter-django/pull/3278)) -- Auto-update pre-commit hooks ([#3264](https://github.com/cookicutter/cookiecutter-django/pull/3264)) -- Update isort to 5.9.2 ([#3279](https://github.com/cookicutter/cookiecutter-django/pull/3279)) -- Update pillow to 8.3.1 ([#3259](https://github.com/cookicutter/cookiecutter-django/pull/3259)) -- Update black to 21.7b0 ([#3272](https://github.com/cookicutter/cookiecutter-django/pull/3272)) +- Update hiredis to 2.0.0 ([#3110](https://github.com/cookiecutter/cookiecutter-django/pull/3110)) +- Update mypy to 0.910 ([#3237](https://github.com/cookiecutter/cookiecutter-django/pull/3237)) +- Update whitenoise to 5.3.0 ([#3273](https://github.com/cookiecutter/cookiecutter-django/pull/3273)) +- Update tox to 3.24.0 ([#3269](https://github.com/cookiecutter/cookiecutter-django/pull/3269)) +- Update django-allauth to 0.45.0 ([#3267](https://github.com/cookiecutter/cookiecutter-django/pull/3267)) +- Update sentry-sdk to 1.3.0 ([#3262](https://github.com/cookiecutter/cookiecutter-django/pull/3262)) +- Update sphinx to 4.1.2 ([#3278](https://github.com/cookiecutter/cookiecutter-django/pull/3278)) +- Auto-update pre-commit hooks ([#3264](https://github.com/cookiecutter/cookiecutter-django/pull/3264)) +- Update isort to 5.9.2 ([#3279](https://github.com/cookiecutter/cookiecutter-django/pull/3279)) +- Update pillow to 8.3.1 ([#3259](https://github.com/cookiecutter/cookiecutter-django/pull/3259)) +- Update black to 21.7b0 ([#3272](https://github.com/cookiecutter/cookiecutter-django/pull/3272)) ## [2021-07-12] ### Changed -- Define REMAP_SIGTERM=SIGQUIT on Profile of Celery on Heroku ([#3263](https://github.com/cookicutter/cookiecutter-django/pull/3263)) +- Define REMAP_SIGTERM=SIGQUIT on Profile of Celery on Heroku ([#3263](https://github.com/cookiecutter/cookiecutter-django/pull/3263)) ## [2021-07-08] ### Updated -- Update django to 3.1.13 ([#3247](https://github.com/cookicutter/cookiecutter-django/pull/3247)) +- Update django to 3.1.13 ([#3247](https://github.com/cookiecutter/cookiecutter-django/pull/3247)) ## [2021-06-29] ### Changed -- Improve github bug report template ([#3243](https://github.com/cookicutter/cookiecutter-django/pull/3243)) +- Improve github bug report template ([#3243](https://github.com/cookiecutter/cookiecutter-django/pull/3243)) ## [2021-06-28] ### Changed -- Revert "Fix Celery ports error on local Docker" ([#3242](https://github.com/cookicutter/cookiecutter-django/pull/3242)) +- Revert "Fix Celery ports error on local Docker" ([#3242](https://github.com/cookiecutter/cookiecutter-django/pull/3242)) ### Fixed -- Fix Celery ports error on local Docker ([#3241](https://github.com/cookicutter/cookiecutter-django/pull/3241)) +- Fix Celery ports error on local Docker ([#3241](https://github.com/cookiecutter/cookiecutter-django/pull/3241)) ## [2021-06-25] ### Changed -- Update `.gitignore` file for VSCode ([#3238](https://github.com/cookicutter/cookiecutter-django/pull/3238)) +- Update `.gitignore` file for VSCode ([#3238](https://github.com/cookiecutter/cookiecutter-django/pull/3238)) ### Fixed -- Wrap jQuery call in `DOMContentLoaded` event listener on account email page ([#3239](https://github.com/cookicutter/cookiecutter-django/pull/3239)) +- Wrap jQuery call in `DOMContentLoaded` event listener on account email page ([#3239](https://github.com/cookiecutter/cookiecutter-django/pull/3239)) ## [2021-06-22] ### Changed -- Update docs/howto.rst ([#3230](https://github.com/cookicutter/cookiecutter-django/pull/3230)) -- Add support for PG 13. Drop PG 9. Update all minor versions ([#3154](https://github.com/cookicutter/cookiecutter-django/pull/3154)) +- Update docs/howto.rst ([#3230](https://github.com/cookiecutter/cookiecutter-django/pull/3230)) +- Add support for PG 13. Drop PG 9. Update all minor versions ([#3154](https://github.com/cookiecutter/cookiecutter-django/pull/3154)) ### Updated -- Update isort to 5.9.1 ([#3236](https://github.com/cookicutter/cookiecutter-django/pull/3236)) -- Auto-update pre-commit hooks ([#3235](https://github.com/cookicutter/cookiecutter-django/pull/3235)) +- Update isort to 5.9.1 ([#3236](https://github.com/cookiecutter/cookiecutter-django/pull/3236)) +- Auto-update pre-commit hooks ([#3235](https://github.com/cookiecutter/cookiecutter-django/pull/3235)) ## [2021-06-21] ### Updated -- Update isort to 5.9.0 ([#3234](https://github.com/cookicutter/cookiecutter-django/pull/3234)) -- Update django-anymail to 8.4 ([#3225](https://github.com/cookicutter/cookiecutter-django/pull/3225)) -- Update django-redis to 5.0.0 ([#3205](https://github.com/cookicutter/cookiecutter-django/pull/3205)) -- Update pylint-django to 2.4.4 ([#3233](https://github.com/cookicutter/cookiecutter-django/pull/3233)) -- Auto-update pre-commit hooks ([#3220](https://github.com/cookicutter/cookiecutter-django/pull/3220)) -- Bump peter-evans/create-pull-request from 3.9.2 to 3.10.0 ([#3197](https://github.com/cookicutter/cookiecutter-django/pull/3197)) -- Update black to 21.6b0 ([#3232](https://github.com/cookicutter/cookiecutter-django/pull/3232)) -- Update pytest to 6.2.4 ([#3231](https://github.com/cookicutter/cookiecutter-django/pull/3231)) -- Update django-crispy-forms to 1.12.0 ([#3221](https://github.com/cookicutter/cookiecutter-django/pull/3221)) -- Update mypy to 0.902 ([#3219](https://github.com/cookicutter/cookiecutter-django/pull/3219)) -- Update django-coverage-plugin to 2.0.0 ([#3217](https://github.com/cookicutter/cookiecutter-django/pull/3217)) -- Update ipdb to 0.13.9 ([#3210](https://github.com/cookicutter/cookiecutter-django/pull/3210)) -- Update uvicorn to 0.14.0 ([#3207](https://github.com/cookicutter/cookiecutter-django/pull/3207)) -- Update pytest-cookies to 0.6.1 ([#3196](https://github.com/cookicutter/cookiecutter-django/pull/3196)) -- Update sphinx to 4.0.2 ([#3193](https://github.com/cookicutter/cookiecutter-django/pull/3193)) -- Update jinja2 to 3.0.1 ([#3189](https://github.com/cookicutter/cookiecutter-django/pull/3189)) +- Update isort to 5.9.0 ([#3234](https://github.com/cookiecutter/cookiecutter-django/pull/3234)) +- Update django-anymail to 8.4 ([#3225](https://github.com/cookiecutter/cookiecutter-django/pull/3225)) +- Update django-redis to 5.0.0 ([#3205](https://github.com/cookiecutter/cookiecutter-django/pull/3205)) +- Update pylint-django to 2.4.4 ([#3233](https://github.com/cookiecutter/cookiecutter-django/pull/3233)) +- Auto-update pre-commit hooks ([#3220](https://github.com/cookiecutter/cookiecutter-django/pull/3220)) +- Bump peter-evans/create-pull-request from 3.9.2 to 3.10.0 ([#3197](https://github.com/cookiecutter/cookiecutter-django/pull/3197)) +- Update black to 21.6b0 ([#3232](https://github.com/cookiecutter/cookiecutter-django/pull/3232)) +- Update pytest to 6.2.4 ([#3231](https://github.com/cookiecutter/cookiecutter-django/pull/3231)) +- Update django-crispy-forms to 1.12.0 ([#3221](https://github.com/cookiecutter/cookiecutter-django/pull/3221)) +- Update mypy to 0.902 ([#3219](https://github.com/cookiecutter/cookiecutter-django/pull/3219)) +- Update django-coverage-plugin to 2.0.0 ([#3217](https://github.com/cookiecutter/cookiecutter-django/pull/3217)) +- Update ipdb to 0.13.9 ([#3210](https://github.com/cookiecutter/cookiecutter-django/pull/3210)) +- Update uvicorn to 0.14.0 ([#3207](https://github.com/cookiecutter/cookiecutter-django/pull/3207)) +- Update pytest-cookies to 0.6.1 ([#3196](https://github.com/cookiecutter/cookiecutter-django/pull/3196)) +- Update sphinx to 4.0.2 ([#3193](https://github.com/cookiecutter/cookiecutter-django/pull/3193)) +- Update jinja2 to 3.0.1 ([#3189](https://github.com/cookiecutter/cookiecutter-django/pull/3189)) ## [2021-06-19] ### Updated -- Update psycopg2 to 2.9.1 ([#3227](https://github.com/cookicutter/cookiecutter-django/pull/3227)) -- Update psycopg2-binary to 2.9.1 ([#3228](https://github.com/cookicutter/cookiecutter-django/pull/3228)) +- Update psycopg2 to 2.9.1 ([#3227](https://github.com/cookiecutter/cookiecutter-django/pull/3227)) +- Update psycopg2-binary to 2.9.1 ([#3228](https://github.com/cookiecutter/cookiecutter-django/pull/3228)) ## [2021-06-14] ### Changed -- Update black GitHub link in requirements ([#3222](https://github.com/cookicutter/cookiecutter-django/pull/3222)) +- Update black GitHub link in requirements ([#3222](https://github.com/cookiecutter/cookiecutter-django/pull/3222)) ## [2021-06-09] ### Changed -- Fix link format in developing-locally.rst ([#3214](https://github.com/cookicutter/cookiecutter-django/pull/3214)) +- Fix link format in developing-locally.rst ([#3214](https://github.com/cookiecutter/cookiecutter-django/pull/3214)) ### Updated -- Update pre-commit to 2.13.0 ([#3195](https://github.com/cookicutter/cookiecutter-django/pull/3195)) -- Update pytest-django to 4.4.0 ([#3212](https://github.com/cookicutter/cookiecutter-django/pull/3212)) -- Update mypy to 0.901 ([#3215](https://github.com/cookicutter/cookiecutter-django/pull/3215)) -- Auto-update pre-commit hooks ([#3206](https://github.com/cookicutter/cookiecutter-django/pull/3206)) -- Update black to 21.5b2 ([#3204](https://github.com/cookicutter/cookiecutter-django/pull/3204)) +- Update pre-commit to 2.13.0 ([#3195](https://github.com/cookiecutter/cookiecutter-django/pull/3195)) +- Update pytest-django to 4.4.0 ([#3212](https://github.com/cookiecutter/cookiecutter-django/pull/3212)) +- Update mypy to 0.901 ([#3215](https://github.com/cookiecutter/cookiecutter-django/pull/3215)) +- Auto-update pre-commit hooks ([#3206](https://github.com/cookiecutter/cookiecutter-django/pull/3206)) +- Update black to 21.5b2 ([#3204](https://github.com/cookiecutter/cookiecutter-django/pull/3204)) ## [2021-06-06] ### Changed -- Updated .pre-commit-config.yaml to self-update its dependencies ([#3208](https://github.com/cookicutter/cookiecutter-django/pull/3208)) +- Updated .pre-commit-config.yaml to self-update its dependencies ([#3208](https://github.com/cookiecutter/cookiecutter-django/pull/3208)) ## [2021-06-05] ### Changed -- Shorthand for the officially supported buildpack ([#3211](https://github.com/cookicutter/cookiecutter-django/pull/3211)) +- Shorthand for the officially supported buildpack ([#3211](https://github.com/cookiecutter/cookiecutter-django/pull/3211)) ## [2021-06-02] ### Updated -- Update django to 3.1.12 ([#3209](https://github.com/cookicutter/cookiecutter-django/pull/3209)) +- Update django to 3.1.12 ([#3209](https://github.com/cookiecutter/cookiecutter-django/pull/3209)) ## [2021-05-18] ### Changed -- Move ARG PYTHON_VERSION=3.9-slim-buster to the global scope ([#3188](https://github.com/cookicutter/cookiecutter-django/pull/3188)) +- Move ARG PYTHON_VERSION=3.9-slim-buster to the global scope ([#3188](https://github.com/cookiecutter/cookiecutter-django/pull/3188)) ## [2021-05-17] ### Updated -- Bump tiangolo/issue-manager from 0.3.0 to 0.4.0 ([#3186](https://github.com/cookicutter/cookiecutter-django/pull/3186)) -- Auto-update pre-commit hooks ([#3185](https://github.com/cookicutter/cookiecutter-django/pull/3185)) +- Bump tiangolo/issue-manager from 0.3.0 to 0.4.0 ([#3186](https://github.com/cookiecutter/cookiecutter-django/pull/3186)) +- Auto-update pre-commit hooks ([#3185](https://github.com/cookiecutter/cookiecutter-django/pull/3185)) ## [2021-05-15] ### Changed -- Update watchgod to 0.7 ([#3177](https://github.com/cookicutter/cookiecutter-django/pull/3177)) +- Update watchgod to 0.7 ([#3177](https://github.com/cookiecutter/cookiecutter-django/pull/3177)) ### Updated -- Auto-update pre-commit hooks ([#3184](https://github.com/cookicutter/cookiecutter-django/pull/3184)) -- Update black to 21.5b1 ([#3167](https://github.com/cookicutter/cookiecutter-django/pull/3167)) -- Update flake8 to 3.9.2 ([#3164](https://github.com/cookicutter/cookiecutter-django/pull/3164)) -- Update pytest-django to 4.3.0 ([#3182](https://github.com/cookicutter/cookiecutter-django/pull/3182)) -- Auto-update pre-commit hooks ([#3157](https://github.com/cookicutter/cookiecutter-django/pull/3157)) -- Update python-slugify to 5.0.2 ([#3161](https://github.com/cookicutter/cookiecutter-django/pull/3161)) -- Bump stefanzweifel/git-auto-commit-action from 4.10.0 to 4.11.0 ([#3171](https://github.com/cookicutter/cookiecutter-django/pull/3171)) -- Update sentry-sdk to 1.1.0 ([#3163](https://github.com/cookicutter/cookiecutter-django/pull/3163)) -- Bump actions/setup-python from 2 to 2.2.2 ([#3173](https://github.com/cookicutter/cookiecutter-django/pull/3173)) -- Update tox to 3.23.1 ([#3160](https://github.com/cookicutter/cookiecutter-django/pull/3160)) -- Update pytest to 6.2.4 ([#3156](https://github.com/cookicutter/cookiecutter-django/pull/3156)) -- Bump peter-evans/create-pull-request from 3.8.2 to 3.9.2 ([#3179](https://github.com/cookicutter/cookiecutter-django/pull/3179)) -- Update sphinx to 4.0.1 ([#3169](https://github.com/cookicutter/cookiecutter-django/pull/3169)) -- Update cookiecutter to 1.7.3 ([#3180](https://github.com/cookicutter/cookiecutter-django/pull/3180)) -- Update django to 3.1.11 ([#3178](https://github.com/cookicutter/cookiecutter-django/pull/3178)) +- Auto-update pre-commit hooks ([#3184](https://github.com/cookiecutter/cookiecutter-django/pull/3184)) +- Update black to 21.5b1 ([#3167](https://github.com/cookiecutter/cookiecutter-django/pull/3167)) +- Update flake8 to 3.9.2 ([#3164](https://github.com/cookiecutter/cookiecutter-django/pull/3164)) +- Update pytest-django to 4.3.0 ([#3182](https://github.com/cookiecutter/cookiecutter-django/pull/3182)) +- Auto-update pre-commit hooks ([#3157](https://github.com/cookiecutter/cookiecutter-django/pull/3157)) +- Update python-slugify to 5.0.2 ([#3161](https://github.com/cookiecutter/cookiecutter-django/pull/3161)) +- Bump stefanzweifel/git-auto-commit-action from 4.10.0 to 4.11.0 ([#3171](https://github.com/cookiecutter/cookiecutter-django/pull/3171)) +- Update sentry-sdk to 1.1.0 ([#3163](https://github.com/cookiecutter/cookiecutter-django/pull/3163)) +- Bump actions/setup-python from 2 to 2.2.2 ([#3173](https://github.com/cookiecutter/cookiecutter-django/pull/3173)) +- Update tox to 3.23.1 ([#3160](https://github.com/cookiecutter/cookiecutter-django/pull/3160)) +- Update pytest to 6.2.4 ([#3156](https://github.com/cookiecutter/cookiecutter-django/pull/3156)) +- Bump peter-evans/create-pull-request from 3.8.2 to 3.9.2 ([#3179](https://github.com/cookiecutter/cookiecutter-django/pull/3179)) +- Update sphinx to 4.0.1 ([#3169](https://github.com/cookiecutter/cookiecutter-django/pull/3169)) +- Update cookiecutter to 1.7.3 ([#3180](https://github.com/cookiecutter/cookiecutter-django/pull/3180)) +- Update django to 3.1.11 ([#3178](https://github.com/cookiecutter/cookiecutter-django/pull/3178)) ## [2021-05-06] ### Updated -- Update django to 3.1.10 ([#3162](https://github.com/cookicutter/cookiecutter-django/pull/3162)) +- Update django to 3.1.10 ([#3162](https://github.com/cookiecutter/cookiecutter-django/pull/3162)) ## [2021-05-04] ### Updated -- Update django to 3.1.9 ([#3155](https://github.com/cookicutter/cookiecutter-django/pull/3155)) +- Update django to 3.1.9 ([#3155](https://github.com/cookiecutter/cookiecutter-django/pull/3155)) ## [2021-04-30] ### Fixed -- Fix linting error in production.py ([#3148](https://github.com/cookicutter/cookiecutter-django/pull/3148)) +- Fix linting error in production.py ([#3148](https://github.com/cookiecutter/cookiecutter-django/pull/3148)) ## [2021-04-29] ### Updated -- Update black to 21.4b2 ([#3147](https://github.com/cookicutter/cookiecutter-django/pull/3147)) -- Auto-update pre-commit hooks ([#3146](https://github.com/cookicutter/cookiecutter-django/pull/3146)) +- Update black to 21.4b2 ([#3147](https://github.com/cookiecutter/cookiecutter-django/pull/3147)) +- Auto-update pre-commit hooks ([#3146](https://github.com/cookiecutter/cookiecutter-django/pull/3146)) ## [2021-04-28] ### Changed -- Fix README link ([#3144](https://github.com/cookicutter/cookiecutter-django/pull/3144)) +- Fix README link ([#3144](https://github.com/cookiecutter/cookiecutter-django/pull/3144)) ### Updated -- Auto-update pre-commit hooks ([#3145](https://github.com/cookicutter/cookiecutter-django/pull/3145)) +- Auto-update pre-commit hooks ([#3145](https://github.com/cookiecutter/cookiecutter-django/pull/3145)) ## [2021-04-27] ### Updated -- Update pygithub to 1.55 ([#3141](https://github.com/cookicutter/cookiecutter-django/pull/3141)) -- Update black to 21.4b1 ([#3143](https://github.com/cookicutter/cookiecutter-django/pull/3143)) +- Update pygithub to 1.55 ([#3141](https://github.com/cookiecutter/cookiecutter-django/pull/3141)) +- Update black to 21.4b1 ([#3143](https://github.com/cookiecutter/cookiecutter-django/pull/3143)) ## [2021-04-26] ### Updated -- Update black to 21.4b0 ([#3138](https://github.com/cookicutter/cookiecutter-django/pull/3138)) -- Auto-update pre-commit hooks ([#3137](https://github.com/cookicutter/cookiecutter-django/pull/3137)) +- Update black to 21.4b0 ([#3138](https://github.com/cookiecutter/cookiecutter-django/pull/3138)) +- Auto-update pre-commit hooks ([#3137](https://github.com/cookiecutter/cookiecutter-django/pull/3137)) ## [2021-04-21] ### Updated -- Auto-update pre-commit hooks ([#3133](https://github.com/cookicutter/cookiecutter-django/pull/3133)) -- Update django-extensions to 3.1.3 ([#3136](https://github.com/cookicutter/cookiecutter-django/pull/3136)) -- Update django-compressor to 2.4.1 ([#3135](https://github.com/cookicutter/cookiecutter-django/pull/3135)) -- Update pre-commit to 2.12.1 ([#3134](https://github.com/cookicutter/cookiecutter-django/pull/3134)) -- Update flake8 to 3.9.1 ([#3131](https://github.com/cookicutter/cookiecutter-django/pull/3131)) -- Update django-stubs to 1.8.0 ([#3127](https://github.com/cookicutter/cookiecutter-django/pull/3127)) -- Update sphinx to 3.5.4 ([#3126](https://github.com/cookicutter/cookiecutter-django/pull/3126)) +- Auto-update pre-commit hooks ([#3133](https://github.com/cookiecutter/cookiecutter-django/pull/3133)) +- Update django-extensions to 3.1.3 ([#3136](https://github.com/cookiecutter/cookiecutter-django/pull/3136)) +- Update django-compressor to 2.4.1 ([#3135](https://github.com/cookiecutter/cookiecutter-django/pull/3135)) +- Update pre-commit to 2.12.1 ([#3134](https://github.com/cookiecutter/cookiecutter-django/pull/3134)) +- Update flake8 to 3.9.1 ([#3131](https://github.com/cookiecutter/cookiecutter-django/pull/3131)) +- Update django-stubs to 1.8.0 ([#3127](https://github.com/cookiecutter/cookiecutter-django/pull/3127)) +- Update sphinx to 3.5.4 ([#3126](https://github.com/cookiecutter/cookiecutter-django/pull/3126)) ## [2021-04-15] ### Updated -- Update django-debug-toolbar to 3.2.1 ([#3129](https://github.com/cookicutter/cookiecutter-django/pull/3129)) +- Update django-debug-toolbar to 3.2.1 ([#3129](https://github.com/cookiecutter/cookiecutter-django/pull/3129)) ## [2021-04-14] ### Updated -- Bump stefanzweifel/git-auto-commit-action from v4.9.2 to v4.10.0 ([#3128](https://github.com/cookicutter/cookiecutter-django/pull/3128)) +- Bump stefanzweifel/git-auto-commit-action from v4.9.2 to v4.10.0 ([#3128](https://github.com/cookiecutter/cookiecutter-django/pull/3128)) ## [2021-04-11] ### Updated -- Update pytest-django to 4.2.0 ([#3125](https://github.com/cookicutter/cookiecutter-django/pull/3125)) -- Update pylint-django to 2.4.3 ([#3122](https://github.com/cookicutter/cookiecutter-django/pull/3122)) +- Update pytest-django to 4.2.0 ([#3125](https://github.com/cookiecutter/cookiecutter-django/pull/3125)) +- Update pylint-django to 2.4.3 ([#3122](https://github.com/cookiecutter/cookiecutter-django/pull/3122)) ## [2021-04-09] ### Changed -- Update from Python 3.8 to Python 3.9 ([#3023](https://github.com/cookicutter/cookiecutter-django/pull/3023)) +- Update from Python 3.8 to Python 3.9 ([#3023](https://github.com/cookiecutter/cookiecutter-django/pull/3023)) ## [2021-04-08] ### Changed -- Switch .dockerignore to explicit list ([#3121](https://github.com/cookicutter/cookiecutter-django/pull/3121)) -- Change Docker image to multi-stage build for Django ([#2815](https://github.com/cookicutter/cookiecutter-django/pull/2815)) -- Fix deprecated warning in middleware tests ([#3038](https://github.com/cookicutter/cookiecutter-django/pull/3038)) +- Switch .dockerignore to explicit list ([#3121](https://github.com/cookiecutter/cookiecutter-django/pull/3121)) +- Change Docker image to multi-stage build for Django ([#2815](https://github.com/cookiecutter/cookiecutter-django/pull/2815)) +- Fix deprecated warning in middleware tests ([#3038](https://github.com/cookiecutter/cookiecutter-django/pull/3038)) ### Updated -- Update pre-commit to 2.12.0 ([#3120](https://github.com/cookicutter/cookiecutter-django/pull/3120)) +- Update pre-commit to 2.12.0 ([#3120](https://github.com/cookiecutter/cookiecutter-django/pull/3120)) ## [2021-04-07] ### Changed -- Update django to 3.1.8 ([#3117](https://github.com/cookicutter/cookiecutter-django/pull/3117)) +- Update django to 3.1.8 ([#3117](https://github.com/cookiecutter/cookiecutter-django/pull/3117)) ### Fixed -- Fix linting via pre-commit on Github CI ([#3077](https://github.com/cookicutter/cookiecutter-django/pull/3077)) -- Fix gitlab-ci using duplicate key name for image ([#3112](https://github.com/cookicutter/cookiecutter-django/pull/3112)) +- Fix linting via pre-commit on Github CI ([#3077](https://github.com/cookiecutter/cookiecutter-django/pull/3077)) +- Fix gitlab-ci using duplicate key name for image ([#3112](https://github.com/cookiecutter/cookiecutter-django/pull/3112)) ### Updated -- Update sentry-sdk to 1.0.0 ([#3080](https://github.com/cookicutter/cookiecutter-django/pull/3080)) -- Update gunicorn to 20.1.0 ([#3108](https://github.com/cookicutter/cookiecutter-django/pull/3108)) -- Update pre-commit to 2.12.0 ([#3118](https://github.com/cookicutter/cookiecutter-django/pull/3118)) -- Update django-extensions to 3.1.2 ([#3116](https://github.com/cookicutter/cookiecutter-django/pull/3116)) -- Update pillow to 8.2.0 ([#3113](https://github.com/cookicutter/cookiecutter-django/pull/3113)) -- Update pytest to 6.2.3 ([#3115](https://github.com/cookicutter/cookiecutter-django/pull/3115)) +- Update sentry-sdk to 1.0.0 ([#3080](https://github.com/cookiecutter/cookiecutter-django/pull/3080)) +- Update gunicorn to 20.1.0 ([#3108](https://github.com/cookiecutter/cookiecutter-django/pull/3108)) +- Update pre-commit to 2.12.0 ([#3118](https://github.com/cookiecutter/cookiecutter-django/pull/3118)) +- Update django-extensions to 3.1.2 ([#3116](https://github.com/cookiecutter/cookiecutter-django/pull/3116)) +- Update pillow to 8.2.0 ([#3113](https://github.com/cookiecutter/cookiecutter-django/pull/3113)) +- Update pytest to 6.2.3 ([#3115](https://github.com/cookiecutter/cookiecutter-django/pull/3115)) ## [2021-03-26] ### Updated -- Update djangorestframework to 3.12.4 ([#3107](https://github.com/cookicutter/cookiecutter-django/pull/3107)) +- Update djangorestframework to 3.12.4 ([#3107](https://github.com/cookiecutter/cookiecutter-django/pull/3107)) ## [2021-03-25] ### Updated -- Update djangorestframework to 3.12.3 ([#3105](https://github.com/cookicutter/cookiecutter-django/pull/3105)) +- Update djangorestframework to 3.12.3 ([#3105](https://github.com/cookiecutter/cookiecutter-django/pull/3105)) ## [2021-03-22] ### Updated -- Update django-crispy-forms to 1.11.2 ([#3104](https://github.com/cookicutter/cookiecutter-django/pull/3104)) -- Update sphinx to 3.5.3 ([#3103](https://github.com/cookicutter/cookiecutter-django/pull/3103)) -- Update ipdb to 0.13.7 ([#3102](https://github.com/cookicutter/cookiecutter-django/pull/3102)) -- Update sphinx-autobuild to 2021.3.14 ([#3101](https://github.com/cookicutter/cookiecutter-django/pull/3101)) -- Update isort to 5.8.0 ([#3100](https://github.com/cookicutter/cookiecutter-django/pull/3100)) -- Update pre-commit to 2.11.1 ([#3089](https://github.com/cookicutter/cookiecutter-django/pull/3089)) -- Update flake8 to 3.9.0 ([#3096](https://github.com/cookicutter/cookiecutter-django/pull/3096)) -- Update pillow to 8.1.2 ([#3084](https://github.com/cookicutter/cookiecutter-django/pull/3084)) -- Auto-update pre-commit hooks ([#3095](https://github.com/cookicutter/cookiecutter-django/pull/3095)) +- Update django-crispy-forms to 1.11.2 ([#3104](https://github.com/cookiecutter/cookiecutter-django/pull/3104)) +- Update sphinx to 3.5.3 ([#3103](https://github.com/cookiecutter/cookiecutter-django/pull/3103)) +- Update ipdb to 0.13.7 ([#3102](https://github.com/cookiecutter/cookiecutter-django/pull/3102)) +- Update sphinx-autobuild to 2021.3.14 ([#3101](https://github.com/cookiecutter/cookiecutter-django/pull/3101)) +- Update isort to 5.8.0 ([#3100](https://github.com/cookiecutter/cookiecutter-django/pull/3100)) +- Update pre-commit to 2.11.1 ([#3089](https://github.com/cookiecutter/cookiecutter-django/pull/3089)) +- Update flake8 to 3.9.0 ([#3096](https://github.com/cookiecutter/cookiecutter-django/pull/3096)) +- Update pillow to 8.1.2 ([#3084](https://github.com/cookiecutter/cookiecutter-django/pull/3084)) +- Auto-update pre-commit hooks ([#3095](https://github.com/cookiecutter/cookiecutter-django/pull/3095)) ## [2021-03-05] ### Changed -- Updated test_urls.py and views.py to re-use User.get_absolute_url() ([#3070](https://github.com/cookicutter/cookiecutter-django/pull/3070)) +- Updated test_urls.py and views.py to re-use User.get_absolute_url() ([#3070](https://github.com/cookiecutter/cookiecutter-django/pull/3070)) ### Updated -- Bump stefanzweifel/git-auto-commit-action from v4.9.1 to v4.9.2 ([#3082](https://github.com/cookicutter/cookiecutter-django/pull/3082)) +- Bump stefanzweifel/git-auto-commit-action from v4.9.1 to v4.9.2 ([#3082](https://github.com/cookiecutter/cookiecutter-django/pull/3082)) ## [2021-03-03] ### Updated -- Update tox to 3.23.0 ([#3079](https://github.com/cookicutter/cookiecutter-django/pull/3079)) -- Update ipdb to 0.13.5 ([#3078](https://github.com/cookicutter/cookiecutter-django/pull/3078)) +- Update tox to 3.23.0 ([#3079](https://github.com/cookiecutter/cookiecutter-django/pull/3079)) +- Update ipdb to 0.13.5 ([#3078](https://github.com/cookiecutter/cookiecutter-django/pull/3078)) ## [2021-03-02] ### Fixed -- Fixes for pytest job in Github CI workflow ([#3076](https://github.com/cookicutter/cookiecutter-django/pull/3076)) +- Fixes for pytest job in Github CI workflow ([#3076](https://github.com/cookiecutter/cookiecutter-django/pull/3076)) ### Updated -- Update pillow to 8.1.1 ([#3075](https://github.com/cookicutter/cookiecutter-django/pull/3075)) -- Update coverage to 5.5 ([#3074](https://github.com/cookicutter/cookiecutter-django/pull/3074)) +- Update pillow to 8.1.1 ([#3075](https://github.com/cookiecutter/cookiecutter-django/pull/3075)) +- Update coverage to 5.5 ([#3074](https://github.com/cookiecutter/cookiecutter-django/pull/3074)) ## [2021-02-24] ### Updated -- Bump stefanzweifel/git-auto-commit-action from v4.9.0 to v4.9.1 ([#3069](https://github.com/cookicutter/cookiecutter-django/pull/3069)) +- Bump stefanzweifel/git-auto-commit-action from v4.9.0 to v4.9.1 ([#3069](https://github.com/cookiecutter/cookiecutter-django/pull/3069)) ## [2021-02-23] ### Changed -- Update to Django 3.1 ([#3043](https://github.com/cookicutter/cookiecutter-django/pull/3043)) -- Lint with pre-commit on CI with Github actions ([#3066](https://github.com/cookicutter/cookiecutter-django/pull/3066)) -- Use exception var in status code pages if available ([#2992](https://github.com/cookicutter/cookiecutter-django/pull/2992)) +- Update to Django 3.1 ([#3043](https://github.com/cookiecutter/cookiecutter-django/pull/3043)) +- Lint with pre-commit on CI with Github actions ([#3066](https://github.com/cookiecutter/cookiecutter-django/pull/3066)) +- Use exception var in status code pages if available ([#2992](https://github.com/cookiecutter/cookiecutter-django/pull/2992)) ## [2021-02-22] ### Changed -- refactor: remove default cache settings in test.py ([#3064](https://github.com/cookicutter/cookiecutter-django/pull/3064)) -- Update django to 3.0.13 ([#3060](https://github.com/cookicutter/cookiecutter-django/pull/3060)) +- refactor: remove default cache settings in test.py ([#3064](https://github.com/cookiecutter/cookiecutter-django/pull/3064)) +- Update django to 3.0.13 ([#3060](https://github.com/cookiecutter/cookiecutter-django/pull/3060)) ### Fixed -- Fix missing Django Debug toolbar with node container ([#2865](https://github.com/cookicutter/cookiecutter-django/pull/2865)) -- Remove Email from User API ([#3055](https://github.com/cookicutter/cookiecutter-django/pull/3055)) +- Fix missing Django Debug toolbar with node container ([#2865](https://github.com/cookiecutter/cookiecutter-django/pull/2865)) +- Remove Email from User API ([#3055](https://github.com/cookiecutter/cookiecutter-django/pull/3055)) ### Updated -- Bump stefanzweifel/git-auto-commit-action from v4.8.0 to v4.9.0 ([#3065](https://github.com/cookicutter/cookiecutter-django/pull/3065)) -- Update django-crispy-forms to 1.11.1 ([#3063](https://github.com/cookicutter/cookiecutter-django/pull/3063)) -- Update uvicorn to 0.13.4 ([#3062](https://github.com/cookicutter/cookiecutter-django/pull/3062)) -- Update mypy to 0.812 ([#3061](https://github.com/cookicutter/cookiecutter-django/pull/3061)) -- Update sentry-sdk to 0.20.3 ([#3059](https://github.com/cookicutter/cookiecutter-django/pull/3059)) -- Update tox to 3.22.0 ([#3057](https://github.com/cookicutter/cookiecutter-django/pull/3057)) -- Update sphinx to 3.5.1 ([#3056](https://github.com/cookicutter/cookiecutter-django/pull/3056)) +- Bump stefanzweifel/git-auto-commit-action from v4.8.0 to v4.9.0 ([#3065](https://github.com/cookiecutter/cookiecutter-django/pull/3065)) +- Update django-crispy-forms to 1.11.1 ([#3063](https://github.com/cookiecutter/cookiecutter-django/pull/3063)) +- Update uvicorn to 0.13.4 ([#3062](https://github.com/cookiecutter/cookiecutter-django/pull/3062)) +- Update mypy to 0.812 ([#3061](https://github.com/cookiecutter/cookiecutter-django/pull/3061)) +- Update sentry-sdk to 0.20.3 ([#3059](https://github.com/cookiecutter/cookiecutter-django/pull/3059)) +- Update tox to 3.22.0 ([#3057](https://github.com/cookiecutter/cookiecutter-django/pull/3057)) +- Update sphinx to 3.5.1 ([#3056](https://github.com/cookiecutter/cookiecutter-django/pull/3056)) ## [2021-02-16] ### Updated -- Update sentry-sdk to 0.20.2 ([#3054](https://github.com/cookicutter/cookiecutter-django/pull/3054)) -- Update sphinx to 3.5.0 ([#3053](https://github.com/cookicutter/cookiecutter-django/pull/3053)) +- Update sentry-sdk to 0.20.2 ([#3054](https://github.com/cookiecutter/cookiecutter-django/pull/3054)) +- Update sphinx to 3.5.0 ([#3053](https://github.com/cookiecutter/cookiecutter-django/pull/3053)) ## [2021-02-13] ### Updated -- Update sentry-sdk to 0.20.1 ([#3052](https://github.com/cookicutter/cookiecutter-django/pull/3052)) +- Update sentry-sdk to 0.20.1 ([#3052](https://github.com/cookiecutter/cookiecutter-django/pull/3052)) ## [2021-02-12] ### Updated -- Update pre-commit to 2.10.1 ([#3045](https://github.com/cookicutter/cookiecutter-django/pull/3045)) -- Update sentry-sdk to 0.20.0 ([#3051](https://github.com/cookicutter/cookiecutter-django/pull/3051)) +- Update pre-commit to 2.10.1 ([#3045](https://github.com/cookiecutter/cookiecutter-django/pull/3045)) +- Update sentry-sdk to 0.20.0 ([#3051](https://github.com/cookiecutter/cookiecutter-django/pull/3051)) ## [2021-02-10] ### Updated -- Bump peter-evans/create-pull-request from v3.8.1 to v3.8.2 ([#3049](https://github.com/cookicutter/cookiecutter-django/pull/3049)) +- Bump peter-evans/create-pull-request from v3.8.1 to v3.8.2 ([#3049](https://github.com/cookiecutter/cookiecutter-django/pull/3049)) ## [2021-02-08] ### Updated -- Update django-extensions to 3.1.1 ([#3047](https://github.com/cookicutter/cookiecutter-django/pull/3047)) -- Bump peter-evans/create-pull-request from v3.8.0 to v3.8.1 ([#3046](https://github.com/cookicutter/cookiecutter-django/pull/3046)) +- Update django-extensions to 3.1.1 ([#3047](https://github.com/cookiecutter/cookiecutter-django/pull/3047)) +- Bump peter-evans/create-pull-request from v3.8.0 to v3.8.1 ([#3046](https://github.com/cookiecutter/cookiecutter-django/pull/3046)) ## [2021-02-06] ### Changed -- Removed Redundant test_case_sensitivity() and made test_not_authenticated() get the LOGIN_URL dynamically. ([#3041](https://github.com/cookicutter/cookiecutter-django/pull/3041)) -- Refactored users.forms to make the code more readeable ([#3029](https://github.com/cookicutter/cookiecutter-django/pull/3029)) -- Update django to 3.0.12 ([#3037](https://github.com/cookicutter/cookiecutter-django/pull/3037)) +- Removed Redundant test_case_sensitivity() and made test_not_authenticated() get the LOGIN_URL dynamically. ([#3041](https://github.com/cookiecutter/cookiecutter-django/pull/3041)) +- Refactored users.forms to make the code more readeable ([#3029](https://github.com/cookiecutter/cookiecutter-django/pull/3029)) +- Update django to 3.0.12 ([#3037](https://github.com/cookiecutter/cookiecutter-django/pull/3037)) ### Updated -- Update tox to 3.21.4 ([#3044](https://github.com/cookicutter/cookiecutter-django/pull/3044)) +- Update tox to 3.21.4 ([#3044](https://github.com/cookiecutter/cookiecutter-django/pull/3044)) ## [2021-02-01] ### Updated -- Update pytz to 2021.1 ([#3035](https://github.com/cookicutter/cookiecutter-django/pull/3035)) -- Update jinja2 to 2.11.3 ([#3033](https://github.com/cookicutter/cookiecutter-django/pull/3033)) -- Bump peter-evans/create-pull-request from v3.7.0 to v3.8.0 ([#3034](https://github.com/cookicutter/cookiecutter-django/pull/3034)) +- Update pytz to 2021.1 ([#3035](https://github.com/cookiecutter/cookiecutter-django/pull/3035)) +- Update jinja2 to 2.11.3 ([#3033](https://github.com/cookiecutter/cookiecutter-django/pull/3033)) +- Bump peter-evans/create-pull-request from v3.7.0 to v3.8.0 ([#3034](https://github.com/cookiecutter/cookiecutter-django/pull/3034)) ## [2021-01-31] ### Changed -- Adding local celery instructions to developing-locally ([#3031](https://github.com/cookicutter/cookiecutter-django/pull/3031)) +- Adding local celery instructions to developing-locally ([#3031](https://github.com/cookiecutter/cookiecutter-django/pull/3031)) ### Updated -- Update django-crispy-forms to 1.11.0 ([#3032](https://github.com/cookicutter/cookiecutter-django/pull/3032)) +- Update django-crispy-forms to 1.11.0 ([#3032](https://github.com/cookiecutter/cookiecutter-django/pull/3032)) ## [2021-01-28] ### Updated -- Update pre-commit to 2.10.0 ([#3028](https://github.com/cookicutter/cookiecutter-django/pull/3028)) -- Update django-anymail to 8.2 ([#3027](https://github.com/cookicutter/cookiecutter-django/pull/3027)) -- Update tox to 3.21.3 ([#3026](https://github.com/cookicutter/cookiecutter-django/pull/3026)) +- Update pre-commit to 2.10.0 ([#3028](https://github.com/cookiecutter/cookiecutter-django/pull/3028)) +- Update django-anymail to 8.2 ([#3027](https://github.com/cookiecutter/cookiecutter-django/pull/3027)) +- Update tox to 3.21.3 ([#3026](https://github.com/cookiecutter/cookiecutter-django/pull/3026)) ## [2021-01-26] ### Changed -- Bump peter-evans/create-pull-request from v3.6.0 to v3.7.0 ([#3022](https://github.com/cookicutter/cookiecutter-django/pull/3022)) -- Using SuccessMessageMixin to send success message to django template ([#3021](https://github.com/cookicutter/cookiecutter-django/pull/3021)) +- Bump peter-evans/create-pull-request from v3.6.0 to v3.7.0 ([#3022](https://github.com/cookiecutter/cookiecutter-django/pull/3022)) +- Using SuccessMessageMixin to send success message to django template ([#3021](https://github.com/cookiecutter/cookiecutter-django/pull/3021)) ### Fixed -- Update admin to ignore *_name User attributes ([#3018](https://github.com/cookicutter/cookiecutter-django/pull/3018)) +- Update admin to ignore *_name User attributes ([#3018](https://github.com/cookiecutter/cookiecutter-django/pull/3018)) ### Updated -- Update coverage to 5.4 ([#3024](https://github.com/cookicutter/cookiecutter-django/pull/3024)) -- Update pytest to 6.2.2 ([#3020](https://github.com/cookicutter/cookiecutter-django/pull/3020)) -- Update django-cors-headers to 3.7.0 ([#3019](https://github.com/cookicutter/cookiecutter-django/pull/3019)) +- Update coverage to 5.4 ([#3024](https://github.com/cookiecutter/cookiecutter-django/pull/3024)) +- Update pytest to 6.2.2 ([#3020](https://github.com/cookiecutter/cookiecutter-django/pull/3020)) +- Update django-cors-headers to 3.7.0 ([#3019](https://github.com/cookiecutter/cookiecutter-django/pull/3019)) ## [2021-01-24] ### Changed -- Use defer for script tags (Fix #2922) ([#2927](https://github.com/cookicutter/cookiecutter-django/pull/2927)) -- Made Traefik conf much easier to understand and improved redirect res… ([#2838](https://github.com/cookicutter/cookiecutter-django/pull/2838)) -- Sentry Redis integration enabled by default in production. ([#2989](https://github.com/cookicutter/cookiecutter-django/pull/2989)) -- Add test for UserUpdateView.form_valid() ([#2949](https://github.com/cookicutter/cookiecutter-django/pull/2949)) +- Use defer for script tags (Fix #2922) ([#2927](https://github.com/cookiecutter/cookiecutter-django/pull/2927)) +- Made Traefik conf much easier to understand and improved redirect res… ([#2838](https://github.com/cookiecutter/cookiecutter-django/pull/2838)) +- Sentry Redis integration enabled by default in production. ([#2989](https://github.com/cookiecutter/cookiecutter-django/pull/2989)) +- Add test for UserUpdateView.form_valid() ([#2949](https://github.com/cookiecutter/cookiecutter-django/pull/2949)) ### Fixed -- Omit first_name and last_name in User model ([#2998](https://github.com/cookicutter/cookiecutter-django/pull/2998)) +- Omit first_name and last_name in User model ([#2998](https://github.com/cookiecutter/cookiecutter-django/pull/2998)) ### Updated -- Update django-celery-beat to 2.2.0 ([#3009](https://github.com/cookicutter/cookiecutter-django/pull/3009)) -- Update pyyaml to 5.4.1 ([#3011](https://github.com/cookicutter/cookiecutter-django/pull/3011)) -- Update mypy to 0.800 ([#3013](https://github.com/cookicutter/cookiecutter-django/pull/3013)) -- Update factory-boy to 3.2.0 ([#2986](https://github.com/cookicutter/cookiecutter-django/pull/2986)) -- Update tox to 3.21.2 ([#3010](https://github.com/cookicutter/cookiecutter-django/pull/3010)) +- Update django-celery-beat to 2.2.0 ([#3009](https://github.com/cookiecutter/cookiecutter-django/pull/3009)) +- Update pyyaml to 5.4.1 ([#3011](https://github.com/cookiecutter/cookiecutter-django/pull/3011)) +- Update mypy to 0.800 ([#3013](https://github.com/cookiecutter/cookiecutter-django/pull/3013)) +- Update factory-boy to 3.2.0 ([#2986](https://github.com/cookiecutter/cookiecutter-django/pull/2986)) +- Update tox to 3.21.2 ([#3010](https://github.com/cookiecutter/cookiecutter-django/pull/3010)) ## [2021-01-22] ### Changed -- Use self.request.user instead of second query ([#3012](https://github.com/cookicutter/cookiecutter-django/pull/3012)) +- Use self.request.user instead of second query ([#3012](https://github.com/cookiecutter/cookiecutter-django/pull/3012)) ## [2021-01-14] ### Updated -- Update tox to 3.21.1 ([#3006](https://github.com/cookicutter/cookiecutter-django/pull/3006)) +- Update tox to 3.21.1 ([#3006](https://github.com/cookiecutter/cookiecutter-django/pull/3006)) ## [2021-01-10] ### Updated -- Update pylint-django to 2.4.2 ([#3003](https://github.com/cookicutter/cookiecutter-django/pull/3003)) -- Update tox to 3.21.0 ([#3002](https://github.com/cookicutter/cookiecutter-django/pull/3002)) +- Update pylint-django to 2.4.2 ([#3003](https://github.com/cookiecutter/cookiecutter-django/pull/3003)) +- Update tox to 3.21.0 ([#3002](https://github.com/cookiecutter/cookiecutter-django/pull/3002)) ## [2021-01-08] ### Changed -- Upgrade Travis to Focal ([#2999](https://github.com/cookicutter/cookiecutter-django/pull/2999)) +- Upgrade Travis to Focal ([#2999](https://github.com/cookiecutter/cookiecutter-django/pull/2999)) ### Updated -- Update pylint-django to 2.4.1 ([#3001](https://github.com/cookicutter/cookiecutter-django/pull/3001)) -- Update sphinx to 3.4.3 ([#3000](https://github.com/cookicutter/cookiecutter-django/pull/3000)) -- Update pylint-django to 2.4.0 ([#2996](https://github.com/cookicutter/cookiecutter-django/pull/2996)) +- Update pylint-django to 2.4.1 ([#3001](https://github.com/cookiecutter/cookiecutter-django/pull/3001)) +- Update sphinx to 3.4.3 ([#3000](https://github.com/cookiecutter/cookiecutter-django/pull/3000)) +- Update pylint-django to 2.4.0 ([#2996](https://github.com/cookiecutter/cookiecutter-django/pull/2996)) ## [2021-01-04] ### Updated -- Update isort to 5.7.0 ([#2988](https://github.com/cookicutter/cookiecutter-django/pull/2988)) -- Update uvicorn to 0.13.3 ([#2987](https://github.com/cookicutter/cookiecutter-django/pull/2987)) -- Auto-update pre-commit hooks ([#2990](https://github.com/cookicutter/cookiecutter-django/pull/2990)) -- Update sphinx to 3.4.2 ([#2995](https://github.com/cookicutter/cookiecutter-django/pull/2995)) -- Update pillow to 8.1.0 ([#2993](https://github.com/cookicutter/cookiecutter-django/pull/2993)) +- Update isort to 5.7.0 ([#2988](https://github.com/cookiecutter/cookiecutter-django/pull/2988)) +- Update uvicorn to 0.13.3 ([#2987](https://github.com/cookiecutter/cookiecutter-django/pull/2987)) +- Auto-update pre-commit hooks ([#2990](https://github.com/cookiecutter/cookiecutter-django/pull/2990)) +- Update sphinx to 3.4.2 ([#2995](https://github.com/cookiecutter/cookiecutter-django/pull/2995)) +- Update pillow to 8.1.0 ([#2993](https://github.com/cookiecutter/cookiecutter-django/pull/2993)) ## [2020-12-29] ### Updated -- Update pygithub to 1.54.1 ([#2982](https://github.com/cookicutter/cookiecutter-django/pull/2982)) -- Update django-storages to 1.11.1 ([#2981](https://github.com/cookicutter/cookiecutter-django/pull/2981)) +- Update pygithub to 1.54.1 ([#2982](https://github.com/cookiecutter/cookiecutter-django/pull/2982)) +- Update django-storages to 1.11.1 ([#2981](https://github.com/cookiecutter/cookiecutter-django/pull/2981)) ## [2020-12-26] ### Updated -- Update sphinx to 3.4.1 ([#2985](https://github.com/cookicutter/cookiecutter-django/pull/2985)) -- Update pytz to 2020.5 ([#2984](https://github.com/cookicutter/cookiecutter-django/pull/2984)) +- Update sphinx to 3.4.1 ([#2985](https://github.com/cookiecutter/cookiecutter-django/pull/2985)) +- Update pytz to 2020.5 ([#2984](https://github.com/cookiecutter/cookiecutter-django/pull/2984)) ## [2020-12-23] ### Changed -- Bump peter-evans/create-pull-request from v3.5.2 to v3.6.0 ([#2980](https://github.com/cookicutter/cookiecutter-django/pull/2980)) +- Bump peter-evans/create-pull-request from v3.5.2 to v3.6.0 ([#2980](https://github.com/cookiecutter/cookiecutter-django/pull/2980)) ### Updated -- Update flower to 0.9.7 ([#2979](https://github.com/cookicutter/cookiecutter-django/pull/2979)) -- Update sphinx to 3.4.0 ([#2978](https://github.com/cookicutter/cookiecutter-django/pull/2978)) -- Update coverage to 5.3.1 ([#2977](https://github.com/cookicutter/cookiecutter-django/pull/2977)) -- Update uvicorn to 0.13.2 ([#2976](https://github.com/cookicutter/cookiecutter-django/pull/2976)) +- Update flower to 0.9.7 ([#2979](https://github.com/cookiecutter/cookiecutter-django/pull/2979)) +- Update sphinx to 3.4.0 ([#2978](https://github.com/cookiecutter/cookiecutter-django/pull/2978)) +- Update coverage to 5.3.1 ([#2977](https://github.com/cookiecutter/cookiecutter-django/pull/2977)) +- Update uvicorn to 0.13.2 ([#2976](https://github.com/cookiecutter/cookiecutter-django/pull/2976)) ## [2020-12-18] ### Changed -- Bump stefanzweifel/git-auto-commit-action from v4.7.2 to v4.8.0 ([#2972](https://github.com/cookicutter/cookiecutter-django/pull/2972)) +- Bump stefanzweifel/git-auto-commit-action from v4.7.2 to v4.8.0 ([#2972](https://github.com/cookiecutter/cookiecutter-django/pull/2972)) ### Updated -- Update django-storages to 1.11 ([#2973](https://github.com/cookicutter/cookiecutter-django/pull/2973)) -- Update pytest to 6.2.1 ([#2971](https://github.com/cookicutter/cookiecutter-django/pull/2971)) -- Auto-update pre-commit hooks ([#2970](https://github.com/cookicutter/cookiecutter-django/pull/2970)) +- Update django-storages to 1.11 ([#2973](https://github.com/cookiecutter/cookiecutter-django/pull/2973)) +- Update pytest to 6.2.1 ([#2971](https://github.com/cookiecutter/cookiecutter-django/pull/2971)) +- Auto-update pre-commit hooks ([#2970](https://github.com/cookiecutter/cookiecutter-django/pull/2970)) ## [2020-12-14] ### Updated -- Update pytest to 6.2.0 ([#2968](https://github.com/cookicutter/cookiecutter-django/pull/2968)) -- Update django-cors-headers to 3.6.0 ([#2967](https://github.com/cookicutter/cookiecutter-django/pull/2967)) -- Update uvicorn to 0.13.1 ([#2966](https://github.com/cookicutter/cookiecutter-django/pull/2966)) +- Update pytest to 6.2.0 ([#2968](https://github.com/cookiecutter/cookiecutter-django/pull/2968)) +- Update django-cors-headers to 3.6.0 ([#2967](https://github.com/cookiecutter/cookiecutter-django/pull/2967)) +- Update uvicorn to 0.13.1 ([#2966](https://github.com/cookiecutter/cookiecutter-django/pull/2966)) ## [2020-12-10] ### Changed -- Hot-reload support to celery ([#2554](https://github.com/cookicutter/cookiecutter-django/pull/2554)) +- Hot-reload support to celery ([#2554](https://github.com/cookiecutter/cookiecutter-django/pull/2554)) ### Updated -- Update uvicorn to 0.13.0 ([#2962](https://github.com/cookicutter/cookiecutter-django/pull/2962)) -- Update sentry-sdk to 0.19.5 ([#2965](https://github.com/cookicutter/cookiecutter-django/pull/2965)) +- Update uvicorn to 0.13.0 ([#2962](https://github.com/cookiecutter/cookiecutter-django/pull/2962)) +- Update sentry-sdk to 0.19.5 ([#2965](https://github.com/cookiecutter/cookiecutter-django/pull/2965)) ## [2020-12-09] ### Changed -- Bump peter-evans/create-pull-request from v3.5.1 to v3.5.2 ([#2964](https://github.com/cookicutter/cookiecutter-django/pull/2964)) +- Bump peter-evans/create-pull-request from v3.5.1 to v3.5.2 ([#2964](https://github.com/cookiecutter/cookiecutter-django/pull/2964)) ## [2020-12-08] ### Updated -- Update pre-commit to 2.9.3 ([#2961](https://github.com/cookicutter/cookiecutter-django/pull/2961)) +- Update pre-commit to 2.9.3 ([#2961](https://github.com/cookiecutter/cookiecutter-django/pull/2961)) ## [2020-12-04] ### Updated -- Update django-debug-toolbar to 3.2 ([#2959](https://github.com/cookicutter/cookiecutter-django/pull/2959)) +- Update django-debug-toolbar to 3.2 ([#2959](https://github.com/cookiecutter/cookiecutter-django/pull/2959)) ## [2020-12-02] ### Updated -- Update django-model-utils to 4.1.1 ([#2957](https://github.com/cookicutter/cookiecutter-django/pull/2957)) -- Update pygithub to 1.54 ([#2958](https://github.com/cookicutter/cookiecutter-django/pull/2958)) +- Update django-model-utils to 4.1.1 ([#2957](https://github.com/cookiecutter/cookiecutter-django/pull/2957)) +- Update pygithub to 1.54 ([#2958](https://github.com/cookiecutter/cookiecutter-django/pull/2958)) ## [2020-11-26] ### Updated -- Update django-extensions to 3.1.0 ([#2947](https://github.com/cookicutter/cookiecutter-django/pull/2947)) -- Update pre-commit to 2.9.2 ([#2948](https://github.com/cookicutter/cookiecutter-django/pull/2948)) -- Update django-allauth to 0.44.0 ([#2945](https://github.com/cookicutter/cookiecutter-django/pull/2945)) +- Update django-extensions to 3.1.0 ([#2947](https://github.com/cookiecutter/cookiecutter-django/pull/2947)) +- Update pre-commit to 2.9.2 ([#2948](https://github.com/cookiecutter/cookiecutter-django/pull/2948)) +- Update django-allauth to 0.44.0 ([#2945](https://github.com/cookiecutter/cookiecutter-django/pull/2945)) ## [2020-11-25] ### Changed -- Bump peter-evans/create-pull-request from v3.5.0 to v3.5.1 ([#2944](https://github.com/cookicutter/cookiecutter-django/pull/2944)) +- Bump peter-evans/create-pull-request from v3.5.0 to v3.5.1 ([#2944](https://github.com/cookiecutter/cookiecutter-django/pull/2944)) ## [2020-11-23] ### Updated -- Update uvicorn to 0.12.3 ([#2943](https://github.com/cookicutter/cookiecutter-django/pull/2943)) -- Update pre-commit to 2.9.0 ([#2942](https://github.com/cookicutter/cookiecutter-django/pull/2942)) +- Update uvicorn to 0.12.3 ([#2943](https://github.com/cookiecutter/cookiecutter-django/pull/2943)) +- Update pre-commit to 2.9.0 ([#2942](https://github.com/cookiecutter/cookiecutter-django/pull/2942)) ## [2020-11-21] ### Changed -- Fix after uvicorn 0.12.0 - Ship extra dependencies ([#2939](https://github.com/cookicutter/cookiecutter-django/pull/2939)) +- Fix after uvicorn 0.12.0 - Ship extra dependencies ([#2939](https://github.com/cookiecutter/cookiecutter-django/pull/2939)) ## [2020-11-20] ### Updated -- Update sentry-sdk to 0.19.4 ([#2938](https://github.com/cookicutter/cookiecutter-django/pull/2938)) +- Update sentry-sdk to 0.19.4 ([#2938](https://github.com/cookiecutter/cookiecutter-django/pull/2938)) ## [2020-11-19] ### Updated -- Update django-crispy-forms to 1.10.0 ([#2937](https://github.com/cookicutter/cookiecutter-django/pull/2937)) +- Update django-crispy-forms to 1.10.0 ([#2937](https://github.com/cookiecutter/cookiecutter-django/pull/2937)) ## [2020-11-17] ### Changed -- Bump peter-evans/create-pull-request from v2 to v3.5.0 ([#2936](https://github.com/cookicutter/cookiecutter-django/pull/2936)) +- Bump peter-evans/create-pull-request from v2 to v3.5.0 ([#2936](https://github.com/cookiecutter/cookiecutter-django/pull/2936)) ## [2020-11-15] ### Changed -- Fix formatting in docs ([#2935](https://github.com/cookicutter/cookiecutter-django/pull/2935)) +- Fix formatting in docs ([#2935](https://github.com/cookiecutter/cookiecutter-django/pull/2935)) ## [2020-11-13] ### Changed -- Upgrade factory-boy to 3.1.0 ([#2932](https://github.com/cookicutter/cookiecutter-django/pull/2932)) +- Upgrade factory-boy to 3.1.0 ([#2932](https://github.com/cookiecutter/cookiecutter-django/pull/2932)) ### Updated -- Update sentry-sdk to 0.19.3 ([#2933](https://github.com/cookicutter/cookiecutter-django/pull/2933)) -- Update sphinx to 3.3.1 ([#2934](https://github.com/cookicutter/cookiecutter-django/pull/2934)) +- Update sentry-sdk to 0.19.3 ([#2933](https://github.com/cookiecutter/cookiecutter-django/pull/2933)) +- Update sphinx to 3.3.1 ([#2934](https://github.com/cookiecutter/cookiecutter-django/pull/2934)) ## [2020-11-12] ### Changed -- Migrate CI to Github Actions ([#2931](https://github.com/cookicutter/cookiecutter-django/pull/2931)) +- Migrate CI to Github Actions ([#2931](https://github.com/cookiecutter/cookiecutter-django/pull/2931)) ## [2020-11-06] ### Updated -- Update djangorestframework to 3.12.2 ([#2930](https://github.com/cookicutter/cookiecutter-django/pull/2930)) +- Update djangorestframework to 3.12.2 ([#2930](https://github.com/cookiecutter/cookiecutter-django/pull/2930)) ## [2020-11-04] ### Changed -- Fix docs service and add RTD support ([#2920](https://github.com/cookicutter/cookiecutter-django/pull/2920)) -- Bump stefanzweifel/git-auto-commit-action from v4.6.0 to v4.7.2 ([#2914](https://github.com/cookicutter/cookiecutter-django/pull/2914)) +- Fix docs service and add RTD support ([#2920](https://github.com/cookiecutter/cookiecutter-django/pull/2920)) +- Bump stefanzweifel/git-auto-commit-action from v4.6.0 to v4.7.2 ([#2914](https://github.com/cookiecutter/cookiecutter-django/pull/2914)) ### Updated -- Auto-update pre-commit hooks ([#2908](https://github.com/cookicutter/cookiecutter-django/pull/2908)) -- Update mypy to 0.790 ([#2886](https://github.com/cookicutter/cookiecutter-django/pull/2886)) -- Update django-stubs to 1.7.0 ([#2916](https://github.com/cookicutter/cookiecutter-django/pull/2916)) +- Auto-update pre-commit hooks ([#2908](https://github.com/cookiecutter/cookiecutter-django/pull/2908)) +- Update mypy to 0.790 ([#2886](https://github.com/cookiecutter/cookiecutter-django/pull/2886)) +- Update django-stubs to 1.7.0 ([#2916](https://github.com/cookiecutter/cookiecutter-django/pull/2916)) ## [2020-11-03] ### Updated -- Update sentry-sdk to 0.19.2 ([#2926](https://github.com/cookicutter/cookiecutter-django/pull/2926)) -- Update sphinx to 3.3.0 ([#2925](https://github.com/cookicutter/cookiecutter-django/pull/2925)) -- Update django to 3.0.11 ([#2924](https://github.com/cookicutter/cookiecutter-django/pull/2924)) -- Update pytz to 2020.4 ([#2923](https://github.com/cookicutter/cookiecutter-django/pull/2923)) -- Update pre-commit to 2.8.2 ([#2919](https://github.com/cookicutter/cookiecutter-django/pull/2919)) -- Update pytest to 6.1.2 ([#2917](https://github.com/cookicutter/cookiecutter-django/pull/2917)) -- Update sh to 1.14.1 ([#2912](https://github.com/cookicutter/cookiecutter-django/pull/2912)) -- Update pytest-django to 4.1.0 ([#2911](https://github.com/cookicutter/cookiecutter-django/pull/2911)) -- Update pillow to 8.0.1 ([#2910](https://github.com/cookicutter/cookiecutter-django/pull/2910)) -- Update django-celery-beat to 2.1.0 ([#2907](https://github.com/cookicutter/cookiecutter-django/pull/2907)) -- Update uvicorn to 0.12.2 ([#2906](https://github.com/cookicutter/cookiecutter-django/pull/2906)) +- Update sentry-sdk to 0.19.2 ([#2926](https://github.com/cookiecutter/cookiecutter-django/pull/2926)) +- Update sphinx to 3.3.0 ([#2925](https://github.com/cookiecutter/cookiecutter-django/pull/2925)) +- Update django to 3.0.11 ([#2924](https://github.com/cookiecutter/cookiecutter-django/pull/2924)) +- Update pytz to 2020.4 ([#2923](https://github.com/cookiecutter/cookiecutter-django/pull/2923)) +- Update pre-commit to 2.8.2 ([#2919](https://github.com/cookiecutter/cookiecutter-django/pull/2919)) +- Update pytest to 6.1.2 ([#2917](https://github.com/cookiecutter/cookiecutter-django/pull/2917)) +- Update sh to 1.14.1 ([#2912](https://github.com/cookiecutter/cookiecutter-django/pull/2912)) +- Update pytest-django to 4.1.0 ([#2911](https://github.com/cookiecutter/cookiecutter-django/pull/2911)) +- Update pillow to 8.0.1 ([#2910](https://github.com/cookiecutter/cookiecutter-django/pull/2910)) +- Update django-celery-beat to 2.1.0 ([#2907](https://github.com/cookiecutter/cookiecutter-django/pull/2907)) +- Update uvicorn to 0.12.2 ([#2906](https://github.com/cookiecutter/cookiecutter-django/pull/2906)) ## [2020-10-19] ### Updated -- Update sentry-sdk to 0.19.1 ([#2905](https://github.com/cookicutter/cookiecutter-django/pull/2905)) +- Update sentry-sdk to 0.19.1 ([#2905](https://github.com/cookiecutter/cookiecutter-django/pull/2905)) ## [2020-10-17] ### Updated -- Update django-allauth to 0.43.0 ([#2901](https://github.com/cookicutter/cookiecutter-django/pull/2901)) -- Update pytest-django to 4.0.0 ([#2903](https://github.com/cookicutter/cookiecutter-django/pull/2903)) +- Update django-allauth to 0.43.0 ([#2901](https://github.com/cookiecutter/cookiecutter-django/pull/2901)) +- Update pytest-django to 4.0.0 ([#2903](https://github.com/cookiecutter/cookiecutter-django/pull/2903)) ## [2020-10-15] ### Updated -- Update pillow to 8.0.0 ([#2898](https://github.com/cookicutter/cookiecutter-django/pull/2898)) +- Update pillow to 8.0.0 ([#2898](https://github.com/cookiecutter/cookiecutter-django/pull/2898)) ## [2020-10-14] ### Updated -- Auto-update pre-commit hooks ([#2897](https://github.com/cookicutter/cookiecutter-django/pull/2897)) -- Update sentry-sdk to 0.19.0 ([#2896](https://github.com/cookicutter/cookiecutter-django/pull/2896)) +- Auto-update pre-commit hooks ([#2897](https://github.com/cookiecutter/cookiecutter-django/pull/2897)) +- Update sentry-sdk to 0.19.0 ([#2896](https://github.com/cookiecutter/cookiecutter-django/pull/2896)) ## [2020-10-13] ### Updated -- Update isort to 5.6.4 ([#2895](https://github.com/cookicutter/cookiecutter-django/pull/2895)) +- Update isort to 5.6.4 ([#2895](https://github.com/cookiecutter/cookiecutter-django/pull/2895)) ## [2020-10-12] ### Changed -- Bump stefanzweifel/git-auto-commit-action from v4.5.1 to v4.6.0 ([#2893](https://github.com/cookicutter/cookiecutter-django/pull/2893)) +- Bump stefanzweifel/git-auto-commit-action from v4.5.1 to v4.6.0 ([#2893](https://github.com/cookiecutter/cookiecutter-django/pull/2893)) ### Updated -- Auto-update pre-commit hooks ([#2892](https://github.com/cookicutter/cookiecutter-django/pull/2892)) +- Auto-update pre-commit hooks ([#2892](https://github.com/cookiecutter/cookiecutter-django/pull/2892)) ## [2020-10-11] ### Updated -- Auto-update pre-commit hooks ([#2890](https://github.com/cookicutter/cookiecutter-django/pull/2890)) -- Update isort to 5.6.3 ([#2891](https://github.com/cookicutter/cookiecutter-django/pull/2891)) -- Update django-anymail to 8.1 ([#2887](https://github.com/cookicutter/cookiecutter-django/pull/2887)) -- Update tox to 3.20.1 ([#2885](https://github.com/cookicutter/cookiecutter-django/pull/2885)) +- Auto-update pre-commit hooks ([#2890](https://github.com/cookiecutter/cookiecutter-django/pull/2890)) +- Update isort to 5.6.3 ([#2891](https://github.com/cookiecutter/cookiecutter-django/pull/2891)) +- Update django-anymail to 8.1 ([#2887](https://github.com/cookiecutter/cookiecutter-django/pull/2887)) +- Update tox to 3.20.1 ([#2885](https://github.com/cookiecutter/cookiecutter-django/pull/2885)) ## [2020-10-09] ### Updated -- Auto-update pre-commit hooks ([#2884](https://github.com/cookicutter/cookiecutter-django/pull/2884)) -- Update isort to 5.6.1 ([#2883](https://github.com/cookicutter/cookiecutter-django/pull/2883)) +- Auto-update pre-commit hooks ([#2884](https://github.com/cookiecutter/cookiecutter-django/pull/2884)) +- Update isort to 5.6.1 ([#2883](https://github.com/cookiecutter/cookiecutter-django/pull/2883)) ## [2020-10-08] ### Changed -- Add dedicated websockets package ([#2881](https://github.com/cookicutter/cookiecutter-django/pull/2881)) +- Add dedicated websockets package ([#2881](https://github.com/cookiecutter/cookiecutter-django/pull/2881)) ### Updated -- Update isort to 5.6.0 ([#2882](https://github.com/cookicutter/cookiecutter-django/pull/2882)) +- Update isort to 5.6.0 ([#2882](https://github.com/cookiecutter/cookiecutter-django/pull/2882)) ## [2020-10-04] ### Updated -- Update pytest to 6.1.1 ([#2880](https://github.com/cookicutter/cookiecutter-django/pull/2880)) -- Update mypy and django-stubs ([#2874](https://github.com/cookicutter/cookiecutter-django/pull/2874)) -- Auto-update pre-commit hooks ([#2876](https://github.com/cookicutter/cookiecutter-django/pull/2876)) -- Update flake8 to 3.8.4 ([#2877](https://github.com/cookicutter/cookiecutter-django/pull/2877)) +- Update pytest to 6.1.1 ([#2880](https://github.com/cookiecutter/cookiecutter-django/pull/2880)) +- Update mypy and django-stubs ([#2874](https://github.com/cookiecutter/cookiecutter-django/pull/2874)) +- Auto-update pre-commit hooks ([#2876](https://github.com/cookiecutter/cookiecutter-django/pull/2876)) +- Update flake8 to 3.8.4 ([#2877](https://github.com/cookiecutter/cookiecutter-django/pull/2877)) ## [2020-10-01] ### Changed -- Bump actions/setup-python from v2.1.2 to v2.1.3 ([#2869](https://github.com/cookicutter/cookiecutter-django/pull/2869)) +- Bump actions/setup-python from v2.1.2 to v2.1.3 ([#2869](https://github.com/cookiecutter/cookiecutter-django/pull/2869)) ### Updated -- Update ipdb to 0.13.4 ([#2873](https://github.com/cookicutter/cookiecutter-django/pull/2873)) -- Auto-update pre-commit hooks ([#2867](https://github.com/cookicutter/cookiecutter-django/pull/2867)) -- Update uvicorn to 0.12.1 ([#2866](https://github.com/cookicutter/cookiecutter-django/pull/2866)) -- Update isort to 5.5.4 ([#2864](https://github.com/cookicutter/cookiecutter-django/pull/2864)) -- Update sentry-sdk to 0.18.0 ([#2863](https://github.com/cookicutter/cookiecutter-django/pull/2863)) -- Update djangorestframework to 3.12.1 ([#2862](https://github.com/cookicutter/cookiecutter-django/pull/2862)) -- Update pytest to 6.1.0 ([#2859](https://github.com/cookicutter/cookiecutter-django/pull/2859)) -- Update django-debug-toolbar to 3.1.1 ([#2855](https://github.com/cookicutter/cookiecutter-django/pull/2855)) +- Update ipdb to 0.13.4 ([#2873](https://github.com/cookiecutter/cookiecutter-django/pull/2873)) +- Auto-update pre-commit hooks ([#2867](https://github.com/cookiecutter/cookiecutter-django/pull/2867)) +- Update uvicorn to 0.12.1 ([#2866](https://github.com/cookiecutter/cookiecutter-django/pull/2866)) +- Update isort to 5.5.4 ([#2864](https://github.com/cookiecutter/cookiecutter-django/pull/2864)) +- Update sentry-sdk to 0.18.0 ([#2863](https://github.com/cookiecutter/cookiecutter-django/pull/2863)) +- Update djangorestframework to 3.12.1 ([#2862](https://github.com/cookiecutter/cookiecutter-django/pull/2862)) +- Update pytest to 6.1.0 ([#2859](https://github.com/cookiecutter/cookiecutter-django/pull/2859)) +- Update django-debug-toolbar to 3.1.1 ([#2855](https://github.com/cookiecutter/cookiecutter-django/pull/2855)) ## [2020-09-23] ### Updated -- Update sentry-sdk to 0.17.7 ([#2847](https://github.com/cookicutter/cookiecutter-django/pull/2847)) -- Update django-debug-toolbar to 3.1 ([#2846](https://github.com/cookicutter/cookiecutter-django/pull/2846)) +- Update sentry-sdk to 0.17.7 ([#2847](https://github.com/cookiecutter/cookiecutter-django/pull/2847)) +- Update django-debug-toolbar to 3.1 ([#2846](https://github.com/cookiecutter/cookiecutter-django/pull/2846)) ## [2020-09-21] ### Changed -- Adding GitHub-Action CI Option ([#2837](https://github.com/cookicutter/cookiecutter-django/pull/2837)) +- Adding GitHub-Action CI Option ([#2837](https://github.com/cookiecutter/cookiecutter-django/pull/2837)) ### Updated -- Update django-debug-toolbar to 3.0 ([#2842](https://github.com/cookicutter/cookiecutter-django/pull/2842)) -- Auto-update pre-commit hooks ([#2843](https://github.com/cookicutter/cookiecutter-django/pull/2843)) -- Update isort to 5.5.3 ([#2844](https://github.com/cookicutter/cookiecutter-django/pull/2844)) +- Update django-debug-toolbar to 3.0 ([#2842](https://github.com/cookiecutter/cookiecutter-django/pull/2842)) +- Auto-update pre-commit hooks ([#2843](https://github.com/cookiecutter/cookiecutter-django/pull/2843)) +- Update isort to 5.5.3 ([#2844](https://github.com/cookiecutter/cookiecutter-django/pull/2844)) ## [2020-09-18] ### Updated -- Update django-extensions to 3.0.9 ([#2839](https://github.com/cookicutter/cookiecutter-django/pull/2839)) +- Update django-extensions to 3.0.9 ([#2839](https://github.com/cookiecutter/cookiecutter-django/pull/2839)) ## [2020-09-16] ### Updated -- Update sentry-sdk to 0.17.6 ([#2833](https://github.com/cookicutter/cookiecutter-django/pull/2833)) -- Update pytest-django to 3.10.0 ([#2832](https://github.com/cookicutter/cookiecutter-django/pull/2832)) +- Update sentry-sdk to 0.17.6 ([#2833](https://github.com/cookiecutter/cookiecutter-django/pull/2833)) +- Update pytest-django to 3.10.0 ([#2832](https://github.com/cookiecutter/cookiecutter-django/pull/2832)) ## [2020-09-14] ### Fixed -- Downgrade Celery to 4.4.6 ([#2829](https://github.com/cookicutter/cookiecutter-django/pull/2829)) +- Downgrade Celery to 4.4.6 ([#2829](https://github.com/cookiecutter/cookiecutter-django/pull/2829)) ### Updated -- Update sentry-sdk to 0.17.5 ([#2828](https://github.com/cookicutter/cookiecutter-django/pull/2828)) -- Update coverage to 5.3 ([#2826](https://github.com/cookicutter/cookiecutter-django/pull/2826)) -- Update django-storages to 1.10.1 ([#2825](https://github.com/cookicutter/cookiecutter-django/pull/2825)) +- Update sentry-sdk to 0.17.5 ([#2828](https://github.com/cookiecutter/cookiecutter-django/pull/2828)) +- Update coverage to 5.3 ([#2826](https://github.com/cookiecutter/cookiecutter-django/pull/2826)) +- Update django-storages to 1.10.1 ([#2825](https://github.com/cookiecutter/cookiecutter-django/pull/2825)) ## [2020-09-12] ### Updated -- Updating Traefik version from 2.0 to 2.2.11 ([#2814](https://github.com/cookicutter/cookiecutter-django/pull/2814)) -- Update pytest to 6.0.2 ([#2819](https://github.com/cookicutter/cookiecutter-django/pull/2819)) -- Update django-anymail to 8.0 ([#2818](https://github.com/cookicutter/cookiecutter-django/pull/2818)) +- Updating Traefik version from 2.0 to 2.2.11 ([#2814](https://github.com/cookiecutter/cookiecutter-django/pull/2814)) +- Update pytest to 6.0.2 ([#2819](https://github.com/cookiecutter/cookiecutter-django/pull/2819)) +- Update django-anymail to 8.0 ([#2818](https://github.com/cookiecutter/cookiecutter-django/pull/2818)) ## [2020-09-11] ### Updated -- Auto-update pre-commit hooks ([#2809](https://github.com/cookicutter/cookiecutter-django/pull/2809)) +- Auto-update pre-commit hooks ([#2809](https://github.com/cookiecutter/cookiecutter-django/pull/2809)) ## [2020-09-10] ### Updated -- Update isort to 5.5.2 ([#2807](https://github.com/cookicutter/cookiecutter-django/pull/2807)) -- Update sentry-sdk to 0.17.4 ([#2805](https://github.com/cookicutter/cookiecutter-django/pull/2805)) +- Update isort to 5.5.2 ([#2807](https://github.com/cookiecutter/cookiecutter-django/pull/2807)) +- Update sentry-sdk to 0.17.4 ([#2805](https://github.com/cookiecutter/cookiecutter-django/pull/2805)) ## [2020-09-09] ### Changed -- Update actions/setup-python requirement to v2.1.2 ([#2804](https://github.com/cookicutter/cookiecutter-django/pull/2804)) -- Clean up nested venv files from `.gitignore` ([#2800](https://github.com/cookicutter/cookiecutter-django/pull/2800)) +- Update actions/setup-python requirement to v2.1.2 ([#2804](https://github.com/cookiecutter/cookiecutter-django/pull/2804)) +- Clean up nested venv files from `.gitignore` ([#2800](https://github.com/cookiecutter/cookiecutter-django/pull/2800)) ## [2020-09-08] ### Changed -- Traeffik and Django dockerfile changes ([#2801](https://github.com/cookicutter/cookiecutter-django/pull/2801)) +- Traeffik and Django dockerfile changes ([#2801](https://github.com/cookiecutter/cookiecutter-django/pull/2801)) ## [2020-09-07] ### Changed -- Add :z/:Z to mounted volumes in {local,production}.yml ([#2663](https://github.com/cookicutter/cookiecutter-django/pull/2663)) -- Remove --no-binary option for psycopg2 ([#2798](https://github.com/cookicutter/cookiecutter-django/pull/2798)) -- Updated Gitlab CI to use Python 3.8 instead of Python 3.7 ([#2794](https://github.com/cookicutter/cookiecutter-django/pull/2794)) +- Add :z/:Z to mounted volumes in {local,production}.yml ([#2663](https://github.com/cookiecutter/cookiecutter-django/pull/2663)) +- Remove --no-binary option for psycopg2 ([#2798](https://github.com/cookiecutter/cookiecutter-django/pull/2798)) +- Updated Gitlab CI to use Python 3.8 instead of Python 3.7 ([#2794](https://github.com/cookiecutter/cookiecutter-django/pull/2794)) ### Fixed -- Fix options for sphinx-autobuild in docs Makefile ([#2799](https://github.com/cookicutter/cookiecutter-django/pull/2799)) +- Fix options for sphinx-autobuild in docs Makefile ([#2799](https://github.com/cookiecutter/cookiecutter-django/pull/2799)) ### Updated -- Update psycopg2-binary to 2.8.6 ([#2797](https://github.com/cookicutter/cookiecutter-django/pull/2797)) +- Update psycopg2-binary to 2.8.6 ([#2797](https://github.com/cookiecutter/cookiecutter-django/pull/2797)) ## [2020-09-05] ### Updated -- Auto-update pre-commit hooks ([#2793](https://github.com/cookicutter/cookiecutter-django/pull/2793)) +- Auto-update pre-commit hooks ([#2793](https://github.com/cookiecutter/cookiecutter-django/pull/2793)) ## [2020-09-04] ### Updated -- Update django-extensions to 3.0.8 ([#2792](https://github.com/cookicutter/cookiecutter-django/pull/2792)) -- Update isort to 5.5.1 ([#2791](https://github.com/cookicutter/cookiecutter-django/pull/2791)) -- Auto-update pre-commit hooks ([#2790](https://github.com/cookicutter/cookiecutter-django/pull/2790)) -- Update isort to 5.5.0 ([#2789](https://github.com/cookicutter/cookiecutter-django/pull/2789)) +- Update django-extensions to 3.0.8 ([#2792](https://github.com/cookiecutter/cookiecutter-django/pull/2792)) +- Update isort to 5.5.1 ([#2791](https://github.com/cookiecutter/cookiecutter-django/pull/2791)) +- Auto-update pre-commit hooks ([#2790](https://github.com/cookiecutter/cookiecutter-django/pull/2790)) +- Update isort to 5.5.0 ([#2789](https://github.com/cookiecutter/cookiecutter-django/pull/2789)) ## [2020-09-02] ### Changed -- Add environment and traces_sample_rate keyword to sentry_sdk.init ([#2777](https://github.com/cookicutter/cookiecutter-django/pull/2777)) +- Add environment and traces_sample_rate keyword to sentry_sdk.init ([#2777](https://github.com/cookiecutter/cookiecutter-django/pull/2777)) ### Updated -- Update sentry-sdk to 0.17.3 ([#2788](https://github.com/cookicutter/cookiecutter-django/pull/2788)) -- Update django-extensions to 3.0.7 ([#2787](https://github.com/cookicutter/cookiecutter-django/pull/2787)) +- Update sentry-sdk to 0.17.3 ([#2788](https://github.com/cookiecutter/cookiecutter-django/pull/2788)) +- Update django-extensions to 3.0.7 ([#2787](https://github.com/cookiecutter/cookiecutter-django/pull/2787)) ## [2020-09-01] ### Changed -- Exclude venv directory and update document link ([#2780](https://github.com/cookicutter/cookiecutter-django/pull/2780)) +- Exclude venv directory and update document link ([#2780](https://github.com/cookiecutter/cookiecutter-django/pull/2780)) ### Updated -- Update tox to 3.20.0 ([#2786](https://github.com/cookicutter/cookiecutter-django/pull/2786)) -- Update django-storages to 1.10 ([#2781](https://github.com/cookicutter/cookiecutter-django/pull/2781)) -- Update sentry-sdk to 0.17.2 ([#2784](https://github.com/cookicutter/cookiecutter-django/pull/2784)) -- Update django to 3.0.10 ([#2785](https://github.com/cookicutter/cookiecutter-django/pull/2785)) -- Update sphinx-autobuild to 2020.9.1 ([#2782](https://github.com/cookicutter/cookiecutter-django/pull/2782)) -- Update django-extensions to 3.0.6 ([#2783](https://github.com/cookicutter/cookiecutter-django/pull/2783)) +- Update tox to 3.20.0 ([#2786](https://github.com/cookiecutter/cookiecutter-django/pull/2786)) +- Update django-storages to 1.10 ([#2781](https://github.com/cookiecutter/cookiecutter-django/pull/2781)) +- Update sentry-sdk to 0.17.2 ([#2784](https://github.com/cookiecutter/cookiecutter-django/pull/2784)) +- Update django to 3.0.10 ([#2785](https://github.com/cookiecutter/cookiecutter-django/pull/2785)) +- Update sphinx-autobuild to 2020.9.1 ([#2782](https://github.com/cookiecutter/cookiecutter-django/pull/2782)) +- Update django-extensions to 3.0.6 ([#2783](https://github.com/cookiecutter/cookiecutter-django/pull/2783)) ## [2020-08-31] ### Updated -- Update sh to 1.14.0 ([#2779](https://github.com/cookicutter/cookiecutter-django/pull/2779)) -- Update sentry-sdk to 0.17.1 ([#2778](https://github.com/cookicutter/cookiecutter-django/pull/2778)) +- Update sh to 1.14.0 ([#2779](https://github.com/cookiecutter/cookiecutter-django/pull/2779)) +- Update sentry-sdk to 0.17.1 ([#2778](https://github.com/cookiecutter/cookiecutter-django/pull/2778)) ## [2020-04-13] ### Changed @@ -1134,7 +1134,7 @@ All enhancements and patches to Cookiecutter Django will be documented in this f - Rename `MIDDLEWARE_CLASSES` to `MIDDLEWARE` to enable support to [new style middleware](https://github.com/django/deps/blob/master/final/0005-improved-middleware.rst) introduced in Django 1.10 (@luzfcb) - New setting `MAILGUN_SENDER_DOMAIN` to allow sending mail from any domain other than those registered with mailgun (@jangeador) - add `urlpatterns` configuration to django-debug-toolbar, because the automatic configuration of `urlpatterns` was removed from django-debug-toolbar (@luzfcb) -- Added Temporary workaround on `requirements/local.txt` to fix django-debug-toolbar issue: https://github.com/cookicutter/cookiecutter-django/issues/827 (@luzfcb) +- Added Temporary workaround on `requirements/local.txt` to fix django-debug-toolbar issue: https://github.com/cookiecutter/cookiecutter-django/issues/827 (@luzfcb) ### Changed - Upgrade to Django 1.10.1 (@luzfcb) @@ -1280,7 +1280,7 @@ d changed 'admin' url on `config/urls.py`, to stay the same as generated by djan ### [2016-05-01] ### Changed -- Restored the Pycharm project configuration files, that was accidentally removed in [15f350f](https://github.com/cookicutter/cookiecutter-django/commit/15f350f05e2b49b4bdff0bdaa2b2ff260606e0f6) (@luzfcb @Newton715) +- Restored the Pycharm project configuration files, that was accidentally removed in [15f350f](https://github.com/cookiecutter/cookiecutter-django/commit/15f350f05e2b49b4bdff0bdaa2b2ff260606e0f6) (@luzfcb @Newton715) ### [2016-04-30] ### Changed @@ -1404,7 +1404,7 @@ d changed 'admin' url on `config/urls.py`, to stay the same as generated by djan ## [2016-02-15] ### Changed - In `users` app adapter, fix `is_open_for_signup` missing parameter (@oryx2) -- Fixes and improvements in Hitch tests , see [#485](https://github.com/cookicutter/cookiecutter-django/pull/485) (@crdoconnor) +- Fixes and improvements in Hitch tests , see [#485](https://github.com/cookiecutter/cookiecutter-django/pull/485) (@crdoconnor) ## [2016-02-12] From 5a395ddcd2cc58df90b066b4da46c66081f8f808 Mon Sep 17 00:00:00 2001 From: luzfcb Date: Tue, 26 Oct 2021 00:40:07 +0000 Subject: [PATCH 1720/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 36737f343..94032f0d8 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1152,5 +1152,10 @@ "name": "dalrrard", "github_login": "dalrrard", "twitter_username": "" + }, + { + "name": "Liam Brenner", + "github_login": "SableWalnut", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 76c3cb02e..e10a5baea 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1076,6 +1076,13 @@ Listed in alphabetical order. + + Liam Brenner + + SableWalnut + + + Lin Xianyi From 75c140cc0043c96f72ea66f38189bad1091f9c17 Mon Sep 17 00:00:00 2001 From: luzfcb Date: Tue, 26 Oct 2021 00:41:18 +0000 Subject: [PATCH 1721/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 94032f0d8..4f59c868e 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1157,5 +1157,10 @@ "name": "Liam Brenner", "github_login": "SableWalnut", "twitter_username": "" + }, + { + "name": "Noah H", + "github_login": "nthall", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index e10a5baea..241ef972c 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1272,6 +1272,13 @@ Listed in alphabetical order. moby_dick91 + + Noah H + + nthall + + + Oleg Russkin From b61c70306f1057376820ca2c46b1aaa6645d15e0 Mon Sep 17 00:00:00 2001 From: Jelmer Draaijer Date: Tue, 26 Oct 2021 13:40:42 +0200 Subject: [PATCH 1722/2840] Update the docker base images from slim-buster to slim-bullseye --- {{cookiecutter.project_slug}}/compose/local/django/Dockerfile | 2 +- {{cookiecutter.project_slug}}/compose/local/docs/Dockerfile | 2 +- .../compose/production/django/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index f1a489a30..044ef4a74 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -1,4 +1,4 @@ -ARG PYTHON_VERSION=3.9-slim-buster +ARG PYTHON_VERSION=3.9-slim-bullseye # define an alias for the specfic python version used in this file. FROM python:${PYTHON_VERSION} as python diff --git a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile index fbb5ce9d0..215cca61b 100644 --- a/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/docs/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.9-slim-buster +FROM python:3.9-slim-bullseye ENV PYTHONUNBUFFERED 1 ENV PYTHONDONTWRITEBYTECODE 1 diff --git a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile index 5f1bc78b3..fa969f1c8 100644 --- a/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/production/django/Dockerfile @@ -1,4 +1,4 @@ -ARG PYTHON_VERSION=3.9-slim-buster +ARG PYTHON_VERSION=3.9-slim-bullseye {% if cookiecutter.js_task_runner == 'Gulp' -%} FROM node:10-stretch-slim as client-builder From 008aeb21a05d5ff9280864d399de036a87b77c8b Mon Sep 17 00:00:00 2001 From: Jelmer Draaijer Date: Tue, 26 Oct 2021 13:58:18 +0200 Subject: [PATCH 1723/2840] Added Debian 11 (Bullseye) OS dependencies (duplicated from buster) --- .../utility/requirements-bullseye.apt | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 {{cookiecutter.project_slug}}/utility/requirements-bullseye.apt diff --git a/{{cookiecutter.project_slug}}/utility/requirements-bullseye.apt b/{{cookiecutter.project_slug}}/utility/requirements-bullseye.apt new file mode 100644 index 000000000..60f602873 --- /dev/null +++ b/{{cookiecutter.project_slug}}/utility/requirements-bullseye.apt @@ -0,0 +1,23 @@ +##basic build dependencies of various Django apps for Debian Bullseye 11.x +#build-essential metapackage install: make, gcc, g++, +build-essential +#required to translate +gettext +python3-dev + +##shared dependencies of: +##Pillow, pylibmc +zlib1g-dev + +##Postgresql and psycopg2 dependencies +libpq-dev + +##Pillow dependencies +libtiff5-dev +libjpeg62-turbo-dev +libfreetype6-dev +liblcms2-dev +libwebp-dev + +##django-extensions +libgraphviz-dev From 7d956adc874a570de8d23e43948771dde2f77926 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 27 Oct 2021 02:13:37 +0000 Subject: [PATCH 1724/2840] Update Changelog --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f2eb26835..f468fcf7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,16 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-10-26] +### Changed +- use Wayback Machine to fix dead link for postgres user setup ([#3363](https://github.com/cookiecutter/cookiecutter-django/pull/3363)) +- Fix pull request links to correct repo URL on CHANGELOG.md ([#3370](https://github.com/cookiecutter/cookiecutter-django/pull/3370)) +### Updated +- Update pyyaml to 6.0 ([#3362](https://github.com/cookiecutter/cookiecutter-django/pull/3362)) +- Update pillow to 8.4.0 ([#3364](https://github.com/cookiecutter/cookiecutter-django/pull/3364)) +- Update django-storages to 1.12.2 ([#3365](https://github.com/cookiecutter/cookiecutter-django/pull/3365)) +- Update django-environ to 0.8.1 ([#3368](https://github.com/cookiecutter/cookiecutter-django/pull/3368)) + ## [2021-10-22] ### Changed - Move repo under cookiecutter organisation ([#3357](https://github.com/cookiecutter/cookiecutter-django/pull/3357)) From 75aa76e956f140363f4877c0d12a15c084ec3d5c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 27 Oct 2021 06:21:10 -0700 Subject: [PATCH 1725/2840] Update factory-boy from 3.2.0 to 3.2.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 10bcbe190..905191e26 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -40,7 +40,7 @@ pre-commit==2.15.0 # https://github.com/pre-commit/pre-commit # Django # ------------------------------------------------------------------------------ -factory-boy==3.2.0 # https://github.com/FactoryBoy/factory_boy +factory-boy==3.2.1 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==3.2.2 # https://github.com/jazzband/django-debug-toolbar django-extensions==3.1.3 # https://github.com/django-extensions/django-extensions From bb91625e7795c2edc8c1e34f2edb9ca58a1963eb Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 29 Oct 2021 02:13:51 +0000 Subject: [PATCH 1726/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f468fcf7a..23e793832 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-10-28] +### Updated +- Update factory-boy to 3.2.1 ([#3373](https://github.com/cookiecutter/cookiecutter-django/pull/3373)) + ## [2021-10-26] ### Changed - use Wayback Machine to fix dead link for postgres user setup ([#3363](https://github.com/cookiecutter/cookiecutter-django/pull/3363)) From c23e37f7cb2308eeba98bf58af283c238e300b23 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 29 Oct 2021 20:24:58 -0700 Subject: [PATCH 1727/2840] Update django-storages from 1.12.2 to 1.12.3 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index fb9b0ea67..32f8e6a87 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -17,7 +17,7 @@ hiredis==2.0.0 # https://github.com/redis/hiredis-py # Django # ------------------------------------------------------------------------------ {%- if cookiecutter.cloud_provider == 'AWS' %} -django-storages[boto3]==1.12.2 # https://github.com/jschneier/django-storages +django-storages[boto3]==1.12.3 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} django-storages[google]==1.12.2 # https://github.com/jschneier/django-storages {%- endif %} From 09c6ddbaf353d3611f5c1c58eb9e1a2058b8e171 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 29 Oct 2021 20:24:59 -0700 Subject: [PATCH 1728/2840] Update django-storages from 1.12.2 to 1.12.3 --- {{cookiecutter.project_slug}}/requirements/production.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index 32f8e6a87..2553aa3e0 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -19,7 +19,7 @@ hiredis==2.0.0 # https://github.com/redis/hiredis-py {%- if cookiecutter.cloud_provider == 'AWS' %} django-storages[boto3]==1.12.3 # https://github.com/jschneier/django-storages {%- elif cookiecutter.cloud_provider == 'GCP' %} -django-storages[google]==1.12.2 # https://github.com/jschneier/django-storages +django-storages[google]==1.12.3 # https://github.com/jschneier/django-storages {%- endif %} {%- if cookiecutter.mail_service == 'Mailgun' %} django-anymail[mailgun]==8.4 # https://github.com/anymail/django-anymail From 83bcd1fd45fc251be149916a763016fd39d4814d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 31 Oct 2021 12:36:53 -0700 Subject: [PATCH 1729/2840] Update coverage from 6.0.2 to 6.1.1 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 905191e26..b965ea4fe 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -30,7 +30,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild # ------------------------------------------------------------------------------ flake8==4.0.1 # https://github.com/PyCQA/flake8 flake8-isort==4.1.1 # https://github.com/gforcada/flake8-isort -coverage==6.0.2 # https://github.com/nedbat/coveragepy +coverage==6.1.1 # https://github.com/nedbat/coveragepy black==21.9b0 # https://github.com/psf/black pylint-django==2.4.4 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} From e6b42ee1876447782834126b996087d56a292bcd Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 2 Nov 2021 00:06:04 +0000 Subject: [PATCH 1730/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 6f1bdcbc6..a42c17428 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: - id: check-yaml - repo: https://github.com/psf/black - rev: 21.9b0 + rev: 21.10b0 hooks: - id: black From dc67299bad82155a51d3806c5766d863bb08f600 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 2 Nov 2021 02:16:28 +0000 Subject: [PATCH 1731/2840] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 23e793832..614926eba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-11-01] +### Updated +- Update django-storages to 1.12.3 ([#3374](https://github.com/cookiecutter/cookiecutter-django/pull/3374)) +- Update coverage to 6.1.1 ([#3376](https://github.com/cookiecutter/cookiecutter-django/pull/3376)) + ## [2021-10-28] ### Updated - Update factory-boy to 3.2.1 ([#3373](https://github.com/cookiecutter/cookiecutter-django/pull/3373)) From 115e52867aec78b9b5d3c7951f1a171523a52d09 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 3 Nov 2021 02:13:58 +0000 Subject: [PATCH 1732/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 614926eba..9e7c45ee1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-11-02] +### Updated +- Auto-update pre-commit hooks ([#3377](https://github.com/cookiecutter/cookiecutter-django/pull/3377)) + ## [2021-11-01] ### Updated - Update django-storages to 1.12.3 ([#3374](https://github.com/cookiecutter/cookiecutter-django/pull/3374)) From 07b541b3edaad264dc2c646585c4f32c79f1c8aa Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 3 Nov 2021 10:31:45 -0700 Subject: [PATCH 1733/2840] Update isort from 5.9.3 to 5.10.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6755289d8..20f4e2b98 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==21.9b0 -isort==5.9.3 +isort==5.10.0 flake8==4.0.1 flake8-isort==4.1.1 pre-commit==2.15.0 From ce5223fe5999946bd7d517ef4b72ceaf7372b5c4 Mon Sep 17 00:00:00 2001 From: Diego Montes Date: Wed, 3 Nov 2021 16:15:40 -0400 Subject: [PATCH 1734/2840] change path in docs Makefile to use APP variable --- {{cookiecutter.project_slug}}/docs/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/docs/Makefile b/{{cookiecutter.project_slug}}/docs/Makefile index 0b56e1f86..ddecc2ee8 100644 --- a/{{cookiecutter.project_slug}}/docs/Makefile +++ b/{{cookiecutter.project_slug}}/docs/Makefile @@ -29,9 +29,9 @@ livehtml: # Outputs rst files from django application code apidocs: {%- if cookiecutter.use_docker == 'y' %} - sphinx-apidoc -o $(SOURCEDIR)/api /app + sphinx-apidoc -o $(SOURCEDIR)/api $(APP) {%- else %} - sphinx-apidoc -o $(SOURCEDIR)/api ../{{cookiecutter.project_slug}} + sphinx-apidoc -o $(SOURCEDIR)/api $(APP) {%- endif %} # Catch-all target: route all unknown targets to Sphinx using the new From c2af9c3134f6f8cd46741ece78034b8525a3d67b Mon Sep 17 00:00:00 2001 From: Diego Montes Date: Wed, 3 Nov 2021 17:03:47 -0400 Subject: [PATCH 1735/2840] fix help in docs Makefile --- {{cookiecutter.project_slug}}/docs/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/docs/Makefile b/{{cookiecutter.project_slug}}/docs/Makefile index 0b56e1f86..a2a220a45 100644 --- a/{{cookiecutter.project_slug}}/docs/Makefile +++ b/{{cookiecutter.project_slug}}/docs/Makefile @@ -4,7 +4,7 @@ # You can set these variables from the command line, and also # from the environment for the first two. SPHINXOPTS ?= -SPHINXBUILD ?= sphinx-build -c . +SPHINXBUILD ?= sphinx-build SOURCEDIR = . BUILDDIR = ./_build {%- if cookiecutter.use_docker == 'y' %} @@ -17,7 +17,7 @@ APP = ../{{cookiecutter.project_slug}} # Put it first so that "make" without argument is like "make help". help: - @$(SPHINXBUILD) help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + @$(SPHINXBUILD) -M help -c . "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) # Build, watch and serve docs with live reload livehtml: @@ -37,4 +37,4 @@ apidocs: # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile - @$(SPHINXBUILD) -b $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + @$(SPHINXBUILD) -c . -b $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) From faf477a8686eafd7c4c05632b448b22bef511a7a Mon Sep 17 00:00:00 2001 From: Diego Montes <54745152+d57montes@users.noreply.github.com> Date: Wed, 3 Nov 2021 19:41:08 -0400 Subject: [PATCH 1736/2840] change catch-all -b option as well --- {{cookiecutter.project_slug}}/docs/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/{{cookiecutter.project_slug}}/docs/Makefile b/{{cookiecutter.project_slug}}/docs/Makefile index a2a220a45..27e7f2ff2 100644 --- a/{{cookiecutter.project_slug}}/docs/Makefile +++ b/{{cookiecutter.project_slug}}/docs/Makefile @@ -17,7 +17,7 @@ APP = ../{{cookiecutter.project_slug}} # Put it first so that "make" without argument is like "make help". help: - @$(SPHINXBUILD) -M help -c . "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -c . # Build, watch and serve docs with live reload livehtml: @@ -37,4 +37,4 @@ apidocs: # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile - @$(SPHINXBUILD) -c . -b $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -c . From bf74761ba41d8c9b6e6a97effa5daf14434fe2ce Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 4 Nov 2021 00:05:49 +0000 Subject: [PATCH 1737/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index a42c17428..d09272168 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.9.3 + rev: 5.10.0 hooks: - id: isort From 06d44987f38cf557576ab8b42746b76f600e0ff2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 4 Nov 2021 05:18:08 +0000 Subject: [PATCH 1738/2840] Bump peter-evans/create-pull-request from 3.10.1 to 3.11.0 Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3.10.1 to 3.11.0. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.10.1...v3.11.0) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/pre-commit-autoupdate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index 255122002..f3a87bff8 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -26,7 +26,7 @@ jobs: run: pre-commit autoupdate - name: Create Pull Request - uses: peter-evans/create-pull-request@v3.10.1 + uses: peter-evans/create-pull-request@v3.11.0 with: token: ${{ secrets.GITHUB_TOKEN }} branch: update/pre-commit-autoupdate From 51c149f137d974982596fdbb1a6724d8029ff8db Mon Sep 17 00:00:00 2001 From: Diego Montes <54745152+d57montes@users.noreply.github.com> Date: Thu, 4 Nov 2021 08:39:00 -0400 Subject: [PATCH 1739/2840] remove if else block in docs makefile --- {{cookiecutter.project_slug}}/docs/Makefile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/{{cookiecutter.project_slug}}/docs/Makefile b/{{cookiecutter.project_slug}}/docs/Makefile index ddecc2ee8..0e6d62e46 100644 --- a/{{cookiecutter.project_slug}}/docs/Makefile +++ b/{{cookiecutter.project_slug}}/docs/Makefile @@ -28,11 +28,7 @@ livehtml: # Outputs rst files from django application code apidocs: - {%- if cookiecutter.use_docker == 'y' %} sphinx-apidoc -o $(SOURCEDIR)/api $(APP) - {%- else %} - sphinx-apidoc -o $(SOURCEDIR)/api $(APP) - {%- endif %} # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). From db155d1fd5c8c892da405f475e6d05355122b565 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 4 Nov 2021 14:44:55 +0000 Subject: [PATCH 1740/2840] Update Contributors --- .github/contributors.json | 5 +++++ CONTRIBUTORS.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/contributors.json b/.github/contributors.json index 4f59c868e..2be85ae76 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1162,5 +1162,10 @@ "name": "Noah H", "github_login": "nthall", "twitter_username": "" + }, + { + "name": "Diego Montes", + "github_login": "d57montes", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 241ef972c..e2d855bc4 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -614,6 +614,13 @@ Listed in alphabetical order. purplediane88 + + Diego Montes + + d57montes + + + Dong Huynh From f77906d135a0f242e07981b49e5e7272d28e7c53 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 4 Nov 2021 14:55:32 +0000 Subject: [PATCH 1741/2840] Reference official GH actions by major version only --- .github/workflows/ci.yml | 6 +++--- .github/workflows/pre-commit-autoupdate.yml | 2 +- .github/workflows/update-changelog.yml | 2 +- .github/workflows/update-contributors.yml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a1b635959..cd1389c0d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: actions/setup-python@v2.2.2 + - uses: actions/setup-python@v2 with: python-version: 3.9 - name: Install dependencies @@ -44,7 +44,7 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: actions/setup-python@v2.2.2 + - uses: actions/setup-python@v2 with: python-version: 3.9 - name: Docker ${{ matrix.script.name }} @@ -78,7 +78,7 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: actions/setup-python@v2.2.2 + - uses: actions/setup-python@v2 with: python-version: 3.9 - name: Bare Metal ${{ matrix.script.name }} diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index f3a87bff8..5c16f7484 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: actions/setup-python@v2.2.2 + - uses: actions/setup-python@v2 with: python-version: 3.9 diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index d7a4f4b8b..9b6111424 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python - uses: actions/setup-python@v2.2.2 + uses: actions/setup-python@v2 with: python-version: 3.9 - name: Install dependencies diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index 37d95904e..88f08d679 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -13,7 +13,7 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python - uses: actions/setup-python@v2.2.2 + uses: actions/setup-python@v2 with: python-version: 3.9 - name: Install dependencies From 5f404a2bee227de4740e097d1ae6659ace30c294 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 4 Nov 2021 17:50:46 +0000 Subject: [PATCH 1742/2840] Update badge for Slack -> Discord --- README.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index d7b74e16c..085890439 100644 --- a/README.rst +++ b/README.rst @@ -13,8 +13,9 @@ Cookiecutter Django :target: https://pyup.io/repos/github/cookiecutter/cookiecutter-django/ :alt: Updates -.. image:: https://img.shields.io/badge/cookiecutter-Join%20on%20Slack-green?style=flat&logo=slack - :target: https://join.slack.com/t/cookie-cutter/shared_invite/enQtNzI0Mzg5NjE5Nzk5LTRlYWI2YTZhYmQ4YmU1Y2Q2NmE1ZjkwOGM0NDQyNTIwY2M4ZTgyNDVkNjMxMDdhZGI5ZGE5YmJjM2M3ODJlY2U +.. image:: https://img.shields.io/badge/Discord-cookiecutter-5865F2?style=flat&logo=discord&logoColor=white + :target: https://discord.gg/bTfDa6Zz + :alt: Join our Discord .. image:: https://www.codetriage.com/cookiecutter/cookiecutter-django/badges/users.svg :target: https://www.codetriage.com/cookiecutter/cookiecutter-django From d43dd831ee91f431ad5a868b97653d806c4d09c8 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 4 Nov 2021 18:06:49 +0000 Subject: [PATCH 1743/2840] Fix broken build for docs --- .pyup.yml | 1 + .readthedocs.yaml | 15 +++++++++++++++ docs/requirements.txt | 1 + 3 files changed, 17 insertions(+) create mode 100644 .readthedocs.yaml create mode 100644 docs/requirements.txt diff --git a/.pyup.yml b/.pyup.yml index b330b22bb..e5d4752e4 100644 --- a/.pyup.yml +++ b/.pyup.yml @@ -15,6 +15,7 @@ label_prs: update requirements: - "requirements.txt" + - "docs/requirements.txt" - "{{cookiecutter.project_slug}}/requirements/base.txt" - "{{cookiecutter.project_slug}}/requirements/local.txt" - "{{cookiecutter.project_slug}}/requirements/production.txt" diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 000000000..beb30d845 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,15 @@ +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Build documentation in the docs/ directory with Sphinx +sphinx: + configuration: docs/conf.py + +# Version of Python and requirements required to build the docs +python: + version: "3.8" + install: + - requirements: docs/requirements.txt diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 000000000..498f43dba --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1 @@ +sphinx==4.2.0 From bdb6fe66b27a43611b55fd84a775951efae2b2aa Mon Sep 17 00:00:00 2001 From: browniebroke Date: Fri, 5 Nov 2021 02:15:00 +0000 Subject: [PATCH 1744/2840] Update Changelog --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e7c45ee1..40718b03d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,16 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-11-04] +### Changed +- change path in docs Makefile to use APP variable ([#3379](https://github.com/cookiecutter/cookiecutter-django/pull/3379)) +### Fixed +- fix help in docs Makefile ([#3380](https://github.com/cookiecutter/cookiecutter-django/pull/3380)) +### Updated +- Bump peter-evans/create-pull-request from 3.10.1 to 3.11.0 ([#3382](https://github.com/cookiecutter/cookiecutter-django/pull/3382)) +- Auto-update pre-commit hooks ([#3381](https://github.com/cookiecutter/cookiecutter-django/pull/3381)) +- Update isort to 5.10.0 ([#3378](https://github.com/cookiecutter/cookiecutter-django/pull/3378)) + ## [2021-11-02] ### Updated - Auto-update pre-commit hooks ([#3377](https://github.com/cookiecutter/cookiecutter-django/pull/3377)) From 33f812a3eb0de20880490d6c5f04ae250769b9f3 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 7 Nov 2021 09:26:19 -0800 Subject: [PATCH 1745/2840] Update django-extensions from 3.1.3 to 3.1.5 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index b965ea4fe..8f61f4cd1 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -43,6 +43,6 @@ pre-commit==2.15.0 # https://github.com/pre-commit/pre-commit factory-boy==3.2.1 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==3.2.2 # https://github.com/jazzband/django-debug-toolbar -django-extensions==3.1.3 # https://github.com/django-extensions/django-extensions +django-extensions==3.1.5 # https://github.com/django-extensions/django-extensions django-coverage-plugin==2.0.1 # https://github.com/nedbat/django_coverage_plugin pytest-django==4.4.0 # https://github.com/pytest-dev/pytest-django From 28e4f80432b9364155b3ee55d5fa57cd24e68612 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Mon, 8 Nov 2021 02:14:30 +0000 Subject: [PATCH 1746/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 40718b03d..a4df304ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-11-07] +### Updated +- Update django-extensions to 3.1.5 ([#3383](https://github.com/cookiecutter/cookiecutter-django/pull/3383)) + ## [2021-11-04] ### Changed - change path in docs Makefile to use APP variable ([#3379](https://github.com/cookiecutter/cookiecutter-django/pull/3379)) From 346e7c9eddda65d353cbf5ed70d8f52c2cd6b038 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 7 Nov 2021 19:24:03 -0800 Subject: [PATCH 1747/2840] Update celery from 5.1.2 to 5.2.0 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index a078d1f05..42057cac7 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -17,7 +17,7 @@ redis==3.5.3 # https://github.com/andymccurdy/redis-py hiredis==2.0.0 # https://github.com/redis/hiredis-py {%- endif %} {%- if cookiecutter.use_celery == "y" %} -celery==5.1.2 # pyup: < 6.0 # https://github.com/celery/celery +celery==5.2.0 # pyup: < 6.0 # https://github.com/celery/celery django-celery-beat==2.2.1 # https://github.com/celery/django-celery-beat {%- if cookiecutter.use_docker == 'y' %} flower==1.0.0 # https://github.com/mher/flower From 8483bbbdf2af400d9687c01092a619dfcc22e3f6 Mon Sep 17 00:00:00 2001 From: Dani Hodovic Date: Mon, 8 Nov 2021 21:07:13 +0100 Subject: [PATCH 1748/2840] refactor: remove user API methods parameter `methods` defaults to ["GET"] if not specified. There is no need to explicitly set this in the action. https://github.com/encode/django-rest-framework/blob/71e6c30034a1dd35a39ca74f86c371713e762c79/rest_framework/decorators.py#L145 --- .../{{cookiecutter.project_slug}}/users/api/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py index 3d56cf562..98bb04e7b 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py @@ -19,7 +19,7 @@ class UserViewSet(RetrieveModelMixin, ListModelMixin, UpdateModelMixin, GenericV assert isinstance(self.request.user.id, int) return self.queryset.filter(id=self.request.user.id) - @action(detail=False, methods=["GET"]) + @action(detail=False) def me(self, request): serializer = UserSerializer(request.user, context={"request": request}) return Response(status=status.HTTP_200_OK, data=serializer.data) From 710998eb6099a9be8289c8d4000413387488c60b Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 8 Nov 2021 23:20:35 +0000 Subject: [PATCH 1749/2840] Small fixes to script for creating Django Upgrade issue --- scripts/create_django_issue.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/scripts/create_django_issue.py b/scripts/create_django_issue.py index 42fd375da..41b731efb 100644 --- a/scripts/create_django_issue.py +++ b/scripts/create_django_issue.py @@ -23,7 +23,7 @@ if TYPE_CHECKING: CURRENT_FILE = Path(__file__) ROOT = CURRENT_FILE.parents[1] REQUIREMENTS_DIR = ROOT / "{{cookiecutter.project_slug}}" / "requirements" -GITHUB_REPO = "pydanny/cookiecutter-django" +GITHUB_REPO = "cookiecutter/cookiecutter-django" def get_package_info(package: str) -> dict: @@ -44,8 +44,10 @@ def get_package_versions(package_info: dict, reverse=True, *, include_pre=False) return sorted(releases, reverse=reverse) -def get_name_and_version(requirements_line: str) -> list[str, str]: - return requirements_line.split(" ", 1)[0].split("==") +def get_name_and_version(requirements_line: str) -> tuple[str, str]: + full_name, version = requirements_line.split(" ", 1)[0].split("==") + name_without_extras = full_name.split("[", 1)[0] + return name_without_extras, version def get_all_latest_django_versions() -> tuple[str, list[str]]: @@ -124,7 +126,7 @@ class GitHubManager: for requirements_file in self.requirements_files: with (REQUIREMENTS_DIR / f"{requirements_file}.txt").open() as f: for line in f.readlines(): - if "==" in line: + if "==" in line and not line.startswith('{%'): name, version = get_name_and_version(line) self.requirements[requirements_file][name] = ( version, get_package_info(name) @@ -248,7 +250,7 @@ class GitHubManager: ) requirements += ( f"|{self._get_md_home_page_url(info).format(package_name)}" - f"|{version}|{compat_version}|{icon}|" + f"|{version}|{compat_version}|{icon}|\n" ) return requirements @@ -262,7 +264,8 @@ class GitHubManager: def generate(self): for version in self.needed_dj_versions: - self.create_or_edit_issue(version, self.generate_markdown(version)) + md_content = self.generate_markdown(version) + self.create_or_edit_issue(version, md_content) def main() -> None: From 007fd0206eff302fe5c40c853623b8dc840ce776 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Mon, 8 Nov 2021 23:41:29 +0000 Subject: [PATCH 1750/2840] Ignore pre-releases of Django --- scripts/create_django_issue.py | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/scripts/create_django_issue.py b/scripts/create_django_issue.py index 41b731efb..f10a94469 100644 --- a/scripts/create_django_issue.py +++ b/scripts/create_django_issue.py @@ -65,30 +65,27 @@ def get_all_latest_django_versions() -> tuple[str, list[str]]: sys.exit(1) # Begin parsing and verification - base_django_version = get_name_and_version(line)[1].split(".") - django_versions = get_package_versions(get_package_info("django"), include_pre=True) - _needed_django_versions: set[tuple] = set() - actual_needed_django_versions: list[str] = [] - for x in django_versions: - _version = x.split(".") - # Compare if major is higher or if minor is higher iff major is the same - if (_version[0] > base_django_version[0]) or ( - _version[0] == base_django_version[0] - and _version[1] > base_django_version[1] - ): - will_add = (_version[0], _version[1]) - if will_add not in _needed_django_versions: - _needed_django_versions.add(will_add) - actual_needed_django_versions.append(x) + _, current_version_str = get_name_and_version(line) + # Get a tuple of (major, minor) - ignoring patch version + current_minor_version = tuple(current_version_str.split(".")[:2]) + all_django_versions = get_package_versions(get_package_info("django")) + newer_versions: set[tuple] = set() + for version_str in all_django_versions: + released_minor_version = tuple(version_str.split(".")[:2]) + if released_minor_version > current_minor_version: + newer_versions.add(released_minor_version) - return line, actual_needed_django_versions + needed_versions_str = ['.'.join(v) for v in sorted(newer_versions)] + return line, needed_versions_str def get_first_digit(tokens) -> str: return next(item for item in tokens if item.isdigit()) -_TABLE_HEADER = """{file}.txt +_TABLE_HEADER = """ + +## {file}.txt | Name | Version in Master | {dj_version} Compatible Version | OK | | ---- | :---------------: | :-----------------------------: | :-: | From 44ba3cf19e0956c23bad3a72bf7c3085ab6bedf4 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 9 Nov 2021 00:21:08 +0000 Subject: [PATCH 1751/2840] Refactor how versions are handled --- scripts/create_django_issue.py | 101 +++++++++++++++------------------ 1 file changed, 46 insertions(+), 55 deletions(-) diff --git a/scripts/create_django_issue.py b/scripts/create_django_issue.py index f10a94469..ccf921c80 100644 --- a/scripts/create_django_issue.py +++ b/scripts/create_django_issue.py @@ -6,9 +6,10 @@ patches, only comparing major and minor version numbers. This script handles when there are multiple Django versions that need to keep up to date. """ +from __future__ import annotations import os -from typing import Sequence, TYPE_CHECKING +from typing import NamedTuple, Sequence, TYPE_CHECKING import requests import sys @@ -26,6 +27,19 @@ REQUIREMENTS_DIR = ROOT / "{{cookiecutter.project_slug}}" / "requirements" GITHUB_REPO = "cookiecutter/cookiecutter-django" +class Version(NamedTuple): + major: str + minor: str + + def __str__(self) -> str: + return f"{self.major}.{self.minor}" + + @classmethod + def parse(cls, version_str: str) -> Version: + major, minor, *_ = version_str.split(".") + return cls(major=major, minor=minor) + + def get_package_info(package: str) -> dict: # "django" converts to "Django" on redirect r = requests.get(f"https://pypi.org/pypi/{package}/json", allow_redirects=True) @@ -40,17 +54,17 @@ def get_package_versions(package_info: dict, reverse=True, *, include_pre=False) # package version, you could simple do get_package_info()["info"]["version"] releases: Sequence[str] = package_info["releases"].keys() if not include_pre: - releases = [x for x in releases if x.replace(".", "").isdigit()] + releases = [r for r in releases if r.replace(".", "").isdigit()] return sorted(releases, reverse=reverse) -def get_name_and_version(requirements_line: str) -> tuple[str, str]: +def get_name_and_version(requirements_line: str) -> tuple[str, ...]: full_name, version = requirements_line.split(" ", 1)[0].split("==") name_without_extras = full_name.split("[", 1)[0] return name_without_extras, version -def get_all_latest_django_versions() -> tuple[str, list[str]]: +def get_all_latest_django_versions() -> tuple[Version, list[Version]]: """ Grabs all Django versions that are worthy of a GitHub issue. Depends on if Django versions has higher major version or minor version @@ -67,16 +81,15 @@ def get_all_latest_django_versions() -> tuple[str, list[str]]: # Begin parsing and verification _, current_version_str = get_name_and_version(line) # Get a tuple of (major, minor) - ignoring patch version - current_minor_version = tuple(current_version_str.split(".")[:2]) + current_minor_version = Version.parse(current_version_str) all_django_versions = get_package_versions(get_package_info("django")) - newer_versions: set[tuple] = set() + newer_versions: set[Version] = set() for version_str in all_django_versions: - released_minor_version = tuple(version_str.split(".")[:2]) + released_minor_version = Version.parse(version_str) if released_minor_version > current_minor_version: newer_versions.add(released_minor_version) - needed_versions_str = ['.'.join(v) for v in sorted(newer_versions)] - return line, needed_versions_str + return current_minor_version, sorted(newer_versions, reverse=True) def get_first_digit(tokens) -> str: @@ -97,14 +110,14 @@ VITAL_BUT_UNKNOWN = [ class GitHubManager: - def __init__(self, base_dj_version: str, needed_dj_versions: list[str]): + def __init__(self, base_dj_version: Version, needed_dj_versions: list[Version]): self.github = Github(os.getenv("GITHUB_TOKEN", None)) self.repo = self.github.get_repo(GITHUB_REPO) self.base_dj_version = base_dj_version self.needed_dj_versions = needed_dj_versions # (major+minor) Version and description - self.existing_issues: dict[str, "Issue"] = {} + self.existing_issues: dict[Version, Issue] = {} # Load all requirements from our requirements files and preload their # package information like a cache: @@ -123,10 +136,11 @@ class GitHubManager: for requirements_file in self.requirements_files: with (REQUIREMENTS_DIR / f"{requirements_file}.txt").open() as f: for line in f.readlines(): - if "==" in line and not line.startswith('{%'): + if "==" in line and not line.startswith("{%"): name, version = get_name_and_version(line) self.requirements[requirements_file][name] = ( - version, get_package_info(name) + version, + get_package_info(name), ) def load_existing_issues(self): @@ -144,32 +158,16 @@ class GitHubManager: ) ) for issue in issues: - try: - dj_version = get_first_digit(issue.title.split(" ")) - except StopIteration: - try: - # Some padding; randomly chose 4 to make sure we don't get a random - # version number from a package that's not Django - dj_version = get_first_digit(issue.body.split(" ", 4)) - except StopIteration: - print( - f"Found issue {issue.title} that had an invalid syntax", - "(Did not have a Django version number in the title or body's" - f" first word. Issue number: [{issue.id}]({issue.url}))" - ) - continue - if self.base_dj_version > dj_version: + issue_version_str = issue.title.split(" ")[-1] + issue_version = Version.parse(issue_version_str) + if self.base_dj_version > issue_version: issue.edit(state="closed") print(f"Closed issue {issue.title} (ID: [{issue.id}]({issue.url}))") - try: - self.needed_dj_versions.remove(dj_version) - except ValueError: - print("Something weird happened. Continuing anyway (Warning ID: 1)") else: - self.existing_issues[dj_version] = issue + self.existing_issues[issue_version] = issue def get_compatibility( - self, package_name: str, package_info: dict, needed_dj_version + self, package_name: str, package_info: dict, needed_dj_version: Version ): """ Verify compatibility via setup.py classifiers. If Django is not in the @@ -191,24 +189,17 @@ class GitHubManager: return "", "❓" # Check classifiers if it includes Django - supported_dj_versions = [] + supported_dj_versions: list[Version] = [] for classifier in package_info["info"]["classifiers"]: # Usually in the form of "Framework :: Django :: 3.2" tokens = classifier.split(" ") - for token in tokens: - if token.lower() == "django": - try: - _version = get_first_digit(reversed(tokens)) - except StopIteration: - pass - else: - supported_dj_versions.append( - float(".".join(_version.split(".", 2)[:2])) - ) + if len(tokens) >= 5 and tokens[2].lower() == "django": + version = Version.parse(tokens[4]) + if len(version) == 2: + supported_dj_versions.append(version) if supported_dj_versions: - needed_dj_version = float(needed_dj_version) - if any(x >= needed_dj_version for x in supported_dj_versions): + if any(v >= needed_dj_version for v in supported_dj_versions): return package_info["info"]["version"], "✅" else: return "", "❌" @@ -227,19 +218,19 @@ class GitHubManager: ] def _get_md_home_page_url(self, package_info: dict): - urls = [package_info["info"].get(x) for x in self.HOME_PAGE_URL_KEYS] + urls = [ + package_info["info"].get(url_key) for url_key in self.HOME_PAGE_URL_KEYS + ] try: return f"[{{}}]({next(item for item in urls if item)})" except StopIteration: return "{}" - def generate_markdown(self, needed_dj_version: str): + def generate_markdown(self, needed_dj_version: Version): requirements = f"{needed_dj_version} requirements tables\n\n" for _file in self.requirements_files: - requirements += ( - _TABLE_HEADER.format_map( - {"file": _file, "dj_version": needed_dj_version} - ) + requirements += _TABLE_HEADER.format_map( + {"file": _file, "dj_version": needed_dj_version} ) for package_name, (version, info) in self.requirements[_file].items(): compat_version, icon = self.get_compatibility( @@ -251,8 +242,8 @@ class GitHubManager: ) return requirements - def create_or_edit_issue(self, needed_dj_version, description): - if issue := self.existing_issues.get(str(needed_dj_version)): + def create_or_edit_issue(self, needed_dj_version: Version, description: str): + if issue := self.existing_issues.get(needed_dj_version): issue.edit(body=description) else: self.repo.create_issue( From f163e1966198b91e03507bd08d9959208992316c Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 9 Nov 2021 00:32:41 +0000 Subject: [PATCH 1752/2840] Remove unused function --- scripts/create_django_issue.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/scripts/create_django_issue.py b/scripts/create_django_issue.py index ccf921c80..60ebb7e30 100644 --- a/scripts/create_django_issue.py +++ b/scripts/create_django_issue.py @@ -92,10 +92,6 @@ def get_all_latest_django_versions() -> tuple[Version, list[Version]]: return current_minor_version, sorted(newer_versions, reverse=True) -def get_first_digit(tokens) -> str: - return next(item for item in tokens if item.isdigit()) - - _TABLE_HEADER = """ ## {file}.txt From 8e0f65b858a44d2c003c6be19824cea74d414305 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Tue, 9 Nov 2021 02:14:18 +0000 Subject: [PATCH 1753/2840] Update Changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a4df304ca..5af364fb1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-11-08] +### Changed +- Update docker and non-docker configs to Debian 11 (bullseye) ([#3372](https://github.com/cookiecutter/cookiecutter-django/pull/3372)) + ## [2021-11-07] ### Updated - Update django-extensions to 3.1.5 ([#3383](https://github.com/cookiecutter/cookiecutter-django/pull/3383)) From 588c7c857cd9002de298ab56f19c12a894be4198 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 8 Nov 2021 23:29:53 -0800 Subject: [PATCH 1754/2840] Update isort from 5.10.0 to 5.10.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 20f4e2b98..8e1123925 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ binaryornot==0.4.4 # Code quality # ------------------------------------------------------------------------------ black==21.9b0 -isort==5.10.0 +isort==5.10.1 flake8==4.0.1 flake8-isort==4.1.1 pre-commit==2.15.0 From e2c9808c7e69e683b1874416f779c66bf2a75d89 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 9 Nov 2021 10:32:08 +0000 Subject: [PATCH 1755/2840] Get GitHub repo from environment --- scripts/update_changelog.py | 9 ++++++--- scripts/update_contributors.py | 9 ++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/scripts/update_changelog.py b/scripts/update_changelog.py index 85e19d169..306fc46b6 100644 --- a/scripts/update_changelog.py +++ b/scripts/update_changelog.py @@ -7,6 +7,7 @@ import datetime as dt CURRENT_FILE = Path(__file__) ROOT = CURRENT_FILE.parents[1] GITHUB_TOKEN = os.getenv("GITHUB_TOKEN", None) +GITHUB_REPO = os.getenv("GITHUB_REPOSITORY", None) # Generate changelog for PRs merged yesterday MERGED_DATE = dt.date.today() - dt.timedelta(days=1) @@ -39,9 +40,7 @@ def main() -> None: def iter_pulls(): """Fetch merged pull requests at the date we're interested in.""" - repo = Github(login_or_token=GITHUB_TOKEN).get_repo( - "cookiecutter/cookiecutter-django" - ) + repo = Github(login_or_token=GITHUB_TOKEN).get_repo(GITHUB_REPO) recent_pulls = repo.get_pulls( state="closed", sort="updated", direction="desc" ).get_page(0) @@ -77,4 +76,8 @@ def generate_md(grouped_pulls): if __name__ == "__main__": + if GITHUB_REPO is None: + raise RuntimeError( + "No github repo, please set the environment variable GITHUB_REPOSITORY" + ) main() diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index b125ef151..e1077e453 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -1,4 +1,5 @@ import json +import os from pathlib import Path from github import Github from github.NamedUser import NamedUser @@ -7,6 +8,8 @@ from jinja2 import Template CURRENT_FILE = Path(__file__) ROOT = CURRENT_FILE.parents[1] BOT_LOGINS = ["pyup-bot"] +GITHUB_TOKEN = os.getenv("GITHUB_TOKEN", None) +GITHUB_REPO = os.getenv("GITHUB_REPOSITORY", None) def main() -> None: @@ -39,7 +42,7 @@ def iter_recent_authors(): Use Github API to fetch recent authors rather than git CLI to work with Github usernames. """ - repo = Github(per_page=5).get_repo("cookiecutter/cookiecutter-django") + repo = Github(login_or_token=GITHUB_TOKEN, per_page=5).get_repo(GITHUB_REPO) recent_pulls = repo.get_pulls( state="closed", sort="updated", direction="desc" ).get_page(0) @@ -101,4 +104,8 @@ def write_md_file(contributors): if __name__ == "__main__": + if GITHUB_REPO is None: + raise RuntimeError( + "No github repo, please set the environment variable GITHUB_REPOSITORY" + ) main() From 88b223fe407fc903d6560bb3d7ceba62f24f4363 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 9 Nov 2021 10:41:09 +0000 Subject: [PATCH 1756/2840] Move a few constant to the environment --- scripts/create_django_issue.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/create_django_issue.py b/scripts/create_django_issue.py index 60ebb7e30..4ff9f902a 100644 --- a/scripts/create_django_issue.py +++ b/scripts/create_django_issue.py @@ -24,7 +24,9 @@ if TYPE_CHECKING: CURRENT_FILE = Path(__file__) ROOT = CURRENT_FILE.parents[1] REQUIREMENTS_DIR = ROOT / "{{cookiecutter.project_slug}}" / "requirements" -GITHUB_REPO = "cookiecutter/cookiecutter-django" +GITHUB_TOKEN = os.getenv("GITHUB_TOKEN", None) +GITHUB_REPO = os.getenv("GITHUB_REPOSITORY", None) +ISSUE_AUTHOR = os.getenv("GITHUB_ISSUE_AUTHOR", "actions-user") class Version(NamedTuple): @@ -107,7 +109,7 @@ VITAL_BUT_UNKNOWN = [ class GitHubManager: def __init__(self, base_dj_version: Version, needed_dj_versions: list[Version]): - self.github = Github(os.getenv("GITHUB_TOKEN", None)) + self.github = Github(GITHUB_TOKEN) self.repo = self.github.get_repo(GITHUB_REPO) self.base_dj_version = base_dj_version @@ -143,7 +145,7 @@ class GitHubManager: """Closes the issue if the base Django version is greater than the needed""" qualifiers = { "repo": GITHUB_REPO, - "author": "actions-user", + "author": ISSUE_AUTHOR, "state": "open", "is": "issue", "in": "title", @@ -263,4 +265,8 @@ def main() -> None: if __name__ == "__main__": + if GITHUB_REPO is None: + raise RuntimeError( + "No github repo, please set the environment variable GITHUB_REPOSITORY" + ) main() From 82b2b5e29dfb14f42643b05f0837b3504bf57169 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 9 Nov 2021 11:19:12 +0000 Subject: [PATCH 1757/2840] Fix author name --- scripts/create_django_issue.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/create_django_issue.py b/scripts/create_django_issue.py index 4ff9f902a..092da2b9d 100644 --- a/scripts/create_django_issue.py +++ b/scripts/create_django_issue.py @@ -26,7 +26,7 @@ ROOT = CURRENT_FILE.parents[1] REQUIREMENTS_DIR = ROOT / "{{cookiecutter.project_slug}}" / "requirements" GITHUB_TOKEN = os.getenv("GITHUB_TOKEN", None) GITHUB_REPO = os.getenv("GITHUB_REPOSITORY", None) -ISSUE_AUTHOR = os.getenv("GITHUB_ISSUE_AUTHOR", "actions-user") +ISSUE_AUTHOR = os.getenv("GITHUB_ISSUE_AUTHOR", "actions-user[bot]") class Version(NamedTuple): From 21db044570fc1cbe8f47c3f420dd8bbe40d0a258 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 9 Nov 2021 11:24:06 +0000 Subject: [PATCH 1758/2840] Remove author from query: permission error "The listed users cannot be searched either because the users do not exist or you do not have permission to view the users." --- scripts/create_django_issue.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/create_django_issue.py b/scripts/create_django_issue.py index 092da2b9d..1fe5072bb 100644 --- a/scripts/create_django_issue.py +++ b/scripts/create_django_issue.py @@ -26,7 +26,6 @@ ROOT = CURRENT_FILE.parents[1] REQUIREMENTS_DIR = ROOT / "{{cookiecutter.project_slug}}" / "requirements" GITHUB_TOKEN = os.getenv("GITHUB_TOKEN", None) GITHUB_REPO = os.getenv("GITHUB_REPOSITORY", None) -ISSUE_AUTHOR = os.getenv("GITHUB_ISSUE_AUTHOR", "actions-user[bot]") class Version(NamedTuple): @@ -145,7 +144,6 @@ class GitHubManager: """Closes the issue if the base Django version is greater than the needed""" qualifiers = { "repo": GITHUB_REPO, - "author": ISSUE_AUTHOR, "state": "open", "is": "issue", "in": "title", From eaaf096ded0ec0f9dc7ffe2cce962521f4aa6c75 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 9 Nov 2021 11:36:41 +0000 Subject: [PATCH 1759/2840] Update a few docstrings --- scripts/create_django_issue.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/create_django_issue.py b/scripts/create_django_issue.py index 1fe5072bb..07a24941c 100644 --- a/scripts/create_django_issue.py +++ b/scripts/create_django_issue.py @@ -60,6 +60,7 @@ def get_package_versions(package_info: dict, reverse=True, *, include_pre=False) def get_name_and_version(requirements_line: str) -> tuple[str, ...]: + """Get the name a verion of a package from a line in the requirement file.""" full_name, version = requirements_line.split(" ", 1)[0].split("==") name_without_extras = full_name.split("[", 1)[0] return name_without_extras, version @@ -67,8 +68,9 @@ def get_name_and_version(requirements_line: str) -> tuple[str, ...]: def get_all_latest_django_versions() -> tuple[Version, list[Version]]: """ - Grabs all Django versions that are worthy of a GitHub issue. Depends on - if Django versions has higher major version or minor version + Grabs all Django versions that are worthy of a GitHub issue. + + Depends on Django versions having higher major version or minor version. """ base_txt = REQUIREMENTS_DIR / "base.txt" with base_txt.open() as f: @@ -141,7 +143,7 @@ class GitHubManager: ) def load_existing_issues(self): - """Closes the issue if the base Django version is greater than the needed""" + """Closes the issue if the base Django version is greater than needed""" qualifiers = { "repo": GITHUB_REPO, "state": "open", @@ -200,7 +202,7 @@ class GitHubManager: else: return "", "❌" - # Django classifier DNE; assume it just isn't a Django lib + # Django classifier DNE; assume it isn't a Django lib # Great exceptions include pylint-django, where we need to do this manually... return "n/a", "✅" From d886e68af6845406a54f87fa8d91b117de275ba5 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 9 Nov 2021 11:40:08 +0000 Subject: [PATCH 1760/2840] Refactor helper class for Django version --- scripts/create_django_issue.py | 41 ++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/scripts/create_django_issue.py b/scripts/create_django_issue.py index 07a24941c..e0bb47a0c 100644 --- a/scripts/create_django_issue.py +++ b/scripts/create_django_issue.py @@ -28,17 +28,24 @@ GITHUB_TOKEN = os.getenv("GITHUB_TOKEN", None) GITHUB_REPO = os.getenv("GITHUB_REPOSITORY", None) -class Version(NamedTuple): - major: str - minor: str +class DjVersion(NamedTuple): + """ + Wrapper to parse, compare and render Django versions. + + Only keeps track on (major, minor) versions, excluding patches and pre-releases. + """ + major: int + minor: int def __str__(self) -> str: + """To render as string.""" return f"{self.major}.{self.minor}" @classmethod - def parse(cls, version_str: str) -> Version: + def parse(cls, version_str: str) -> DjVersion: + """Parse interesting values from the version string.""" major, minor, *_ = version_str.split(".") - return cls(major=major, minor=minor) + return cls(major=int(major), minor=int(minor)) def get_package_info(package: str) -> dict: @@ -66,7 +73,7 @@ def get_name_and_version(requirements_line: str) -> tuple[str, ...]: return name_without_extras, version -def get_all_latest_django_versions() -> tuple[Version, list[Version]]: +def get_all_latest_django_versions() -> tuple[DjVersion, list[DjVersion]]: """ Grabs all Django versions that are worthy of a GitHub issue. @@ -84,11 +91,11 @@ def get_all_latest_django_versions() -> tuple[Version, list[Version]]: # Begin parsing and verification _, current_version_str = get_name_and_version(line) # Get a tuple of (major, minor) - ignoring patch version - current_minor_version = Version.parse(current_version_str) + current_minor_version = DjVersion.parse(current_version_str) all_django_versions = get_package_versions(get_package_info("django")) - newer_versions: set[Version] = set() + newer_versions: set[DjVersion] = set() for version_str in all_django_versions: - released_minor_version = Version.parse(version_str) + released_minor_version = DjVersion.parse(version_str) if released_minor_version > current_minor_version: newer_versions.add(released_minor_version) @@ -109,14 +116,14 @@ VITAL_BUT_UNKNOWN = [ class GitHubManager: - def __init__(self, base_dj_version: Version, needed_dj_versions: list[Version]): + def __init__(self, base_dj_version: DjVersion, needed_dj_versions: list[DjVersion]): self.github = Github(GITHUB_TOKEN) self.repo = self.github.get_repo(GITHUB_REPO) self.base_dj_version = base_dj_version self.needed_dj_versions = needed_dj_versions # (major+minor) Version and description - self.existing_issues: dict[Version, Issue] = {} + self.existing_issues: dict[DjVersion, Issue] = {} # Load all requirements from our requirements files and preload their # package information like a cache: @@ -157,7 +164,7 @@ class GitHubManager: ) for issue in issues: issue_version_str = issue.title.split(" ")[-1] - issue_version = Version.parse(issue_version_str) + issue_version = DjVersion.parse(issue_version_str) if self.base_dj_version > issue_version: issue.edit(state="closed") print(f"Closed issue {issue.title} (ID: [{issue.id}]({issue.url}))") @@ -165,7 +172,7 @@ class GitHubManager: self.existing_issues[issue_version] = issue def get_compatibility( - self, package_name: str, package_info: dict, needed_dj_version: Version + self, package_name: str, package_info: dict, needed_dj_version: DjVersion ): """ Verify compatibility via setup.py classifiers. If Django is not in the @@ -187,12 +194,12 @@ class GitHubManager: return "", "❓" # Check classifiers if it includes Django - supported_dj_versions: list[Version] = [] + supported_dj_versions: list[DjVersion] = [] for classifier in package_info["info"]["classifiers"]: # Usually in the form of "Framework :: Django :: 3.2" tokens = classifier.split(" ") if len(tokens) >= 5 and tokens[2].lower() == "django": - version = Version.parse(tokens[4]) + version = DjVersion.parse(tokens[4]) if len(version) == 2: supported_dj_versions.append(version) @@ -224,7 +231,7 @@ class GitHubManager: except StopIteration: return "{}" - def generate_markdown(self, needed_dj_version: Version): + def generate_markdown(self, needed_dj_version: DjVersion): requirements = f"{needed_dj_version} requirements tables\n\n" for _file in self.requirements_files: requirements += _TABLE_HEADER.format_map( @@ -240,7 +247,7 @@ class GitHubManager: ) return requirements - def create_or_edit_issue(self, needed_dj_version: Version, description: str): + def create_or_edit_issue(self, needed_dj_version: DjVersion, description: str): if issue := self.existing_issues.get(needed_dj_version): issue.edit(body=description) else: From 1a962b5ad9ccc34e9334dec967320e20c375f86e Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 9 Nov 2021 11:52:54 +0000 Subject: [PATCH 1761/2840] Refactor function to list django versions --- scripts/create_django_issue.py | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/scripts/create_django_issue.py b/scripts/create_django_issue.py index e0bb47a0c..bbb25f26b 100644 --- a/scripts/create_django_issue.py +++ b/scripts/create_django_issue.py @@ -9,15 +9,13 @@ to keep up to date. from __future__ import annotations import os -from typing import NamedTuple, Sequence, TYPE_CHECKING - -import requests import sys from pathlib import Path +from typing import TYPE_CHECKING, Any, Iterable, NamedTuple +import requests from github import Github - if TYPE_CHECKING: from github.Issue import Issue @@ -34,6 +32,7 @@ class DjVersion(NamedTuple): Only keeps track on (major, minor) versions, excluding patches and pre-releases. """ + major: int minor: int @@ -49,6 +48,7 @@ class DjVersion(NamedTuple): def get_package_info(package: str) -> dict: + """Get package metadata using PyPI API.""" # "django" converts to "Django" on redirect r = requests.get(f"https://pypi.org/pypi/{package}/json", allow_redirects=True) if not r.ok: @@ -57,17 +57,18 @@ def get_package_info(package: str) -> dict: return r.json() -def get_package_versions(package_info: dict, reverse=True, *, include_pre=False): - # Mostly used for the Django check really... to get the latest - # package version, you could simple do get_package_info()["info"]["version"] - releases: Sequence[str] = package_info["releases"].keys() - if not include_pre: - releases = [r for r in releases if r.replace(".", "").isdigit()] - return sorted(releases, reverse=reverse) +def get_django_versions() -> Iterable[DjVersion]: + """List all django versions.""" + django_package_info: dict[str, Any] = get_package_info("django") + releases = django_package_info["releases"].keys() + for release_str in releases: + if release_str.replace(".", "").isdigit(): + # Exclude pre-releases with non-numeric characters in version + yield DjVersion.parse(release_str) def get_name_and_version(requirements_line: str) -> tuple[str, ...]: - """Get the name a verion of a package from a line in the requirement file.""" + """Get the name a version of a package from a line in the requirement file.""" full_name, version = requirements_line.split(" ", 1)[0].split("==") name_without_extras = full_name.split("[", 1)[0] return name_without_extras, version @@ -92,12 +93,10 @@ def get_all_latest_django_versions() -> tuple[DjVersion, list[DjVersion]]: _, current_version_str = get_name_and_version(line) # Get a tuple of (major, minor) - ignoring patch version current_minor_version = DjVersion.parse(current_version_str) - all_django_versions = get_package_versions(get_package_info("django")) newer_versions: set[DjVersion] = set() - for version_str in all_django_versions: - released_minor_version = DjVersion.parse(version_str) - if released_minor_version > current_minor_version: - newer_versions.add(released_minor_version) + for django_version in get_django_versions(): + if django_version > current_minor_version: + newer_versions.add(django_version) return current_minor_version, sorted(newer_versions, reverse=True) From 955134f27d1e276e6cd4a2f38350658052a2c9b6 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 9 Nov 2021 11:53:02 +0000 Subject: [PATCH 1762/2840] Run isort --- scripts/update_changelog.py | 3 ++- scripts/update_contributors.py | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/update_changelog.py b/scripts/update_changelog.py index 85e19d169..feec91774 100644 --- a/scripts/update_changelog.py +++ b/scripts/update_changelog.py @@ -1,8 +1,9 @@ +import datetime as dt import os from pathlib import Path + from github import Github from jinja2 import Template -import datetime as dt CURRENT_FILE = Path(__file__) ROOT = CURRENT_FILE.parents[1] diff --git a/scripts/update_contributors.py b/scripts/update_contributors.py index b125ef151..62acb8f9f 100644 --- a/scripts/update_contributors.py +++ b/scripts/update_contributors.py @@ -1,5 +1,6 @@ import json from pathlib import Path + from github import Github from github.NamedUser import NamedUser from jinja2 import Template From 6f5dac8e5c2855eb142b936575a5af0e3de6da6c Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Tue, 9 Nov 2021 12:07:25 +0000 Subject: [PATCH 1763/2840] Change workflow schedule --- .github/workflows/django-issue-checker.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/django-issue-checker.yml b/.github/workflows/django-issue-checker.yml index 6b1b0e700..9866578c7 100644 --- a/.github/workflows/django-issue-checker.yml +++ b/.github/workflows/django-issue-checker.yml @@ -4,9 +4,8 @@ name: Django Issue Checker on: - # Every day at midnight schedule: - - cron: "0 3 * * *" + - cron: "28 5 * * *" # Manual trigger workflow_dispatch: From c5f4193e1c5c43ae63481b552fc1a25145e3982e Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 9 Nov 2021 14:08:17 -0800 Subject: [PATCH 1764/2840] Update jinja2 from 3.0.2 to 3.0.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 8e1123925..64b1b2e63 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,4 +21,4 @@ pyyaml==6.0 # Scripting # ------------------------------------------------------------------------------ PyGithub==1.55 -jinja2==3.0.2 +jinja2==3.0.3 From 3679cb37e5d8e726b3e9a65f7d901814b3d99cf9 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 10 Nov 2021 00:05:56 +0000 Subject: [PATCH 1765/2840] Auto-update pre-commit hooks --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index d09272168..9aae466c7 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.10.0 + rev: 5.10.1 hooks: - id: isort From fd18aa68a1b1edd279ce304f5be086e842533654 Mon Sep 17 00:00:00 2001 From: browniebroke Date: Wed, 10 Nov 2021 02:15:09 +0000 Subject: [PATCH 1766/2840] Update Changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5af364fb1..bd627ca63 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-11-09] +### Changed +- refactor: remove user API methods parameter ([#3385](https://github.com/cookiecutter/cookiecutter-django/pull/3385)) +- Get GitHub repo from environment ([#3387](https://github.com/cookiecutter/cookiecutter-django/pull/3387)) +### Updated +- Update celery to 5.2.0 ([#3384](https://github.com/cookiecutter/cookiecutter-django/pull/3384)) +- Update isort to 5.10.1 ([#3386](https://github.com/cookiecutter/cookiecutter-django/pull/3386)) + ## [2021-11-08] ### Changed - Update docker and non-docker configs to Debian 11 (bullseye) ([#3372](https://github.com/cookiecutter/cookiecutter-django/pull/3372)) From d08dfa32ab9a983078020df3de54eef7c050bcdd Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 10 Nov 2021 19:06:23 +0000 Subject: [PATCH 1767/2840] Add print statements to describe progress --- scripts/create_django_issue.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/create_django_issue.py b/scripts/create_django_issue.py index bbb25f26b..ef3d52b1c 100644 --- a/scripts/create_django_issue.py +++ b/scripts/create_django_issue.py @@ -80,6 +80,7 @@ def get_all_latest_django_versions() -> tuple[DjVersion, list[DjVersion]]: Depends on Django versions having higher major version or minor version. """ + print("Fetching all Django versions from PyPI") base_txt = REQUIREMENTS_DIR / "base.txt" with base_txt.open() as f: for line in f.readlines(): @@ -138,6 +139,7 @@ class GitHubManager: self.load_existing_issues() def load_requirements(self): + print("Reading requirements") for requirements_file in self.requirements_files: with (REQUIREMENTS_DIR / f"{requirements_file}.txt").open() as f: for line in f.readlines(): @@ -150,6 +152,7 @@ class GitHubManager: def load_existing_issues(self): """Closes the issue if the base Django version is greater than needed""" + print("Load existing issues from GitHub") qualifiers = { "repo": GITHUB_REPO, "state": "open", @@ -161,6 +164,7 @@ class GitHubManager: "[Django Update]", "created", "desc", **qualifiers ) ) + print(f"Found {len(issues)} issues matching search") for issue in issues: issue_version_str = issue.title.split(" ")[-1] issue_version = DjVersion.parse(issue_version_str) @@ -248,15 +252,19 @@ class GitHubManager: def create_or_edit_issue(self, needed_dj_version: DjVersion, description: str): if issue := self.existing_issues.get(needed_dj_version): + print(f"Editing issue #{issue.number} for Django {needed_dj_version}") issue.edit(body=description) else: + print(f"Creating new issue for Django {needed_dj_version}") self.repo.create_issue( f"[Update Django] Django {needed_dj_version}", description ) def generate(self): for version in self.needed_dj_versions: + print(f"Handling GitHub issue for Django {version}") md_content = self.generate_markdown(version) + print(f"Generated markdown:\n\n{md_content}") self.create_or_edit_issue(version, md_content) From bc34320416a50964ad7b6b78b0e41bdf4bad5042 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 10 Nov 2021 12:18:51 -0800 Subject: [PATCH 1768/2840] Update sphinx from 4.2.0 to 4.3.0 --- docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index 498f43dba..aef3c6410 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1 +1 @@ -sphinx==4.2.0 +sphinx==4.3.0 From 826016e571fcda97d00e65c55243185a87c97465 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 10 Nov 2021 12:18:51 -0800 Subject: [PATCH 1769/2840] Update sphinx from 4.2.0 to 4.3.0 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 8f61f4cd1..620175de8 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -23,7 +23,7 @@ djangorestframework-stubs==1.4.0 # https://github.com/typeddjango/djangorestfra # Documentation # ------------------------------------------------------------------------------ -sphinx==4.2.0 # https://github.com/sphinx-doc/sphinx +sphinx==4.3.0 # https://github.com/sphinx-doc/sphinx sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild # Code quality From dc382d02ef7cf214de4eda8e4894f3018dcbdc1e Mon Sep 17 00:00:00 2001 From: browniebroke Date: Thu, 11 Nov 2021 02:14:50 +0000 Subject: [PATCH 1770/2840] Update Changelog --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bd627ca63..8348e114c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,13 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## [2021-11-10] +### Changed +- Update sphinx to 4.3.0 ([#3392](https://github.com/cookiecutter/cookiecutter-django/pull/3392)) +### Updated +- Auto-update pre-commit hooks ([#3389](https://github.com/cookiecutter/cookiecutter-django/pull/3389)) +- Update jinja2 to 3.0.3 ([#3388](https://github.com/cookiecutter/cookiecutter-django/pull/3388)) + ## [2021-11-09] ### Changed - refactor: remove user API methods parameter ([#3385](https://github.com/cookiecutter/cookiecutter-django/pull/3385)) From 89959dc43926943d97d8ed08bcab71e979ed2283 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 10 Nov 2021 23:33:54 -0800 Subject: [PATCH 1771/2840] Update coverage from 6.1.1 to 6.1.2 --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 620175de8..107fa68d3 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -30,7 +30,7 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild # ------------------------------------------------------------------------------ flake8==4.0.1 # https://github.com/PyCQA/flake8 flake8-isort==4.1.1 # https://github.com/gforcada/flake8-isort -coverage==6.1.1 # https://github.com/nedbat/coveragepy +coverage==6.1.2 # https://github.com/nedbat/coveragepy black==21.9b0 # https://github.com/psf/black pylint-django==2.4.4 # https://github.com/PyCQA/pylint-django {%- if cookiecutter.use_celery == 'y' %} From 01158c1f343777a8f7c99b878ee96ed4a8fa701f Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 11 Nov 2021 11:56:41 +0000 Subject: [PATCH 1772/2840] Avoid false positives in issues search results --- scripts/create_django_issue.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/create_django_issue.py b/scripts/create_django_issue.py index ef3d52b1c..4b270b701 100644 --- a/scripts/create_django_issue.py +++ b/scripts/create_django_issue.py @@ -9,6 +9,7 @@ to keep up to date. from __future__ import annotations import os +import re import sys from pathlib import Path from typing import TYPE_CHECKING, Any, Iterable, NamedTuple @@ -155,6 +156,7 @@ class GitHubManager: print("Load existing issues from GitHub") qualifiers = { "repo": GITHUB_REPO, + "author": "app/github-actions", "state": "open", "is": "issue", "in": "title", @@ -166,8 +168,10 @@ class GitHubManager: ) print(f"Found {len(issues)} issues matching search") for issue in issues: - issue_version_str = issue.title.split(" ")[-1] - issue_version = DjVersion.parse(issue_version_str) + matches = re.match(r"\[Update Django] Django (\d+.\d+)$", issue.title) + if not matches: + continue + issue_version = DjVersion.parse(matches.group(1)) if self.base_dj_version > issue_version: issue.edit(state="closed") print(f"Closed issue {issue.title} (ID: [{issue.id}]({issue.url}))") From e7ea358496a46916d105c9f721e4f5ee7e4b696a Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 11 Nov 2021 19:12:23 +0000 Subject: [PATCH 1773/2840] Better job names on CI (cherry picked from commit 4373830c705a392b411d533f0e3776c51914eb8b) --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cd1389c0d..169af5277 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,6 +15,7 @@ jobs: - py39 - black-template + name: "tox env ${{ matrix.tox-env }}" steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 @@ -38,6 +39,7 @@ jobs: - name: Extended args: "use_celery=y use_drf=y js_task_runner=Gulp" + name: "${{ matrix.script.name }} Docker" env: DOCKER_BUILDKIT: 1 COMPOSE_DOCKER_CLI_BUILD: 1 @@ -59,6 +61,7 @@ jobs: - name: With Celery args: "use_celery=y use_compressor=y" + name: "${{ matrix.script.name }} Bare metal" services: redis: image: redis:5.0 From 954718cd83f4794afd08e5d2fa88b33525abf51e Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 11 Nov 2021 19:21:16 +0000 Subject: [PATCH 1774/2840] Build local docker images on CI --- tests/test_docker.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/test_docker.sh b/tests/test_docker.sh index 001ef06d0..8d25a8e26 100755 --- a/tests/test_docker.sh +++ b/tests/test_docker.sh @@ -24,6 +24,9 @@ git init git add . pre-commit run --show-diff-on-failure -a +# make sure all images build +docker-compose -f local.yml build + # run the project's type checks docker-compose -f local.yml run django mypy my_awesome_project From ab81e122d17d1bb3b1f3ba7dd553578d1d21c242 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Thu, 11 Nov 2021 21:07:29 +0000 Subject: [PATCH 1775/2840] Fix navigation on mobile --- .../{{cookiecutter.project_slug}}/templates/base.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html index e8c6d0afe..4c485ace8 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/base.html @@ -54,7 +54,7 @@
+
+
+ {% if messages %} + {% for message in messages %} +
+ {{ message }} + +
+ {% endfor %} + {% endif %} + {% block content %} +

Use this document as a way to quick start any new project.

+ {% endblock content %} +
+ + {% block modal %} + {% endblock modal %} + {% block inline_javascript %} {% comment %} Script tags with only code, no src (defer by default). To run with a "defer" so that you run inline code: {% endcomment %} - {% endblock inline_javascript %} - + {% endblock inline_javascript %} + {%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/pages/about.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/pages/about.html index 8968a3d4f..3d301eead 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/pages/about.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/pages/about.html @@ -1 +1,3 @@ -{% raw %}{% extends "base.html" %}{% endraw %} +{% raw %}{% extends "base.html" %} + +{% endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/pages/home.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/pages/home.html index 8968a3d4f..3d301eead 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/pages/home.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/pages/home.html @@ -1 +1,3 @@ -{% raw %}{% extends "base.html" %}{% endraw %} +{% raw %}{% extends "base.html" %} + +{% endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_detail.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_detail.html index ee2c4aee9..4e632b015 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_detail.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_detail.html @@ -1,35 +1,45 @@ {% raw %}{% extends "base.html" %} + {% load static %} -{% block title %}User: {% endraw %}{% if cookiecutter.username_type == "email" %}{% raw %}{{ object.name }}{% endraw %}{% else %}{% raw %}{{ object.username }}{% endraw %}{% endif %}{% raw %}{% endblock %} - +{% block title %} + User: {% endraw %} + {% if cookiecutter.username_type == "email" %} + {% raw %}{{ object.name }}{% endraw %} + {% else %} + {% raw %}{{ object.username }}{% endraw %} + {% endif %} + {% raw %} +{% endblock title %} {% block content %} -
- -
-
- -

{% endraw %}{% if cookiecutter.username_type == "email" %}{% raw %}{{ object.name }}{% endraw %}{% else %}{% raw %}{{ object.username }}{% endraw %}{% endif %}{% raw %}

- {% if object.name %} -

{{ object.name }}

- {% endif %} +
+
+
+

+ {% endraw %} + {% if cookiecutter.username_type == "email" %} + {% raw %}{{ object.name }}{% endraw %} + {% else %} + {% raw %}{{ object.username }}{% endraw %} + {% endif %} + {% raw %} +

+ {% if object.name %}

{{ object.name }}

{% endif %}
- -{% if object == request.user %} - -
- -
- My Info - E-Mail - -
- -
- -{% endif %} - + {% if object == request.user %} + +
+
+ My Info + E-Mail + +
+
+ + {% endif %}
{% endblock content %} {%- endraw %} diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_form.html b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_form.html index 65401624a..bd1299a6d 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_form.html +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/templates/users/user_form.html @@ -1,18 +1,36 @@ {% raw %}{% extends "base.html" %} + {% load crispy_forms_tags %} -{% block title %}{% endraw %}{% if cookiecutter.username_type == "email" %}{% raw %}{{ user.name }}{% endraw %}{% else %}{% raw %}{{ user.username }}{% endraw %}{% endif %}{% raw %}{% endblock %} - +{% block title %} +{% endraw %} +{% if cookiecutter.username_type == "email" %} + {% raw %}{{ user.name }}{% endraw %} +{% else %} + {% raw %}{{ user.username }}{% endraw %} +{% endif %} +{% raw %} +{% endblock title %} {% block content %} -

{% endraw %}{% if cookiecutter.username_type == "email" %}{% raw %}{{ user.name }}{% endraw %}{% else %}{% raw %}{{ user.username }}{% endraw %}{% endif %}{% raw %}

-
- {% csrf_token %} - {{ form|crispy }} -
-
- -
+

+ {% endraw %} + {% if cookiecutter.username_type == "email" %} + {% raw %}{{ user.name }}{% endraw %} + {% else %} + {% raw %}{{ user.username }}{% endraw %} + {% endif %} + {% raw %} +

+ + {% csrf_token %} + {{ form|crispy }} +
+
+
- -{% endblock %} +
+ +{% endblock content %} {%- endraw %} From d0e36d7d28df86ccedcf88cc3b43b3b9176efbd6 Mon Sep 17 00:00:00 2001 From: "pyup.io bot" Date: Tue, 27 Jun 2023 16:52:58 -0500 Subject: [PATCH 2834/2840] Update django-stubs to 4.2.2 (#4419) --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index bf4e8a49d..d4d9d7d37 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -14,7 +14,7 @@ watchfiles==0.19.0 # https://github.com/samuelcolvin/watchfiles # Testing # ------------------------------------------------------------------------------ mypy==1.4.1 # https://github.com/python/mypy -django-stubs==4.2.1 # https://github.com/typeddjango/django-stubs +django-stubs==4.2.2 # https://github.com/typeddjango/django-stubs pytest==7.4.0 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.7 # https://github.com/Frozenball/pytest-sugar {%- if cookiecutter.use_drf == "y" %} From 0225a7c83f45dfd2b1bf3c3ec2e638305cdc7dfb Mon Sep 17 00:00:00 2001 From: "pyup.io bot" Date: Tue, 27 Jun 2023 17:08:18 -0500 Subject: [PATCH 2835/2840] Update djangorestframework-stubs to 3.14.2 (#4420) --- {{cookiecutter.project_slug}}/requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index d4d9d7d37..3d8938f33 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -18,7 +18,7 @@ django-stubs==4.2.2 # https://github.com/typeddjango/django-stubs pytest==7.4.0 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.7 # https://github.com/Frozenball/pytest-sugar {%- if cookiecutter.use_drf == "y" %} -djangorestframework-stubs==3.14.1 # https://github.com/typeddjango/djangorestframework-stubs +djangorestframework-stubs==3.14.2 # https://github.com/typeddjango/djangorestframework-stubs {%- endif %} # Documentation From d13e4270c254e649760cbae5647023fd376d2878 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Tue, 27 Jun 2023 18:18:19 -0400 Subject: [PATCH 2836/2840] Remove prettier unless in pre-commit (#4418) * Remove prettier webpack in pre-commit * Update {{cookiecutter.project_slug}}/.pre-commit-config.yaml Co-authored-by: Bruno Alla * Tweak vertical spacing --------- Co-authored-by: Bruno Alla Co-authored-by: Bruno Alla --- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index f400001f1..ae602a364 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -16,6 +16,7 @@ repos: - id: check-case-conflict - id: check-docstring-first - id: detect-private-key +{%- if cookiecutter.frontend_pipeline in ["Webpack", "Gulp"] %} - repo: https://github.com/pre-commit/mirrors-prettier rev: v3.0.0-alpha.9-for-vscode @@ -23,6 +24,7 @@ repos: - id: prettier args: ['--tab-width', '2', '--single-quote'] exclude: '{{cookiecutter.project_slug}}/templates/' +{%- endif %} - repo: https://github.com/adamchainz/django-upgrade rev: '1.14.0' From 5a7de40b839b1b8bf52d7d9a490e4d380b2587c5 Mon Sep 17 00:00:00 2001 From: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Date: Tue, 27 Jun 2023 18:36:01 -0400 Subject: [PATCH 2837/2840] Populate user name field in social auth (#3968) * Populate user name field in social auth * Add docstring for populate_user * Fix missing def * Fix missing def * Add some type hints to the SocialAccountAdapter class --------- Co-authored-by: Bruno Alla Co-authored-by: Bruno Alla --- .../users/adapters.py | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/adapters.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/adapters.py index 0d206fae4..c5c824bda 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/adapters.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/adapters.py @@ -1,16 +1,37 @@ -from typing import Any +from __future__ import annotations + +import typing from allauth.account.adapter import DefaultAccountAdapter from allauth.socialaccount.adapter import DefaultSocialAccountAdapter from django.conf import settings from django.http import HttpRequest +if typing.TYPE_CHECKING: + from allauth.socialaccount.models import SocialLogin + from {{cookiecutter.project_slug}}.users.models import User + class AccountAdapter(DefaultAccountAdapter): - def is_open_for_signup(self, request: HttpRequest): + def is_open_for_signup(self, request: HttpRequest) -> bool: return getattr(settings, "ACCOUNT_ALLOW_REGISTRATION", True) class SocialAccountAdapter(DefaultSocialAccountAdapter): - def is_open_for_signup(self, request: HttpRequest, sociallogin: Any): + def is_open_for_signup(self, request: HttpRequest, sociallogin: SocialLogin) -> bool: return getattr(settings, "ACCOUNT_ALLOW_REGISTRATION", True) + + def populate_user(self, request: HttpRequest, sociallogin: SocialLogin, data: dict[str, typing.Any]) -> User: + """ + Populates user information from social provider info. + + See: https://django-allauth.readthedocs.io/en/latest/advanced.html?#creating-and-populating-user-instances + """ + user = sociallogin.user + if name := data.get("name"): + user.name = name + elif first_name := data.get("first_name"): + user.name = first_name + if last_name := data.get("last_name"): + user.name += f" {last_name}" + return super().populate_user(request, sociallogin, data) From e9eb72b0b9614c6718cdc03a7a706c43cda107e6 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 27 Jun 2023 23:52:40 +0100 Subject: [PATCH 2838/2840] Update django-compressor from 4.3.1 to 4.4 --- {{cookiecutter.project_slug}}/requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt index d23da8c61..1a39feb82 100644 --- a/{{cookiecutter.project_slug}}/requirements/base.txt +++ b/{{cookiecutter.project_slug}}/requirements/base.txt @@ -35,7 +35,7 @@ django-allauth==0.54.0 # https://github.com/pennersr/django-allauth django-crispy-forms==2.0 # https://github.com/django-crispy-forms/django-crispy-forms crispy-bootstrap5==0.7 # https://github.com/django-crispy-forms/crispy-bootstrap5 {%- if cookiecutter.frontend_pipeline == 'Django Compressor' %} -django-compressor==4.3.1 # https://github.com/django-compressor/django-compressor +django-compressor==4.4 # https://github.com/django-compressor/django-compressor {%- endif %} django-redis==5.3.0 # https://github.com/jazzband/django-redis {%- if cookiecutter.use_drf == 'y' %} From 199278b5ca17d4acd989e3c18760711d00e8d811 Mon Sep 17 00:00:00 2001 From: github-actions Date: Wed, 28 Jun 2023 02:32:45 +0000 Subject: [PATCH 2839/2840] Release 2023.06.27 --- CHANGELOG.md | 19 +++++++++++++++++++ setup.py | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 309f62a26..e60e18d27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,25 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## 2023.06.27 + + +### Changed + +- Populate User `name` field during social auth ([#3968](https://github.com/cookiecutter/cookiecutter-django/pull/3968)) + +- Add djLint for HTML formatting and linting ([#4389](https://github.com/cookiecutter/cookiecutter-django/pull/4389)) + +### Fixed + +- Only include prettier pre-commit hook with node-based front-end pipeline ([#4418](https://github.com/cookiecutter/cookiecutter-django/pull/4418)) + +### Updated + +- Update djangorestframework-stubs to 3.14.2 ([#4420](https://github.com/cookiecutter/cookiecutter-django/pull/4420)) + +- Update django-stubs to 4.2.2 ([#4419](https://github.com/cookiecutter/cookiecutter-django/pull/4419)) + ## 2023.06.26 diff --git a/setup.py b/setup.py index bf58e0239..571407bf3 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ except ImportError: from distutils.core import setup # We use calendar versioning -version = "2023.06.26" +version = "2023.06.27" with open("README.rst") as readme_file: long_description = readme_file.read() From ef36732569cb5baaa5b26e45888831c97e2392fd Mon Sep 17 00:00:00 2001 From: Jelmer Draaijer Date: Wed, 28 Jun 2023 08:38:04 +0200 Subject: [PATCH 2840/2840] Set target-version for django upgrade to 4.2 --- tests/test_cookiecutter_generation.py | 2 +- {{cookiecutter.project_slug}}/.pre-commit-config.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 778e3411f..6ffce81db 100755 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -231,7 +231,7 @@ def test_django_upgrade_passes(cookies, context_override): try: sh.django_upgrade( "--target-version", - "4.1", + "4.2", *python_files, _cwd=str(result.project_path), ) diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml index 91a50b97d..4fe4778bc 100644 --- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml @@ -28,7 +28,7 @@ repos: rev: '1.13.0' hooks: - id: django-upgrade - args: ['--target-version', '4.1'] + args: ['--target-version', '4.2'] - repo: https://github.com/asottile/pyupgrade rev: v3.6.0