Skip to content

Commit

Permalink
Merge pull request #86 from SmdhMdep/add-plugins
Browse files Browse the repository at this point in the history
add datasci-sharing, cloudstorage and datasetformchain plugins
  • Loading branch information
Dylanben144 authored Aug 21, 2023
2 parents ff67210 + d455f99 commit 8cf2c35
Show file tree
Hide file tree
Showing 10 changed files with 119 additions and 66 deletions.
6 changes: 2 additions & 4 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,8 @@ jobs:
s|^CKAN_SMTP_PASSWORD=.*|CKAN_SMTP_PASSWORD=${{ secrets.SMTP_P }}|g
s|^CKANEXT__SAML2AUTH__IDP_METADATA__REMOTE_URL=.*|CKANEXT__SAML2AUTH__IDP_METADATA__REMOTE_URL=${{ secrets.SAML_REMOTE_URL }}|g
s|^CKANEXT__SAML2AUTH__ENTITY_ID=.*|CKANEXT__SAML2AUTH__ENTITY_ID=${{ secrets.SAML_IDENTITY_ID }}|g
s|^CKANEXT__S3FILESTORE__AWS_BUCKET_NAME=.*|CKANEXT__S3FILESTORE__AWS_BUCKET_NAME=${{ secrets.S3_NAME }}|g
s|^CKANEXT__S3FILESTORE__REGION_NAME=.*|CKANEXT__S3FILESTORE__REGION_NAME=${{ secrets.S3_REG }}|g
s|^CKANEXT__S3FILESTORE__AWS_ACCESS_KEY_ID=.*|CKANEXT__S3FILESTORE__AWS_ACCESS_KEY_ID=${{ env.AWS_ACCESS_KEY_ID }}|g
s|^CKANEXT__S3FILESTORE__AWS_SECRET_ACCESS_KEY=.*|CKANEXT__S3FILESTORE__AWS_SECRET_ACCESS_KEY=${{ env.AWS_SECRET_ACCESS_KEY }}|g' \
s|^CKAN_SMDH__AWS_STORAGE_BUCKET_NAME=.*|CKAN_SMDH__AWS_STORAGE_BUCKET_NAME=${{ secrets.S3_NAME }}|g
s|^CKAN_SMDH__AWS_STORAGE_BUCKET_REGION=.*|CKAN_SMDH__AWS_STORAGE_BUCKET_REGION=${{ secrets.S3_REG }}|g' \
"contrib/docker-ckan/prod.env.template" > "contrib/docker-ckan/.env"
echo INTERNAL_REG=${{ secrets.CONTAINER_REGISTRY_URL }} >> contrib/docker-ckan/.env
Expand Down
24 changes: 13 additions & 11 deletions contrib/docker-ckan/base/setup/start_ckan.sh
Original file line number Diff line number Diff line change
Expand Up @@ -91,22 +91,24 @@ ckan config-tool $CKAN_INI "ckanext.saml2auth.logout_expected_binding = $CKANEXT
ckan config-tool $CKAN_INI "ckanext.saml2auth.enable_ckan_internal_login = $CKANEXT__SAML2AUTH__ENABLE_CKAN_INTERNAL_LOGIN"
ckan config-tool $CKAN_INI "ckanext.saml2auth.default_fallback_endpoint = home.index"

echo "Loading S3Filestore settings into ckan.ini"
ckan config-tool $CKAN_INI "ckanext.s3filestore.aws_bucket_name = $CKANEXT__S3FILESTORE__AWS_BUCKET_NAME"
ckan config-tool $CKAN_INI "ckanext.s3filestore.region_name = $CKANEXT__S3FILESTORE__REGION_NAME"
ckan config-tool $CKAN_INI "ckanext.s3filestore.signature_version = $CKANEXT__S3FILESTORE__SIGNATURE_VERSION"
ckan config-tool $CKAN_INI "ckanext.s3filestore.aws_access_key_id = $CKANEXT__S3FILESTORE__AWS_ACCESS_KEY_ID"
ckan config-tool $CKAN_INI "ckanext.s3filestore.aws_secret_access_key = $CKANEXT__S3FILESTORE__AWS_SECRET_ACCESS_KEY"
ckan config-tool $CKAN_INI "ckanext.s3filestore.filesystem_download_fallback = $CKANEXT__S3FILESTORE__FILESYSTEM_DOWNLOAD_FALLBACK"
ckan config-tool $CKAN_INI "ckanext.s3filestore.signed_url_expiry = $CKANEXT__S3FILESTORE__SIGNED_URL_EXPIRY"
ckan config-tool $CKAN_INI "ckanext.s3filestore.signed_url_cache_window = $CKANEXT__S3FILESTORE__SIGNED_URL_CACHE_WINDOW"
ckan config-tool $CKAN_INI "ckanext.s3filestore.public_cache_window = $CKANEXT__S3FILESTORE__PUBLIC_URL_CACE_WINDOW"

echo "Loading Private Datasets settinngs into ckan.ini"
ckan config-tool $CKAN_INI "ckan.privatedatasets.parser = $CKAN__PRIVATEDATASETS__PARSER"
# ckan config-tool $CKAN_INI "ckan.privatedatasets.show_acquire_url_on_create = $CKAN__PRIVATEDATASETS__SHOW_ACQUIRE_URL_ON_CREATE"
# ckan config-tool $CKAN_INI "ckan.privatedatasets.show_acquire_url_on_edit = $CKAN__PRIVATEDATASETS__SHOW_ACQUIRE_URL_ON_EDIT"

echo "Loading Datasci Sharing settings into ckan.ini"
ckan config-tool $CKAN_INI \
"ckanext.datasci_sharing.iam_resources_prefix = $CKANEXT__DATASCI_SHARING__IAM_RESOURCES_PREFIX" \
"ckanext.datasci_sharing.bucket_name = $CKANEXT__DATASCI_SHARING__BUCKET_NAME" \
"ckanext.datasci_sharing.aws_access_key_id = $CKANEXT__DATASCI_SHARING__AWS_ACCESS_KEY_ID" \
"ckanext.datasci_sharing.aws_secret_access_key = $CKANEXT__DATASCI_SHARING__AWS_SECRET_ACCESS_KEY"

echo "Loading Cloudstorage settings into ckan.ini"
ckan config-tool $CKAN_INI \
"ckanext.cloudstorage.driver = $CKANEXT__CLOUDSTORAGE__DRIVER" \
"ckanext.cloudstorage.driver_options = $CKANEXT__CLOUDSTORAGE__DRIVER_OPTIONS" \
"ckanext.cloudstorage.container_name = $CKANEXT__CLOUDSTORAGE__CONTAINER_NAME"

if [ $? -eq 0 ]
then
# Start supervisord
Expand Down
24 changes: 13 additions & 11 deletions contrib/docker-ckan/dev-base/setup/start_ckan_development.sh
Original file line number Diff line number Diff line change
Expand Up @@ -114,22 +114,24 @@ ckan config-tool $CKAN_INI "ckanext.saml2auth.want_assertions_or_response_signed
ckan config-tool $CKAN_INI "ckanext.saml2auth.logout_expected_binding = $CKANEXT__SAML2AUTH__LOGOUT_EXPECTED_BINDING"
ckan config-tool $CKAN_INI "ckanext.saml2auth.enable_ckan_internal_login = $CKANEXT__SAML2AUTH__ENABLE_CKAN_INTERNAL_LOGIN"

echo "Loading S3Filestore settings into ckan.ini"
ckan config-tool $CKAN_INI "ckanext.s3filestore.aws_bucket_name = $CKANEXT__S3FILESTORE__AWS_BUCKET_NAME"
ckan config-tool $CKAN_INI "ckanext.s3filestore.region_name = $CKANEXT__S3FILESTORE__REGION_NAME"
ckan config-tool $CKAN_INI "ckanext.s3filestore.signature_version = $CKANEXT__S3FILESTORE__SIGNATURE_VERSION"
ckan config-tool $CKAN_INI "ckanext.s3filestore.aws_access_key_id = $CKANEXT__S3FILESTORE__AWS_ACCESS_KEY_ID"
ckan config-tool $CKAN_INI "ckanext.s3filestore.aws_secret_access_key = $CKANEXT__S3FILESTORE__AWS_SECRET_ACCESS_KEY"
ckan config-tool $CKAN_INI "ckanext.s3filestore.filesystem_download_fallback = $CKANEXT__S3FILESTORE__FILESYSTEM_DOWNLOAD_FALLBACK"
ckan config-tool $CKAN_INI "ckanext.s3filestore.signed_url_expiry = $CKANEXT__S3FILESTORE__SIGNED_URL_EXPIRY"
ckan config-tool $CKAN_INI "ckanext.s3filestore.signed_url_cache_window = $CKANEXT__S3FILESTORE__SIGNED_URL_CACHE_WINDOW"
ckan config-tool $CKAN_INI "ckanext.s3filestore.public_cache_window = $CKANEXT__S3FILESTORE__PUBLIC_URL_CACE_WINDOW"

echo "Loading Private Datasets settinngs into ckan.ini"
ckan config-tool $CKAN_INI "ckan.privatedatasets.parser = $CKAN__PRIVATEDATASETS__PARSER"
# ckan config-tool $CKAN_INI "ckan.privatedatasets.show_acquire_url_on_create = $CKAN__PRIVATEDATASETS__SHOW_ACQUIRE_URL_ON_CREATE"
# ckan config-tool $CKAN_INI "ckan.privatedatasets.show_acquire_url_on_edit = $CKAN__PRIVATEDATASETS__SHOW_ACQUIRE_URL_ON_EDIT"

echo "Loading Datasci Sharing settings into ckan.ini"
ckan config-tool $CKAN_INI \
"ckanext.datasci_sharing.iam_resources_prefix = $CKANEXT__DATASCI_SHARING__IAM_RESOURCES_PREFIX" \
"ckanext.datasci_sharing.bucket_name = $CKANEXT__DATASCI_SHARING__BUCKET_NAME" \
"ckanext.datasci_sharing.aws_access_key_id = $CKANEXT__DATASCI_SHARING__AWS_ACCESS_KEY_ID" \
"ckanext.datasci_sharing.aws_secret_access_key = $CKANEXT__DATASCI_SHARING__AWS_SECRET_ACCESS_KEY"

echo "Loading Cloudstorage settings into ckan.ini"
ckan config-tool $CKAN_INI \
"ckanext.cloudstorage.driver = $CKANEXT__CLOUDSTORAGE__DRIVER" \
"ckanext.cloudstorage.driver_options = $CKANEXT__CLOUDSTORAGE__DRIVER_OPTIONS" \
"ckanext.cloudstorage.container_name = $CKANEXT__CLOUDSTORAGE__CONTAINER_NAME"

# Run any startup scripts provided by images extending this one
if [[ -d "/docker-entrypoint.d" ]]
then
Expand Down
17 changes: 12 additions & 5 deletions contrib/docker-ckan/dev-deploy/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,6 @@ RUN pip3 install -e 'git+https://github.com/SmdhMdep/ckanext-falkor.git@main#egg
pip3 install -r ${APP_DIR}/src/ckanext-falkor/requirements.txt && \
pip3 install -r ${APP_DIR}/src/ckanext-falkor/dev-requirements.txt

## S3FILESTORE ###
RUN pip3 install -e 'git+https://github.com/SmdhMdep/ckanext-s3filestore.git@main#egg=ckanext-s3filestore' && \
pip3 install -r ${APP_DIR}/src/ckanext-s3filestore/requirements.txt && \
pip3 install -r ${APP_DIR}/src/ckanext-s3filestore/dev-requirements.txt

## TAGLIST ###
RUN pip3 install -e 'git+https://github.com/SmdhMdep/ckanext-taglist.git@main#egg=ckanext-taglist' && \
pip3 install -r ${APP_DIR}/src/ckanext-taglist/requirements.txt && \
Expand All @@ -81,6 +76,18 @@ RUN pip3 install -e 'git+https://github.com/SmdhMdep/ckanext-generalpublic.git@m
RUN pip3 install -e 'git+https://github.com/ckan/ckanext-pdfview.git@master#egg=ckanext-pdfview' && \
pip3 install -r ${APP_DIR}/src/ckanext-pdfview/dev-requirements.txt

## CLOUDSTORAGE ##
RUN pip3 install -e 'git+https://github.com/SmdhMdep/ckanext-cloudstorage.git@master#egg=ckanext-cloudstorage' && \
pip3 install -r ${APP_DIR}/src/ckanext-cloudstorage/requirements.txt

## DATASCI SHARING ##
RUN pip3 install -e 'git+https://github.com/SmdhMdep/ckanext-datasci-sharing.git@main#egg=ckanext-datasci-sharing' && \
pip3 install -r ${APP_DIR}/src/ckanext-datasci-sharing/requirements.txt

## DATASET FORM CHAIN ##
RUN pip3 install -e 'git+https://github.com/SmdhMdep/ckanext-datasetformchain.git@main#egg=ckanext-datasetformchain' && \
pip3 install -r ${APP_DIR}/src/ckanext-datasetformchain/requirements.txt

COPY patches ${APP_DIR}/patches

RUN for d in $APP_DIR/patches/*; do \
Expand Down
34 changes: 20 additions & 14 deletions contrib/docker-ckan/dev.env.template
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@ CKAN_MAX_RESOURCE_SIZE_MB=300
# 12 hours in seconds
CKAN_SESSION_TIMEOUT=43200

# CKAN SMDH shared config values
CKAN_SMDH__AWS_ACCESS_KEY_ID=
CKAN_SMDH__AWS_SECRET_ACCESS_KEY=
CKAN_SMDH__AWS_STORAGE_BUCKET_NAME=

# Solr
SOLR_IMAGE_VERSION=2.9-solr8
CKAN_SOLR_URL=http://solr:8983/solr/ckan
Expand All @@ -69,8 +74,8 @@ NGINX_PORT=80
NGINX_SSLPORT=443

# Extensions
# Extensions
CKAN__PLUGINS="envvars image_view text_view recline_view pdf_view datastore datapusher sso saml2auth falkor smdh taglist usertracking granularvisibility generalpublic privatedatasets"
# Keep the datasetformchain plugin at the end as it depends on the order to function correctly
CKAN__PLUGINS="envvars datasci_sharing image_view text_view recline_view pdf_view cloudstorage datastore datapusher sso saml2auth falkor smdh taglist usertracking granularvisibility generalpublic privatedatasets datasetformchain"
CKAN__HARVEST__MQ__TYPE=redis
CKAN__HARVEST__MQ__HOSTNAME=redis
CKAN__HARVEST__MQ__PORT=6379
Expand All @@ -90,20 +95,21 @@ CKANEXT__SAML2AUTH__WANT_ASSERTIONS_OR_RESPONSE_SIGNED=False
CKANEXT__SAML2AUTH__LOGOUT_EXPECTED_BINDING=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST
CKANEXT__SAML2AUTH__ENABLE_CKAN_INTERNAL_LOGIN=True

# # S3FILESTORE #
CKANEXT__S3FILESTORE__AWS_BUCKET_NAME=
CKANEXT__S3FILESTORE__REGION_NAME=
CKANEXT__S3FILESTORE__SIGNATURE_VERSION=
CKANEXT__S3FILESTORE__AWS_ACCESS_KEY_ID=
CKANEXT__S3FILESTORE__AWS_SECRET_ACCESS_KEY=
CKANEXT__S3FILESTORE__FILESYSTEM_DOWNLOAD_FALLBACK=True
CKANEXT__S3FILESTORE__SIGNED_URL_EXPIRY=3600
CKANEXT__S3FILESTORE__SIGNED_URL_CACHE_WINDOW=1800
CKANEXT__S3FILESTORE__PUBLIC_URL_CACE_WINDOW=86400


## PRIVATE DATASETS ##
CKAN__PRIVATEDATASETS__PARSER=ckanext.privatedatasets.parsers.fiware:FiWareNotificationParser
CKAN__PRIVATEDATASETS__SHOW_ACQUIRE_URL_ON_CREATE=True
CKAN__PRIVATEDATASETS__SHOW_ACQUIRE_URL_ON_EDIT=True

## DATASCI SHARING ##
CKANEXT__DATASCI_SHARING__IAM_RESOURCES_PREFIX=AEPDataSciSharingDev
CKANEXT__DATASCI_SHARING__BUCKET_NAME=$CKAN_SMDH__AWS_STORAGE_BUCKET_NAME
CKANEXT__DATASCI_SHARING__AWS_ACCESS_KEY_ID=$CKAN_SMDH__AWS_ACCESS_KEY_ID
CKANEXT__DATASCI_SHARING__AWS_SECRET_ACCESS_KEY=$CKAN_SMDH__AWS_SECRET_ACCESS_KEY

## CLOUDSTORAGE ##
CKANEXT__CLOUDSTORAGE__DRIVER=S3
CKANEXT__CLOUDSTORAGE__CONTAINER_NAME=$CKAN_SMDH__AWS_STORAGE_BUCKET_NAME
CKANEXT__CLOUDSTORAGE__DRIVER_OPTIONS={"key": "$CKAN_SMDH__AWS_ACCESS_KEY_ID", "secret": "$CKAN_SMDH__AWS_SECRET_ACCESS_KEY", "region": "$CKAN_SMDH__AWS_STORAGE_BUCKET_REGION"}


INTERNAL_REG=
28 changes: 27 additions & 1 deletion contrib/docker-ckan/docker-compose.prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,30 @@ x-aws-cloudformation:
Protocol: HTTPS
Port: 443
Type: AWS::ElasticLoadBalancingV2::Listener


services:
ckan:
x-aws-role:
Version: "2012-10-17"
Statement:
- Sid: S3BucketAccess
Effect: Allow
Action:
- s3:*
- s3-object-lambda:*
Resource:
- arn:aws:s3:::${CKAN_SMDH__AWS_STORAGE_BUCKET_NAME}
- Sid: DataSciSharingIAMAccess
Effect: Allow
Action:
- iam:ListPolicies
- iam:ListRoles
- iam:ListUsers
- iam:ListGroups
Resource: "*"
- Sid: DataSciSharingIAMManagedResourcesActions
Effect: Allow
Action: iam:*
Resource:
- arn:aws:iam::450869586150:policy/ckan-smdh/datasci-sharing/*
- arn:aws:iam::450869586150:group/ckan-smdh/datasci-sharing/*
28 changes: 16 additions & 12 deletions contrib/docker-ckan/prod.env.template
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@ CKAN_MAX_RESOURCE_SIZE_MB=300
# 12 hours in seconds
CKAN_SESSION_TIMEOUT=43200

# CKAN SMDH shared config values
CKAN_SMDH__AWS_STORAGE_BUCKET_NAME=
CKAN_SMDH__AWS_STORAGE_BUCKET_REGION=

# Solr
SOLR_IMAGE_VERSION=2.9-solr8
CKAN_SOLR_URL=http://solr:8983/solr/ckan
Expand All @@ -74,7 +78,8 @@ NGINX_PORT=80
NGINX_SSLPORT=443

# Extensions
CKAN__PLUGINS="envvars image_view text_view datatables_view pdf_view datastore datapusher sso saml2auth falkor smdh usertracking taglist granularvisibility generalpublic privatedatasets"
# Keep the datasetformchain plugin at the end as it depends on the order to function correctly
CKAN__PLUGINS="envvars datasci_sharing image_view text_view datatables_view pdf_view cloudstorage datastore datapusher sso saml2auth falkor smdh usertracking taglist granularvisibility generalpublic privatedatasets datasetformchain"
CKAN__HARVEST__MQ__TYPE=redis
CKAN__HARVEST__MQ__HOSTNAME=redis
CKAN__HARVEST__MQ__PORT=6379
Expand All @@ -94,20 +99,19 @@ CKANEXT__SAML2AUTH__WANT_ASSERTIONS_OR_RESPONSE_SIGNED=False
CKANEXT__SAML2AUTH__LOGOUT_EXPECTED_BINDING=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST
CKANEXT__SAML2AUTH__ENABLE_CKAN_INTERNAL_LOGIN=False

# # S3FILESTORE #
CKANEXT__S3FILESTORE__AWS_BUCKET_NAME=
CKANEXT__S3FILESTORE__REGION_NAME=
CKANEXT__S3FILESTORE__SIGNATURE_VERSION=s3v4
CKANEXT__S3FILESTORE__AWS_ACCESS_KEY_ID=
CKANEXT__S3FILESTORE__AWS_SECRET_ACCESS_KEY=
CKANEXT__S3FILESTORE__FILESYSTEM_DOWNLOAD_FALLBACK=True
CKANEXT__S3FILESTORE__SIGNED_URL_EXPIRY=3600
CKANEXT__S3FILESTORE__SIGNED_URL_CACHE_WINDOW=1800
CKANEXT__S3FILESTORE__PUBLIC_URL_CACE_WINDOW=86400


## PRIVATE DATASETS ##
CKAN__PRIVATEDATASETS__PARSER=ckanext.privatedatasets.parsers.fiware:FiWareNotificationParser
CKAN__PRIVATEDATASETS__SHOW_ACQUIRE_URL_ON_CREATE=True
CKAN__PRIVATEDATASETS__SHOW_ACQUIRE_URL_ON_EDIT=True


## DATASCI SHARING ##
CKANEXT__DATASCI_SHARING__IAM_RESOURCES_PREFIX=AEPDataSciSharingStaging
CKANEXT__DATASCI_SHARING__BUCKET_NAME=$CKAN_SMDH__AWS_STORAGE_BUCKET_NAME


## CLOUDSTORAGE ##
CKANEXT__CLOUDSTORAGE__DRIVER=S3
CKANEXT__CLOUDSTORAGE__DRIVER_OPTIONS={"region": "$CKAN_SMDH__AWS_STORAGE_BUCKET_REGION"}
CKANEXT__CLOUDSTORAGE__CONTAINER_NAME=$CKAN_SMDH__AWS_STORAGE_BUCKET_NAME
16 changes: 12 additions & 4 deletions contrib/docker-ckan/prod/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,6 @@ RUN pip3 install -e 'git+https://github.com/SmdhMdep/ckanext-smdh.git@main#egg=
RUN pip3 install -e 'git+https://github.com/SmdhMdep/ckanext-falkor.git@main#egg=ckanext-falkor' && \
pip3 install -r ${APP_DIR}/src/ckanext-falkor/requirements.txt

## S3FILESTORE ###
RUN pip3 install -e 'git+https://github.com/SmdhMdep/ckanext-s3filestore.git@main#egg=ckanext-s3filestore' && \
pip3 install -r ${APP_DIR}/src/ckanext-s3filestore/requirements.txt

## TAGLIST ###
RUN pip3 install -e 'git+https://github.com/SmdhMdep/ckanext-taglist.git@main#egg=ckanext-taglist' && \
pip3 install -r ${APP_DIR}/src/ckanext-taglist/requirements.txt
Expand All @@ -52,6 +48,18 @@ RUN pip3 install -e 'git+https://github.com/SmdhMdep/ckanext-generalpublic.git@m
## CKANEXT-PDFVIEW ##
RUN pip3 install -e 'git+https://github.com/ckan/ckanext-pdfview.git@master#egg=ckanext-pdfview'

## CLOUDSTORAGE ##
RUN pip3 install -e 'git+https://github.com/SmdhMdep/ckanext-cloudstorage.git@master#egg=ckanext-cloudstorage' && \
pip3 install -r ${APP_DIR}/src/ckanext-cloudstorage/requirements.txt

## DATASCI SHARING ##
RUN pip3 install -e 'git+https://github.com/SmdhMdep/ckanext-datasci-sharing.git@main#egg=ckanext-datasci-sharing' && \
pip3 install -r ${APP_DIR}/src/ckanext-datasci-sharing/requirements.txt

## DATASET FORM CHAIN ##
RUN pip3 install -e 'git+https://github.com/SmdhMdep/ckanext-datasetformchain.git@main#egg=ckanext-datasetformchain' && \
pip3 install -r ${APP_DIR}/src/ckanext-datasetformchain/requirements.txt

# Copy the healthcheck script
COPY contrib/docker-ckan/prod/health_check.sh ${APP_DIR}/health_check.sh
RUN chmod +x ${APP_DIR}/health_check.sh
Expand Down
4 changes: 2 additions & 2 deletions requirements.in
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ pysolr==3.6.0
python-dateutil>=1.5.0
pytz
PyUtilib==5.7.1
pyyaml==5.4.1
pyyaml==6.0.1
repoze.who==2.3
requests==2.25.1
Routes==1.13
Expand All @@ -33,6 +33,6 @@ sqlparse==0.3.0
tzlocal==1.3
unicodecsv>=0.9
watchdog==2.1.5 # For py3 support
webassets==0.12.1
webassets==2.0
Werkzeug[watchdog]==1.0.0
zope.interface==5.4.0
4 changes: 2 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ python-editor==1.0.4 # via alembic
python-magic==0.4.15 # via -r requirements.in
pytz==2016.7 # via -r requirements.in, babel, flask-babel, tzlocal
pyutilib==5.7.1 # via -r requirements.in
pyyaml==5.4.1 # via -r requirements.in
pyyaml==6.0.1 # via -r requirements.in
redis==3.5.3 # via rq
repoze.lru==0.7 # via routes
repoze.who==2.3 # via -r requirements.in
Expand All @@ -52,7 +52,7 @@ tzlocal==1.3 # via -r requirements.in
unicodecsv==0.14.1 # via -r requirements.in
urllib3==1.26.6 # via requests
watchdog==2.1.5 # via -r requirements.in, werkzeug
webassets==0.12.1 # via -r requirements.in
webassets==2.0 # via -r requirements.in
webencodings==0.5.1 # via bleach
webob==1.8.7 # via fanstatic, repoze.who
werkzeug[watchdog]==1.0.0 # via -r requirements.in, flask
Expand Down

0 comments on commit 8cf2c35

Please sign in to comment.