Skip to content

Commit

Permalink
Merge pull request #492 from HEPData/python-upgrade
Browse files Browse the repository at this point in the history
Python upgrade
  • Loading branch information
GraemeWatt committed Apr 21, 2022
2 parents 387d803 + 6b195a5 commit 3299c1d
Show file tree
Hide file tree
Showing 13 changed files with 167 additions and 44 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Expand Up @@ -48,7 +48,7 @@ jobs:
matrix:
postgres-version: [12, 13]
es-image: ['elasticsearch:7.1.1', 'amazon/opendistro-for-elasticsearch:1.13.2']
python-version: [ '3.6', '3.7', '3.8' ]
python-version: [ '3.7', '3.8', '3.9' ]

# Service containers to run with `runner-job`
services:
Expand Down Expand Up @@ -138,7 +138,7 @@ jobs:
py.test -vv tests/*_test.py
- name: Setup Sauce Connect
uses: saucelabs/sauce-connect-action@main
if: startsWith(matrix.postgres-version, '12') && startsWith(matrix.es-image, 'amazon/opendistro') && startsWith(matrix.python-version, '3.6')
if: startsWith(matrix.postgres-version, '12') && startsWith(matrix.es-image, 'amazon/opendistro') && startsWith(matrix.python-version, '3.9')
with:
username: ${{ secrets.SAUCE_USERNAME }}
accessKey: ${{ secrets.SAUCE_ACCESS_KEY }}
Expand All @@ -147,15 +147,15 @@ jobs:
scVersion: 4.7.0
verbose: true
- name: Run end-to-end tests
if: startsWith(matrix.postgres-version, '12') && startsWith(matrix.es-image, 'amazon/opendistro') && startsWith(matrix.python-version, '3.6')
if: startsWith(matrix.postgres-version, '12') && startsWith(matrix.es-image, 'amazon/opendistro') && startsWith(matrix.python-version, '3.9')
env:
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }}
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }}
COVERAGE_FILE: '.coverage_e2e'
run: |
if [[ -n ${{ secrets.SAUCE_USERNAME }} && -n ${{ secrets.SAUCE_ACCESS_KEY}} ]]; then py.test -vv tests/e2e; fi
- name: Run coveralls
if: startsWith(matrix.postgres-version, '12') && startsWith(matrix.es-image, 'amazon/opendistro') && startsWith(matrix.python-version, '3.6')
if: startsWith(matrix.postgres-version, '12') && startsWith(matrix.es-image, 'amazon/opendistro') && startsWith(matrix.python-version, '3.9')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_SERVICE_NAME: github
Expand Down
2 changes: 1 addition & 1 deletion .readthedocs.yml
Expand Up @@ -14,7 +14,7 @@ formats: all

# Optionally set the version of Python and requirements required to build your docs
python:
version: 3.6
version: 3.8
install:
- requirements: requirements.txt
- method: pip
Expand Down
21 changes: 18 additions & 3 deletions Dockerfile
@@ -1,4 +1,19 @@
FROM inspirehep/python:3.6
FROM python:3.9

WORKDIR /usr/src/app

ENV PYTHONBUFFERED=0 \
SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt" \
REQUESTS_CA_BUNDLE="/etc/ssl/certs/ca-certificates.crt"

COPY certs/CERN_Root_Certification_Authority_2.pem /usr/local/share/ca-certificates/CERN_Root_Certification_Authority_2.crt
COPY certs/CERN_Grid_Certification_Authority.crt /usr/local/share/ca-certificates/CERN_Grid_Certification_Authority.crt

RUN update-ca-certificates \
&& pip config set global.cert "${REQUESTS_CA_BUNDLE}"

ENTRYPOINT [ "python3" ]
CMD [ "--version" ]

ARG APP_ENVIRONMENT

Expand Down Expand Up @@ -27,8 +42,8 @@ RUN hepdata collect -v && \

RUN bash -c "echo $APP_ENVIRONMENT"

RUN bash -c "set -x; [[ ${APP_ENVIRONMENT:-prod} = local-web ]] && (cd /usr/local/var && wget https://saucelabs.com/downloads/sc-4.6.2-linux.tar.gz && \
tar -xvf sc-4.6.2-linux.tar.gz) || echo 'Not installing SC on prod or worker build'"
RUN bash -c "set -x; [[ ${APP_ENVIRONMENT:-prod} = local-web ]] && (cd /usr/local/var && wget https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz && \
tar -xvf sc-4.7.1-linux.tar.gz) || echo 'Not installing SC on prod or worker build'"

WORKDIR /code

Expand Down
50 changes: 33 additions & 17 deletions INSTALL.rst
Expand Up @@ -29,15 +29,16 @@ Running services locally
Prerequisites
=============

HEPData uses several services, which you will need to install before running HEPData:
HEPData runs with Python 3.7, 3.8 or 3.9. It also uses several services, which you will need to install before running HEPData:
* `PostgreSQL <http://www.postgresql.org/>`_ (version 12) database server
* `Redis <http://redis.io/>`_ for caching
* `Elasticsearch <https://www.elastic.co/products/elasticsearch>`_ (version 7) for indexing and information retrieval. See below for further instructions.
* `Node.js <https://nodejs.org>`_ (version 14) JavaScript run-time environment and its package manager `npm <https://www.npmjs.com/>`_. (If you're using a Debian-based OS, please follow the `official installation instructions <https://github.com/nodesource/distributions/blob/master/README.md#debinstall>`_ to install NodeJS (which will also install npm), to avoid issues with ``node-sass``.)
* `Node.js <https://nodejs.org>`_ (version 14) JavaScript run-time environment and its package manager `npm <https://www.npmjs.com/>`_. [If you're using a Debian-based OS, please follow the `official installation instructions <https://github.com/nodesource/distributions/blob/master/README.md#debinstall>`_ to install NodeJS (which will also install npm), to avoid issues with ``node-sass``.]

These services can be installed using the relevant package manager for your system,
for example, using ``yum`` or ``apt-get`` for Linux or ``brew`` for macOS.


Elasticsearch
-------------

Expand Down Expand Up @@ -91,12 +92,12 @@ Installation

Python
------
The HEPData code is only compatible with Python 3 (not Python 2). It has been tested with Python 3.6.
It has also been tested with Python 3.8 on an M1 MacBook where some changes were required (documented below).
The HEPData code is only compatible with Python 3.7, 3.8 or 3.9 (not Python 2 or other 3.x versions). We recommend Python 3.9.

First install all requirements in a `virtualenv <https://virtualenv.pypa.io/en/stable/installation.html>`_.
(Use `virtualenvwrapper <https://virtualenvwrapper.readthedocs.io/en/latest/install.html>`_ if you prefer.)
The instructions below use ``virtualenv`` directly (Python module `venv <https://docs.python.org/3/library/venv.html>`_)
First install all requirements in a Python virtual environment.
(Use `virtualenv <https://virtualenv.pypa.io/en/stable/installation.html>`_ or
`virtualenvwrapper <https://virtualenvwrapper.readthedocs.io/en/latest/install.html>`_ if you prefer.)
The instructions below use the Python module `venv <https://docs.python.org/3/library/venv.html>`_ directly
with a target directory also called ``venv`` (change it if you prefer).

.. code-block:: console
Expand All @@ -121,6 +122,10 @@ reinstall PyYAML to ensure it's built with LibYAML bindings, e.g. on an M1 MacBo
(venv)$ LDFLAGS="-L$(brew --prefix)/lib" CFLAGS="-I$(brew --prefix)/include" pip install --global-option="--with-libyaml" --force pyyaml==5.4.1
(venv)$ export FLASK_ENV=development
The last line sets an environment variable to switch Flask to run in development mode.
You may want to set this automatically in your bash or zsh profile.

Use of config_local.py
----------------------
Expand All @@ -144,6 +149,19 @@ use a local converter URL, and specify custom temporary and data directories:
An example file ``hepdata/config_local.local.py`` is provided, which can be copied to ``hepdata/config_local.py``.

With ``TESTING=True`` emails will be output to the terminal, but links are suppressed preventing some functionality
such as clicking on confirmation links when a new user is created (see
`HEPData/hepdata#493 <https://github.com/HEPData/hepdata/issues/493>`_).
With ``TESTING=False`` you will need to configure an SMTP server to send emails such as
`SMTP2GO <https://www.smtp2go.com>`_ that offers a free plan with a limit of 1000 emails/month.
An alternative is to install `MailCatcher <https://mailcatcher.me/>`_ (e.g. ``brew install mailcatcher``) where you
just need to add these lines to ``hepdata/config_local.py``:

.. code-block:: python
MAIL_SERVER = '127.0.0.1'
MAIL_PORT = 1025
JavaScript
----------

Expand All @@ -157,7 +175,7 @@ On an M1 MacBook, until an `issue with Invenio-Assets <https://github.com/inveni
is addressed, you will need to replace
``"node-sass": "^4.12.0",`` with ``"sass": "^1.50.0",`` (or another `Dart Sass <https://sass-lang.com/dart-sass>`_
version) in the ``package.json`` file of the ``invenio-assets`` installation
(e.g. ``venv/lib/python3.8/site-packages/invenio_assets/assets/package.json``).
(e.g. ``venv/lib/python3.9/site-packages/invenio_assets/assets/package.json``).

Celery
------
Expand All @@ -166,7 +184,7 @@ Run Celery (-B runs celery beat):

.. code-block:: console
(hepdata)$ celery worker -l info -E -B -A hepdata.celery -Q celery,priority,datacite
(hepdata)$ celery -A hepdata.celery worker -l info -E -B -Q celery,priority,datacite
PostgreSQL
----------
Expand All @@ -186,11 +204,7 @@ executing the steps below. On macOS you can install with ``brew install postgre
Next, create the database and database tables.
Also create a user and populate the database with some records.
Make sure that Celery is running before proceeding further.
Until an `issue <https://github.com/HEPData/hepdata/issues/461>`_ is addressed and ``Invenio-Accounts`` is upgraded
to at least v1.4.9, you will need to manually
`patch <https://github.com/inveniosoftware/invenio-accounts/commit/b91649244b11479d8fa817745141c0027001dff1>`_
the ``invenio_accounts/cli.py`` file (e.g. ``venv/lib/python3.8/site-packages/invenio_accounts/cli.py``) before the
next step. Pass your email address and a password as an argument to the script:
Pass your email address and a password as an argument to the script:

.. code-block:: console
Expand All @@ -212,6 +226,9 @@ Inspect the ``hepdata`` database from the command line as the ``hepdata`` user:
58 | 1299143 | 2014-08-05 17:55:54
(4 rows)
hepdata=> update accounts_user set confirmed_at=NOW() where id=1;
UPDATE 1
If you're having problems with access permissions to the database (on Linux), a simple solution is to edit the
PostgreSQL Client Authentication Configuration File (e.g. ``/var/lib/pgsql/12/data/pg_hba.conf``) to
``trust`` local and IPv4/IPv6 connections (instead of ``peer`` or ``ident``), then restart the PostgreSQL
Expand All @@ -220,11 +237,10 @@ server (e.g. ``sudo systemctl restart postgresql-12``).
Run a local development server
------------------------------

Now, switch Flask to the development environment and enable debug mode, then start the HEPData web application:
Now start the HEPData web application in debug mode:

.. code-block:: console
(hepdata)$ export FLASK_ENV=development
(hepdata)$ hepdata run --debugger --reload
(hepdata)$ firefox http://localhost:5000/
Expand Down Expand Up @@ -315,7 +331,7 @@ To run the tests:

.. code-block:: console
$ docker-compose exec web bash -c "/usr/local/var/sc-4.5.4-linux/bin/sc -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY -x https://eu-central-1.saucelabs.com/rest/v1 & ./run-tests.sh"
$ docker-compose exec web bash -c "/usr/local/var/sc-4.7.1-linux/bin/sc -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY --region eu-central & ./run-tests.sh"
.. _docker-compose-tips:
Expand Down
53 changes: 53 additions & 0 deletions certs/CERN_Grid_Certification_Authority.crt
@@ -0,0 +1,53 @@
-----BEGIN CERTIFICATE-----
MIIJdjCCB16gAwIBAgIKYZhqPwAAAAAAAzANBgkqhkiG9w0BAQ0FADBKMQswCQYD
VQQGEwJjaDENMAsGA1UEChMEQ0VSTjEsMCoGA1UEAxMjQ0VSTiBSb290IENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IDIwHhcNMTMwNDIyMTExMDE2WhcNMjMwNDIyMTEy
MDE2WjBWMRIwEAYKCZImiZPyLGQBGRYCY2gxFDASBgoJkiaJk/IsZAEZFgRjZXJu
MSowKAYDVQQDEyFDRVJOIEdyaWQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIi
MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDS9Ypy1csm0aZA4/QnWe2oaiQI
LqfeekV8kSSvOhW2peo5cLNIKbXATOo1l2iwIbCWV8SRU2TLKxHIL8fAOJud5n9K
mEKBew7nzubl1wG93B4dY0KREdb3/QB/7OkG8ZZvLqrvQZVGT1CgJ+NFFUiJ315D
FWkKctZv27LjQamzCxpX+gZSsmwZmSReY67cnm6P7z+/3xVNhwb+4Z+1Ww4vHhMc
dh1Dsrkv9vXU01UN752QtQ6l56uQLYEB2+vaHB6IpyC9zAQ/33GulCq8Gbj7ykPd
9AcRVBeJAErSK+oMHThtdLD7mhTkZivakaNe4O1EhPFH0rWwV45IFN7ipELA5qDx
djdzo6JtLJQMaSV/TV+amEf2CaKlD0giqGhjfSNiOX5HCmpqV14kbl+7Qho6ykZy
b1DGpf70yILnX+AUtdpd8lulTu1yg1Bg5cFQskUIk5+s4nsC1VpmeNxYaeFEcYZj
Ph2mdD7zLo889MtF7kZv7+6J6p4NBL3fQ9Os8/h8XVlfDatzbpVH4jYKKAd4nwJb
knJaKPE0LzLzVfJBwnDxqe8hb64gI8Frludp+jaOYzvMqlzAe9z4a9971iXIWaaG
unbAoEkXj69y7MsvCjWXB7o9HdBaS9FL+ZtXTKCyXl+XLFseYQoQburKr+eTcRed
KLJNj4tRF1799PO69wIDAQABo4IEUDCCBEwwEAYJKwYBBAGCNxUBBAMCAQAwHQYD
VR0OBBYEFKWg/WZY/bndeuGynZ+j0eVQGJTnMIIBLQYDVR0gBIIBJDCCASAwggEc
BgorBgEEAWAKBAEBMIIBDDCBvgYIKwYBBQUHAgIwgbEega4AQwBFAFIATgAgAEcA
cgBpAGQAIABDAGUAcgB0AGkAZgBpAGMAYQB0AGkAbwBuACAAQQB1AHQAaABvAHIA
aQB0AHkAIABDAGUAcgB0AGkAZgBpAGMAYQB0AGUAIABQAG8AbABpAGMAeQAgAGEA
bgBkACAAQwBlAHIAdABpAGYAaQBjAGEAdABlACAAUAByAGEAYwB0AGkAYwBlACAA
UwB0AGEAdABlAG0AZQBuAHQwSQYIKwYBBQUHAgEWPWh0dHA6Ly9jYWZpbGVzLmNl
cm4uY2gvY2FmaWxlcy9jcC1jcHMvY2Vybi1ncmlkLWNhLWNwLWNwcy5wZGYwGQYJ
KwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF
MAMBAf8wHwYDVR0jBBgwFoAU+nv73psNo/JSt2ztWw8Loqam+AQwggFEBgNVHR8E
ggE7MIIBNzCCATOgggEvoIIBK4ZSaHR0cDovL2NhZmlsZXMuY2Vybi5jaC9jYWZp
bGVzL2NybC9DRVJOJTIwUm9vdCUyMENlcnRpZmljYXRpb24lMjBBdXRob3JpdHkl
MjAyLmNybIaB1GxkYXA6Ly8vQ049Q0VSTiUyMFJvb3QlMjBDZXJ0aWZpY2F0aW9u
JTIwQXV0aG9yaXR5JTIwMixDTj1DRVJOUEtJUk9PVDAyLENOPUNEUCxDTj1QdWJs
aWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9u
LERDPWNlcm4sREM9Y2g/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29i
amVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBRAYIKwYBBQUHAQEEggE2
MIIBMjBnBggrBgEFBQcwAoZbaHR0cDovL2NhZmlsZXMuY2Vybi5jaC9jYWZpbGVz
L2NlcnRpZmljYXRlcy9DRVJOJTIwUm9vdCUyMENlcnRpZmljYXRpb24lMjBBdXRo
b3JpdHklMjAyLmNydDCBxgYIKwYBBQUHMAKGgblsZGFwOi8vL0NOPUNFUk4lMjBS
b290JTIwQ2VydGlmaWNhdGlvbiUyMEF1dGhvcml0eSUyMDIsQ049QUlBLENOPVB1
YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRp
b24sREM9Y2VybixEQz1jaD9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9
Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG9w0BAQ0FAAOCAgEAQjzXhTV8
d+6HaLqSnp7k9whxK6E75BZQJNR2Q/rslhhwijs6nekBjb+JPgmM6M0a7ra+D1Oi
4wKaWiCvU9yleZZSqfEkRl7WK9trRYXHqkqVSnmwNJNsediqioBBDHn/ZMnyc25Z
OLbM+99Z+awvoMbyPy0moUrR7ZqKi3C02N2mkiidO0m3bYnXKwxDUvka5n06oLnI
YSZfwFNJ7IEvSSF4mEzdDeQI+A+87+deb5XOTXee8i1ZUyI08Cg6tuZ8W6NdvY7t
+5iNxRmZJ6DBVwrvXutz0JSqklBCw267osEpX0AKGSL9fE2yGlWBX8WfDLB43lVE
z/HP7kQwYEmsfnfT2yTLzkMJrHSeR0Zymm/oB3amZziKex4kGk+/v7yV1pSYKJce
9QDZE+LYio/ndz01sejMPS87prYJqnII5hDYUjg9F1CoaejhjOlpmCU/10wyEVN0
nhSP9Wc5z0+lhzU5C1A9r1gXQMuqCA2e7Cv5wv+r9dS+12Uly52jwmYf8mm6H0ZY
LZQbvMayHebD4WCnB7HNdp2Va4z5JrLvwG3J1EXfTjWiPhqOweevOg0rc6t2yhkM
iB9RXMlFoFzbsuE/4Z4Hd0GQcDijcnWJ/VbT15OD2C16yyBiLvu88nXX1gKuOzxL
vu4cw9FOuQZo147y9KPelpUT/SO+nrePzVs=
-----END CERTIFICATE-----
38 changes: 38 additions & 0 deletions certs/CERN_Root_Certification_Authority_2.pem
@@ -0,0 +1,38 @@
-----BEGIN CERTIFICATE-----
MIIGqTCCBJGgAwIBAgIQAojDcLlcbrhBX0qrEka4mzANBgkqhkiG9w0BAQ0FADBK
MQswCQYDVQQGEwJjaDENMAsGA1UEChMEQ0VSTjEsMCoGA1UEAxMjQ0VSTiBSb290
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IDIwHhcNMTMwMzE5MTI1NTM2WhcNMzMw
MzE5MTMwNTM0WjBKMQswCQYDVQQGEwJjaDENMAsGA1UEChMEQ0VSTjEsMCoGA1UE
AxMjQ0VSTiBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IDIwggIiMA0GCSqG
SIb3DQEBAQUAA4ICDwAwggIKAoICAQDxqYPFW2qVVi3Rw1NKlEf7x70xF+6a8uE/
Tu4ZVQF/K2RXI95QLkYfKItZvy9Az3ib/VlUho5f8fBaqy4n70uwC7+qd3Aq1/xQ
ysykPCbBBAsOSQQpTlhrMD2V5Ya9zrirphOhutddiqV96zBCyMM+Gz5uYv9u+cm4
tg1EOmAMGh2UNxfTFNVmXKkk7eFTSC1+zgb28H6nd3xzV27sn9bfOfGh//ZPy5gm
Qx0Oh/tc6WMreWzRZBQm5SJiK0QOzPv09p5WmdY2WxZoqNTFBDACQO7ysFOktc74
fPVFX/lmt4jFNSZRIOvvaACI/qlEaAJTR4FHIY9uSMsV8DrtzhI1Ucyv3kqlQpbF
jDouq44IryA/np4s/124bW+x8+n/v+at/AxPjvHBLiGhB+J38Z6KcJogoDnGzIXR
S+YUr/vGz34jOmkRuDN5STuuAXzyCKFXaoAm0AwjTziIv3E0jxC1taw6FpKevnd1
CLsTLAEUiEjzStFkDhd/Hpipc57zmMFY8VYet2wVqSFjnt2REWOVbZlbCiMHmSeD
u5EuZLiU8xlkiaCfn4A5XZ6X0qprbgDviGJtwxzNvTg7Hn0ziW5/ELryfQXCwZJ+
FVne8Zu8sbgy/sDkX+pyFuyB4XgiM0eMNkoexIXJaRdlMWDIL5ysiIXQKjhynAv5
KLHbRjciVwIDAQABo4IBiTCCAYUwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB
Af8wHQYDVR0OBBYEFPp7+96bDaPyUrds7VsPC6KmpvgEMBAGCSsGAQQBgjcVAQQD
AgEAMIIBMgYDVR0gBIIBKTCCASUwggEhBgorBgEEAWAKBAEBMIIBETCBwgYIKwYB
BQUHAgIwgbUegbIAQwBFAFIATgAgAFIAbwBvAHQAIABDAGUAcgB0AGkAZgBpAGMA
YQB0AGkAbwBuACAAQQB1AHQAaABvAHIAaQB0AHkAIAAyACAAQwBlAHIAdABpAGYA
aQBjAGEAdABlACAAUABvAGwAaQBjAHkAIABhAG4AZAAgAEMAZQByAHQAaQBmAGkA
YwBhAHQAZQAgAFAAcgBhAGMAdABpAGMAZQAgAFMAdABhAHQAZQBtAGUAbgB0MEoG
CCsGAQUFBwIBFj5odHRwOi8vY2FmaWxlcy5jZXJuLmNoL2NhZmlsZXMvY3AtY3Bz
L2Nlcm4tcm9vdC1jYTItY3AtY3BzLnBkZjANBgkqhkiG9w0BAQ0FAAOCAgEAo0Px
l4CZ6C6bDH+b6jV5uUO0NIHtvLuVgQLMdKVHtQ2UaxeIrWwD+Kz1FyJCHTRXrCvE
OFOca9SEYK2XrbqZGvRKdDRsq+XYts6aCampXj5ahh6r4oQJ8U7aLVfziKTK13Gy
dYFoAUeUrlNklICt3v2wWBaa1tg2oSlU2g4iCg9kYpRnIW3VKSrVsdVk2lUa4EXs
nTEJ30OS7rqX3SdqZp8G+awtBEReh2XPhRgJ6w3xiScP/UdWYUam2LflCGX3RibB
/DZhgGHRRoE4/D0kQMP2XTz6cClbNklECTlp0qZIbiaf350HbcDEFzYRSSIi0emv
kRGcMgsi8yTTU87q8Cr4hETxAF3ZbSVNC0ZaTZ8RBbM9BXguhYzKkVBgG/cMpUjs
B6tY2HMZbAZ3TKQRb/bRyUigM9DniKWeXkeL/0Nsno+XbcpAqLjtVIRwCg6jTLUi
1NRsl3BP6C824dVaoI8Ry7m+o6O+mtocw4BMhHfTcoWCO8CWjT0ME67JzaAYa5eM
+OqoWtgbgweBlfO0/3GMnVGMAmI4FlhH2oWKWQgWdgr0Wgh9K05VcxSpJ87/zjhb
MQn/bEojWmp6eUppPaqNFcELvud41qoe6hLsOYQVUQ1sHi7n6ouhg4BAbwS2iyD2
uiA6FHTCeLreFGUzs5osPKiz3GE5D6V9she9xIQ=
-----END CERTIFICATE-----
2 changes: 1 addition & 1 deletion docker-compose.yml
Expand Up @@ -28,7 +28,7 @@ services:
- ".:/code"
worker:
build: .
command: "celery worker -A hepdata.celery --loglevel=INFO -Q celery,priority,datacite"
command: "celery -A hepdata.celery worker -l info -E -B -Q celery,priority,datacite"
environment:
- "APP_CELERY_BROKER_URL=redis://cache:6379/0"
- "APP_CACHE_REDIS_URL=redis://cache:6379/0"
Expand Down
7 changes: 4 additions & 3 deletions hepdata/config_local.local.py
Expand Up @@ -3,9 +3,10 @@
NO_DOI_MINTING = True
USE_TWITTER = False
CFG_CONVERTER_URL = 'http://localhost:5500'
CFG_TMPDIR = '/Users/watt/tmp/hepdata/tmp' # replace with a suitable local directory
CFG_DATADIR = '/Users/watt/tmp/hepdata/data' # replace with a suitable local directory
MAIL_SERVER = 'localhost'
CFG_TMPDIR = '/Users/watt/tmp/hepdata/tmp' # replace with a suitable existing local directory
CFG_DATADIR = '/Users/watt/tmp/hepdata/data' # replace with a suitable existing local directory
MAIL_SERVER = '127.0.0.1'
MAIL_PORT = 1025
CELERY_BEAT_SCHEDULE = {}
# RUN_SELENIUM_LOCALLY = True
# RATELIMIT_ENABLED = False
5 changes: 4 additions & 1 deletion hepdata/modules/email/utils.py
Expand Up @@ -107,7 +107,10 @@ def send_error_mail(exception):


def connect():
smtp = SMTP(current_app.config['MAIL_SERVER'])
if current_app.config['SMTP_ENCRYPTION']:
smtp = SMTP(current_app.config['MAIL_SERVER'])
else:
smtp = SMTP()
smtp.connect(current_app.config['MAIL_SERVER'], current_app.config['MAIL_PORT'])
if not current_app.config['SMTP_NO_PASSWORD']:
if current_app.config['SMTP_ENCRYPTION']:
Expand Down
2 changes: 1 addition & 1 deletion hepdata/version.py
Expand Up @@ -28,4 +28,4 @@
and parsed by ``setup.py``.
"""

__version__ = "0.9.4dev20220108"
__version__ = "0.9.4dev20220414"
15 changes: 7 additions & 8 deletions requirements.txt
@@ -1,26 +1,25 @@
Babel==2.9.1
beautifulsoup4==4.5.1
bleach==3.3.0
celery==4.4.6
celery==5.1.2
click==7.1.1
datacite==1.1.2
elasticsearch==7.1.0
elasticsearch-dsl==7.1.0
elasticsearch==7.10.1
elasticsearch-dsl==7.4.0
email-validator==1.1.0
Flask==1.1.4
Flask-CeleryExt==0.3.4
Flask-CeleryExt==0.4.1
Flask-Cors==3.0.9
Flask-Login==0.3.2
gevent==1.4.0
gunicorn==19.5.0
hepdata-converter-ws-client==0.2.2
hepdata-validator==0.3.3
invenio-access==1.4.2 # Indirect (needed by invenio-admin)
invenio-accounts==1.4.6
invenio-accounts==1.4.9
invenio-admin==1.3.0
invenio-app==1.3.1
invenio-assets==1.2.6
invenio-base==1.2.4
invenio-base==1.2.5
invenio-config==1.0.3
invenio-db==1.0.9
invenio-logging[sentry-sdk]==1.3.0
Expand All @@ -38,7 +37,7 @@ msgpack==0.6.2
psycopg2-binary==2.9.3
python-dateutil==2.8.1
pyyaml==5.4.1
requests==2.23.0
requests==2.27.1
responses==0.10.9
speaklater==1.3
SQLAlchemy-Continuum==1.3.11 # Indirect: see https://github.com/inveniosoftware/invenio-records/issues/250
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Expand Up @@ -40,7 +40,7 @@
'pytest-mock>=3.1.0',
'pytest-timeout>=1.4.2',
'requests-mock>=1.8.0',
'selenium>=3.141.0',
'selenium>=4.0.0',
'lxml'
]

Expand Down Expand Up @@ -184,5 +184,5 @@ def run_tests(self):
'Development Status :: Production',
],
cmdclass={'test': PyTest},
python_requires='>=3.6',
python_requires='>=3.7, <3.10',
)

0 comments on commit 3299c1d

Please sign in to comment.