| [build-system] |
| |
| |
| requires = [ |
| "meson-python==0.13.1", |
| "meson==1.2.1", |
| "wheel", |
| "Cython~=3.0.5", |
| |
| |
| "numpy>=2.0", |
| "versioneer[toml]" |
| ] |
|
|
| build-backend = "mesonpy" |
|
|
| [project] |
| name = 'pandas' |
| dynamic = [ |
| 'version' |
| ] |
| description = 'Powerful data structures for data analysis, time series, and statistics' |
| readme = 'README.md' |
| authors = [ |
| { name = 'The Pandas Development Team', email='pandas-dev@python.org' }, |
| ] |
| license = {file = 'LICENSE'} |
| requires-python = '>=3.9' |
| dependencies = [ |
| "numpy>=1.22.4; python_version<'3.11'", |
| "numpy>=1.23.2; python_version=='3.11'", |
| "numpy>=1.26.0; python_version>='3.12'", |
| "python-dateutil>=2.8.2", |
| "pytz>=2020.1", |
| "tzdata>=2022.7" |
| ] |
| classifiers = [ |
| 'Development Status :: 5 - Production/Stable', |
| 'Environment :: Console', |
| 'Intended Audience :: Science/Research', |
| 'License :: OSI Approved :: BSD License', |
| 'Operating System :: OS Independent', |
| 'Programming Language :: Cython', |
| 'Programming Language :: Python', |
| 'Programming Language :: Python :: 3', |
| 'Programming Language :: Python :: 3 :: Only', |
| 'Programming Language :: Python :: 3.9', |
| 'Programming Language :: Python :: 3.10', |
| 'Programming Language :: Python :: 3.11', |
| 'Programming Language :: Python :: 3.12', |
| 'Topic :: Scientific/Engineering' |
| ] |
|
|
| [project.urls] |
| homepage = 'https://pandas.pydata.org' |
| documentation = 'https://pandas.pydata.org/docs/' |
| repository = 'https://github.com/pandas-dev/pandas' |
|
|
| [project.entry-points."pandas_plotting_backends"] |
| matplotlib = "pandas:plotting._matplotlib" |
|
|
| [project.optional-dependencies] |
| test = ['hypothesis>=6.46.1', 'pytest>=7.3.2', 'pytest-xdist>=2.2.0'] |
| pyarrow = ['pyarrow>=10.0.1'] |
| performance = ['bottleneck>=1.3.6', 'numba>=0.56.4', 'numexpr>=2.8.4'] |
| computation = ['scipy>=1.10.0', 'xarray>=2022.12.0'] |
| fss = ['fsspec>=2022.11.0'] |
| aws = ['s3fs>=2022.11.0'] |
| gcp = ['gcsfs>=2022.11.0', 'pandas-gbq>=0.19.0'] |
| excel = ['odfpy>=1.4.1', 'openpyxl>=3.1.0', 'python-calamine>=0.1.7', 'pyxlsb>=1.0.10', 'xlrd>=2.0.1', 'xlsxwriter>=3.0.5'] |
| parquet = ['pyarrow>=10.0.1'] |
| feather = ['pyarrow>=10.0.1'] |
| hdf5 = [ |
| |
| 'tables>=3.8.0'] |
| spss = ['pyreadstat>=1.2.0'] |
| postgresql = ['SQLAlchemy>=2.0.0', 'psycopg2>=2.9.6', 'adbc-driver-postgresql>=0.8.0'] |
| mysql = ['SQLAlchemy>=2.0.0', 'pymysql>=1.0.2'] |
| sql-other = ['SQLAlchemy>=2.0.0', 'adbc-driver-postgresql>=0.8.0', 'adbc-driver-sqlite>=0.8.0'] |
| html = ['beautifulsoup4>=4.11.2', 'html5lib>=1.1', 'lxml>=4.9.2'] |
| xml = ['lxml>=4.9.2'] |
| plot = ['matplotlib>=3.6.3'] |
| output-formatting = ['jinja2>=3.1.2', 'tabulate>=0.9.0'] |
| clipboard = ['PyQt5>=5.15.9', 'qtpy>=2.3.0'] |
| compression = ['zstandard>=0.19.0'] |
| consortium-standard = ['dataframe-api-compat>=0.1.7'] |
| all = ['adbc-driver-postgresql>=0.8.0', |
| 'adbc-driver-sqlite>=0.8.0', |
| 'beautifulsoup4>=4.11.2', |
| |
| |
| 'bottleneck>=1.3.6', |
| 'dataframe-api-compat>=0.1.7', |
| 'fastparquet>=2022.12.0', |
| 'fsspec>=2022.11.0', |
| 'gcsfs>=2022.11.0', |
| 'html5lib>=1.1', |
| 'hypothesis>=6.46.1', |
| 'jinja2>=3.1.2', |
| 'lxml>=4.9.2', |
| 'matplotlib>=3.6.3', |
| 'numba>=0.56.4', |
| 'numexpr>=2.8.4', |
| 'odfpy>=1.4.1', |
| 'openpyxl>=3.1.0', |
| 'pandas-gbq>=0.19.0', |
| 'psycopg2>=2.9.6', |
| 'pyarrow>=10.0.1', |
| 'pymysql>=1.0.2', |
| 'PyQt5>=5.15.9', |
| 'pyreadstat>=1.2.0', |
| 'pytest>=7.3.2', |
| 'pytest-xdist>=2.2.0', |
| 'python-calamine>=0.1.7', |
| 'pyxlsb>=1.0.10', |
| 'qtpy>=2.3.0', |
| 'scipy>=1.10.0', |
| 's3fs>=2022.11.0', |
| 'SQLAlchemy>=2.0.0', |
| 'tables>=3.8.0', |
| 'tabulate>=0.9.0', |
| 'xarray>=2022.12.0', |
| 'xlrd>=2.0.1', |
| 'xlsxwriter>=3.0.5', |
| 'zstandard>=0.19.0'] |
|
|
| |
| [tool.setuptools] |
| include-package-data = true |
|
|
| [tool.setuptools.packages.find] |
| include = ["pandas", "pandas.*"] |
| namespaces = false |
|
|
| [tool.setuptools.exclude-package-data] |
| "*" = ["*.c", "*.h"] |
|
|
| |
| |
| |
| [tool.versioneer] |
| VCS = "git" |
| style = "pep440" |
| versionfile_source = "pandas/_version.py" |
| versionfile_build = "pandas/_version.py" |
| tag_prefix = "v" |
| parentdir_prefix = "pandas-" |
|
|
| [tool.meson-python.args] |
| setup = ['--vsenv'] |
|
|
| [tool.cibuildwheel] |
| skip = "cp36-* cp37-* cp38-* pp* *_i686 *_ppc64le *_s390x" |
| build-verbosity = "3" |
| environment = {LDFLAGS="-Wl,--strip-all"} |
| |
| test-requires = "hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0 pytz<2024.2" |
| test-command = """ |
| PANDAS_CI='1' python -c 'import pandas as pd; \ |
| pd.test(extra_args=["-m not clipboard and not single_cpu and not slow and not network and not db", "-n 2", "--no-strict-data-files"]); \ |
| pd.test(extra_args=["-m not clipboard and single_cpu and not slow and not network and not db", "--no-strict-data-files"]);' \ |
| """ |
| free-threaded-support = true |
| before-build = "PACKAGE_DIR={package} bash {package}/scripts/cibw_before_build.sh" |
|
|
| [tool.cibuildwheel.windows] |
| before-build = "pip install delvewheel && bash {package}/scripts/cibw_before_build.sh" |
| repair-wheel-command = "delvewheel repair -w {dest_dir} {wheel}" |
|
|
| [[tool.cibuildwheel.overrides]] |
| select = "*-manylinux_aarch64*" |
| test-command = """ |
| PANDAS_CI='1' python -c 'import pandas as pd; \ |
| pd.test(extra_args=["-m not clipboard and not single_cpu and not slow and not network and not db and not fails_arm_wheels", "-n 2", "--no-strict-data-files"]); \ |
| pd.test(extra_args=["-m not clipboard and single_cpu and not slow and not network and not db", "--no-strict-data-files"]);' \ |
| """ |
|
|
| [[tool.cibuildwheel.overrides]] |
| select = "*-musllinux*" |
| before-test = "apk update && apk add musl-locales" |
|
|
| [[tool.cibuildwheel.overrides]] |
| select = "*-win*" |
| |
| |
| |
| test-command = "" |
|
|
| [[tool.cibuildwheel.overrides]] |
| |
| |
| |
| select = "*-macosx*" |
| environment = {CFLAGS="-g0"} |
|
|
| [tool.black] |
| target-version = ['py39', 'py310'] |
| required-version = '23.11.0' |
| exclude = ''' |
| ( |
| asv_bench/env |
| | \.egg |
| | \.git |
| | \.hg |
| | \.mypy_cache |
| | \.nox |
| | \.tox |
| | \.venv |
| | _build |
| | buck-out |
| | build |
| | dist |
| | setup.py |
| ) |
| ''' |
|
|
| [tool.ruff] |
| line-length = 88 |
| target-version = "py310" |
| fix = true |
| unfixable = [] |
| typing-modules = ["pandas._typing"] |
|
|
| select = [ |
| |
| "F", |
| |
| "E", "W", |
| |
| "YTT", |
| |
| "B", |
| |
| "Q", |
| |
| "T10", |
| |
| "INT", |
| |
| "PL", |
| |
| "PIE", |
| |
| "PYI", |
| |
| "TID", |
| |
| "ISC", |
| |
| "TCH", |
| |
| "C4", |
| |
| "PGH", |
| |
| "RUF", |
| |
| "S102", |
| |
| "NPY002", |
| |
| "PERF", |
| |
| "FLY", |
| |
| "G", |
| |
| "FA", |
| ] |
|
|
| ignore = [ |
| |
| |
| "E203", |
| |
| "E402", |
| |
| "E731", |
| |
| |
| |
| |
| |
| "B006", |
| |
| "B007", |
| |
| "B008", |
| |
| "B009", |
| |
| "B010", |
| |
| "B011", |
| |
| "B015", |
| |
| "B019", |
| |
| "B020", |
| |
| "B023", |
| |
| |
| |
| "B905", |
| |
| "PLR0913", |
| |
| "PLR0911", |
| |
| "PLR0912", |
| |
| "PLR0915", |
| |
| "PLW2901", |
| |
| "PLW0603", |
| |
| "PYI021", |
| |
| "PYI024", |
| |
| "PGH001", |
| |
| "PLC1901", |
| |
| "PYI041", |
| |
| "PERF102", |
| |
| "PERF203", |
|
|
|
|
| |
| |
| "B018", |
| |
| "B904", |
| |
| "PLR2004", |
| |
| "PLR0124", |
| |
| "PLR5501", |
| |
| "RUF005", |
| |
| "RUF007", |
| |
| "RUF010", |
| |
| "RUF012" |
| ] |
|
|
| exclude = [ |
| "doc/sphinxext/*.py", |
| "doc/build/*.py", |
| "doc/temp/*.py", |
| ".eggs/*.py", |
| |
| "pandas/util/version/*", |
| "pandas/io/clipboard/__init__.py", |
| |
| "env", |
| ] |
|
|
| [tool.ruff.per-file-ignores] |
| |
| "asv_bench/*" = ["TID", "NPY002"] |
| |
| "pandas/core/*" = ["PLR5501"] |
| "pandas/tests/*" = ["B028", "FLY"] |
| "scripts/*" = ["B028"] |
| |
| "pandas/_typing.py" = ["TCH"] |
|
|
| [tool.pylint.messages_control] |
| max-line-length = 88 |
| disable = [ |
| |
| "bad-mcs-classmethod-argument", |
| "broad-except", |
| "c-extension-no-member", |
| "comparison-with-itself", |
| "consider-using-enumerate", |
| "import-error", |
| "import-outside-toplevel", |
| "invalid-name", |
| "invalid-unary-operand-type", |
| "line-too-long", |
| "no-else-continue", |
| "no-else-raise", |
| "no-else-return", |
| "no-member", |
| "no-name-in-module", |
| "not-an-iterable", |
| "overridden-final-method", |
| "pointless-statement", |
| "redundant-keyword-arg", |
| "singleton-comparison", |
| "too-many-ancestors", |
| "too-many-arguments", |
| "too-many-boolean-expressions", |
| "too-many-branches", |
| "too-many-function-args", |
| "too-many-instance-attributes", |
| "too-many-locals", |
| "too-many-nested-blocks", |
| "too-many-public-methods", |
| "too-many-return-statements", |
| "too-many-statements", |
| "unexpected-keyword-arg", |
| "ungrouped-imports", |
| "unsubscriptable-object", |
| "unsupported-assignment-operation", |
| "unsupported-membership-test", |
| "unused-import", |
| "use-dict-literal", |
| "use-implicit-booleaness-not-comparison", |
| "use-implicit-booleaness-not-len", |
| "wrong-import-order", |
| "wrong-import-position", |
| "redefined-loop-name", |
|
|
| |
| "abstract-class-instantiated", |
| "no-value-for-parameter", |
| "undefined-variable", |
| "unpacking-non-sequence", |
| "used-before-assignment", |
|
|
| |
| "missing-class-docstring", |
| "missing-function-docstring", |
| "missing-module-docstring", |
| "superfluous-parens", |
| "too-many-lines", |
| "unidiomatic-typecheck", |
| "unnecessary-dunder-call", |
| "unnecessary-lambda-assignment", |
|
|
| |
| "consider-using-with", |
| "cyclic-import", |
| "duplicate-code", |
| "inconsistent-return-statements", |
| "redefined-argument-from-local", |
| "too-few-public-methods", |
|
|
| |
| "abstract-method", |
| "arguments-differ", |
| "arguments-out-of-order", |
| "arguments-renamed", |
| "attribute-defined-outside-init", |
| "broad-exception-raised", |
| "comparison-with-callable", |
| "dangerous-default-value", |
| "deprecated-module", |
| "eval-used", |
| "expression-not-assigned", |
| "fixme", |
| "global-statement", |
| "invalid-overridden-method", |
| "keyword-arg-before-vararg", |
| "possibly-unused-variable", |
| "protected-access", |
| "raise-missing-from", |
| "redefined-builtin", |
| "redefined-outer-name", |
| "self-cls-assignment", |
| "signature-differs", |
| "super-init-not-called", |
| "try-except-raise", |
| "unnecessary-lambda", |
| "unused-argument", |
| "unused-variable", |
| "using-constant-test" |
| ] |
|
|
| [tool.pytest.ini_options] |
| |
| minversion = "7.3.2" |
| addopts = "--strict-markers --strict-config --capture=no --durations=30 --junitxml=test-data.xml" |
| empty_parameter_set_mark = "fail_at_collect" |
| xfail_strict = true |
| testpaths = "pandas" |
| doctest_optionflags = [ |
| "NORMALIZE_WHITESPACE", |
| "IGNORE_EXCEPTION_DETAIL", |
| "ELLIPSIS", |
| ] |
| filterwarnings = [ |
| "error:::pandas", |
| "error::ResourceWarning", |
| "error::pytest.PytestUnraisableExceptionWarning", |
| |
| |
| "ignore:.*encoding.* argument not specified", |
| "error:.*encoding.* argument not specified::pandas", |
| "ignore:.*ssl.SSLSocket:pytest.PytestUnraisableExceptionWarning", |
| "ignore:.*ssl.SSLSocket:ResourceWarning", |
| |
| "ignore:.*FileIO:pytest.PytestUnraisableExceptionWarning", |
| "ignore:.*BufferedRandom:ResourceWarning", |
| "ignore::ResourceWarning:asyncio", |
| |
| "ignore:More than 20 figures have been opened:RuntimeWarning", |
| |
| "ignore:`np.MachAr` is deprecated:DeprecationWarning:numba", |
| "ignore:.*urllib3:DeprecationWarning:botocore", |
| "ignore:Setuptools is replacing distutils.:UserWarning:_distutils_hack", |
| |
| "ignore:a closed node found in the registry:UserWarning:tables", |
| "ignore:`np.object` is a deprecated:DeprecationWarning:tables", |
| "ignore:tostring:DeprecationWarning:tables", |
| "ignore:distutils Version classes are deprecated:DeprecationWarning:pandas_datareader", |
| "ignore:distutils Version classes are deprecated:DeprecationWarning:numexpr", |
| "ignore:distutils Version classes are deprecated:DeprecationWarning:fastparquet", |
| "ignore:distutils Version classes are deprecated:DeprecationWarning:fsspec", |
| |
| "ignore:.*In the future `np.long` will be defined as.*:FutureWarning", |
| ] |
| junit_family = "xunit2" |
| markers = [ |
| "single_cpu: tests that should run on a single cpu only", |
| "slow: mark a test as slow", |
| "network: mark a test as network", |
| "db: tests requiring a database (mysql or postgres)", |
| "clipboard: mark a pd.read_clipboard test", |
| "arm_slow: mark a test as slow for arm64 architecture", |
| "skip_ubsan: Tests known to fail UBSAN check", |
| |
| |
| |
| "fails_arm_wheels: Tests that fail in the ARM wheel build only", |
| ] |
|
|
| [tool.mypy] |
| |
| mypy_path = "typings" |
| files = ["pandas", "typings"] |
| namespace_packages = false |
| explicit_package_bases = false |
| ignore_missing_imports = true |
| follow_imports = "normal" |
| follow_imports_for_stubs = false |
| no_site_packages = false |
| no_silence_site_packages = false |
| |
| python_version = "3.11" |
| platform = "linux-64" |
| |
| disallow_any_unimported = false |
| disallow_any_expr = false |
| disallow_any_decorated = false |
| disallow_any_explicit = false |
| disallow_any_generics = false |
| disallow_subclassing_any = false |
| |
| disallow_untyped_calls = true |
| disallow_untyped_defs = true |
| disallow_incomplete_defs = true |
| check_untyped_defs = true |
| disallow_untyped_decorators = true |
| |
| no_implicit_optional = true |
| strict_optional = true |
| |
| warn_redundant_casts = true |
| warn_unused_ignores = true |
| warn_no_return = true |
| warn_return_any = false |
| warn_unreachable = false |
| |
| ignore_errors = false |
| enable_error_code = "ignore-without-code" |
| |
| allow_untyped_globals = false |
| allow_redefinition = false |
| local_partial_types = false |
| implicit_reexport = true |
| strict_equality = true |
| |
| show_error_context = false |
| show_column_numbers = false |
| show_error_codes = true |
|
|
| [[tool.mypy.overrides]] |
| module = [ |
| "pandas._config.config", |
| "pandas._libs.*", |
| "pandas._testing.*", |
| "pandas.arrays", |
| "pandas.compat.numpy.function", |
| "pandas.compat._optional", |
| "pandas.compat.compressors", |
| "pandas.compat.pickle_compat", |
| "pandas.core._numba.executor", |
| "pandas.core.array_algos.datetimelike_accumulations", |
| "pandas.core.array_algos.masked_accumulations", |
| "pandas.core.array_algos.masked_reductions", |
| "pandas.core.array_algos.putmask", |
| "pandas.core.array_algos.quantile", |
| "pandas.core.array_algos.replace", |
| "pandas.core.array_algos.take", |
| "pandas.core.arrays.*", |
| "pandas.core.computation.*", |
| "pandas.core.dtypes.astype", |
| "pandas.core.dtypes.cast", |
| "pandas.core.dtypes.common", |
| "pandas.core.dtypes.concat", |
| "pandas.core.dtypes.dtypes", |
| "pandas.core.dtypes.generic", |
| "pandas.core.dtypes.inference", |
| "pandas.core.dtypes.missing", |
| "pandas.core.groupby.categorical", |
| "pandas.core.groupby.generic", |
| "pandas.core.groupby.grouper", |
| "pandas.core.groupby.groupby", |
| "pandas.core.groupby.ops", |
| "pandas.core.indexers.*", |
| "pandas.core.indexes.*", |
| "pandas.core.interchange.column", |
| "pandas.core.interchange.dataframe_protocol", |
| "pandas.core.interchange.from_dataframe", |
| "pandas.core.internals.*", |
| "pandas.core.methods.*", |
| "pandas.core.ops.array_ops", |
| "pandas.core.ops.common", |
| "pandas.core.ops.invalid", |
| "pandas.core.ops.mask_ops", |
| "pandas.core.ops.missing", |
| "pandas.core.reshape.*", |
| "pandas.core.strings.*", |
| "pandas.core.tools.*", |
| "pandas.core.window.common", |
| "pandas.core.window.ewm", |
| "pandas.core.window.expanding", |
| "pandas.core.window.numba_", |
| "pandas.core.window.online", |
| "pandas.core.window.rolling", |
| "pandas.core.accessor", |
| "pandas.core.algorithms", |
| "pandas.core.apply", |
| "pandas.core.arraylike", |
| "pandas.core.base", |
| "pandas.core.common", |
| "pandas.core.config_init", |
| "pandas.core.construction", |
| "pandas.core.flags", |
| "pandas.core.frame", |
| "pandas.core.generic", |
| "pandas.core.indexing", |
| "pandas.core.missing", |
| "pandas.core.nanops", |
| "pandas.core.resample", |
| "pandas.core.roperator", |
| "pandas.core.sample", |
| "pandas.core.series", |
| "pandas.core.sorting", |
| "pandas.errors", |
| "pandas.io.clipboard", |
| "pandas.io.excel._base", |
| "pandas.io.excel._odfreader", |
| "pandas.io.excel._odswriter", |
| "pandas.io.excel._openpyxl", |
| "pandas.io.excel._pyxlsb", |
| "pandas.io.excel._xlrd", |
| "pandas.io.excel._xlsxwriter", |
| "pandas.io.formats.console", |
| "pandas.io.formats.css", |
| "pandas.io.formats.excel", |
| "pandas.io.formats.format", |
| "pandas.io.formats.info", |
| "pandas.io.formats.printing", |
| "pandas.io.formats.style", |
| "pandas.io.formats.style_render", |
| "pandas.io.formats.xml", |
| "pandas.io.json.*", |
| "pandas.io.parsers.*", |
| "pandas.io.sas.sas_xport", |
| "pandas.io.sas.sas7bdat", |
| "pandas.io.clipboards", |
| "pandas.io.common", |
| "pandas.io.gbq", |
| "pandas.io.html", |
| "pandas.io.gbq", |
| "pandas.io.parquet", |
| "pandas.io.pytables", |
| "pandas.io.sql", |
| "pandas.io.stata", |
| "pandas.io.xml", |
| "pandas.plotting.*", |
| "pandas.tests.*", |
| "pandas.tseries.frequencies", |
| "pandas.tseries.holiday", |
| "pandas.util._decorators", |
| "pandas.util._doctools", |
| "pandas.util._print_versions", |
| "pandas.util._test_decorators", |
| "pandas.util._validators", |
| "pandas.util", |
| "pandas._version", |
| "pandas.conftest", |
| "pandas" |
| ] |
| disallow_untyped_calls = false |
| disallow_untyped_defs = false |
| disallow_incomplete_defs = false |
|
|
| [[tool.mypy.overrides]] |
| module = [ |
| "pandas.tests.*", |
| "pandas._version", |
| "pandas.io.clipboard", |
| ] |
| check_untyped_defs = false |
|
|
| [[tool.mypy.overrides]] |
| module = [ |
| "pandas.tests.apply.test_series_apply", |
| "pandas.tests.arithmetic.conftest", |
| "pandas.tests.arrays.sparse.test_combine_concat", |
| "pandas.tests.dtypes.test_common", |
| "pandas.tests.frame.methods.test_to_records", |
| "pandas.tests.groupby.test_rank", |
| "pandas.tests.groupby.transform.test_transform", |
| "pandas.tests.indexes.interval.test_interval", |
| "pandas.tests.indexing.test_categorical", |
| "pandas.tests.io.excel.test_writers", |
| "pandas.tests.reductions.test_reductions", |
| "pandas.tests.test_expressions", |
| ] |
| ignore_errors = true |
|
|
| |
| [tool.isort] |
| known_pre_libs = "pandas._config" |
| known_pre_core = ["pandas._libs", "pandas._typing", "pandas.util._*", "pandas.compat", "pandas.errors"] |
| known_dtypes = "pandas.core.dtypes" |
| known_post_core = ["pandas.tseries", "pandas.io", "pandas.plotting"] |
| sections = ["FUTURE", "STDLIB", "THIRDPARTY" ,"PRE_LIBS" , "PRE_CORE", "DTYPES", "FIRSTPARTY", "POST_CORE", "LOCALFOLDER"] |
| profile = "black" |
| combine_as_imports = true |
| force_grid_wrap = 2 |
| force_sort_within_sections = true |
| skip_glob = "env" |
| skip = "pandas/__init__.py" |
|
|
| [tool.pyright] |
| pythonVersion = "3.11" |
| typeCheckingMode = "basic" |
| useLibraryCodeForTypes = false |
| include = ["pandas", "typings"] |
| exclude = ["pandas/tests", "pandas/io/clipboard", "pandas/util/version", "pandas/core/_numba/extensions.py"] |
| |
| reportDuplicateImport = true |
| reportInconsistentConstructor = true |
| reportInvalidStubStatement = true |
| reportOverlappingOverload = true |
| reportPropertyTypeMismatch = true |
| reportUntypedClassDecorator = true |
| reportUntypedFunctionDecorator = true |
| reportUntypedNamedTuple = true |
| reportUnusedImport = true |
| disableBytesTypePromotions = true |
| |
| reportGeneralTypeIssues = false |
| reportMissingModuleSource = false |
| reportOptionalCall = false |
| reportOptionalIterable = false |
| reportOptionalMemberAccess = false |
| reportOptionalOperand = false |
| reportOptionalSubscript = false |
| reportPrivateImportUsage = false |
| reportUnboundVariable = false |
|
|
| [tool.coverage.run] |
| branch = true |
| omit = ["pandas/_typing.py", "pandas/_version.py"] |
| plugins = ["Cython.Coverage"] |
| source = ["pandas"] |
|
|
| [tool.coverage.report] |
| ignore_errors = false |
| show_missing = true |
| omit = ["pandas/_version.py"] |
| exclude_lines = [ |
| |
| "pragma: no cover", |
| |
| "def __repr__", |
| "if self.debug", |
| |
| "raise AssertionError", |
| "raise NotImplementedError", |
| "AbstractMethodError", |
| |
| "if 0:", |
| "if __name__ == .__main__.:", |
| "if TYPE_CHECKING:", |
| ] |
|
|
| [tool.coverage.html] |
| directory = "coverage_html_report" |
|
|
| [tool.codespell] |
| ignore-words-list = "blocs, coo, hist, nd, sav, ser, recuse, nin, timere, expec, expecs" |
| ignore-regex = 'https://([\w/\.])+' |
|
|