pyyaml altair pandas pint>=0.19.1 py-moneyed iso8601 xlrd workalendar inflection # <6.0.2 and pydantic due to https://github.com/jaraco/inflect/issues/187 inflect<=6.0.2 pydantic<2 humanize psycopg2-binary # due to https://github.com/pallets-eco/flask-security/issues/907 (should be re-opened as of Sep 24) -> https://foss.heptapod.net/python-libs/passlib/-/issues/187 bcrypt<=4.0.1 # hashing backend for passlib, not sure why we need it now argon2_cffi pytz isodate # see https://github.com/FlexMeasures/flexmeasures/issues/1485 click<8.2.0 click-default-group email_validator rq # sort order rq-dashboard>=0.8.0.2 # the following uses environment markers (see PEP 496) rq-win; os_name == 'nt' or os_name == 'win' # Note: we sometimes limit redis due to our use of fakeredis (check their pyproject.toml) redis>4.5 tldextract # pinned to <6.9 due to a HiGHS deadlock, see https://github.com/FlexMeasures/flexmeasures/issues/1443 pyomo>=5.6,<6.9 tabulate timetomodel>=0.7.3 # 3.0.2: significantly faster db queries, incl. bulk saving, 3.1: numpy/pandas upgrade timely-beliefs[forecast]>=3.2 python-dotenv # a backport, not needed in Python3.8 importlib_metadata # see GH#607 for issue on this pin sqlalchemy>=2.0 Flask-SSLify # use <0.4 if not compatible with Flask2.2 yet Flask_JSON Flask-Migrate Flask-WTF Flask-Mail # <5.2: https://github.com/Parallels/rq-dashboard/issues/417 as 5.2 requires Flask 2.3 Flask-Security-Too>=5.0 Flask-Login Flask-Classful>=0.16 Flask-Marshmallow Flask-Cors sentry-sdk[flask] # <4: https://github.com/FlexMeasures/flexmeasures/issues/1447 marshmallow>=3,<4 marshmallow-polyfield marshmallow-sqlalchemy>=0.23.1 webargs # Minimum version that supports datetimes on the (x-)axis. uniplot>=0.12.1 # >=2.5.2: https://github.com/marshmallow-code/flask-marshmallow/issues/262 Flask-SQLAlchemy>=2.5.2 # flask should be after all the flask plugins, because setup might find they ARE flask flask>=1.0 werkzeug vl-convert-python Pillow>=10.0.1 # https://github.com/FlexMeasures/flexmeasures/security/dependabot/91