# "pathlib2" and "scandir" are backports of new standard modules,  pyfakefs will
# use them if available when running on older Python versions.
#
# They are dependencies of pytest when Python < 3.6 so we sometimes get them via
# requirements.txt, this file makes them explicit dependencies for testing &
# development.
#
# Older versions might work ok, the versions chosen here are just the latest
# available at the time of writing.
pathlib2>=2.3.2
scandir>=1.8

# pandas + xlrd are used to test pandas-specific patches to allow
# pyfakefs to work with pandas
# we use the latest version to see any problems with new versions
pandas==1.3.5; python_version == '3.7' # pyup: ignore
pandas==2.0.3; python_version > '3.7'
xlrd==2.0.1; python_version > '3.6'
openpyxl==3.1.2
