Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pin package constraints #323

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ RUN pip3 install --user bsddb3==6.2.7

WORKDIR /sio2/oioioi

COPY --chown=oioioi:oioioi setup.py requirements.txt ./
COPY --chown=oioioi:oioioi setup.py requirements_pinned.txt requirements.txt ./
RUN pip3 install -r requirements.txt --user
COPY --chown=oioioi:oioioi requirements_static.txt ./
RUN pip3 install -r requirements_static.txt --user
Expand Down
3 changes: 3 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Pinned versions of requirements
-r requirements_pinned.txt

# These dependencies need to be installed from external sources,
# therefore they must be listed here. Moreover, they cannot be listed in
# setup.py, as pip is not able to install them.
Expand Down
317 changes: 317 additions & 0 deletions requirements_pinned.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,317 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# by the following command:
#
# pip-compile --output-file=requirements_pinned.txt setup.py
#
amqp==5.2.0
# via kombu
asgiref==3.7.2
# via django
attrs==23.2.0
# via
# automat
# twisted
automat==22.10.0
# via twisted
backports-zoneinfo[tzdata]==0.2.1
# via
# celery
# django
# kombu
beautifulsoup4==4.12.3
# via oioioi (setup.py)
billiard==4.2.0
# via celery
bleach==6.0.0
# via oioioi (setup.py)
bsddb3==6.2.7
# via
# filetracker
# oioioi (setup.py)
celery==5.3.6
# via oioioi (setup.py)
certifi==2024.2.2
# via
# requests
# sentry-sdk
cffi==1.16.0
# via cryptography
chardet==5.1.0
# via oioioi (setup.py)
charset-normalizer==3.3.2
# via
# pdfminer-six
# requests
click==8.1.7
# via
# celery
# click-didyoumean
# click-plugins
# click-repl
click-didyoumean==0.3.0
# via celery
click-plugins==1.1.1
# via celery
click-repl==0.3.0
# via celery
constantly==23.10.4
# via twisted
coreapi==2.3.3
# via oioioi (setup.py)
coreschema==0.0.4
# via coreapi
coverage[toml]==7.4.3
# via pytest-cov
cryptography==42.0.5
# via pdfminer-six
dj-pagination==2.5.0
# via oioioi (setup.py)
django==4.2.10
# via
# django-appconf
# django-debug-toolbar
# django-extensions
# django-formtools
# django-js-asset
# django-otp
# django-phonenumber-field
# django-ranged-response
# django-simple-captcha
# django-two-factor-auth
# djangorestframework
# oioioi (setup.py)
django-appconf==1.0.6
# via django-compressor
django-compressor==4.3.1
# via
# django-libsass
# oioioi (setup.py)
django-debug-toolbar==4.3.0
# via oioioi (setup.py)
django-extensions==3.2.3
# via oioioi (setup.py)
django-formtools==2.4.1
# via
# django-two-factor-auth
# oioioi (setup.py)
django-gravatar2==1.4.4
# via oioioi (setup.py)
django-js-asset==2.2.0
# via django-mptt
django-libsass==0.9
# via oioioi (setup.py)
django-mptt==0.14.0
# via oioioi (setup.py)
django-nested-admin==4.0.2
# via oioioi (setup.py)
django-otp==1.3.0
# via django-two-factor-auth
django-phonenumber-field==7.3.0
# via django-two-factor-auth
django-ranged-response==0.2.0
# via django-simple-captcha
django-registration-redux==2.12
# via oioioi (setup.py)
django-simple-captcha==0.5.18
# via oioioi (setup.py)
django-supervisor @ git+https://github.com/sio2project/django-supervisor
# via oioioi (setup.py)
django-two-factor-auth==1.15.5
# via oioioi (setup.py)
djangorestframework==3.14.0
# via oioioi (setup.py)
dnslib==0.9.24
# via oioioi (setup.py)
exceptiongroup==1.2.0
# via pytest
execnet==2.0.2
# via pytest-xdist
filetracker==2.1.5
# via oioioi (setup.py)
flup6==1.1.1
# via filetracker
fontawesomefree==6.4.2
# via oioioi (setup.py)
fpdf==1.7.2
# via oioioi (setup.py)
gevent==1.3.1
# via filetracker
greenlet==0.4.13
# via
# filetracker
# gevent
# sqlalchemy
gunicorn==19.9.0
# via filetracker
hyperlink==21.0.0
# via twisted
idna==3.6
# via
# hyperlink
# requests
importlib-metadata==4.13.0
# via oioioi (setup.py)
incremental==22.10.0
# via twisted
iniconfig==2.0.0
# via pytest
itypes==1.2.0
# via coreapi
jinja2==3.1.3
# via coreschema
kombu==5.3.5
# via celery
libsass==0.23.0
# via django-libsass
markupsafe==2.1.5
# via
# jinja2
# werkzeug
mistune==0.8.4
# via oioioi (setup.py)
packaging==23.2
# via pytest
pdfminer-six==20221105
# via oioioi (setup.py)
phonenumbers==8.13.31
# via oioioi (setup.py)
pika==1.3.2
# via oioioi (setup.py)
pillow==10.2.0
# via django-simple-captcha
pluggy==1.4.0
# via pytest
progressbar2==4.4.1
# via filetracker
prompt-toolkit==3.0.43
# via click-repl
py==1.11.0
# via pytest-html
pycparser==2.21
# via cffi
pygments==2.15.1
# via oioioi (setup.py)
pyhamcrest==2.1.0
# via twisted
pypng==0.20220715.0
# via qrcode
pytest==7.4.4
# via
# oioioi (setup.py)
# pytest-cov
# pytest-django
# pytest-html
# pytest-metadata
# pytest-xdist
pytest-cov==4.1.0
# via oioioi (setup.py)
pytest-django==4.8.0
# via oioioi (setup.py)
pytest-html==3.2.0
# via oioioi (setup.py)
pytest-metadata==3.1.1
# via
# oioioi (setup.py)
# pytest-html
pytest-xdist==3.5.0
# via oioioi (setup.py)
python-dateutil==2.8.2
# via
# celery
# oioioi (setup.py)
python-monkey-business==1.0.0
# via django-nested-admin
python-utils==3.8.2
# via progressbar2
pytz==2023.3.post1
# via
# djangorestframework
# oioioi (setup.py)
pyyaml==6.0.1
# via oioioi (setup.py)
qrcode==7.4.2
# via django-two-factor-auth
rcssmin==1.1.1
# via django-compressor
requests==2.31.0
# via
# coreapi
# filetracker
# oioioi (setup.py)
rjsmin==1.2.1
# via django-compressor
sentry-sdk==1.25.1
# via oioioi (setup.py)
simplejson==3.14.0
# via oioioi (setup.py)
six==1.16.0
# via
# automat
# bleach
# filetracker
# oioioi (setup.py)
# python-dateutil
# python-monkey-business
sortedcontainers==2.1.0
# via oioioi (setup.py)
soupsieve==2.5
# via beautifulsoup4
sqlalchemy==2.0.27
# via oioioi (setup.py)
sqlparse==0.4.4
# via
# django
# django-debug-toolbar
supervisor==4.2.5
# via
# django-supervisor
# oioioi (setup.py)
tomli==2.0.1
# via
# coverage
# pytest
twisted==20.3.0
# via oioioi (setup.py)
typing-extensions==4.10.0
# via
# asgiref
# kombu
# python-utils
# qrcode
# sqlalchemy
tzdata==2024.1
# via
# backports-zoneinfo
# celery
unicodecsv==0.14.1
# via oioioi (setup.py)
unidecode==1.3.8
# via oioioi (setup.py)
uritemplate==4.1.1
# via coreapi
urllib3==1.26.18
# via
# oioioi (setup.py)
# requests
# sentry-sdk
vine==5.1.0
# via
# amqp
# celery
# kombu
watchdog==2.3.1
# via django-supervisor
wcwidth==0.2.13
# via prompt-toolkit
webencodings==0.5.1
# via bleach
werkzeug==3.0.1
# via oioioi (setup.py)
zipp==3.17.0
# via importlib-metadata
zope-interface==6.2
# via twisted

# The following packages are considered to be unsafe in a requirements file:
# setuptools
16 changes: 16 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,14 @@
print("ERROR: message and edit the source at your own risk.", file=sys.stderr)
sys.exit(2)


# All modules in the newest versions at the time of upgrade to Django 4.2
# unless specified otherwise.
# This list includes requirements for sioworkers 1.4.3 (near the end of file)
#
# To recompile requirements (pin newest compatible versions) run:
# pip-compile --output-file=requirements_pinned.txt setup.py
#
requirements = [
"Django>=4.2,<4.3",
"pytz>=2023.3,<2023.4",
Expand Down Expand Up @@ -72,6 +78,16 @@
"importlib-metadata<5.0",
"supervisor<4.3", # previously http://github.com/Supervisor/supervisor/zipball/master#egg=supervisor==4.0.0.dev0
"django-supervisor@git+https://github.com/sio2project/django-supervisor#egg=django-supervisor", # previously http://github.com/badochov/djsupervisor/zipball/master#egg=djsupervisor==0.4.0

# sioworkers requirements
"filetracker>=2.1.5,<3.0",
"bsddb3==6.2.7",
"simplejson==3.14.0",
"supervisor>=4.0,<4.3",
"Twisted==20.3.0",
"sortedcontainers==2.1.0",
"six",
"urllib3>=1.26.14,<2.0",
]

setup(
Expand Down
Loading