From 2ae42cacebdf71e576dcd8e1c66c0b97a4ff2f9e Mon Sep 17 00:00:00 2001 From: Oskar Hahn Date: Sat, 25 Aug 2018 13:52:43 +0200 Subject: [PATCH 1/2] Faster then fastes big_mode (with tests) --- .travis.yml | 3 ++- Dockerfile | 2 +- MANIFEST.in | 4 ++-- README.rst | 4 ++-- requirements.txt | 14 +++----------- .../big_mode.txt | 3 --- requirements/development.txt | 10 ++++++++++ .../production.txt | 0 setup.cfg | 2 ++ setup.py | 4 ++-- 10 files changed, 24 insertions(+), 22 deletions(-) rename requirements_big_mode.txt => requirements/big_mode.txt (75%) create mode 100644 requirements/development.txt rename requirements_production.txt => requirements/production.txt (100%) diff --git a/.travis.yml b/.travis.yml index 4474118d4..29f7f0a5c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,7 +15,8 @@ before_install: - export PATH="$HOME/.yarn/bin:$PATH" install: - pip install --upgrade setuptools pip - - pip install --upgrade --requirement requirements.txt + - pip install --upgrade --requirement requirements/development.txt + - pip install --upgrade .[big_mode] - pip freeze - yarn - node_modules/.bin/gulp --production diff --git a/Dockerfile b/Dockerfile index 4e5d0d89e..78d05a664 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,7 +18,7 @@ RUN node_modules/.bin/gulp --production # INSTALL PYTHON DEPENDENCIES USER root -RUN pip install -r /app/requirements_big_mode.txt +RUN pip install .[big_mode] ## Clean up RUN apt-get remove -y python3-pip wget curl diff --git a/MANIFEST.in b/MANIFEST.in index 4d0cf794e..420be0de1 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -2,8 +2,8 @@ include AUTHORS include CHANGELOG include LICENSE include README.rst -include requirements_production.txt -include requirements_big_mode.txt +include requirements/production.txt +include requirements/big_mode.txt include bower.json recursive-include openslides *.* exclude openslides/__pycache__/* diff --git a/README.rst b/README.rst index 02c27ce27..ff5a79bb5 100644 --- a/README.rst +++ b/README.rst @@ -72,7 +72,7 @@ compressed tar archive and run:: $ pip install openslides-x.y.tar.gz This will install all required Python packages (see -``requirements_production.txt``). +``requirements/production.txt``). d. Start OpenSlides @@ -163,7 +163,7 @@ Used software OpenSlides uses the following projects or parts of them: -* Several Python packages (see ``requirements_production.txt``). +* Several Python packages (see ``requirements/production.txt`` and ``requirements/big_mode.txt``). * Several JavaScript packages (see ``bower.json``) diff --git a/requirements.txt b/requirements.txt index 77450b5f0..952727e81 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,14 +1,6 @@ # Requirements for OpenSlides in production --r requirements_big_mode.txt +-r requirements/production.txt +-r requirements/big_mode.txt # Requirements for development and tests in alphabetical order -coverage -#flake8 -# Use master of flake8 until flake8 3.6 is released that supports python3.7 -git+https://gitlab.com/pycqa/flake8.git -isort -mypy -pytest>=3.7.2 -pytest-django -pytest-asyncio -pytest-cov +-r requirements/development.txt diff --git a/requirements_big_mode.txt b/requirements/big_mode.txt similarity index 75% rename from requirements_big_mode.txt rename to requirements/big_mode.txt index 8c2c36a55..3bbdb1793 100644 --- a/requirements_big_mode.txt +++ b/requirements/big_mode.txt @@ -1,6 +1,3 @@ -# Requirements for OpenSlides in production --r requirements_production.txt - # Requirements for Redis and PostgreSQL support channels-redis>=2.2,<2.3 django-redis-sessions>=0.6.1,<0.7 diff --git a/requirements/development.txt b/requirements/development.txt new file mode 100644 index 000000000..e5119b485 --- /dev/null +++ b/requirements/development.txt @@ -0,0 +1,10 @@ +coverage +#flake8 +# Use master of flake8 until flake8 3.6 is released that supports python3.7 +git+https://gitlab.com/pycqa/flake8.git +isort +mypy +pytest>=3.7.2 +pytest-django +pytest-asyncio +pytest-cov diff --git a/requirements_production.txt b/requirements/production.txt similarity index 100% rename from requirements_production.txt rename to requirements/production.txt diff --git a/setup.cfg b/setup.cfg index a54329814..c302ad73a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -15,6 +15,8 @@ include_trailing_comma = true multi_line_output = 3 lines_after_imports = 2 combine_as_imports = true +known_first_party = openslides +known_third_party = pytest [mypy] ignore_missing_imports = true diff --git a/setup.py b/setup.py index bcc73d721..cc1b853cb 100644 --- a/setup.py +++ b/setup.py @@ -11,10 +11,10 @@ from openslides import __url__ as openslides_url with open('README.rst') as readme: long_description = readme.read() -with open('requirements_production.txt') as requirements_production: +with open('requirements/production.txt') as requirements_production: install_requires = requirements_production.readlines() -with open('requirements_big_mode.txt') as requirements_big_mode: +with open('requirements/big_mode.txt') as requirements_big_mode: extras_requires = requirements_big_mode.readlines() setup( From b4498e15343ba4b38a20ecc98dbfff10d5ead9fb Mon Sep 17 00:00:00 2001 From: Jochen Saalfeld Date: Sat, 1 Sep 2018 21:03:57 +0200 Subject: [PATCH 2/2] use 3.7-slim instead of 3.7 (#17) --- Dockerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 78d05a664..74799828a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ -FROM python:3.7 -RUN apt-get -y update && apt-get -y upgrade -RUN apt-get install -y libpq-dev supervisor curl vim +FROM python:3.7-slim +RUN apt-get -y update && \ + apt-get -y upgrade && \ + apt-get install -y libpq-dev supervisor curl wget xz-utils bzip2 git gcc RUN useradd -m openslides ## BUILD JS STUFF