[build-system]
requires = [
    "setuptools >= 61",
    "wheel",
    "packaging;platform_system=='Windows'",
]
build-backend = "setuptools.build_meta"

[project]
name = "rpy2-robjects"
description = "Python interface to the R language (embedded R)"
readme = "README.md"
requires-python = ">=3.8"
license = { text = "GPLv2+" }
authors = [{ name = "Laurent Gautier", email = "lgautier@gmail.com" }]
classifiers = [
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
    "Intended Audience :: Developers",
    "Intended Audience :: Science/Research",
]
dependencies = [
    "rpy2-rinterface>=3.6.0",
    "jinja2",
    "tzlocal",
    "packaging;platform_system=='Windows'",
    "backports.zoneinfo;python_version<'3.9'"
]
dynamic = ["version"]

[tool.setuptools.dynamic]
version = { attr = "rpy2.robjects.version.__version__" }

[project.optional-dependencies]
doc = ['ipykernel',
       'jupytext',
       'multipledispatch',
       'nbconvert',
       'numpy',
       'pandas',
       'pygraphviz',
       'sphinx']
test_minimal = ["pytest>=8", "coverage", "pytest-cov"]
test = ["pytest",  "coverage", "pytest-cov", "ipython",
        "numpy>=1.26;python_version >= '3.9'", "numpy<1.26;python_version < '3.9'",
        "pandas>=1.3.5;python_version >= '3.10'", "pandas;python_version < '3.10'"]
numpy = ["numpy>=1.26;python_version >= '3.9'", "numpy<1.26;python_version < '3.9'"]
pandas = ["numpy>=1.26;python_version >= '3.9'", "numpy<1.26;python_version < '3.9'",
          "pandas>=1.3.5; python_version >= '3.10'", "pandas;python_version < '3.10'"]
types = ["mypy", "packaging", "pandas-stubs",
         "types-Pygments", "types-tzlocal"]

all = ["pytest", "ipython",
       "numpy>=1.26;python_version >= '3.9'", "numpy<1.26;python_version < '3.9'",
       "pandas>=1.3.5; python_version >= '3.10'", "pandas;python_version < '3.10'"]

[project.urls]
Homepage = "https://rpy2.github.io"
Documentation = "https://rpy2.github.io/doc.html"
Source = "https://github.com/rpy2/rpy2"
Tracker = "https://github.com/rpy2/rpy2/issue"


[tool.setuptools.packages.find]
where = ["src"]
include = ["rpy2.*"]
namespaces = true

#[tool.setuptools]
#packages = [
#    "rpy2",
#    'rpy2.robjects',
#    'rpy2.robjects.lib',
#    'rpy2.interactive',
    #'rpy2.tests',
    #'rpy2.tests.robjects',
    #'rpy2.tests.robjects.lib'
#]
# zip_safe = false # not supported as of setuptools==62.3.2

[tool.pytest.ini_options]
minversion = "6.0"
testpaths = ["rpy2/robjects/tests", "rpy2/ipython/tests"]
