# Local development dependencies including docs building, website upload, ASV benchmark
name: pandas-dev
channels:
  - conda-forge
dependencies:
  - python=3.11
  - pip

  # build dependencies
  - versioneer
  - cython>=3.1.0,<4.0.0a0
  - meson>=1.2.1,<2
  - meson-python>=0.17.1,<1

  # test dependencies
  - pytest>=8.3.4
  - pytest-cov
  - pytest-xdist>=3.6.1
  - pytest-qt>=4.4.0
  - pytest-localserver
  - pyqt>=5.15.9
  - coverage

  # required dependencies
  - python-dateutil
  - numpy<3

  # optional dependencies
  - adbc-driver-postgresql>=1.2.0
  - adbc-driver-sqlite>=1.2.0
  - beautifulsoup4>=4.12.3
  - bottleneck>=1.4.2
  - fastparquet>=2024.11.0
  - fsspec>=2024.10.0
  - html5lib>=1.1
  - hypothesis>=6.116.0
  - gcsfs>=2024.10.0
  - jinja2>=3.1.5
  - lxml>=5.3.0
  - matplotlib>=3.9.3
  - numba>=0.60.0
  - numexpr>=2.10.2
  - openpyxl>=3.1.5
  - odfpy>=1.4.1
  - psycopg2>=2.9.10
  # TMP avoid pyarrow 24.0 due to typing issues (https://github.com/apache/arrow/issues/49831)
  - pyarrow>=13.0.0,<24.0.0
  - pyiceberg>=0.8.1
  - pymysql>=1.1.1
  - pyreadstat>=1.2.8
  - pytables>=3.10.1
  - python-calamine>=0.3.0
  - pytz>=2020.1
  - pyxlsb>=1.0.10
  - s3fs>=2024.10.0
  - scipy>=1.14.1
  - sqlalchemy>=2.0.36
  - tabulate>=0.9.0
  - xarray>=2024.10.0
  - xlrd>=2.0.1
  - xlsxwriter>=3.2.0
  - zstandard>=0.23.0

  # downstream packages
  - dask-core
  - seaborn-base
  - ipython

  # Mocking s3 tests
  - moto

  # benchmarks
  - asv>=0.6.1

  ## The compiler packages are meta-packages and install the correct compiler (activation) packages on the respective platforms.
  - c-compiler
  - cxx-compiler

  # code checks
  - flake8=7.1.0  # run in subprocess over docstring examples
  - mypy=1.17.1  # pre-commit uses locally installed mypy
  - tokenize-rt  # scripts/check_for_inconsistent_pandas_namespace.py
  - pre-commit>=4.2.0

  # documentation
  - gitpython  # obtain contributors from git for whatsnew
  - natsort  # DataFrame.sort_values doctest
  - pickleshare  # Needed for IPython Sphinx directive in the docs GH#60429
  - numpydoc
  # temporary installed with pip with custom patch until released
  # - pydata-sphinx-theme=0.16
  - pytest-cython  # doctest
  - sphinx
  - sphinx-design
  - sphinx-copybutton

  # static typing
  - scipy-stubs
  - types-python-dateutil
  - types-pymysql
  - types-pytz
  - types-pyyaml
  - types-setuptools

  # documentation (jupyter notebooks)
  - nbconvert>=7.11.0
  - nbsphinx
  - pandoc
  - ipywidgets
  - nbformat
  - notebook>=7.0.6
  - ipykernel

  # web
  # - jinja2  # already listed in optional dependencies, but documented here for reference
  - markdown
  - feedparser
  - pyyaml
  - requests
  - pygments # Code highlighting

  # web interactive REPL
  # see the following links for more context:
  # 1. https://jupyterlite-pyodide-kernel.readthedocs.io/en/stable/#compatibility
  # 2. https://pyodide.org/en/stable/usage/packages-in-pyodide.html
  - jupyterlite-core
  - jupyterlite-pyodide-kernel

  - pip:
      - tzdata>=2023.3
      - https://github.com/jorisvandenbossche/pydata-sphinx-theme/archive/refs/heads/v0.16.1+dismissable-announcement-banner.zip
